@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400-latin.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(/fonts/poppins-500-latin.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(/fonts/poppins-600-latin.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(/fonts/poppins-700-latin.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:400;font-display:swap;src:url(/fonts/poppins-400-latin-ext.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(/fonts/poppins-500-latin-ext.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(/fonts/poppins-600-latin-ext.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(/fonts/poppins-700-latin-ext.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}:root{--brand:#0b63e5;--brand-dk:#084eb8;--accent:#60cddd;--accent-hv:#7ad8e6;--bg:#f2f2f2;--ink:#1d1d1d;--ink-dk:#0a0a0a;--black:#111;--gray1:#c2c2c2;--gray2:#5a5a5a;--gray3:#8a8a8a;--line:#e3e3e3;--line2:#dcdcdc;--tint:#e7f0fd;--white:#fff;--red:#b42318;--red-bg:#fdecea;--mono:ui-monospace, Menlo, Consolas, monospace;--shadow:0 12px 32px #00000014;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Poppins,Helvetica,Arial,sans-serif}*{box-sizing:border-box}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dk)}input,button,select,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:#8a8a8a}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}h1,h2,h3{margin:0}code{font-family:var(--mono)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.mark{flex:none;width:26px;height:auto;display:block}.avatar{background:var(--accent);color:var(--black);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:500}.muted{color:var(--gray2)}.subtle{color:var(--gray3)}.tag{background:var(--tint);color:var(--brand);white-space:nowrap;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:500;display:inline-block}.tag-gray{background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:3px 8px}.status{background:var(--bg);color:var(--gray2);white-space:nowrap;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600}.status.live{background:var(--tint);color:var(--brand)}.status.uploading{color:#7a5a00;background:#fdf3d7}.error-text{color:var(--red);font-size:13px;line-height:1.5}.error-box{background:var(--red-bg);color:var(--red);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5}.ok-box{background:var(--tint);color:var(--brand);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5}.spinner-page{min-height:60vh;color:var(--gray2);justify-content:center;align-items:center;font-size:14px;display:flex}.empty{text-align:center;color:var(--gray2);border:1px dashed var(--line2);background:#fff;border-radius:16px;padding:32px;font-size:14px}.btn{white-space:nowrap;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dk);color:#fff}.btn-accent{background:var(--accent);color:var(--black)}.btn-accent:hover:not(:disabled){background:var(--accent-hv)}.btn-secondary{color:var(--ink);border:1px solid var(--line2);background:#fff;font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--bg);color:var(--ink)}.btn-danger{color:var(--red);background:#fff;border:1px solid #f0c4be;font-weight:500}.btn-danger:hover:not(:disabled){background:var(--red-bg)}.btn-sm{height:34px;padding:0 14px;font-size:13px}.btn-xs{border-radius:8px;height:30px;padding:0 10px;font-size:12px}.btn-link{color:var(--brand);background:0 0;border:0;height:auto;padding:0;font-size:12px;font-weight:500}.btn-link:hover:not(:disabled){color:var(--brand-dk)}.btn-link.danger{color:var(--red)}.field{color:#3a3a3a;flex-direction:column;gap:8px;font-size:13px;font-weight:500;display:flex}.field .hint{color:var(--gray3);font-weight:400}.input,.select,.textarea{border:1px solid var(--line2);height:44px;color:var(--ink);background:#fff;border-radius:9px;outline:none;width:100%;padding:0 14px;font-size:14px}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand)}.select{padding:0 12px}.textarea{resize:vertical;height:auto;padding:12px 14px;line-height:1.5}.checkbox{color:var(--ink);align-items:center;gap:10px;font-size:14px;font-weight:400;display:flex}.checkbox input{accent-color:var(--brand);width:16px;height:16px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line2);height:30px;color:var(--ink);background:#fff;border-radius:999px;padding:0 10px;font-size:12px;font-weight:500}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.chip-lg{height:34px;padding:0 14px;font-size:13px}.chip-lg.on{background:var(--ink);border-color:var(--ink)}.swatches{gap:8px;display:flex}.swatch{border:2px solid #0000;border-radius:8px;width:32px;height:32px;padding:0}.swatch.on{border-color:var(--ink)}.panel{border:1px solid var(--line);background:#fff;border-radius:16px}.panel-pad{padding:24px}.panel-title{letter-spacing:-.02em;font-size:18px;font-weight:600}.panel-sub{color:var(--gray2);margin-top:4px;font-size:13px}.section-label{color:var(--gray2);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.stack{flex-direction:column;gap:18px;display:flex}.row{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;gap:24px;display:grid}.progress{background:var(--bg);border-radius:999px;height:6px;overflow:hidden}.progress>div{background:var(--brand);height:100%;transition:width .2s}.toast{background:var(--ink);color:#fff;z-index:100;border-radius:10px;padding:10px 16px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.toast.error{background:var(--red)}.auth{color:#fff;background:#000;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-brand{background:var(--brand);background-image:radial-gradient(circle at 85% 15%,#60cddd59,#0000 45%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px;display:flex}.auth-brand .logo{letter-spacing:-.02em;align-items:center;gap:12px;font-size:18px;font-weight:600;display:flex}.auth-brand .logo .mark{width:36px}.auth-brand .headline{letter-spacing:-.02em;text-wrap:pretty;font-size:max(40px,min(5vw,64px));font-weight:600;line-height:1}.auth-brand .lede{color:#ffffffc7;text-wrap:pretty;max-width:520px;margin-top:20px;font-size:18px;line-height:1.5}.auth-brand .foot{color:#fff9;font-size:13px}.auth-side{justify-content:center;align-items:center;padding:48px 32px;display:flex}.auth-form{width:100%;max-width:400px}.auth-form h1{letter-spacing:-.02em;font-size:32px;font-weight:600}.auth-form .sub{color:var(--gray1);margin-top:8px;font-size:15px}.auth-form form{flex-direction:column;gap:18px;margin-top:36px;display:flex}.auth-form label{color:var(--gray1);flex-direction:column;gap:8px;font-size:13px;font-weight:500;display:flex}.auth-form .dark-input{background:var(--ink);color:#fff;border:1px solid #333;border-radius:10px;outline:none;height:48px;padding:0 16px;font-size:15px}.auth-form .dark-input:focus{border-color:var(--accent)}.auth-form .dark-input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--ink) inset;-webkit-text-fill-color:#fff;caret-color:#fff}.auth-form .dark-input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--ink) inset;-webkit-text-fill-color:#fff;caret-color:#fff}.auth-form .dark-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--ink) inset;-webkit-text-fill-color:#fff;caret-color:#fff}.auth-form .meta{justify-content:space-between;align-items:center;font-size:13px;display:flex}.auth-form .meta label{color:var(--gray1);flex-direction:row;align-items:center;gap:8px;font-weight:400}.auth-form .meta input{accent-color:var(--accent)}.auth-form .meta a{color:var(--accent)}.auth-form .submit{background:var(--accent);height:50px;color:var(--black);border:0;border-radius:10px;margin-top:6px;font-size:15px;font-weight:600}.auth-form .submit:hover:not(:disabled){background:var(--accent-hv)}.auth-form .note{color:var(--gray3);margin-top:28px;font-size:12px;line-height:1.5}.auth-form .note a{color:var(--accent)}.auth-form .error-box{color:#ffb4a8;background:#b423182e}.auth-form .ok-box{color:var(--accent);background:#60cddd24}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-brand{gap:32px;min-height:0;padding:32px 24px}.auth-brand .headline{font-size:36px}}.topbar{border-bottom:1px solid var(--line);background:#fff}.topbar-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1240px;height:64px;margin:0 auto;padding:0 32px;display:flex}.crumbs{align-items:center;gap:12px;min-width:0;display:flex}.crumbs .brand{letter-spacing:-.02em;white-space:nowrap;font-size:16px;font-weight:600}.crumbs .sep{color:var(--gray1)}.crumbs .crumb{color:var(--gray2);white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.crumbs .crumb.current{color:var(--ink);font-weight:500}.topbar-right{align-items:center;gap:16px;display:flex}.search{border:1px solid var(--line2);background:var(--bg);border-radius:9px;outline:none;width:240px;height:38px;padding:0 14px;font-size:14px}.search:focus{border-color:var(--brand)}.who{align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.who .avatar{width:32px;height:32px;font-size:12px}.btn-signout{border:1px solid var(--line2);white-space:nowrap;background:#fff;border-radius:9px;flex:none;height:36px;padding:0 14px;font-size:13px;font-weight:400}.btn-signout:hover{background:var(--bg)}.page{max-width:1240px;margin:0 auto;padding:44px 32px 80px}@media (max-width:720px){.topbar-inner,.page{padding-left:20px;padding-right:20px}.topbar-inner{flex-wrap:wrap;row-gap:8px;height:auto;padding-top:10px;padding-bottom:10px}.crumbs{flex:100%}.topbar-right{flex:100%;justify-content:space-between;gap:10px}.search{flex:auto;width:100%;min-width:0}.crumbs .crumb.optional,.crumbs .sep.optional,.who .name{display:none}.page{padding-top:28px}.gallery-head h1{font-size:32px}}.gallery-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.gallery-head h1{letter-spacing:-.02em;margin-top:8px;font-size:40px;font-weight:600;line-height:1.05}.gallery-head h1 span{color:var(--gray1)}.seg{border:1px solid var(--line2);background:#fff;border-radius:10px;gap:4px;padding:4px;display:flex}.seg button{height:32px;color:var(--gray2);background:0 0;border:0;border-radius:7px;padding:0 14px;font-size:13px;font-weight:500}.seg button.on{background:var(--ink);color:#fff}.filters{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:24px;margin-top:28px;display:grid}.card{border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:inherit;background:#fff;border-radius:16px;padding:0;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden}.card:hover{box-shadow:var(--shadow);color:inherit;transform:translateY(-2px)}.media{background-image:repeating-linear-gradient(135deg,#00000009 0 12px,#0000 12px 24px);align-items:flex-end;padding:14px;display:flex;position:relative;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.media .media-label{font-family:var(--mono);color:var(--gray2);background:#ffffffb3;border-radius:6px;padding:3px 8px;font-size:11px;position:relative}.card .media{aspect-ratio:16/9}.card-body{padding:18px 20px 20px}.card-title{letter-spacing:-.02em;font-size:18px;font-weight:600;line-height:1.2}.card-meta{color:var(--gray2);margin-top:6px;font-size:13px}.card-tags{gap:8px;margin-top:14px;display:flex}.rows{flex-direction:column;gap:16px;margin-top:28px;display:flex}.rowcard{border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:inherit;background:#fff;border-radius:16px;grid-template-columns:minmax(200px,300px) minmax(0,1fr);padding:0;transition:box-shadow .15s;display:grid;overflow:hidden}.rowcard:hover{box-shadow:var(--shadow);color:inherit}.rowcard .media{min-height:180px}.rowcard-body{flex-direction:column;justify-content:space-between;gap:16px;min-width:0;padding:24px 28px;display:flex}.rowcard-title{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.rowcard-title .name{letter-spacing:-.02em;font-size:22px;font-weight:600}.rowcard-title .meta{color:var(--gray2);white-space:nowrap;font-size:13px}.rowcard .summary{color:var(--gray2);text-wrap:pretty;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:640px;margin-top:8px;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.rowcard-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.rowcard-foot .open{color:var(--brand);font-size:13px;font-weight:500}@media (max-width:640px){.rowcard{grid-template-columns:1fr}.rowcard .media{min-height:140px}}.back{font-size:14px;font-weight:500}.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:32px;margin-top:20px;display:grid}.hero .media{aspect-ratio:16/9;border-radius:20px;align-self:start;width:100%;max-width:100%;padding:18px}.hero-text{flex-direction:column;justify-content:center;gap:24px;display:flex}.hero-text h1{letter-spacing:-.02em;text-wrap:pretty;margin-top:10px;font-size:44px;font-weight:600;line-height:1.02}.hero-text p{color:#3a3a3a;text-wrap:pretty;white-space:pre-line;margin:18px 0 0;font-size:16px;line-height:1.6}@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-text h1{font-size:34px}}.section{margin-top:48px}.section-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.section-head h2{letter-spacing:-.02em;font-size:24px;font-weight:600}.section-head .hint{color:var(--gray2);font-size:13px}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;margin-top:16px;display:grid}.demo{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:14px;padding:20px;display:flex}.demo-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.demo-head .label{letter-spacing:-.02em;font-size:16px;font-weight:600}.demo-head .env{color:var(--brand);background:var(--tint);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.creds{background:var(--bg);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;padding:12px 14px;font-size:13px;display:grid}.creds .k{color:var(--gray2)}.creds code{word-break:break-all;font-size:12.5px}.creds .note{color:var(--gray2);grid-column:1/-1}.btn-open{background:var(--brand);color:#fff;border-radius:10px;justify-content:center;align-items:center;height:42px;font-size:14px;font-weight:600;display:flex}.btn-open:hover{background:var(--brand-dk);color:#fff}.deck{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden}.deck:hover{box-shadow:var(--shadow);color:var(--ink);transform:translateY(-2px)}.deck-cover{aspect-ratio:16/9;background:var(--ink);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.deck-cover img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.deck-cover .placeholder{letter-spacing:-.03em;color:#fff;text-align:center;text-wrap:balance;-webkit-line-clamp:3;-webkit-box-orient:vertical;padding:20px;font-size:20px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.deck-cover:before{content:"";background-image:repeating-linear-gradient(135deg,#ffffff0a 0 12px,#0000 12px 24px);position:absolute;top:0;bottom:0;left:0;right:0}.deck-cover img+.placeholder,.deck-cover img~:before{display:none}.deck-cover .present{background:var(--accent);color:var(--black);border-radius:7px;padding:5px 10px;font-size:12px;font-weight:600;position:absolute;bottom:12px;right:12px}.deck-body{padding:16px 18px}.deck-title{letter-spacing:-.02em;font-size:15px;font-weight:600}.deck-meta{color:var(--gray2);margin-top:5px;font-size:12.5px}.videos{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:20px;margin-top:16px;display:grid}.video{border:1px solid var(--line);background:#fff;border-radius:16px;margin:0;overflow:hidden}.video video{aspect-ratio:16/9;background:var(--ink);object-fit:contain;width:100%;display:block}.video figcaption{padding:14px 18px 16px}.video-title{letter-spacing:-.02em;font-size:15px;font-weight:600}.video-meta{color:var(--gray2);margin-top:4px;font-size:12.5px}.files{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:16px;overflow:hidden}.file{border-bottom:1px solid #eee;align-items:center;gap:14px;padding:14px 18px;display:flex}.file:last-child{border-bottom:0}.file .ext{background:var(--bg);width:36px;height:36px;font-family:var(--mono);color:var(--gray2);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.file .info{flex:1;min-width:0}.file .name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.file .size{color:var(--gray2);font-size:12px}.file .actions{gap:8px;display:flex}.btn-view{border:1px solid var(--line2);height:34px;color:var(--ink);background:#fff;border-radius:8px;align-items:center;padding:0 14px;font-size:13px;font-weight:500;display:flex}.btn-view:hover{background:var(--bg);color:var(--ink)}.btn-download{background:var(--brand);color:#fff;border-radius:8px;align-items:center;height:34px;padding:0 14px;font-size:13px;font-weight:500;display:flex}.btn-download:hover{background:var(--brand-dk);color:#fff}.admin{background:var(--bg);grid-template-columns:208px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--ink-dk);color:#fff;flex-direction:column;gap:28px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar .logo{align-items:center;gap:10px;padding:0 8px;display:flex}.sidebar .logo .t1{letter-spacing:-.02em;font-size:15px;font-weight:600;line-height:1.1}.sidebar .logo .t2{color:var(--gray3);font-size:11px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.navlink{height:40px;color:var(--gray1);background:0 0;border:0;border-radius:9px;align-items:center;padding:0 12px;font-size:14px;font-weight:500;display:flex}.navlink:hover{color:#fff}.navlink.active{color:#fff;background:#333}.sidebar-foot{flex-direction:column;gap:10px;margin-top:auto;display:flex}.btn-ghost{height:38px;color:var(--gray1);background:0 0;border:1px solid #333;border-radius:9px;justify-content:center;align-items:center;font-size:13px;display:flex}.btn-ghost:hover{color:#fff;background:#2a2a2a}.sidebar .me{align-items:center;gap:10px;padding:8px;display:flex}.sidebar .me .avatar{background:var(--brand);color:#fff;width:30px;height:30px;font-size:11px}.sidebar .me>:last-child{min-width:0}.sidebar .me .n{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.2;overflow:hidden}.sidebar .me .r{color:var(--gray3);font-size:11px}.admin-main{min-width:0;padding:40px 44px 80px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.admin-head h1{letter-spacing:-.02em;font-size:32px;font-weight:600}.admin-head .sub{color:var(--gray2);margin-top:6px;font-size:14px}.admin-head .actions{flex-wrap:wrap;gap:10px;display:flex}.admin-search{border:1px solid var(--line2);background:#fff;border-radius:9px;outline:none;width:220px;height:40px;padding:0 14px;font-size:14px}.table{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:24px;overflow-x:auto}.thead,.trow{align-items:center;gap:16px;padding:12px 20px;display:grid}.thead{color:var(--gray2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #eee;font-size:12px;font-weight:600}.trow{border-bottom:1px solid #f0f0f0;padding:14px 20px;font-size:14px}.trow:last-child{border-bottom:0}.trow.clickable{cursor:pointer}.trow.clickable:hover{background:#fafafa}.cols-projects{grid-template-columns:minmax(220px,2fr) 1.2fr 1.6fr .7fr .9fr 90px;min-width:900px}.cols-clients{grid-template-columns:1.6fr .7fr 1.8fr 1fr 80px;min-width:720px}.cols-users{grid-template-columns:2fr 1fr 1.2fr auto;min-width:640px}.thumb{background-image:repeating-linear-gradient(135deg,#00000009 0 6px,#0000 6px 12px);background-position:50%;background-size:cover;border-radius:7px;flex:none;width:52px;height:38px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.cell-name{align-items:center;gap:12px;min-width:0;display:flex}.cell-name .n{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cell-name .d{color:var(--gray2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cell-name .avatar{width:34px;height:34px;font-size:11px}.chips-cell{flex-wrap:wrap;gap:6px;display:flex}.editor{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:24px;margin-top:28px;display:grid}@media (max-width:1000px){.editor{grid-template-columns:minmax(0,1fr)}}.form{flex-direction:column;gap:22px;padding:28px;display:flex}.form-actions{border-top:1px solid #eee;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:20px;display:flex}.two{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:560px){.two{grid-template-columns:1fr}}.dropzone{border:2px dashed var(--gray1);text-align:center;background:#fafafa;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:36px 24px;display:flex}.dropzone.drag{border-color:var(--brand);background:var(--tint)}.dropzone .icon{background:var(--tint);width:44px;height:44px;color:var(--brand);border-radius:12px;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.dropzone .t{letter-spacing:-.02em;color:var(--ink);font-size:15px;font-weight:600}.dropzone .s{color:var(--gray2);font-size:13px;font-weight:400}.dropzone-sm{border:1px dashed var(--line2);min-height:64px;color:var(--gray2);border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:10px;font-size:13px;font-weight:400;display:flex;position:relative;overflow:hidden}.dropzone-sm.drag{border-color:var(--brand);background:var(--tint)}.dropzone-sm img{aspect-ratio:16/9;object-fit:cover;border-radius:6px;height:60px}.feature-preview{aspect-ratio:16/9;background-image:repeating-linear-gradient(135deg,#00000009 0 12px,#0000 12px 24px);background-position:50%;background-size:cover;border-radius:12px;position:relative;overflow:hidden}.feature-preview img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.deck-list{flex-direction:column;gap:8px;display:flex}.deck-item{background:#fff;border:1px solid #eee;border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.deck-item.dragging{opacity:.4}.deck-item.over{border-color:var(--brand)}.deck-item .mini{background:var(--ink);border-radius:5px;flex:none;width:48px;height:27px;position:relative;overflow:hidden}.deck-item .mini img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.deck-item .t{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.deck-item .m{color:var(--gray2);font-size:11.5px}.deck-item .grip{color:var(--gray1);cursor:grab;-webkit-user-select:none;user-select:none;font-size:16px}.deck-item{flex-wrap:wrap}.deck-item .acts{align-items:center;gap:10px;margin-left:auto;display:flex}.info-card{background:var(--brand);color:#fff;border-radius:16px;padding:20px;font-size:13px;line-height:1.55}.info-card .t{letter-spacing:-.02em;font-size:14px;font-weight:600}.info-card .b{color:#fffc;margin-top:8px}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid #f0f0f0;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.list-item:last-child{border-bottom:0}.list-item .grow{flex:200px;min-width:0}.list-item .t{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.list-item .m{color:var(--gray2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.invite-result{flex-direction:column;gap:10px;display:flex}.invite-link{background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.invite-link code{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.danger-zone{border-color:#f0c4be}.mobile-nav{display:none}@media (max-width:900px){.admin{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.sidebar{z-index:20;flex-flow:wrap;align-items:center;gap:10px 14px;height:auto;padding:12px 16px;position:sticky;top:0}.sidebar .logo{padding:0}.sidebar nav{flex-flow:wrap;flex:100%;order:3;gap:6px}.navlink{height:36px;padding:0 12px}.sidebar-foot{flex-direction:row;align-items:center;gap:10px;margin-top:0;margin-left:auto}.sidebar-foot .btn-link{color:var(--gray1);padding:0 4px}.btn-ghost{padding:0 12px}.sidebar .me .n,.sidebar .me .r{display:none}.admin-main{padding:24px 20px 60px}.admin-head h1{font-size:26px}.admin-head .actions{flex:100%}.admin-search{flex:200px;width:auto;min-width:0}}@media (max-width:520px){.admin-head .actions .btn,.admin-search{flex:100%;width:100%}}@media (max-width:900px){.table{overflow-x:visible}.thead{display:none}.trow,.cols-projects,.cols-clients,.cols-users{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:18px}.trow+.trow{border-top:1px solid #f0f0f0}.trow>*{min-width:0}.trow>[data-label]:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:var(--gray2);flex:100%;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.cell-name .n{white-space:normal}.cell-name .thumb{width:64px;height:46px}.trow .cell-name .avatar{width:40px;height:40px;font-size:13px}}@media (min-width:560px) and (max-width:900px){.trow,.cols-projects,.cols-clients,.cols-users{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.trow>.cell-name{grid-column:1/-1}}@media (pointer:coarse){.btn-link{align-items:center;min-height:32px;padding:0 2px;display:inline-flex}.back,.crumbs .crumb,.table a,.list-item a,.auth-form .note a,.auth-form .meta a,.auth-form .meta label,.invite-link a{align-items:center;min-height:32px;display:inline-flex}.checkbox input,.meta input[type=checkbox]{width:24px;height:24px}.checkbox{min-height:32px}}.adminbar{right:16px;bottom:calc(16px + var(--safe-bottom));background:var(--ink-dk);z-index:50;border-radius:999px;gap:4px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #00000040}.adminbar a{height:30px;color:var(--gray1);border-radius:999px;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.adminbar a:hover{color:#fff}.adminbar a.hi{background:var(--accent);color:var(--black);font-weight:600}.topbar-inner{padding-top:var(--safe-top)}.sidebar{padding-top:calc(24px + var(--safe-top));padding-bottom:calc(24px + var(--safe-bottom))}.page,.admin-main{padding-bottom:calc(80px + var(--safe-bottom))}@media (max-width:900px){.sidebar{padding-top:calc(12px + var(--safe-top));padding-bottom:12px}}.btn-install{width:100%;height:40px;color:var(--gray1);background:0 0;border:1px solid #333;border-radius:10px;margin-top:20px;font-size:13px;font-weight:500}.btn-install:hover{border-color:var(--accent);color:var(--accent)}.pwa-bar{left:50%;bottom:calc(24px + var(--safe-bottom));z-index:200;background:var(--ink-dk);color:#fff;border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;font-size:13px;line-height:1.4;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.pwa-bar button{background:var(--accent);height:32px;color:var(--black);white-space:nowrap;border:0;border-radius:8px;padding:0 12px;font-size:13px;font-weight:600}.pwa-bar button:hover{background:var(--accent-hv)}.pwa-bar button.ghost{color:var(--gray1);background:0 0;padding:0 8px;font-weight:500}.pwa-bar button.ghost:hover{color:#fff}.pwa-bar.offline{padding-right:16px}.pwa-bar .dot{background:#f0b100;border-radius:50%;flex:none;width:8px;height:8px}@media (max-width:520px){.pwa-bar{max-width:none;left:16px;right:16px;transform:none}}
