:root{--bg-primary:#0a0f1d;--bg-secondary:#0f172a;--bg-card:rgba(18,26,44,0.75);--bg-card-hover:rgba(26,37,60,0.85);--bg-input:rgba(15,23,42,0.85);--bg-glass:rgba(10,15,29,0.75);--border-subtle:rgba(148,163,184,0.12);--border-focus:rgba(20,184,166,0.5);--border-card:rgba(148,163,184,0.08);--accent-primary:#0d9488;--accent-primary-hover:#0f766e;--accent-teal:#14b8a6;--accent-blue:#2563eb;--accent-cyan:#0d9488;--accent-emerald:#059669;--accent-amber:#d97706;--accent-rose:#e11d48;--accent-purple:#6d28d9;--accent-slate:#475569;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#2dd4bf;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.25);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.35),0 2px 4px -2px rgba(0,0,0,0.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.4),0 4px 6px -4px rgba(0,0,0,0.3);--shadow-glow:0 0 20px -5px rgba(13,148,136,0.15);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--header-height:64px;--mobile-nav-height:68px;--max-content-width:1200px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden;background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column;background-image:radial-gradient(at 15% 15%,rgba(13,148,136,.05) 0,transparent 50%),radial-gradient(at 85% 85%,rgba(30,41,59,.15) 0,transparent 50%);background-attachment:fixed}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit;color:inherit}.app-container{width:100%;max-width:var(--max-content-width);margin:0 auto;padding:0 16px}.main-content{flex:1 1;padding-top:calc(var(--header-height) + 16px);padding-bottom:calc(var(--mobile-nav-height) + 32px)}@media (min-width:768px){.app-container{padding:0 24px}.main-content{padding-bottom:48px}}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:50}.app-header,.header-inner{display:flex;align-items:center}.header-inner{justify-content:space-between;width:100%}.brand-logo{gap:10px;font-weight:700;font-size:1.125rem;letter-spacing:-.02em}.brand-icon-box,.brand-logo{display:flex;align-items:center}.brand-icon-box{justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,#0d9488,#0f766e);color:#ffffff;box-shadow:0 2px 8px rgba(13,148,136,.25)}.brand-badge{font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:var(--radius-sm);background:rgba(148,163,184,.08);color:var(--text-secondary);border:1px solid rgba(148,163,184,.18);text-transform:uppercase;letter-spacing:.03em}.header-nav{display:none;align-items:center;gap:20px}@media (min-width:768px){.header-nav{display:flex}}.nav-link{font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:color var(--transition-fast);padding:6px 10px;border-radius:var(--radius-sm)}.nav-link.active,.nav-link:hover{color:var(--text-primary);background:rgba(255,255,255,.05)}.header-actions{gap:12px}.header-actions,.role-pill{display:flex;align-items:center}.role-pill{gap:6px;padding:5px 10px;border-radius:var(--radius-full);background:rgba(255,255,255,.05);border:1px solid var(--border-subtle);font-size:.75rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition-fast)}.role-pill:hover{border-color:var(--border-focus);color:var(--text-primary)}.role-indicator{width:7px;height:7px;border-radius:50%;background:var(--accent-emerald)}.role-indicator.admin{background:var(--accent-amber)}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-height);background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-subtle);z-index:50;display:flex;align-items:center;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0)}@media (min-width:768px){.mobile-nav{display:none}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.7rem;font-weight:500;color:var(--text-muted);transition:color var(--transition-fast);padding:6px 12px}.mobile-nav-item.active,.mobile-nav-item:hover{color:var(--accent-blue)}.hero-section{padding:24px 0 32px;text-align:center}@media (min-width:768px){.hero-section{padding:40px 0 48px}}.hero-title{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:8px;background:linear-gradient(135deg,#ffffff 40%,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media (min-width:768px){.hero-title{font-size:2.5rem}}.hero-subtitle{font-size:.95rem;color:var(--text-secondary);max-width:580px;margin:0 auto 24px;line-height:1.5}.search-container{max-width:640px;margin:0 auto;position:relative}.search-box{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:8px 16px;box-shadow:var(--shadow-lg),var(--shadow-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-normal)}.search-box:focus-within{border-color:var(--accent-primary);background:rgba(18,26,44,.95);box-shadow:0 0 0 2px rgba(13,148,136,.25),var(--shadow-lg)}.search-icon{color:var(--text-muted);margin-right:12px;flex-shrink:0}.search-input{flex:1 1;background:transparent;border:none;outline:none;font-size:1rem;color:var(--text-primary)}.search-input::placeholder{color:var(--text-muted)}.search-mode-pill{gap:5px;background:rgba(13,148,136,.1);border:1px solid rgba(13,148,136,.25);color:var(--text-accent);font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:var(--radius-full);margin-left:8px}.quick-tags,.search-mode-pill{display:flex;align-items:center}.quick-tags{justify-content:center;flex-wrap:wrap;gap:8px;margin-top:14px}.tag-label{font-size:.75rem;color:var(--text-muted)}.tag-pill{font-size:.75rem;color:var(--text-secondary);background:rgba(255,255,255,.04);border:1px solid var(--border-subtle);padding:3px 10px;border-radius:var(--radius-full);transition:all var(--transition-fast)}.tag-pill:hover{background:rgba(255,255,255,.08);color:var(--text-primary);border-color:rgba(255,255,255,.15)}.section-header{justify-content:space-between;margin-bottom:16px}.section-header,.section-title{display:flex;align-items:center}.section-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;gap:8px}.section-subtitle{font-size:.8rem;color:var(--text-muted)}.subjects-grid{display:grid;grid-template-columns:repeat(1,1fr);grid-gap:12px;gap:12px;margin-bottom:32px}@media (min-width:640px){.subjects-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (min-width:1024px){.subjects-grid{grid-template-columns:repeat(3,1fr);gap:16px}}.subject-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all var(--transition-normal);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.subject-card:hover{background:var(--bg-card-hover);border-color:rgba(20,184,166,.3);transform:translateY(-2px);box-shadow:var(--shadow-md)}.subject-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.subject-code-badge{font-size:.7rem;font-weight:600;color:var(--text-accent);background:rgba(13,148,136,.1);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid rgba(13,148,136,.2)}.subject-card-icon{width:32px;height:32px;border-radius:var(--radius-md);background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;color:var(--text-accent)}.subject-card-name{font-size:1rem;font-weight:700;margin-bottom:6px;color:var(--text-primary);line-height:1.3}.subject-card-meta{display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-muted);margin-top:8px}.category-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:24px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.category-chip{flex-shrink:0;padding:6px 14px;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-card);font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast)}.category-chip.active,.category-chip:hover{background:var(--accent-primary);color:#ffffff;border-color:var(--accent-primary)}.files-grid{display:grid;grid-template-columns:repeat(1,1fr);grid-gap:12px;gap:12px;margin-bottom:32px}@media (min-width:768px){.files-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.file-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all var(--transition-normal);display:flex;flex-direction:column}.file-card:hover{background:var(--bg-card-hover);border-color:rgba(255,255,255,.12);box-shadow:var(--shadow-md)}.file-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.file-format-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0;text-transform:uppercase}.file-format-icon.pdf{background:rgba(244,63,94,.15);color:var(--accent-rose);border:1px solid rgba(244,63,94,.3)}.file-format-icon.pptx{background:rgba(245,158,11,.15);color:var(--accent-amber);border:1px solid rgba(245,158,11,.3)}.file-format-icon.docx{background:rgba(59,130,246,.15);color:var(--accent-blue);border:1px solid rgba(59,130,246,.3)}.file-card-title-group{flex:1 1;min-width:0}.file-card-title{font-size:.95rem;font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.file-card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px}.badge-pill{font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:var(--radius-sm)}.badge-pill.subject{background:rgba(13,148,136,.1);color:var(--text-accent);border:1px solid rgba(13,148,136,.25)}.badge-pill.unit{background:rgba(5,150,105,.1);color:var(--accent-emerald);border:1px solid rgba(5,150,105,.25)}.badge-pill.category{background:rgba(255,255,255,.05);color:var(--text-secondary);border:1px solid rgba(148,163,184,.12)}.file-card-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.4;margin:10px 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.file-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.05);font-size:.75rem;color:var(--text-muted)}.file-actions{display:flex;align-items:center;gap:8px}.btn-icon-action{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:6px 12px;border-radius:var(--radius-md);background:rgba(255,255,255,.05);color:var(--text-primary);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.btn-icon-action:hover{background:var(--accent-primary);border-color:var(--accent-primary)}.storage-meter-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:24px}.storage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.storage-progress-bg{width:100%;height:10px;background:rgba(255,255,255,.08);border-radius:var(--radius-full);overflow:hidden;margin-bottom:10px}.storage-progress-bar{height:100%;background:linear-gradient(90deg,#0d9488,#14b8a6);border-radius:var(--radius-full);transition:width .5s ease}.storage-progress-bar.warn{background:linear-gradient(90deg,var(--accent-amber),#f59e0b)}.storage-progress-bar.critical{background:linear-gradient(90deg,#e11d48,var(--accent-rose))}.storage-footer{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;margin-bottom:24px}@media (min-width:1024px){.admin-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px}}.stat-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column}.stat-card-title{font-size:.75rem;font-weight:500;color:var(--text-muted);margin-bottom:6px}.stat-card-value{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.approval-card{background:rgba(22,32,52,.6);border:1px solid rgba(20,184,166,.25);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.approval-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ai-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(139,92,246,.2);color:#c084fc;border:1px solid rgba(139,92,246,.4);font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-full)}.app-footer{margin-top:auto;border-top:1px solid var(--border-subtle);background:rgba(10,15,28,.6);padding:24px 0;font-size:.8rem;color:var(--text-muted);text-align:center}