@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:400;src:url(/static/media/asap-vietnamese-400-normal.e49042db1d0cd70e388b.woff2) format("woff2"),url(/static/media/asap-vietnamese-400-normal.ed557835985d9b6d5495.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:400;src:url(/static/media/asap-latin-ext-400-normal.3bd2f27ded717abb4e58.woff2) format("woff2"),url(/static/media/asap-latin-ext-400-normal.de3a567a1ea25f59e1f3.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:400;src:url(/static/media/asap-latin-400-normal.6fbaeb6f6d053c13cc6d.woff2) format("woff2"),url(/static/media/asap-latin-400-normal.362063422cb366c2b6d3.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:500;src:url(/static/media/asap-vietnamese-500-normal.c245fa37c04a2287973e.woff2) format("woff2"),url(/static/media/asap-vietnamese-500-normal.4d0114538986bc8a3dc3.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:500;src:url(/static/media/asap-latin-ext-500-normal.1eeab253dc037a367458.woff2) format("woff2"),url(/static/media/asap-latin-ext-500-normal.0eed51542e198f0d1e6f.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:500;src:url(/static/media/asap-latin-500-normal.abd3624dd9b5040e0e0b.woff2) format("woff2"),url(/static/media/asap-latin-500-normal.050e12653536d29455fc.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:600;src:url(/static/media/asap-vietnamese-600-normal.b9432daa993ce21872bf.woff2) format("woff2"),url(/static/media/asap-vietnamese-600-normal.d56fbc90ad14b0f74a48.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:600;src:url(/static/media/asap-latin-ext-600-normal.0f757d4fe06004e09ca9.woff2) format("woff2"),url(/static/media/asap-latin-ext-600-normal.70d37277b8452ff0b289.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:600;src:url(/static/media/asap-latin-600-normal.618f3362a9bf4b87a4e2.woff2) format("woff2"),url(/static/media/asap-latin-600-normal.a54687ea4b6f4e006a71.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:700;src:url(/static/media/asap-vietnamese-700-normal.bfd43a3ec6fdc4c43063.woff2) format("woff2"),url(/static/media/asap-vietnamese-700-normal.4dda7e3a74d27963d532.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:700;src:url(/static/media/asap-latin-ext-700-normal.448f720a43312b63db1e.woff2) format("woff2"),url(/static/media/asap-latin-ext-700-normal.d92701e821bf2b4878bc.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Asap;font-style:normal;font-weight:700;src:url(/static/media/asap-latin-700-normal.bc3fe824ed9cf5abe23a.woff2) format("woff2"),url(/static/media/asap-latin-700-normal.b4751ce8aa9ed6d65fdf.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:400;src:url(/static/media/geist-mono-cyrillic-ext-400-normal.532b570c32b087a811b7.woff2) format("woff2"),url(/static/media/geist-mono-cyrillic-ext-400-normal.00e0bd8b4adf1449616f.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:400;src:url(/static/media/geist-mono-cyrillic-400-normal.9c7da30e6cdbfefedd5c.woff2) format("woff2"),url(/static/media/geist-mono-cyrillic-400-normal.dd47b98d043d9892ba28.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:400;src:url(/static/media/geist-mono-symbols2-400-normal.fc6b4239f2116139ba1d.woff2) format("woff2"),url(/static/media/geist-mono-symbols2-400-normal.2f6d09d760b9f07c93f9.woff) format("woff");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:400;src:url(/static/media/geist-mono-vietnamese-400-normal.2649dc9c304b2fc1d9ba.woff2) format("woff2"),url(/static/media/geist-mono-vietnamese-400-normal.ad458937cb53570d3531.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:400;src:url(/static/media/geist-mono-latin-ext-400-normal.8ff2c5030d882e4065f1.woff2) format("woff2"),url(/static/media/geist-mono-latin-ext-400-normal.b9748c2dbd220719aec5.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:400;src:url(/static/media/geist-mono-latin-400-normal.2a655c0ef37765cd8eb5.woff2) format("woff2"),url(/static/media/geist-mono-latin-400-normal.9e2f8aca8a6775e1cd29.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:500;src:url(/static/media/geist-mono-cyrillic-ext-500-normal.1931276ff1de9426d61b.woff2) format("woff2"),url(/static/media/geist-mono-cyrillic-ext-500-normal.4f847074976e4c8880d7.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:500;src:url(/static/media/geist-mono-cyrillic-500-normal.30c23f72e3492ad0d950.woff2) format("woff2"),url(/static/media/geist-mono-cyrillic-500-normal.1bf930d16cf88c2f57dc.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:500;src:url(/static/media/geist-mono-symbols2-500-normal.87412bc7f04f3be59f13.woff2) format("woff2"),url(/static/media/geist-mono-symbols2-500-normal.bc88a55affd79cca8867.woff) format("woff");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:500;src:url(/static/media/geist-mono-vietnamese-500-normal.328323d5757b27364ffc.woff2) format("woff2"),url(/static/media/geist-mono-vietnamese-500-normal.cddad81081d536d4d243.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:500;src:url(/static/media/geist-mono-latin-ext-500-normal.e3ed7c7bfde979162724.woff2) format("woff2"),url(/static/media/geist-mono-latin-ext-500-normal.4a0159e4dc3c6a636119.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Geist Mono;font-style:normal;font-weight:500;src:url(/static/media/geist-mono-latin-500-normal.09bfd21a54e4a7e39e02.woff2) format("woff2"),url(/static/media/geist-mono-latin-500-normal.fe5fdc1e34135e6a9f4d.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg-canvas:#00232b;--bg-surface:#003641;--bg-surface-raised:#0a4550;--border-hairline:#0f4b57;--border-hairline-hover:#1c6270;--text-primary:#fff;--text-secondary:#8aaab4;--text-tertiary:#6b8e97;--accent:#00ae9d;--accent-hover:#00c4b1;--accent-active:#009082;--accent-subtle-bg:#00ae9d29;--success:#7db61c;--warning:#d97706;--danger:#dc2626;--danger-subtle-bg:#dc262629;--focus-ring:#00c4b1;--brand-purple:#49479d;--brand-light-green:#c9d200;--font-sans:"Asap",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-mono:"Consolas","Geist Mono",ui-monospace,Menlo,"Courier New",monospace;--text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--shadow-sm:0 1px 2px #0000003d,0 1px 6px #0000002e;--shadow-md:0 4px 16px #00000052;--duration-fast:120ms;--duration-normal:180ms;--duration-slow:240ms;--ease-standard:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(0,0,.2,1);--stagger-delay:24ms;--z-base:0;--z-dropdown:20;--z-sticky:30;--z-overlay:40;--z-modal:50;--z-toast:60;--header-height:56px;--sidebar-width:232px;--sidebar-width-collapsed:64px}:root[data-theme=light],body.light-theme{--bg-canvas:#f9f9f9;--bg-surface:#fff;--bg-surface-raised:#fff;--border-hairline:#d1d1d1;--border-hairline-hover:#b0b0b0;--text-primary:#1a1a2e;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--accent:#00ae9d;--accent-hover:#009082;--accent-active:#00786d;--accent-subtle-bg:#00ae9d14;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--danger-subtle-bg:#dc262614;--focus-ring:#009082;--brand-purple:#49479d;--brand-light-green:#7db61c;--shadow-sm:0 1px 2px #14182114,0 1px 6px #1418210f;--shadow-md:0 4px 20px #1418211f}*{box-sizing:border-box}html{color-scheme:dark}html:has(body.light-theme){color-scheme:light}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#00232b;background-color:var(--bg-canvas);color:#fff;color:var(--text-primary);font-family:Asap,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:.9375rem;font-size:var(--text-base);line-height:1.5;margin:0;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);transition:background-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard)}code,kbd,samp{font-family:Consolas,Geist Mono,ui-monospace,Menlo,Courier New,monospace;font-family:var(--font-mono)}button,input,select,textarea{color:inherit;font-family:inherit}.svg-inline--fa{box-sizing:initial;display:inline-block;height:1em;overflow:visible;vertical-align:-.125em;width:1em}.svg-inline--fa.fa-lg{font-size:1.25em}a{color:#00ae9d;color:var(--accent)}::selection{background:#00ae9d29;background:var(--accent-subtle-bg);color:#fff;color:var(--text-primary)}:focus{outline:none}:focus-visible{border-radius:6px;border-radius:var(--radius-sm);outline:2px solid #00c4b1;outline:2px solid var(--focus-ring);outline-offset:2px}*{scrollbar-color:#1c6270 #0000;scrollbar-color:var(--border-hairline-hover) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:#1c6270;background:var(--border-hairline-hover);border-radius:999px;border-radius:var(--radius-full)}::-webkit-scrollbar-track{background:#0000}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.gate-container{align-items:center;background-color:var(--bg-canvas);display:flex;justify-content:center;min-height:100vh;padding:var(--space-4)}.gate-card{background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);max-width:360px;padding:var(--space-6) var(--space-5);text-align:center;width:100%}.gate-logo{height:24px;margin-bottom:var(--space-5)}.gate-icon{align-items:center;background-color:var(--accent-subtle-bg);border-radius:var(--radius-full);color:var(--accent);display:inline-flex;font-size:18px;height:48px;justify-content:center;margin-bottom:var(--space-4);width:48px}.gate-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin:0 0 var(--space-2)}.gate-subtitle{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-5)}.gate-input{background-color:var(--bg-canvas);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);display:block;font-size:var(--text-md);height:44px;margin-bottom:var(--space-3);padding:0 var(--space-3);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);width:100%}.gate-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle-bg)}.gate-input:disabled{opacity:.5}.gate-error{color:var(--danger);font-size:var(--text-sm);margin:0 0 var(--space-3);text-align:left}.gate-submit{background-color:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-md);font-weight:500;height:44px;transition:background-color var(--duration-fast) var(--ease-standard);width:100%}@media (hover:hover) and (pointer:fine){.gate-submit:hover:not(:disabled){background-color:var(--accent-hover)}}.gate-submit:active:not(:disabled){background-color:var(--accent-active)}.gate-submit:disabled{cursor:not-allowed;opacity:.5}.filter-container{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-2);margin:var(--space-4) 0}.file-container,.folder-container{align-items:center;background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;justify-content:center;position:relative;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.file-container{height:96px;padding:var(--space-2);width:84px}.folder-container{height:40px;padding:0 var(--space-2);width:148px}@media (hover:hover) and (pointer:fine){.file-container:hover,.folder-container:hover{background-color:var(--bg-surface-raised);border-color:var(--accent)}}.file-image-container{align-items:center;display:flex;height:32px;justify-content:center}.file-img{height:30px;width:25px}.file-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:var(--text-xs);height:32px;margin-top:var(--space-1);overflow:hidden;text-align:center;text-overflow:ellipsis;word-break:break-word}.folder-content-container{align-items:center;display:flex;gap:var(--space-2);width:100%}.folder-img{flex-shrink:0;height:22px;width:22px}.file-img-fallback,.folder-img-fallback{color:var(--text-tertiary)}.folder-name{flex:1 1;font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a:link,a:visited{text-decoration:none}a:hover{text-decoration:underline}.context-menu{min-width:180px}.menu-item:hover>.faGoogle{color:#4285f4}.menu-item:hover>.faOpen{color:var(--accent)}.menu-item:hover>.faShare{color:#a855f7}.menu-item:hover>.faArrowRight,.menu-item:hover>.faPencil{color:var(--warning)}.menu-item:hover>.faCopy{color:var(--success)}.menu-item:hover>.faStar{color:var(--warning)}.file-list-container{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-3) 0}.file-path{align-items:center;color:var(--text-secondary);display:inline-flex}.path-btn{background-color:initial;border:none;border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;display:inline-block;font-size:var(--text-base);font-weight:500;margin:0 2px;padding:var(--space-1) var(--space-2);transition:background-color var(--duration-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.path-btn:hover{background-color:var(--accent-subtle-bg)}}.open-folder{margin:var(--space-5) 0 var(--space-5) var(--space-6);width:100%}.file-path-container{align-items:center;border-bottom:1px solid var(--border-hairline);display:flex;margin-bottom:var(--space-2);padding-bottom:var(--space-2);width:100%}.open-folder-file-list,.open-folder-folder-list{display:flex;flex-wrap:wrap;gap:var(--space-3)}.open-folder-folder-list{padding-bottom:var(--space-4)}.close-folder-btn{background-color:initial;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);margin-right:var(--space-3);padding:var(--space-1) var(--space-3);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.close-folder-btn:hover{background-color:var(--bg-surface-raised);color:var(--text-primary)}}.user{margin:var(--space-4) 0;width:100%}.user-banner{align-items:center;background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;margin:var(--space-2) 0;min-height:48px;padding:0 var(--space-3);position:-webkit-sticky;position:sticky;text-align:left;top:calc(var(--header-height) + var(--space-2));transition:border-color var(--duration-fast) var(--ease-standard);width:100%;z-index:var(--z-sticky)}@media (hover:hover) and (pointer:fine){.user-banner:hover{border-color:var(--accent)}}.profile-picture{border-radius:var(--radius-full);height:24px;margin-right:var(--space-2);object-fit:cover;vertical-align:text-bottom;width:24px}.profile-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu-trigger{align-items:center;display:inline-flex;flex-shrink:0}.profile-name{font-weight:600}.profile-email{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-sm)}.context-menu{background-color:var(--bg-surface-raised);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:var(--text-sm);min-width:200px;padding:var(--space-1);text-align:left;z-index:var(--z-dropdown)}.context-menu,.menu-item{color:var(--text-primary)}.menu-item{border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.menu-item:hover{background-color:var(--bg-canvas);cursor:pointer}.sub-menu-upload{display:none}.menu-item.upload:hover>nav>.sub-menu-upload{display:inline-block}.file-input{display:none}.divider{border:none;border-top:1px solid var(--border-hairline);margin:var(--space-1) var(--space-2)}.menu-icon{color:var(--text-tertiary);margin:0 var(--space-3) 0 0;width:16px}.fa-ellipsis{border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.fa-ellipsis:hover{background-color:var(--bg-surface-raised);color:var(--text-primary)}.menu-item:hover>.fa-trash{color:var(--danger)}.menu-item:hover>.fa-upload{color:var(--accent)}.menu-item:hover>.fa-eye,.menu-item:hover>.fa-eye-slash,.menu-item:hover>.fa-sync,.menu-item:hover>nav>div>span>.fa-plus{color:var(--success)}.user-list{margin:0}@keyframes request-progress-in{0%{opacity:0;transform:translateY(8px)}}@keyframes request-progress-out{to{opacity:0;transform:translateY(8px)}}.request-progress-container{animation:request-progress-in var(--duration-normal) var(--ease-out) both;background-color:var(--bg-surface-raised);border:1px solid var(--border-hairline);border-radius:var(--radius-md);bottom:var(--space-4);box-shadow:var(--shadow-md);color:var(--text-primary);min-width:260px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);position:fixed;right:var(--space-4);z-index:var(--z-toast)}.request-progress-container.closing{animation:request-progress-out var(--duration-fast) var(--ease-standard) both}.progress-header{align-items:center;display:flex;font-size:var(--text-sm);font-weight:600;justify-content:space-between;margin-bottom:var(--space-3)}.close-progress-button{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:inline-flex;height:24px;justify-content:center;transition:color var(--duration-fast) var(--ease-standard);width:24px}.close-progress-button:hover{color:var(--danger)}.progress-content-container{display:flex;flex-direction:column;gap:var(--space-2);max-height:320px;max-width:320px;overflow-y:auto}.request-progress-item{display:flex;flex-direction:column;gap:var(--space-1)}.request-progress-name{color:var(--text-secondary);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-progress-bar{-webkit-appearance:none;appearance:none;border:none;border-radius:var(--radius-full);height:6px;overflow:hidden;width:100%}.request-progress-bar::-webkit-progress-bar{background-color:var(--bg-canvas);border-radius:var(--radius-full)}.request-progress-bar::-webkit-progress-value{background-color:var(--accent);border-radius:var(--radius-full)}.request-progress-bar::-moz-progress-bar{background-color:var(--accent);border-radius:var(--radius-full)}.sidebar{background-color:var(--bg-surface);border-right:1px solid var(--border-hairline);color:var(--text-primary);display:flex;flex-direction:column;height:calc(100% - var(--header-height));justify-content:space-between;left:0;margin:0;overflow:hidden;position:fixed;top:var(--header-height);width:var(--sidebar-width);z-index:var(--z-sticky)}.sidebar.collapse{text-align:center}.sidebar-icon{color:var(--text-tertiary)}.sidebar-picture{border-radius:var(--radius-full);height:22px;object-fit:cover;vertical-align:text-bottom;width:22px}.sidebar-item,.sidebar-user{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--text-sm);gap:var(--space-2);min-height:44px;padding:0 var(--space-3);text-align:left;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);width:100%}.sidebar-item.collapse,.sidebar-user.collapse{justify-content:center;padding:0}.sidebar-item,.sidebar-user{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover:hover) and (pointer:fine){.sidebar-item:hover,.sidebar-user:hover{background-color:var(--bg-surface-raised);color:var(--text-primary)}}.selected{background-color:var(--accent-subtle-bg);font-weight:500}.selected,.selected .sidebar-icon,.selected svg{color:var(--accent)}.sidebar-add-button,.sidebar-remove-button{align-items:center;background-color:initial;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:500;gap:var(--space-2);justify-content:center;margin:var(--space-3) auto var(--space-2);min-height:40px;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);width:calc(100% - var(--space-4)*2)}.sidebar-add-button{color:var(--accent)}.sidebar-remove-button{color:var(--danger);margin-top:0}@media (hover:hover) and (pointer:fine){.sidebar-add-button:hover{background-color:var(--accent-subtle-bg);border-color:var(--accent)}.sidebar-remove-button:hover{background-color:var(--danger-subtle-bg);border-color:var(--danger)}}.sidebar-user-container{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-4);max-height:45vh;overflow:hidden auto;padding:0 var(--space-2)}.collapse-container{border-top:1px solid var(--border-hairline);padding:var(--space-2);text-align:right}.collapse-container.collapse{text-align:center}.collapse-button{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);width:32px}@media (hover:hover) and (pointer:fine){.collapse-button:hover{background-color:var(--bg-surface-raised);color:var(--text-primary)}}@media (max-width:767px){.sidebar{width:var(--sidebar-width-collapsed)!important}}.search-form,.search-form>form{align-items:center;display:flex;gap:var(--space-2);width:100%}.search-input-container{flex:1 1;min-width:0;position:relative}.form-control{background-color:var(--bg-canvas);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);height:36px;padding:0 var(--space-6) 0 var(--space-6);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);width:100%}.form-control::placeholder{color:var(--text-tertiary)}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle-bg)}.search-icon{font-size:13px;left:var(--space-2)}.search-icon,.search-shortcut-hint{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-shortcut-hint{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);padding:2px 5px;right:var(--space-2)}.clear-btn{align-items:center;background:none;border:none;border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;display:inline-flex;font-size:16px;height:20px;justify-content:center;line-height:1;position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);width:20px}@media (hover:hover) and (pointer:fine){.clear-btn:hover{background-color:var(--bg-surface-raised);color:var(--text-primary)}}.date-input-container{flex-shrink:0;position:relative}.react-datepicker__input-container input{background-color:var(--bg-canvas);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);height:36px;padding:0 var(--space-3);width:150px}.react-datepicker__input-container input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle-bg);outline:none}@media (max-width:640px){.date-input-container,.search-shortcut-hint{display:none}}.react-datepicker-popper{z-index:var(--z-dropdown)}.react-datepicker{background-color:var(--bg-surface-raised);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-family:var(--font-sans);font-size:var(--text-sm);overflow:hidden}.react-datepicker__triangle{fill:var(--bg-surface-raised)!important;stroke:var(--border-hairline)!important;color:var(--bg-surface-raised)!important}.react-datepicker__header{background-color:var(--bg-surface-raised);border-bottom:1px solid var(--border-hairline);padding-top:var(--space-3)}.react-datepicker-time__header,.react-datepicker__current-month{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.react-datepicker__day-name{color:var(--text-tertiary);font-size:var(--text-2xs)}.react-datepicker__day,.react-datepicker__day-name{line-height:2rem;width:2rem}.react-datepicker__day{border-radius:var(--radius-sm);color:var(--text-primary);transition:background-color var(--duration-fast) var(--ease-standard)}.react-datepicker__day:hover{background-color:var(--bg-canvas)}.react-datepicker__day--keyboard-selected,.react-datepicker__day--selected{background-color:var(--accent);color:#fff}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__day--selected:hover{background-color:var(--accent-hover)}.react-datepicker__day--outside-month{color:var(--text-tertiary)}.react-datepicker__day--disabled{color:var(--text-tertiary);opacity:.4}.react-datepicker__navigation-icon:before{border-color:var(--text-secondary)}.react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:var(--text-primary)}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{margin-left:-8px;position:absolute}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow:before,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow:before{border:8px solid #0000;box-sizing:initial;height:0;position:absolute;width:1px}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker__month-read-view--down-arrow:before,.react-datepicker__month-year-read-view--down-arrow:before,.react-datepicker__year-read-view--down-arrow:before{border-bottom-color:#aeaeae;border-width:8px;content:"";left:-8px;z-index:-1}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{margin-top:-8px;top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#f0f0f0;border-top:none}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#aeaeae;top:-1px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{bottom:0;margin-bottom:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow:before,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow:before{border-bottom:none;border-top-color:#fff}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker__month-read-view--down-arrow:before,.react-datepicker__month-year-read-view--down-arrow:before,.react-datepicker__year-read-view--down-arrow:before{border-top-color:#aeaeae;bottom:-1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.8rem;position:relative}.react-datepicker--time-only .react-datepicker__triangle{left:35px}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__triangle{left:50px;position:absolute}.react-datepicker-popper{z-index:1}.react-datepicker-popper[data-placement^=bottom]{margin-top:10px}.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle,.react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle{left:auto;right:50px}.react-datepicker-popper[data-placement^=top]{margin-bottom:10px}.react-datepicker-popper[data-placement^=right]{margin-left:8px}.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle{left:auto;right:42px}.react-datepicker-popper[data-placement^=left]{margin-right:8px}.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle{left:42px;right:auto}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding-top:8px;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 2px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{background:none;border:.45rem solid #0000;cursor:pointer;height:10px;line-height:1.7rem;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:10px;width:0;width:10px;z-index:1}.react-datepicker__navigation--previous{border-right-color:#ccc;left:10px}.react-datepicker__navigation--previous:hover{border-right-color:#b3b3b3}.react-datepicker__navigation--previous--disabled,.react-datepicker__navigation--previous--disabled:hover{border-right-color:#e6e6e6;cursor:default}.react-datepicker__navigation--next{border-left-color:#ccc;right:10px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:95px}.react-datepicker__navigation--next:hover{border-left-color:#b3b3b3}.react-datepicker__navigation--next--disabled,.react-datepicker__navigation--next--disabled:hover{border-left-color:#e6e6e6;cursor:default}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{border-top-color:#ccc;top:4px}.react-datepicker__navigation--years-previous:hover{border-top-color:#b3b3b3}.react-datepicker__navigation--years-upcoming{border-bottom-color:#ccc;top:-4px}.react-datepicker__navigation--years-upcoming:hover{border-bottom-color:#b3b3b3}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:85px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-72px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day-names,.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__month--in-range,.react-datepicker__month--in-selecting-range,.react-datepicker__month--selected,.react-datepicker__quarter--in-range,.react-datepicker__quarter--in-selecting-range,.react-datepicker__quarter--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__month--in-range:hover,.react-datepicker__month--in-selecting-range:hover,.react-datepicker__month--selected:hover,.react-datepicker__quarter--in-range:hover,.react-datepicker__quarter--in-selecting-range:hover,.react-datepicker__quarter--selected:hover{background-color:#1d5d90}.react-datepicker__month--disabled,.react-datepicker__quarter--disabled{color:#ccc;pointer-events:none}.react-datepicker__month--disabled:hover,.react-datepicker__quarter--disabled:hover{background-color:initial;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--selected:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__year-text--in-range:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--selected:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#2a87d0;border-radius:.3rem;color:#fff}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range{background-color:#216ba580}.react-datepicker__month--selecting-range
.react-datepicker__month-text--in-range,.react-datepicker__month--selecting-range
.react-datepicker__quarter-text--in-range,.react-datepicker__month--selecting-range
.react-datepicker__year-text--in-range,.react-datepicker__month--selecting-range .react-datepicker__day--in-range{background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:initial}.react-datepicker__month-text.react-datepicker__month--in-range:hover,.react-datepicker__month-text.react-datepicker__month--selected:hover,.react-datepicker__month-text.react-datepicker__quarter--in-range:hover,.react-datepicker__month-text.react-datepicker__quarter--selected:hover,.react-datepicker__quarter-text.react-datepicker__month--in-range:hover,.react-datepicker__quarter-text.react-datepicker__month--selected:hover,.react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover,.react-datepicker__quarter-text.react-datepicker__quarter--selected:hover{background-color:#216ba5}.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover{background-color:#f0f0f0}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{border-top-color:#ccc;border-width:.45rem;float:right;margin-left:20px;position:relative;top:8px}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"\00d7";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__portal .react-datepicker__navigation{border:.81rem solid #0000}.react-datepicker__portal .react-datepicker__navigation--previous{border-right-color:#ccc}.react-datepicker__portal .react-datepicker__navigation--previous:hover{border-right-color:#b3b3b3}.react-datepicker__portal .react-datepicker__navigation--previous--disabled,.react-datepicker__portal .react-datepicker__navigation--previous--disabled:hover{border-right-color:#e6e6e6;cursor:default}.react-datepicker__portal .react-datepicker__navigation--next{border-left-color:#ccc}.react-datepicker__portal .react-datepicker__navigation--next:hover{border-left-color:#b3b3b3}.react-datepicker__portal .react-datepicker__navigation--next--disabled,.react-datepicker__portal .react-datepicker__navigation--next--disabled:hover{border-left-color:#e6e6e6;cursor:default}.header-container{align-items:center;background-color:var(--bg-surface);border-bottom:1px solid var(--border-hairline);display:flex;gap:var(--space-4);height:var(--header-height);left:0;padding:0 var(--space-4);position:fixed;top:0;width:100%;z-index:var(--z-sticky)}.logo{flex-shrink:0;height:22px}.search-container{align-items:center;display:flex;flex:1 1;max-width:480px;min-width:0}.header-button-container{align-items:center;display:flex;gap:var(--space-1);margin-left:auto}.sync-message{color:var(--text-tertiary);display:none;font-family:var(--font-mono);font-size:var(--text-xs);margin-left:var(--space-2);white-space:nowrap}.header-button{align-items:center;background:none;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);width:36px}@media (hover:hover) and (pointer:fine){.header-button:hover{background-color:var(--bg-surface-raised);border-color:var(--border-hairline);color:var(--text-primary)}}.header-button:active{background-color:var(--bg-surface-raised)}.header-button.refresh{color:var(--accent)}@media (min-width:768px){.sync-message{display:inline-block}}@media (max-width:640px){.header-container{gap:var(--space-2);padding:0 var(--space-3)}.logo{height:18px}}.welcome-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--space-6) var(--space-4)}.welcome-content{align-items:center;color:var(--text-primary);display:flex;gap:var(--space-8);max-width:1080px;width:100%}.welcome-text{flex:1 1;min-width:280px}.welcome-title{font-size:var(--text-xl);font-weight:600;line-height:1.2;margin:0 0 var(--space-4)}.getting-started{margin:var(--space-5) 0}.getting-started-description{color:var(--text-secondary);font-size:var(--text-md);margin:0 0 var(--space-4)}.welcome-button{align-items:center;background-color:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--text-md);font-weight:500;height:44px;padding:0 var(--space-5);transition:background-color var(--duration-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.welcome-button:hover{background-color:var(--accent-hover)}}.welcome-button:active{background-color:var(--accent-active)}.preview{border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex:1 1;height:auto;max-width:480px;min-width:280px;width:100%}@media (max-width:767px){.welcome-content{flex-direction:column;gap:var(--space-5);text-align:center}.preview{order:-1}}.loading-container{background-color:var(--bg-surface-raised);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);left:50%;padding:var(--space-5);position:fixed;text-align:center;top:30%;transform:translate(-50%,-50%);z-index:var(--z-overlay)}.loading-text{color:var(--text-primary);font-size:var(--text-md);font-weight:500;margin:0}.loading-count{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);margin:var(--space-1) 0 var(--space-3)}.lds-facebook{display:inline-block;height:64px;position:relative;width:64px}.lds-facebook div{animation:lds-facebook 1.2s cubic-bezier(0,.5,.5,1) infinite;background:var(--accent);border-radius:2px;display:inline-block;left:6px;position:absolute;width:12px}.lds-facebook div:first-child{animation-delay:-.24s;left:6px}.lds-facebook div:nth-child(2){animation-delay:-.12s;left:26px}.lds-facebook div:nth-child(3){animation-delay:0;left:46px}@keyframes lds-facebook{0%{height:52px;top:6px}50%,to{height:26px;top:20px}}@media (prefers-reduced-motion:reduce){.lds-facebook div{animation:none;height:26px;top:20px}}@keyframes modal-overlay-in{0%{opacity:0}}@keyframes modal-overlay-out{to{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(8px)}}@keyframes modal-card-out{to{opacity:0;transform:translateY(8px)}}.modal-overlay{align-items:center;animation:modal-overlay-in var(--duration-normal) var(--ease-out) both;background-color:#00000080;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal)}.modal-overlay.closing{animation:modal-overlay-out var(--duration-fast) var(--ease-standard) both}.modal-card{animation:modal-card-in var(--duration-normal) var(--ease-out) both;background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-height:85vh;max-width:480px;overflow-y:auto;padding:var(--space-5);width:100%}.modal-card.closing{animation:modal-card-out var(--duration-fast) var(--ease-standard) both}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.modal-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);width:32px}@media (hover:hover) and (pointer:fine){.modal-close:hover{background-color:var(--bg-surface-raised);color:var(--text-primary)}}.modal-subtitle{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-4)}.roles-list{flex-direction:column;margin-bottom:var(--space-5)}.role-row,.roles-list{display:flex;gap:var(--space-3)}.role-row{align-items:center;justify-content:space-between}.role-label{flex-shrink:0;font-weight:500;width:110px}.role-label,.role-select{color:var(--text-primary);font-size:var(--text-sm)}.role-select{background-color:var(--bg-canvas);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);flex:1 1;height:40px;padding:0 var(--space-3)}.role-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle-bg);outline:none}.modal-done-button{background-color:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-md);font-weight:500;height:44px;transition:background-color var(--duration-fast) var(--ease-standard);width:100%}@media (hover:hover) and (pointer:fine){.modal-done-button:hover{background-color:var(--accent-hover)}}.smart-upload{margin-bottom:var(--space-5)}.smart-upload-dropzone{align-items:center;background-color:var(--bg-surface);border:1px dashed var(--border-hairline);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);justify-content:center;padding:var(--space-5) var(--space-4);position:relative;text-align:center;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.smart-upload-dropzone.dragging{background-color:var(--accent-subtle-bg);border-color:var(--accent)}.smart-upload-icon{color:var(--text-tertiary);font-size:22px}.smart-upload-text{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.smart-upload-browse{background:none;border:none;color:var(--accent);cursor:pointer;font-size:var(--text-sm);font-weight:500;padding:0;text-decoration:underline}.smart-upload-input{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.smart-upload-destination{align-items:center;display:flex;gap:var(--space-2);margin-top:var(--space-2)}.smart-upload-destination label{color:var(--text-tertiary);font-size:var(--text-xs)}.smart-upload-destination select{background-color:var(--bg-canvas);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-xs);height:32px;padding:0 var(--space-2)}.smart-upload-destination select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle-bg);outline:none}.smart-upload-summary{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-2xs);list-style:none;margin:var(--space-2) 0 0;padding:0}.smart-upload-summary li{padding:2px 0}.dashboard{margin-bottom:var(--space-5)}.dashboard-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-4)}.dashboard-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin:0}.dashboard-synced{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs)}.dashboard-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.dashboard-card{background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-4)}.dashboard-card-header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.dashboard-avatar{border-radius:var(--radius-full);flex-shrink:0;height:32px;object-fit:cover;width:32px}.dashboard-identity{display:flex;flex:1 1;flex-direction:column;min-width:0}.dashboard-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.dashboard-email,.dashboard-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-email{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-2xs)}.dashboard-status-ok{color:var(--success);flex-shrink:0}.dashboard-status-warn{color:var(--warning);flex-shrink:0}.dashboard-role-badge{background-color:var(--accent-subtle-bg);border-radius:var(--radius-full);color:var(--accent);display:inline-block;font-size:var(--text-2xs);font-weight:500;margin-bottom:var(--space-3);padding:2px var(--space-2)}.dashboard-storage{margin-bottom:var(--space-4)}.dashboard-muted-text{color:var(--text-tertiary);font-size:var(--text-xs)}.dashboard-storage-bar{background-color:var(--bg-canvas);border-radius:var(--radius-full);height:6px;margin-bottom:var(--space-1);overflow:hidden;width:100%}.dashboard-storage-fill{background-color:var(--accent);border-radius:var(--radius-full);height:100%}.dashboard-storage-text{color:var(--text-secondary);font-size:var(--text-xs)}.dashboard-file-counts{grid-gap:var(--space-2);border-top:1px solid var(--border-hairline);display:grid;gap:var(--space-2);grid-template-columns:repeat(4,1fr);padding-top:var(--space-3)}.dashboard-count-item{align-items:center;display:flex;flex-direction:column;text-align:center}.dashboard-count{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-md);font-weight:600}.dashboard-count-label{color:var(--text-tertiary);font-size:var(--text-2xs)}.profile{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-5);max-width:560px}.profile-header-card{align-items:center;background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4)}.profile-avatar{color:var(--accent);flex-shrink:0;font-size:40px}.profile-identity{display:flex;flex:1 1;flex-direction:column;min-width:0}.profile-username{color:var(--text-primary);font-size:var(--text-lg);font-weight:600}.profile-hint{color:var(--text-tertiary);font-size:var(--text-xs)}.profile-logout-button{align-items:center;background:none;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--danger);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--text-sm);gap:var(--space-2);height:36px;padding:0 var(--space-3);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.profile-logout-button:hover{background-color:var(--danger-subtle-bg);border-color:var(--danger)}}.profile-section{background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-4)}.profile-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-sm);font-weight:600;gap:var(--space-2);margin:0 0 var(--space-3)}.profile-password-form{display:flex;flex-direction:column;gap:var(--space-2)}.profile-input{background-color:var(--bg-canvas);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);height:40px;padding:0 var(--space-3)}.profile-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle-bg);outline:none}.profile-save-button{align-self:flex-start;background-color:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:500;height:36px;padding:0 var(--space-4);transition:background-color var(--duration-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.profile-save-button:hover{background-color:var(--accent-hover)}}.profile-message{color:var(--text-secondary);font-size:var(--text-xs);margin-top:var(--space-2)}.profile-log-list{display:flex;flex-direction:column;gap:var(--space-1)}.profile-log-row{align-items:center;border-bottom:1px solid var(--border-hairline);display:flex;font-size:var(--text-xs);gap:var(--space-2);justify-content:space-between;padding:var(--space-2) 0}.profile-log-row:last-child{border-bottom:none}.profile-log-device{color:var(--text-primary)}.profile-log-time{color:var(--text-tertiary);font-family:var(--font-mono)}.profile-disclaimer{line-height:1.5;margin-top:var(--space-3)}@keyframes video-modal-overlay-in{0%{opacity:0}}@keyframes video-modal-overlay-out{to{opacity:0}}@keyframes video-modal-in{0%{opacity:0;transform:translateY(8px)}}@keyframes video-modal-out{to{opacity:0;transform:translateY(8px)}}.video-modal-overlay{align-items:center;animation:video-modal-overlay-in var(--duration-normal) var(--ease-out) both;background-color:#000000b3;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal)}.video-modal-overlay.closing{animation:video-modal-overlay-out var(--duration-fast) var(--ease-standard) both}.video-modal{animation:video-modal-in var(--duration-normal) var(--ease-out) both;background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;max-height:90vh;max-width:1100px;overflow:hidden;width:100%}.video-modal.closing{animation:video-modal-out var(--duration-fast) var(--ease-standard) both}.video-modal-main{display:flex;flex:1 1;flex-direction:column;min-width:0;padding:var(--space-4)}.video-modal-header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.video-modal-title{color:var(--text-primary);font-size:var(--text-md);font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);width:32px}@media (hover:hover) and (pointer:fine){.video-modal-close:hover{background-color:var(--bg-surface-raised);color:var(--text-primary)}}.video-player-frame{aspect-ratio:16/9;background-color:#000;border-radius:var(--radius-md);overflow:hidden;position:relative;width:100%}.video-player-frame iframe{border:none;height:100%;inset:0;position:absolute;width:100%}.video-modal-controls{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-top:var(--space-3)}.video-nav-button,.video-watched-toggle{align-items:center;background:none;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:var(--text-sm);gap:var(--space-2);height:36px;padding:0 var(--space-3);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.video-nav-button:disabled{cursor:not-allowed;opacity:.4}@media (hover:hover) and (pointer:fine){.video-nav-button:hover:not(:disabled),.video-watched-toggle:hover{background-color:var(--bg-surface-raised);color:var(--text-primary)}}.video-watched-toggle{border-color:var(--accent);color:var(--accent)}.video-modal-meta{color:var(--text-tertiary);font-size:var(--text-xs);margin:var(--space-3) 0 0}.video-modal-playlist{border-left:1px solid var(--border-hairline);flex-shrink:0;overflow-y:auto;padding:var(--space-4);width:300px}.video-playlist-title{color:var(--text-primary);font-size:var(--text-sm);font-weight:600;margin:0 0 var(--space-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-playlist-list{display:flex;flex-direction:column;gap:2px}.video-playlist-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-xs);gap:var(--space-2);padding:var(--space-2);text-align:left;transition:background-color var(--duration-fast) var(--ease-standard);width:100%}@media (hover:hover) and (pointer:fine){.video-playlist-item:hover{background-color:var(--bg-surface-raised)}}.video-playlist-item.active{background-color:var(--accent-subtle-bg);color:var(--accent)}.video-playlist-play-icon{color:var(--text-tertiary);flex-shrink:0}.video-playlist-watched-icon{color:var(--success);flex-shrink:0}.video-playlist-item-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-playlist-item-duration{color:var(--text-tertiary);flex-shrink:0;font-family:var(--font-mono)}@media (max-width:767px){.video-modal{flex-direction:column;max-height:95vh;overflow-y:auto}.video-modal-playlist{border-left:none;border-top:1px solid var(--border-hairline);width:100%}}.video-library,.video-library-header{margin-bottom:var(--space-5)}.video-library-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}.video-library-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin:0}.video-library-count{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs)}.video-course-section{margin-bottom:var(--space-6)}.video-course-title{border-left:3px solid var(--accent);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;margin:0 0 var(--space-3);padding-left:var(--space-2);text-transform:uppercase}.video-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.video-card{background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-1);overflow:hidden;padding:0;text-align:left;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.video-card:hover{background-color:var(--bg-surface-raised);border-color:var(--accent)}}.video-card.watched{opacity:.7}.video-thumb{align-items:center;aspect-ratio:16/9;background-color:var(--bg-canvas);display:flex;justify-content:center;position:relative;width:100%}.video-thumb img{height:100%;object-fit:cover;width:100%}.video-thumb-fallback-icon{color:var(--text-tertiary);font-size:32px}.video-duration-badge{background-color:#000000bf;border-radius:3px;bottom:var(--space-1);color:#fff;font-family:var(--font-mono);font-size:var(--text-2xs);padding:1px 5px;position:absolute;right:var(--space-1)}.video-watched-badge{align-items:center;background-color:#0000008c;border-radius:var(--radius-full);color:var(--success);display:inline-flex;font-size:12px;height:20px;justify-content:center;left:var(--space-1);position:absolute;top:var(--space-1);width:20px}.video-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:var(--text-xs);font-weight:500;margin-top:var(--space-1);padding:0 var(--space-2)}.video-card-account,.video-card-title{overflow:hidden;text-overflow:ellipsis}.video-card-account{color:var(--text-tertiary);font-size:var(--text-2xs);padding:0 var(--space-2) var(--space-2);white-space:nowrap}.video-library-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-2);justify-content:center;padding:var(--space-8) var(--space-4);text-align:center}.video-library-empty-icon{color:var(--text-tertiary);font-size:36px;margin-bottom:var(--space-2)}.video-library-empty-hint{color:var(--text-tertiary);font-size:var(--text-xs);max-width:400px}.icon{height:20px;vertical-align:text-bottom}.main-container{margin-left:var(--sidebar-width);margin-top:var(--header-height);min-height:calc(100vh - var(--header-height));width:calc(100% - var(--sidebar-width))}.main-content{padding:var(--space-4)}@media (max-width:767px){.main-container{margin-left:var(--sidebar-width-collapsed);width:calc(100% - var(--sidebar-width-collapsed))}}
/*# sourceMappingURL=main.f91ee59a.css.map*/