@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary: #4f46e5;--primary-hover: #4338ca;--primary-light: #eef2ff;--success: #10b981;--danger: #ef4444;--bg: #f8fafc;--surface: #ffffff;--surface-muted: #f1f5f9;--text-main: #0f172a;--text-dim: #475569;--text-muted: #94a3b8;--border-light: #e2e8f0;--radius-md: 8px;--radius-lg: 12px;--shadow-soft: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0;transition:all .2s ease}body{color:var(--text-main);background:linear-gradient(135deg,#eef2ff,#f8fafc);min-height:100vh;font-family:Inter,sans-serif;line-height:1.5;display:flex;flex-direction:column;overflow-x:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body:after{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:60vh;height:60vh;background-image:url(/assets/logo-MHZiVLPF.jpg);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.04;z-index:-1;pointer-events:none}main{animation:pageFade .5s ease}@keyframes pageFade{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.container{width:100%;max-width:1024px;margin:0 auto;padding:0 1.5rem}.app-header{background-color:var(--surface);border-bottom:1px solid var(--border-light);padding:calc(1.25rem + env(safe-area-inset-top)) 0 1.25rem 0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-soft)}.header-inner{display:flex;justify-content:space-between;align-items:center}.header-text h1{font-size:2.25rem;font-weight:800;background:linear-gradient(90deg,#1e293b,#4f46e5,#1e293b);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:0;transform:translateY(20px);animation:titleFadeUp .6s ease forwards;letter-spacing:-.04em;cursor:default}.header-text h1:hover{animation:titleFadeUp .6s ease forwards,shine 2s linear infinite}@keyframes titleFadeUp{to{opacity:1;transform:translateY(0);letter-spacing:-.02em}}@keyframes shine{to{background-position:200% center}}.header-brand{display:flex;align-items:center;gap:1.25rem}.app-logo{width:64px;height:64px;object-fit:contain}.header-text{display:flex;flex-direction:column}.header-text .subtitle{font-size:1rem;color:var(--text-dim);margin-top:.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:1px solid transparent}.btn-add,.btn-submit{background-color:var(--primary);color:#fff}.btn-add:hover,.btn-submit:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.btn-add:active,.btn-submit:active{transform:scale(.97)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#dc2626;transform:translateY(-2px);box-shadow:0 8px 15px #ef444440}.btn-danger:active{transform:scale(.97)}.btn-cancel{background-color:#fff;border-color:var(--border-light);color:var(--text-dim)}.btn-cancel:hover{background-color:var(--surface-muted)}.table-section{margin-top:2.5rem}.card{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-md);overflow:hidden;transition:all .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.search-container{padding:1.25rem;background:#fff;border-bottom:1px solid var(--border-light);display:flex;gap:.75rem;position:relative}.search-container input{flex:1;padding:.625rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-muted);font-size:.875rem;transition:all .2s ease}.search-container input:focus{box-shadow:0 0 0 3px #4f46e526;background-color:#fff}.table-responsive{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}thead th{background-color:#1e293b;color:#fff;text-align:left;padding:.75rem;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;position:sticky;top:0;z-index:10;border-right:1px solid rgba(255,255,255,.1);white-space:nowrap}thead th:last-child{border-right:none}tbody td{padding:.625rem .75rem;border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light);color:var(--text-dim);vertical-align:middle}tbody td:last-child{border-right:none}tbody tr{transition:all .2s ease}tbody tr:hover{background-color:#4f46e50d;transform:scale(1.005)}.file-link{color:var(--primary);font-weight:600;text-decoration:none}.file-link:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.modal-content{background:#fff;padding:2rem;border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg);animation:modalPop .3s ease}@keyframes modalPop{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-dim);margin-bottom:.5rem}.form-group input{width:100%;padding:.625rem;border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.9375rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}.hidden{display:none!important}.toast-container{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:flex;flex-direction:column;gap:.75rem}.toast{background:#fff;padding:1rem 1.25rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:.875rem;font-weight:500;border:1px solid var(--border-light);animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.required{color:#dc2626;margin-left:4px;font-weight:600}label span.optional{color:#94a3b8;font-weight:400;margin-left:4px}.input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}@media (max-width: 768px){.header-inner{flex-direction:column;text-align:center;gap:1.25rem}.header-brand{flex-direction:column;gap:.75rem}.header-actions{width:100%;justify-content:center}.btn,.btn-add,.btn-submit,.btn-cancel,.btn-danger{min-height:44px;justify-content:center;padding:.5rem 1.25rem}.header-text h1{font-size:1.75rem}.search-container{padding:1rem}}@media (max-width: 600px){.container{padding:0 1rem}.header-text h1{font-size:1.5rem}.app-logo{width:48px;height:48px}.modal-content{padding:1.5rem;margin:1rem}.modal-actions{flex-direction:column;gap:.75rem}.modal-actions .btn{width:100%}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}table{min-width:800px;border-collapse:collapse}.action-buttons .btn-icon{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}td,th{padding:12px}.search-container{flex-direction:column;padding:0 0 1.5rem!important;background:transparent!important;border:none!important}.search-container input{width:100%;min-height:44px;font-size:16px;border-radius:12px;box-shadow:0 2px 8px #0000000d}}.empty-state{padding:4rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.empty-state svg{width:64px;height:64px;color:var(--text-muted);opacity:.5}.btn-pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #4f46e566}70%{box-shadow:0 0 0 10px #4f46e500}to{box-shadow:0 0 #4f46e500}}.file-icon{margin-right:.35rem;font-size:1rem;vertical-align:middle}.file-size{font-size:.7rem;color:var(--text-muted);margin-top:2px}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}thead th.sortable:hover{background-color:#2d3f56}thead th.sorted{background-color:#1a344f}.sort-icon{font-size:.65rem;opacity:.7;margin-left:4px}thead th.sorted .sort-icon{opacity:1;color:#60a5fa}.resource-count{font-size:.78rem;font-weight:600;color:var(--text-muted);white-space:nowrap;padding:.25rem .7rem;background:var(--surface-muted);border-radius:99px;border:1px solid var(--border-light)}.bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;background:#fff7ed;border-bottom:1px solid #fed7aa;font-size:.875rem;font-weight:600;color:#c2410c}.bulk-bar.hidden{display:none!important}.row-check,#selectAll{width:15px;height:15px;cursor:pointer;accent-color:var(--primary)}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;background:#4f46e514;border:2.5px dashed var(--primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay.hidden{display:none}.drop-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--primary);font-weight:700;font-size:1.1rem}.drop-overlay-inner svg{stroke:var(--primary)}.table-section{position:relative}.header-actions{display:flex;align-items:center;gap:.75rem}.resource-count-badge{background:var(--primary-light);color:var(--primary);font-size:.8rem;font-weight:700;padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(79,70,229,.2);letter-spacing:.02em;white-space:nowrap}.drop-zone{position:relative;border:2px dashed var(--border-light);border-radius:var(--radius-md);padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--surface-muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}.drop-zone:hover,.drop-zone.drag-active{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px #4f46e51f}.drop-zone svg{width:32px;height:32px;color:var(--text-muted);transition:color .2s}.drop-zone:hover svg,.drop-zone.drag-active svg{color:var(--primary)}.drop-zone-text{font-size:.875rem;color:var(--text-dim);line-height:1.5}.drop-zone-text span{color:var(--primary);font-weight:600}.drop-zone-selected{font-size:.8125rem;font-weight:600;color:var(--primary);background:#4f46e514;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(79,70,229,.2)}.drop-zone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.app-footer{text-align:center;padding:calc(2rem + env(safe-area-inset-bottom)) 1.5rem 2rem 1.5rem;margin-top:auto;border-top:1px solid var(--border-light);background-color:var(--surface);color:var(--text-muted);font-size:.8125rem;font-weight:500}.app-footer p{letter-spacing:.02em;text-transform:uppercase}
