:root{--ink:#171717;--muted:#727272;--line:#e8e7e3;--paper:#fff;--canvas:#faf9f7;--orange:#ff5a12;--orange-dark:#dd4d0c;--orange-soft:#fff0e9;--green:#26845c;--green-soft:#e9f6ef;--blue:#356b9e;--blue-soft:#edf4fb;--yellow:#a16a08;--yellow-soft:#fff6df;--red:#a74b42;--red-soft:#f9ecea;--shadow:0 18px 48px #1e1c1812}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #ff5a1240}.loading-page{background:var(--canvas);place-items:center;min-height:100vh;display:grid}.loading-card{border:1px solid var(--line);width:min(440px,100vw - 32px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;padding:34px}.brand-word{letter-spacing:.11em;font-size:26px;font-weight:900}.brand-word i{color:var(--orange);font-style:normal}.brand-logo{object-fit:contain;width:auto;height:auto;display:block}.login-logo{object-position:left center;width:min(250px,58%);max-height:82px}.muted{color:var(--muted)}.login-page{background:#fff;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-brand{background:linear-gradient(145deg,#fff8f3 0%,#fff 58%,#fff1e9 100%);flex-direction:column;justify-content:space-between;padding:clamp(44px,7vw,96px);display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";border:80px solid #ff5a1214;border-radius:50%;width:440px;height:440px;position:absolute;bottom:-180px;right:-210px}.login-brand>div{z-index:1;position:relative}.login-brand span{color:var(--orange);letter-spacing:.24em;margin-bottom:18px;font-size:13px;font-weight:800;display:block}.login-brand b{letter-spacing:-.04em;font-size:clamp(34px,4vw,60px);line-height:1.18;display:block}.login-brand p{color:var(--muted);letter-spacing:.12em;margin:25px 0 0;font-size:14px}.login-panel{place-items:center;padding:42px;display:grid}.login-card{gap:19px;width:min(420px,100%);display:grid}.login-card-head{margin-bottom:10px}.login-card-head span{color:var(--orange);letter-spacing:.18em;font-size:11px;font-weight:800}.login-card-head h1{letter-spacing:-.04em;margin:8px 0;font-size:38px}.login-card-head p{color:var(--muted);margin:0;font-size:13px}.field{color:var(--muted);gap:7px;font-size:12px;display:grid}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:9px;padding:10px 13px}.login-error{color:var(--red);background:var(--red-soft);border:1px solid #efc9c4;border-radius:9px;padding:11px 13px;font-size:12px}.button{cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:var(--orange);color:#fff;box-shadow:0 8px 18px #ff5a1233}.button.primary:hover{background:#e64b08}.button.secondary{border:1px solid var(--line);background:#fff}.login-submit{width:100%;min-height:50px;margin-top:3px}@media (max-width:820px){.login-page{grid-template-columns:1fr}.login-brand{min-height:280px;padding:36px}.login-brand b{font-size:34px}.login-panel{padding:36px 22px}}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;height:100vh;padding:28px 18px 20px;display:flex;position:sticky;top:0}.brand-block{border-bottom:1px solid var(--line);padding:0 10px 26px}.brand-block .brand-word{font-size:23px}.sidebar-logo{object-position:left center;width:148px;max-height:48px}.brand-block>span{color:#a09d98;letter-spacing:.12em;margin-top:5px;font-size:11px;display:block}.main-nav{gap:6px;margin-top:26px;display:grid}.nav-item{color:#73706d;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;width:100%;padding:11px 12px;transition:all .18s;display:grid}.nav-item:hover:not(:disabled){color:var(--ink);background:#faf5f1}.nav-item.active{color:var(--orange-dark);background:var(--orange-soft);box-shadow:inset 3px 0 var(--orange)}.nav-item:disabled{opacity:.42;cursor:not-allowed}.nav-mark{border:1px solid;border-radius:7px;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.nav-badge{background:var(--orange);color:#fff;border-radius:20px;place-items:center;min-width:21px;height:21px;padding:0 6px;font-size:11px;display:grid}.sidebar-foot{border-top:1px solid var(--line);grid-template-columns:36px 1fr;align-items:center;gap:10px;margin-top:auto;padding:16px 10px 0;display:grid}.avatar{background:var(--orange);color:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.account-summary b{font-size:12px;display:block}.account-summary span button{color:var(--orange);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}.account-summary span i{color:#bbb;font-size:10px;font-style:normal}.main-content{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#ffffffeb;justify-content:space-between;align-items:center;min-height:106px;padding:25px clamp(24px,4vw,52px);display:flex;position:sticky;top:0}.topbar p{color:var(--muted);margin:0 0 6px;font-size:12px}.topbar h1{letter-spacing:-.02em;margin:0;font-size:24px}.top-actions{gap:10px;display:flex}.page-stage{max-width:1500px;margin:auto;padding:34px clamp(24px,4vw,52px) 60px}.inline-error{z-index:100;color:#fff;box-shadow:var(--shadow);background:#3b2020;border-radius:10px;padding:12px 16px;position:fixed;top:120px;left:50%;transform:translate(-50%)}.inline-error button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:18px}.stack-lg{gap:22px;display:grid}.stack-md{gap:16px;display:grid}.welcome-row{justify-content:space-between;align-items:end;display:flex}.welcome-row h2{letter-spacing:-.04em;margin:5px 0 0;font-size:clamp(25px,3vw,38px)}.eyebrow{color:var(--orange);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.month-chip{background:var(--orange-soft);color:var(--orange);border-radius:20px;padding:7px 14px;font-size:12px;font-weight:700}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.kpi{border:1px solid var(--line);min-height:145px;box-shadow:var(--shadow);background:#fff;border-radius:15px;justify-content:space-between;padding:20px;display:flex;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--orange);width:4px;position:absolute;top:0;bottom:0;left:0}.kpi.green:before{background:var(--green)}.kpi.blue:before{background:var(--blue)}.kpi span,.kpi b,.kpi small{display:block}.kpi span{color:var(--muted);font-size:12px}.kpi b{letter-spacing:-.04em;margin:18px 0 6px;font-size:clamp(22px,2.3vw,31px)}.kpi small{color:#9a9a9a;font-size:11px}.kpi i{width:30px;height:30px;color:var(--orange);background:var(--orange-soft);border-radius:50%;place-items:center;font-style:normal;display:grid}.customer-stats{grid-template-columns:repeat(3,1fr)}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:15px;min-width:0;padding:22px}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-title h3{margin:0;font-size:16px}.panel-title span{color:var(--muted);font-size:11px}.toolbar-panel{padding:14px}.wide-search{border:1px solid var(--line);background:#fff;border-radius:9px;width:min(430px,100%);min-height:42px;padding:0 13px}.customer-name-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.customer-name-list>button{border:1px solid var(--line);width:100%;min-height:82px;box-shadow:var(--shadow);text-align:left;cursor:pointer;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;transition:all .18s;display:flex}.customer-name-list>button:hover{border-color:#ffd2bd;transform:translateY(-1px)}.customer-name-list>button:hover b{color:var(--orange)}.customer-name-list>button b,.customer-name-list>button small{display:block}.customer-name-list>button small{color:var(--muted);margin-top:4px}.logo-chip{color:var(--orange-dark);background:var(--orange-soft);vertical-align:middle;border-radius:20px;margin-left:8px;padding:2px 6px;font-size:9px;font-style:normal;display:inline-block}.customer-name-list>button>span:last-child{color:var(--muted);font-size:11px}.date-cell{white-space:nowrap;color:var(--muted)}.data-table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:1080px}.data-table th{text-align:left;color:var(--muted);letter-spacing:.05em;background:#fafaf8;padding:12px 16px;font-size:10px;font-weight:700}.data-table td{vertical-align:middle;border-top:1px solid #f0efec;padding:14px 16px;font-size:12px}.data-table tr:hover td{background:#fffdfa}.table-note{color:var(--red);margin-top:5px;font-size:10px;display:block}.data-table.compact th,.data-table.compact td{padding:10px 12px}.order-name b,.order-name span{display:block}.order-name span{color:var(--muted);margin-top:4px;font-size:10px}.state{border-radius:20px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-block}.state.active{color:var(--green);background:var(--green-soft)}.state.disabled{color:var(--red);background:var(--red-soft)}.state.draft{color:var(--yellow);background:var(--yellow-soft)}.state.processing{color:var(--blue);background:var(--blue-soft)}.mini-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;min-height:31px;padding:0 10px;font-size:10px;font-weight:700}.mini-button:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.mini-button:disabled{opacity:.4;cursor:not-allowed}.mini-button.danger{color:var(--red)}.file-button{justify-content:center;align-items:center;display:inline-flex}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.link-button{align-items:center;text-decoration:none;display:inline-flex}.link-button.disabled{opacity:.4;pointer-events:none}.text-back{color:var(--orange);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}.empty{text-align:center;min-height:170px;color:var(--muted);place-content:center;display:grid}.empty span{font-size:28px}.empty p{margin:8px 0 0}.empty.compact{min-height:90px}.overlay{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#14120f61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(580px,100%);max-height:calc(100vh - 40px);padding:26px;overflow:auto;box-shadow:0 28px 80px #14120f33}.modal-head{justify-content:space-between;align-items:start;margin-bottom:22px;display:flex}.modal-head h2{margin:6px 0 0}.modal-head>button{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:25px}.modal-form{gap:16px;display:grid}.modal-actions{justify-content:flex-end;gap:9px;margin-top:4px;display:flex}.field-count{color:#aaa;justify-self:end;margin-top:-2px}.check-row{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:10px;min-height:48px;padding:11px 13px;font-size:12px;display:flex}.check-row input{width:17px;height:17px;accent-color:var(--orange)}.check-row.disabled{color:#aaa;cursor:not-allowed;background:#fafafa}.logo-manager{justify-content:space-between;align-items:center;gap:20px;display:flex}.logo-manager h3{margin:0 0 6px;font-size:16px}.logo-manager p{max-width:560px;color:var(--muted);margin:0;font-size:11px;line-height:1.6}.logo-manager .login-error{margin-top:10px}.logo-manager-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.logo-manager-actions img,.logo-placeholder{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:9px;width:88px;height:64px;padding:6px}.logo-placeholder{color:#aaa;background:#fafafa;place-items:center;font-size:10px;display:grid}.qr-preview{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(280px,100%);margin:auto;padding:10px}.qr-preview img{width:100%;height:auto;display:block}.notice{background:var(--orange-soft);color:#b8420b;border-radius:10px;padding:13px 15px;font-size:11px;line-height:1.6}.upload-box{cursor:pointer;text-align:center;background:#fafaf8;border:2px dashed #d8d5cf;border-radius:13px;align-content:center;place-items:center;gap:7px;min-height:145px;display:grid;position:relative}.upload-box:hover{border-color:var(--orange);background:var(--orange-soft)}.upload-box input{opacity:0;pointer-events:none;position:absolute}.upload-icon{color:#fff;background:#111;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;display:grid}.upload-box b{font-size:12px}.upload-box small{color:var(--muted);font-size:10px}.progress-note{color:var(--blue);background:var(--blue-soft);border-radius:9px;padding:12px 14px;font-size:12px}.customer-logo-upload{min-height:110px}@media (max-width:980px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.main-nav{grid-template-columns:repeat(3,1fr)}.nav-item{grid-template-columns:24px 1fr}.nav-badge,.sidebar-foot{display:none}.topbar{align-items:flex-start;gap:18px;position:static}.top-actions{flex-wrap:wrap;justify-content:flex-end}.kpi-grid,.customer-stats{grid-template-columns:1fr}.welcome-row{align-items:flex-start;gap:15px}.logo-manager{flex-direction:column;align-items:flex-start}.logo-manager-actions{flex-wrap:wrap}.customer-name-list{grid-template-columns:1fr}}.playback-page,.unavailable{color:#fff;background:#000;place-items:center;min-height:100dvh;margin:0;display:grid;overflow:hidden}.playback-page{width:100vw;height:100dvh}.playback-page .senpai-playback-video,.playback-page .tcplayer,.playback-page .vjs-tech,.playback-page .vjs-tech video{background:#000;max-width:100vw;max-height:100dvh;width:100%!important;height:100%!important}.playback-page .senpai-playback-video,.playback-page .vjs-tech,.playback-page .vjs-tech video{object-position:center center;object-fit:contain!important}.playback-page .tcplayer{overflow:hidden;position:relative!important}.playback-error{background:#872018e6;border-radius:9px;margin:0;padding:10px 14px;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.unavailable{text-align:center;padding:30px}.unavailable h1{margin:0 0 10px;font-size:24px}.unavailable p{color:#aaa;margin:0;font-size:13px}
