:root{--bg:#111110;--bg2:#1a1918;--bg3:#222120;--bg4:#2a2927;--border:hsla(46,46%,89%,.07);--border2:hsla(46,46%,89%,.13);--border3:hsla(46,46%,89%,.2);--text:#f0ead6;--text2:#a09880;--text3:#5a5548;--red:#e03f2a;--rdim:rgba(224,63,42,.1);--rdim2:rgba(224,63,42,.2);--green:#4caf7d;--gdim:rgba(76,175,125,.1);--gdim2:rgba(76,175,125,.25);--blue:#4a9eda;--bdim:rgba(74,158,218,.12);--amber:#e8a838;--adim:rgba(232,168,56,.12);--purple:#a855f7;--pdim:rgba(168,85,247,.12);--rose:#f43f5e;--rosedim:rgba(244,63,94,.12);--rosedim2:rgba(244,63,94,.22);--accent:#a855f7;--adim1:rgba(168,85,247,.12);--adim2:rgba(168,85,247,.25);--r:12px;--rs:8px;--sidebar:220px;--topbar-h:56px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}.auth-page,body{min-height:100vh}.auth-page{display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:48px 40px;width:100%;max-width:400px}.auth-logo-wrap{background:var(--red);border-radius:10px;padding:10px 14px;display:inline-block;line-height:0;margin-bottom:10px}.auth-logo-wrap img{height:34px;width:auto;display:block}.auth-app-label{font-size:11px;color:var(--text3);letter-spacing:1px;text-transform:uppercase;font-weight:600;display:block;margin-bottom:24px}.auth-title{font-size:22px;font-weight:600;margin-bottom:5px}.auth-sub{font-size:14px;color:var(--text2);margin-bottom:28px}.auth-err{background:var(--rdim);border:1px solid var(--rdim2);border-radius:var(--rs);padding:10px 14px;font-size:13px;color:#f07060;margin-bottom:14px}.auth-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--rs);padding:12px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:6px;transition:opacity .15s}.auth-btn:hover{opacity:.88}.auth-btn:disabled{opacity:.45;cursor:not-allowed}.app-shell{display:none}.app-shell.visible,.sidebar{display:flex}.sidebar{width:var(--sidebar);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:110;transition:transform .25s}.sidebar-top{padding:20px 16px 14px;border-bottom:1px solid var(--border)}.sidebar-logo{background:var(--red);border-radius:8px;padding:6px 10px;display:inline-block;line-height:0;margin-bottom:8px}.sidebar-logo img{height:18px;width:auto;display:block}.sidebar-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.3px}.sidebar-sub{font-size:11px;color:var(--text3);margin-top:1px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:10px 8px}.nav-section{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:.8px;text-transform:uppercase;padding:12px 8px 6px}.nav-btn{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text2);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;border-radius:var(--rs);transition:all .12s;text-align:left;margin-bottom:1px}.nav-btn:hover{background:var(--bg3);color:var(--text)}.nav-btn.active{background:var(--adim1);color:var(--accent)}.nav-icon{width:15px;height:15px;flex-shrink:0;opacity:.7}.nav-btn.active .nav-icon{opacity:1}.nav-divider{height:1px;background:var(--border);margin:8px 0}.sidebar-foot{padding:12px;border-top:1px solid var(--border)}.sidebar-foot strong{display:block;font-size:13px;color:var(--text);font-weight:600}.sidebar-foot span{font-size:11px;color:var(--text3)}.main-content{margin-left:var(--sidebar);flex:1 1;min-height:100vh;overflow-x:hidden}.page-wrap{padding:28px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.page-title{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.4px}.page-sub{font-size:13px;color:var(--text3);margin-top:3px}.page-actions{flex-shrink:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--rs);font-size:13px;font-weight:500;cursor:pointer;border:none;font-family:inherit;transition:opacity .15s;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){opacity:.88}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text2)}.btn-secondary:hover:not(:disabled){border-color:var(--border2);color:var(--text)}.btn-ghost{background:transparent;border:none;color:var(--text3);cursor:pointer;font-family:inherit}.btn-ghost:hover{color:var(--text)}.btn-danger{background:var(--rdim);border:1px solid var(--rdim2);color:var(--red)}.btn-green{background:var(--gdim);border:1px solid var(--gdim2);color:var(--green)}.btn-sm{padding:5px 10px;font-size:12px}.btn-xs{padding:3px 8px;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:24px}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:16px}.stat-num{font-size:28px;font-weight:700;color:#fff;letter-spacing:-1px;line-height:1}.stat-label{font-size:12px;color:var(--text3);margin-top:4px}.table-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.table-wrap table{width:100%;border-collapse:collapse}th{font-size:11px;font-weight:700;color:var(--text3);letter-spacing:.5px;text-transform:uppercase;padding:10px 14px;text-align:left;white-space:nowrap}td,th{border-bottom:1px solid var(--border)}td{padding:11px 14px;font-size:13px;color:var(--text2);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg3)}.badge{font-size:11px;border-radius:20px;padding:3px 10px;font-weight:500;white-space:nowrap;display:inline-block}.badge-gray{background:var(--bg3);color:var(--text2);border:1px solid var(--border)}.badge-green{background:var(--gdim);color:var(--green);border:1px solid var(--gdim2)}.badge-red{background:var(--rdim);color:var(--red);border:1px solid var(--rdim2)}.badge-blue{background:var(--bdim);color:var(--blue);border:1px solid rgba(74,158,218,.25)}.badge-amber{background:var(--adim);color:var(--amber);border:1px solid rgba(232,168,56,.25)}.badge-purple{background:var(--pdim);color:var(--purple);border:1px solid rgba(168,85,247,.25)}.badge-violet{background:var(--adim1);color:var(--accent);border:1px solid var(--adim2)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto}.tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text3);cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:inherit;transition:all .12s;white-space:nowrap;flex-shrink:0}.tab:hover{color:var(--text2)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:200;align-items:center;justify-content:center;padding:24px}.modal-backdrop.open{display:flex}.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:28px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-wide{max-width:700px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-title{font-size:18px;font-weight:700;color:#fff}.modal-body{display:flex;flex-direction:column;gap:14px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.close-btn{background:transparent;border:none;color:var(--text3);cursor:pointer;font-size:20px;line-height:1;padding:4px}.close-btn:hover{color:var(--text)}.field{display:flex;flex-direction:column;gap:6px}.field label{display:block;font-size:12px;color:var(--text2);font-weight:500}.field input,.field select,.field textarea{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);padding:11px 14px;font-size:14px;color:var(--text);outline:none;font-family:inherit;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field input::placeholder,.field textarea::placeholder{color:var(--text3)}.field textarea{resize:vertical;min-height:80px;line-height:1.5}select option{background:var(--bg3);color:var(--text)}input,select,textarea{color-scheme:dark}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px}.form-section{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:4px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.filter-select{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:6px 12px;font-size:12px;color:var(--text2);cursor:pointer;outline:none;font-family:inherit}.filter-select:focus{border-color:var(--accent)}.search-input{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:12px;color:var(--text);outline:none;font-family:inherit;width:220px}.search-input::placeholder{color:var(--text3)}.search-input:focus{border-color:var(--accent)}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:20px}.card-title{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:var(--border);border-radius:var(--r);overflow:hidden}.cal-day-hd{background:var(--bg2);padding:8px 10px;font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;text-align:center}.cal-day.drag-over{background:var(--accent-dim,rgba(57,211,83,.08));outline:2px dashed var(--accent);outline-offset:-2px}.cal-entry[draggable=true]{cursor:-webkit-grab;cursor:grab}.cal-entry[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing;opacity:.7}.cal-day{background:var(--bg2);min-height:132px;padding:8px;position:relative;cursor:default;overflow:hidden;display:flex;flex-direction:column}.cal-day.other-month{background:var(--bg)}.cal-day.today{background:var(--adim1)}.cal-day-num{font-size:12px;font-weight:600;color:var(--text3);margin-bottom:4px;flex-shrink:0}.cal-day.today .cal-day-num{color:var(--accent)}.cal-entry{font-size:11px;padding:4px 6px;border-radius:4px;margin-bottom:2px;cursor:pointer;line-height:1.3;overflow:hidden;max-width:100%;display:flex;flex-direction:column;gap:1px;flex:1 1;min-height:30px}.cal-entry-time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:600;opacity:.75}.cal-entry-title{font-size:12px;font-weight:600;line-height:1.35;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.cal-more{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-align:center;cursor:pointer;flex-shrink:0}.cal-entry.draft,.cal-more{color:var(--text3);background:var(--bg4)}.cal-entry.scheduled{background:var(--adim1);color:var(--accent)}.cal-entry.live{background:var(--gdim);color:var(--green)}.cal-add-btn{position:absolute;bottom:6px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--bg3);border:1px solid var(--border);color:var(--text3);font-size:14px;display:none;align-items:center;justify-content:center;cursor:pointer;line-height:1}.cal-day:hover .cal-add-btn{display:flex}.cal-day:hover .cal-add-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:150}.drawer-backdrop.open{display:block}.drawer{position:fixed;top:0;right:0;height:100vh;width:520px;background:var(--bg2);border-left:1px solid var(--border2);z-index:160;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s;overflow:hidden}.drawer.open{transform:translateX(0)}.drawer-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-shrink:0}.drawer-title{font-size:16px;font-weight:700;color:#fff;flex:1 1}.drawer-body{flex:1 1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.drawer-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;flex-shrink:0}.asset-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.asset-row input{flex:1 1;background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);padding:8px 12px;font-size:13px;color:var(--text);outline:none;font-family:inherit}.asset-row input:focus{border-color:var(--accent)}.asset-row .asset-label{font-size:11px;color:var(--text3);width:90px;flex-shrink:0}.empty{padding:48px 24px;text-align:center}.empty-title{font-size:15px;font-weight:600;color:var(--text2);margin-bottom:6px}.empty-sub{font-size:13px;color:var(--text3)}#toast{position:fixed;bottom:24px;right:24px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--rs);padding:12px 18px;font-size:13px;color:var(--text);z-index:999;opacity:0;pointer-events:none;transition:opacity .2s;max-width:300px}#toast.show{opacity:1}#toast.ok{border-color:rgba(76,175,125,.3);color:var(--green)}#toast.fail{border-color:var(--rdim2);color:#f07060}.spin{width:14px;height:14px;border:2px solid hsla(46,46%,89%,.2);border-top-color:#fff;border-radius:50%;animation:sp .5s linear infinite;display:inline-block;vertical-align:middle;margin-right:6px}@keyframes sp{to{transform:rotate(1turn)}}.divider{height:1px;background:var(--border);margin:16px 0}.av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;text-transform:uppercase;flex-shrink:0}.av-sm{width:28px;height:28px;font-size:11px}.av-md{width:36px;height:36px;font-size:13px}.role-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:var(--adim1);color:var(--accent);text-transform:capitalize}.mob-topbar{display:none;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg);position:-webkit-sticky;position:sticky;top:0;z-index:100}.mob-topbar-left{display:flex;align-items:center;gap:10px}.mob-title{font-size:14px;font-weight:600}.hbtn{background:transparent;border:1px solid var(--border);border-radius:var(--rs);padding:6px 10px;font-size:18px;color:var(--text2);cursor:pointer;line-height:1}.mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:109}.mob-overlay.open{display:block}@media (max-width:768px){.app-shell.visible{display:block}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}.mob-topbar{display:flex}.page-wrap{padding:16px 16px 80px}.page-header{flex-direction:column;gap:10px}.page-actions{width:100%;flex-wrap:wrap;gap:6px}.page-actions .btn-full{flex:1 1;justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.field-row,.field-row-3{grid-template-columns:1fr}.table-wrap{overflow-x:auto}table{font-size:12px}td,th{padding:8px 10px;white-space:nowrap}.modal-backdrop.open{align-items:flex-end;padding:0}.modal{max-width:100%;max-height:88vh}.drawer,.modal{border-radius:16px 16px 0 0}.drawer{width:100%;border-left:none;bottom:0;height:88vh;border-top:1px solid var(--border2)}.drawer.open{transform:translateY(0)}.drawer{transform:translateY(100%);top:auto}.col-mob-hide{display:none!important}.filter-bar{gap:6px}.filter-select,.search-input{font-size:12px}.search-input{width:100%}#toast{bottom:70px;right:16px;left:16px;max-width:none}}@media (min-width:769px){.mob-overlay,.mob-topbar{display:none!important}.sidebar{transform:none!important}.drawer{transform:translateX(100%);top:0;height:100vh}.drawer.open{transform:translateX(0)}}.cal-add-row{display:none}.cal-add-desktop{display:inline-flex}@media (max-width:768px){.cal-add-row{display:flex;margin-bottom:12px}.cal-add-row .btn{width:100%;justify-content:center}.cal-add-desktop{display:none!important}}@media screen and (max-width:768px){.cal-grid{grid-template-columns:repeat(7,1fr)}.cal-day{min-height:60px!important;padding:4px!important}.cal-day-num,.cal-entry{font-size:10px!important}.cal-entry{padding:2px 4px!important;min-height:0!important;flex:0 0 auto!important}.cal-entry-title{font-size:10px!important;-webkit-line-clamp:1!important}.cal-add-btn,.cal-entry-time{display:none!important}}.cal-tabbar-fade{display:none}@media (max-width:768px){.cal-tab-btn{padding:9px 11px!important;font-size:12px!important}.cal-tabbar-fade{display:block;position:absolute;top:0;right:0;bottom:1px;width:26px;pointer-events:none;background:linear-gradient(90deg,rgba(26,25,24,0),#1a1918)}.cal-view-week-btn{display:none!important}}.sidebar-logo svg{height:18px;width:auto;display:block}.nav-count{margin-left:auto;font-size:11px;font-weight:700;color:var(--text3)}.nav-btn.active .nav-count{color:var(--accent)}.who{font-size:13px;font-weight:600}.who-role{font-size:11px;color:var(--text3);text-transform:capitalize}.row-card.overdue{border-left:3px solid var(--red)}.client-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:18px;cursor:pointer;transition:all .12s;text-align:left;font-family:inherit;color:inherit;width:100%}.client-card:hover{border-color:var(--accent);background:var(--bg3)}.cc-avatar{width:38px;height:38px;border-radius:10px;background:var(--adim1);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.cc-avatar,.cc-name{font-weight:700;font-size:14px}.cc-name{text-transform:uppercase;letter-spacing:.3px}.cc-stats{display:flex;gap:12px;margin-top:10px}.cc-stat{font-size:11px;color:var(--text2)}.cc-stat b{display:block;font-size:16px;color:var(--text);font-weight:700}.folder-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.player-wrap{background:#000;border-radius:var(--r);overflow:hidden;border:1px solid var(--border2)}.player-wrap video{width:100%;display:block;max-height:62vh;background:#000}.player-empty{padding:60px 20px;text-align:center;color:var(--text3);font-size:13px}.ver-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.ver-row:last-child{border-bottom:none}.ver-tag{font-weight:700;font-size:12px;color:var(--accent)}.ver-meta{color:var(--text3);font-size:11px;margin-left:auto}.src-link{display:flex;align-items:center;gap:8px;padding:9px 11px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);font-size:13px;color:var(--text);text-decoration:none;margin-bottom:7px;word-break:break-word}.src-link:hover{border-color:var(--border3)}.cmt{border-left:2px solid var(--border2);padding:10px 0 10px 12px;margin-bottom:6px}.cmt.resolved{opacity:.5}.cmt.client{border-left-color:var(--accent)}.cmt-head{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:4px;flex-wrap:wrap}.cmt-ts,.cmt-who{font-weight:700}.cmt-ts{background:var(--adim1);color:var(--accent);border-radius:4px;padding:1px 6px;font-size:11px;cursor:pointer;border:none;font-family:inherit}.cmt-ver{font-size:10px;color:var(--text3);text-transform:uppercase;font-weight:700;letter-spacing:.4px}.cmt-body{font-size:13px;white-space:pre-wrap;word-break:break-word}.cmt-acts{display:flex;gap:10px;margin-top:6px}.cmt-replies{margin-left:14px;margin-top:8px}input[type=email],input[type=password],input[type=text],select,textarea{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);border-radius:var(--rs);padding:10px 12px;font-size:14px;font-family:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.btn:hover{border-color:var(--border3)}.btn-primary:hover{opacity:.88}.toast.err{border-color:var(--rdim2);color:#f07060}.app-shell{display:flex;min-height:100vh}.main{flex:1 1;margin-left:var(--sidebar);min-width:0;min-height:100vh;overflow-x:hidden}.loading{padding:60px 20px;text-align:center;color:var(--text2);font-size:14px}.panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:18px}.panel-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:14px}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500;white-space:nowrap;line-height:1.5;border:1px solid transparent}.pill-draft{background:var(--bg4);border-color:var(--border2);color:var(--text2)}.pill-review{background:var(--adim1);border-color:var(--adim2);color:var(--accent)}.pill-approved{background:var(--gdim);border-color:var(--gdim2);color:var(--green)}.pill-changes{background:var(--adim);border-color:rgba(232,168,56,.25);color:var(--amber)}.pill-hidden{background:var(--bg3);color:var(--text3)}.pill-overdue{background:var(--rdim);border-color:var(--rdim2);color:var(--red)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.stat{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px}.stat-n{font-size:28px;font-weight:700;color:var(--text);line-height:1.2}.stat-l{font-size:12px;color:var(--text3);margin-top:3px}.row-card{display:flex;width:100%;text-align:left;font:inherit;color:inherit;align-items:center;gap:14px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color .12s,background .12s}.row-card:hover{border-color:var(--border2);background:var(--bg3)}.row-main{flex:1 1;min-width:0}.row-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{font-size:12px;color:var(--text2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-right{flex-shrink:0;margin-left:auto;justify-content:flex-end}.bucket-head,.row-right{display:flex;align-items:center;gap:10px}.bucket-head{margin:24px 0 12px}.bucket-title{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.6px}.bucket-count{font-size:11px;font-weight:600;color:var(--text3);background:var(--bg3);border-radius:20px;padding:2px 8px}.bar{height:4px;background:var(--bg4);border-radius:4px;overflow:hidden;margin-top:8px}.bar span{display:block;height:100%;background:var(--accent);transition:width .2s}.btn-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mini-btn{background:var(--bg3);border:1px solid var(--border2);color:var(--text);border-radius:var(--rs);padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .15s}.mini-btn:hover{opacity:.85}.link-btn{color:var(--accent);font-size:12px;text-decoration:underline}.back-btn,.link-btn{background:none;border:none;font-weight:500;cursor:pointer;font-family:inherit;padding:0}.back-btn{display:inline-flex;align-items:center;gap:6px;color:var(--text2);font-size:13px;margin-bottom:16px}.back-btn:hover{color:var(--text)}.hbg{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);padding:6px 10px;font-size:16px;color:var(--text2);cursor:pointer;line-height:1}.empty-t{font-size:15px;font-weight:600;margin-bottom:5px}.empty-t,.toast{color:var(--text)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--bg4);border:1px solid var(--border2);padding:11px 18px;border-radius:var(--rs);font-size:13px;font-weight:500;z-index:3000;box-shadow:0 6px 24px rgba(0,0,0,.35)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px;margin-bottom:8px}.proj-card{display:flex;flex-direction:column;text-align:left;font:inherit;color:inherit;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;cursor:pointer;padding:0;transition:border-color .12s,background .12s}.proj-card:hover{border-color:var(--accent);background:var(--bg3)}.proj-thumb{position:relative;aspect-ratio:16/9;background:#0d0d0f;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.proj-thumb svg{width:30px;height:30px;color:var(--text3)}.proj-card:hover .proj-thumb svg{color:var(--accent)}.proj-v{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:5px}.proj-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px}.proj-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.proj-client{font-size:12px;color:var(--text3)}.proj-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.proj-due{font-size:12px;color:var(--text3);white-space:nowrap}.proj-due.late{color:var(--red);font-weight:600}.proj-note{font-size:12px;color:var(--amber);font-weight:500;margin-top:2px}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);border-radius:var(--rs);padding:9px 11px;font-size:13px;font-family:inherit;outline:none}textarea{resize:vertical;min-height:80px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--text3)}@media (max-width:768px){.app-shell{display:block}.main{margin-left:0}.folder-grid{grid-template-columns:1fr}.player-wrap video{max-height:40vh}.card-grid,.proj-grid{grid-template-columns:1fr}.row-card{align-items:flex-start;flex-wrap:wrap}.row-right{width:100%;justify-content:flex-start;margin-left:0}.toast{left:16px;right:16px;transform:none;text-align:center}}.proj-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}