@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.666bad7d.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.0a77efb4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.4a23d71b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.43b0b13e.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.b2288445.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.3aec397d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.95e4158a.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.bd593fbe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.d82a9aff.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.c55744ae.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.b460e02c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.855a563b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_27c1d5ca-module__9rNIbG__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_27c1d5ca-module__9rNIbG__variable{--font-poppins:"Poppins","Poppins Fallback"}
@font-face{font-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/577b8067601e9847-s.e644b68f.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5d1ea58cfb9c551d-s.7dda2f4b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d1bdedfd2fe13894-s.b093ab45.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1e23e5114abf0db3-s.p.b3163490.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/34da6f6f5d0d57a5-s.96754dc3.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c5ef4f45c466146b-s.cfb14465.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e9c5fb40545fcd2-s.a32f81c5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/89d4f80f11029d6d-s.p.eabc3dff.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/876b05e81fb36bf6-s.5eeb9c45.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5128e7653d6f3744-s.71b7b808.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/07bc3d3e69c8b6e8-s.a98998d3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/118b6ed7ac256a99-s.p.772b3575.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a244653d74e7372f-s.686004b0.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7ff43f20b4a94066-s.56af7f28.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d5ac005905e340fc-s.823aae1d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c750adf2ddf22b70-s.p.fc7dc774.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kanit Fallback;src:local(Arial);ascent-override:108.49%;descent-override:38.96%;line-gap-override:0.0%;size-adjust:101.39%}.kanit_df9e9abf-module__hCPqMq__className{font-family:Kanit,Kanit Fallback;font-style:normal}.kanit_df9e9abf-module__hCPqMq__variable{--font-kanit:"Kanit","Kanit Fallback"}
:root{--background:#09090b;--foreground:#fafafa;--card:#0a0a0c;--card-foreground:#fafafa;--popover:#0a0a0c;--popover-foreground:#fafafa;--primary:#fafafa;--primary-foreground:#18181b;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#27272a;--input:#27272a;--ring:#d4d4d8;--success:#22c55e;--warning:#eab308;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-pill:9999px;--sidebar-width:260px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition:.2s cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-poppins),var(--font-kanit),-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3f3f46}a{color:var(--foreground);transition:opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.8}.btn{border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25rem;display:inline-flex}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border)}.btn-secondary:hover{background:#3f3f46}.btn-destructive{background:var(--destructive);color:var(--destructive-foreground)}.btn-destructive:hover{opacity:.9}.btn-outline{color:var(--foreground);border:1px solid var(--border);background:0 0}.btn-outline:hover{background:var(--accent)}.btn-ghost{color:var(--muted-foreground);background:0 0}.btn-ghost:hover{background:var(--accent);color:var(--foreground)}.btn-sm{border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.8125rem}.btn-icon{justify-content:center;align-items:center;padding:.5rem;display:inline-flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.input-group{flex-direction:column;gap:.375rem;display:flex}.input-group label{color:var(--foreground);font-size:.875rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper .input{width:100%;padding-right:2.75rem}.input-wrapper .input-icon{color:var(--muted-foreground);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:.125rem;font-family:inherit;display:flex;position:absolute;right:.75rem}.input-wrapper .input-icon:hover{color:var(--foreground)}.input-wrapper .input-icon:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--background);width:100%;height:2.5rem;color:var(--foreground);transition:border-color var(--transition-fast);outline:none;padding:0 .75rem;font-family:inherit;font-size:.875rem}.input::placeholder{color:var(--muted-foreground)}.input:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.page-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--card);border-right:1px solid var(--border);z-index:200;height:100vh;transition:transform var(--transition);flex-direction:column;gap:.125rem;padding:1.5rem .75rem;display:flex;position:fixed;top:0;left:0}.sidebar-logo{align-items:center;gap:.625rem;margin-bottom:1.5rem;padding:.25rem .75rem;display:flex}.sidebar-logo .logo-icon{border-radius:var(--radius-md);background:var(--foreground);width:32px;height:32px;color:var(--background);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo h1{letter-spacing:-.025em;font-size:1rem;font-weight:600}.nav-link{border-radius:var(--radius-md);color:var(--muted-foreground);transition:background-color var(--transition-fast),color var(--transition-fast);cursor:pointer;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;display:flex}.nav-link:hover{background:var(--accent);color:var(--foreground);opacity:1}.nav-link.active{background:var(--accent);color:var(--foreground);font-weight:500}.nav-link .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;display:flex}.nav-skeleton{padding:0 .75rem}.sidebar-bottom{flex-direction:column;gap:.625rem;margin-top:auto;display:flex}.sidebar-quota{color:var(--muted-foreground);padding:.75rem;font-size:.8125rem}.sidebar-quota .quota-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.sidebar-user{border-top:1px solid var(--border);align-items:center;gap:.625rem;padding:.75rem;display:flex}.sidebar-user .user-avatar{background:var(--secondary);border:1px solid var(--border);width:32px;height:32px;color:var(--foreground);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.sidebar-user .user-info{flex:1;min-width:0}.sidebar-user .user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.sidebar-user .user-role{margin-top:.125rem}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:2rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.tab-row{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-pill);gap:.5rem;padding:.25rem;display:inline-flex}.tab{color:var(--muted-foreground);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);background:0 0;border:none;padding:.375rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:500}.tab:hover{color:var(--foreground)}.tab.active{background:var(--foreground);color:var(--background)}.page-header h2{letter-spacing:-.025em;align-items:center;gap:.625rem;font-size:1.5rem;font-weight:600;display:flex}.page-header h2 .header-icon{color:var(--muted-foreground);align-items:center;display:flex}.mobile-topbar{background:var(--card);border-bottom:1px solid var(--border);z-index:300;justify-content:space-between;align-items:center;height:48px;padding:0 1rem;display:none;position:fixed;top:0;left:0;right:0}.mobile-topbar .logo-text{letter-spacing:-.025em;font-size:.9375rem;font-weight:600}.hamburger-btn{color:var(--foreground);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;display:flex}.hamburger-btn:hover{background:var(--accent)}.sidebar-overlay{z-index:199;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.active{display:block}.auth-container{background:var(--background);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{width:100%;max-width:360px;animation:.3s fadeIn}.auth-logo-section{text-align:center;margin-bottom:1.5rem}.auth-logo-section .logo-shield{border-radius:var(--radius-lg);background:var(--foreground);width:40px;height:40px;color:var(--background);justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.auth-card h1{letter-spacing:-.025em;text-align:center;margin-bottom:.25rem;font-size:1.5rem;font-weight:600}.auth-card .subtitle{text-align:center;color:var(--muted-foreground);font-size:.875rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form .btn-primary{width:100%;height:2.5rem;margin-top:.25rem;font-size:.875rem}.auth-footer{text-align:center;color:var(--muted-foreground);margin-top:1.5rem;font-size:.875rem}.auth-footer a{text-underline-offset:4px;text-decoration:underline}.auth-footer a:hover{color:var(--foreground);opacity:1}.error-msg{color:var(--destructive);border-radius:var(--radius-md);background:#ef44441a;border:1px solid #ef444433;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.password-strength{gap:3px;margin-top:.375rem;display:flex}.password-strength .bar{background:var(--border);height:2px;transition:background var(--transition);border-radius:1px;flex:1}.password-strength .bar.weak{background:var(--destructive)}.password-strength .bar.medium{background:var(--warning)}.password-strength .bar.strong{background:var(--success)}.auth-bg-orbs{display:none}.file-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.file-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);cursor:pointer;content-visibility:auto;contain-intrinsic-size:220px 280px;position:relative;overflow:hidden}.file-card:hover{border-color:#3f3f46}.file-card.selected{border-color:var(--ring);box-shadow:0 0 0 1px #d4d4d840}.file-select-control{z-index:4;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#09090b99;border:1px solid #3f3f46e6;justify-content:center;align-items:center;padding:.125rem;display:inline-flex;position:absolute;top:.5rem;left:.5rem}.file-select-control input[type=checkbox]{width:.95rem;height:.95rem;accent-color:var(--ring);cursor:pointer}.file-card .thumb{aspect-ratio:1;background:var(--secondary);width:100%;color:var(--muted-foreground);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.file-card .thumb img{object-fit:cover;width:100%;height:100%}.file-card .thumb .file-type-icon{opacity:.4}.video-badge{color:var(--muted-foreground);letter-spacing:.02em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.375rem;font-size:.75rem;display:flex}.file-card .info{padding:.75rem}.file-card .info .name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.file-card .info .meta{color:var(--muted-foreground);margin-top:.25rem;font-size:.75rem}.file-card .info .actions{flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.5rem;display:flex}.file-card .info .actions .btn.btn-ghost.btn-sm{min-width:32px;padding:.375rem}.inline-actions{align-items:center;gap:.375rem;display:inline-flex}.select-column{width:38px}.row-selected td{background:#3f3f4659}.upload-zone{border:1px dashed var(--border);border-radius:var(--radius-xl);text-align:center;cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);padding:3rem 2rem}.upload-zone:hover,.upload-zone.dragover{border-color:var(--muted-foreground);background:var(--secondary)}.upload-zone .upload-icon{color:var(--muted-foreground);justify-content:center;margin-bottom:.75rem;display:flex}.upload-zone h3{margin-bottom:.375rem;font-size:.9375rem;font-weight:500}.upload-zone p{color:var(--muted-foreground);font-size:.8125rem}.upload-list{flex-direction:column;gap:.5rem;margin-top:1.25rem;display:flex}.upload-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.75rem;display:flex}.upload-item .file-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.upload-item .file-icon.complete{color:var(--success);background:#22c55e1a}.upload-item .file-icon.error{color:var(--destructive);background:#ef44441a}.upload-item .file-icon.cancelled,.upload-item .file-icon.paused{color:var(--warning);background:#eab3081f}.upload-item .file-icon.uploading,.upload-item .file-icon.pending{background:var(--secondary);color:var(--muted-foreground)}.upload-item .file-info{flex:1;min-width:0}.upload-item .file-info .name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.upload-item .progress-bar{background:var(--border);border-radius:1px;height:2px;margin-top:.5rem;overflow:hidden}.upload-item .progress-bar .fill{background:var(--foreground);border-radius:1px;height:100%;transition:width .3s}.upload-item .file-size{color:var(--muted-foreground);white-space:nowrap;font-size:.75rem}.upload-item .status{border-radius:var(--radius-pill);white-space:nowrap;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.upload-item .status.complete{color:var(--success);background:#22c55e1a}.upload-item .status.error{color:var(--destructive);background:#ef44441a}.upload-item .status.cancelled,.upload-item .status.paused{color:var(--warning);background:#eab3081f}.upload-item .status.uploading{color:var(--foreground);background:var(--secondary)}.upload-item .status.pending{color:var(--muted-foreground);background:var(--secondary)}.upload-item .error-detail{color:var(--destructive);margin-top:.25rem;font-size:.75rem}.upload-actions{align-items:center;gap:.5rem;display:inline-flex}.upload-item-remove{border-radius:var(--radius-sm);width:28px;min-width:28px;height:28px;color:var(--muted-foreground);padding:0}.upload-item-remove:hover{color:var(--foreground)}.toast-stack{z-index:1500;flex-direction:column;gap:.5rem;max-width:min(92vw,360px);display:flex;position:fixed;bottom:1rem;right:1rem}.toast-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border-left-width:3px;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.625rem .625rem .625rem .75rem;display:flex}.toast-card.info{border-left-color:var(--ring)}.toast-card.success{border-left-color:var(--success)}.toast-card.error{border-left-color:var(--destructive)}.toast-body{flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.toast-body strong{font-size:.82rem}.toast-body span{color:var(--muted-foreground)}.toast-actions{align-items:center;gap:.25rem;display:inline-flex}.table-container{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;overflow:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}.data-table th{color:var(--muted-foreground);background:var(--card);font-size:.75rem;font-weight:500}.data-table td{font-size:.8125rem}.data-table tbody tr:hover td{background:var(--secondary)}.data-table tbody tr:last-child td{border-bottom:none}.bulk-toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(#27272aa6,#18181bcc);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.875rem;padding:.625rem .875rem;display:flex}.bulk-toolbar-left{align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex}.bulk-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:inline-flex}.trash-retention-note{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:-.55rem;margin-bottom:.9rem;font-size:.78rem;display:flex}.selection-helper-row{justify-content:flex-end;margin-top:-.45rem;margin-bottom:.65rem;display:flex}.badge{border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-flex}.badge.admin{background:var(--secondary);color:var(--foreground);border-color:var(--border)}.badge.user,.badge.active{color:var(--success);background:#22c55e1a}.badge.trashed{color:var(--warning);background:#eab3081a}.empty-state{text-align:center;color:var(--muted-foreground);padding:4rem 2rem}.empty-state .empty-icon{opacity:.3;justify-content:center;margin-bottom:1rem;display:flex}.empty-state h3{color:var(--foreground);margin-bottom:.375rem;font-size:1rem;font-weight:500}.quota-bar{background:var(--secondary);border-radius:var(--radius-pill);height:4px;overflow:hidden}.quota-bar .fill{background:var(--foreground);border-radius:var(--radius-pill);height:100%;transition:width .4s}.filters{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.filters .input{flex:1;min-width:200px;max-width:320px}.user-filter{flex-direction:column;flex:1;gap:.35rem;min-width:220px;max-width:320px;display:flex;position:relative}.selected-user{color:var(--muted-foreground);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.user-suggestions{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);z-index:20;max-height:240px;padding:.25rem;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 10px 30px #00000014}.user-suggestion{text-align:left;width:100%;color:var(--foreground);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;display:flex}.user-suggestion:hover{background:var(--secondary)}.user-suggestion .email{color:var(--muted-foreground);font-size:.75rem}.user-suggestion.muted{color:var(--muted-foreground);cursor:default}.filter-pills{gap:.25rem;display:flex}.filter-pill{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border);color:var(--muted-foreground);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);background:0 0;padding:.375rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:500}.filter-pill:hover{background:var(--secondary);color:var(--foreground)}.filter-pill.active{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.view-toggle{border:1px solid var(--border);border-radius:var(--radius-pill);gap:.25rem;margin-left:auto;padding:.25rem;display:inline-flex}.view-btn{color:var(--muted-foreground);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);background:0 0;border:none;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.view-btn:hover{color:var(--foreground)}.view-btn.active{background:var(--foreground);color:var(--background)}.pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.pagination .page-info{color:var(--muted-foreground);padding:0 .5rem;font-size:.8125rem}.spinner{border:2px solid var(--border);border-top-color:var(--foreground);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{justify-content:center;align-items:center;min-height:200px;display:flex}.skeleton{background:var(--secondary);border-radius:var(--radius-md);animation:2s ease-in-out infinite shimmer}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.5}}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.preview-overlay{background:#000000b3}.preview-modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(960px,92vw);max-height:88vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.preview-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.preview-title{white-space:nowrap;text-overflow:ellipsis;max-width:70%;font-size:.875rem;font-weight:600;overflow:hidden}.preview-actions{align-items:center;gap:.5rem;display:inline-flex}.preview-body{background:var(--background);justify-content:center;align-items:center;min-height:320px;padding:.75rem;display:flex}.preview-media{width:100%;height:min(70vh,720px);position:relative}.preview-video,.preview-iframe{border-radius:var(--radius-md);background:var(--card);border:none;width:100%;height:min(70vh,720px)}.preview-audio{width:100%}.preview-fallback{color:var(--muted-foreground);flex-direction:column;align-items:center;gap:.75rem;display:flex}.modal-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:1.5rem}.modal-card h3{margin-bottom:.375rem;font-size:1rem;font-weight:600}.modal-card p{color:var(--muted-foreground);margin-bottom:1.25rem;font-size:.875rem}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.stats-bar{color:var(--muted-foreground);align-items:center;gap:1rem;font-size:.8125rem;display:flex}.stats-bar .stat-item{align-items:center;gap:.375rem;display:flex}.stats-bar .stat-dot{border-radius:50%;width:6px;height:6px}.stats-bar .stat-dot.complete{background:var(--success)}.stats-bar .stat-dot.uploading{background:var(--foreground)}.stats-bar .stat-dot.error{background:var(--destructive)}.stats-bar .stat-dot.cancelled{background:var(--warning)}.upload-header-main{flex-direction:column;gap:.45rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.mobile-topbar{display:flex}.sidebar{width:280px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:calc(48px + 1rem) 1rem 1rem}.page-header{flex-direction:column;align-items:flex-start;gap:.5rem}.upload-actions{flex-wrap:wrap;width:100%}.tab-row{justify-content:flex-start;width:100%}.file-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.filters{flex-direction:column;align-items:stretch}.filters .input{min-width:unset;max-width:unset}.view-toggle{justify-content:flex-start;width:100%;margin-left:0}.bulk-toolbar{flex-direction:column;align-items:stretch}.bulk-toolbar-actions,.selection-helper-row{justify-content:flex-start}.upload-zone{padding:2rem 1.25rem}.data-table th,.data-table td{padding:.625rem .75rem;font-size:.8125rem}.data-table.responsive thead{display:none}.data-table.responsive tr{border-bottom:1px solid var(--border);gap:.5rem;padding:.75rem;display:grid}.data-table.responsive td{border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:0;font-size:.8125rem;display:flex}.data-table.responsive td:before{content:attr(data-label);color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.data-table.responsive .select-column{display:none}}@media (max-width:480px){.file-grid{grid-template-columns:repeat(2,1fr)}}
