:root{color-scheme:dark;--bg:#080d16;--panel:#0e1422;--line:#1b293b;--text:#e4e9f2;--muted:#7c8ba2;--cyan:#00c9ec;--blue:#2867ed}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #25334b;background:#111a2a;color:#9eacc1;border-radius:7px;padding:11px 18px;transition:.16s}button:hover{border-color:var(--cyan);color:#e9faff}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 4px 18px #2064e526}aside{position:fixed;width:234px;height:100vh;background:#070c15;border-right:1px solid #152334;display:flex;flex-direction:column;z-index:10}.logo{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:10px;background:#0e1523}.logo span{font-weight:800;letter-spacing:3px;border:1px dashed #41546e;padding:8px 13px;color:#a4b1c4}.logo small{width:50px;font-size:10px;color:#61728b;line-height:1.7}nav{overflow:auto;flex:1;padding:12px 0}.nav-group{padding:17px 22px 10px;color:#aebaca;font-weight:600;display:flex;gap:12px}.nav-group span:last-child{margin-left:auto;color:#596a82}nav button{display:flex;align-items:center;gap:14px;text-align:left;width:100%;border:0;border-radius:0;background:none;padding:13px 25px;color:#98a7bd;font-weight:500}nav button.sub{padding-left:48px;font-size:13px}nav button.active{background:linear-gradient(90deg,#02c8e918,transparent);color:var(--cyan);box-shadow:inset 3px 0 var(--cyan)}.symbol{width:19px;font-size:19px;font-weight:400}.local{border-top:1px solid var(--line);padding:20px 26px;color:#687a93;font-size:11px}.local i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2ac59c;margin-right:8px}.workspace{margin-left:234px;min-height:100vh;display:flex;flex-direction:column}header{height:68px;display:flex;align-items:center;border-bottom:1px solid var(--line);padding:0 23px;gap:17px;background:#0e1421}.icon{border:0;background:none;font-size:23px;padding:4px;color:#8d9bb0}.header-label{font-size:12px;color:#6e7f98;letter-spacing:1px}.header-right{margin-left:auto;display:flex;gap:24px;align-items:center}.live{font-size:11px;color:#64a995}.avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#00c8e6,#276be8);height:31px;width:31px;font-size:12px}.tabs{height:48px;background:#0e1421;border-bottom:1px solid var(--line);padding-left:24px;display:flex;align-items:center;gap:15px;color:var(--cyan)}#tab{height:48px;display:flex;align-items:center;border-bottom:3px solid var(--cyan);font-weight:600}.tab-dot{font-size:7px}main{padding:24px;flex:1}.panel{background:linear-gradient(125deg,#101726,#0c1220);border:1px solid #162a3a;border-radius:14px;padding:26px;min-height:calc(100vh - 198px)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 28px}h1{font-size:24px;margin:0;font-weight:650;letter-spacing:1px}.subtitle{color:#6d7f98;font-size:12px;margin:9px 0 0}.heading{margin-right:auto}.search{width:230px}input,select,textarea{background:#0e1828;color:#d7e2f0;border:1px solid #24334b;border-radius:7px;padding:11px 13px;outline:none}input:focus,textarea:focus,select:focus{border-color:#00aaca;box-shadow:0 0 0 2px #00c9ec15}input::placeholder{color:#536078}.table-wrap{border:1px solid #172b3c;border-radius:12px;overflow:auto;min-height:470px;background:#0e1422}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:12px;color:#7687a1;font-weight:600;height:59px;background:#101827;border-bottom:1px solid #213047;padding:0 24px}td{padding:24px;border-bottom:1px solid #172132;height:110px;font-size:13px}td.name{font-weight:550;color:#e0e8f4}.brand-logo{width:76px;height:76px;object-fit:contain;border-radius:9px;background:#172235}.placeholder-logo{width:76px;height:76px;display:grid;place-items:center;border:1px dashed #2b3a51;border-radius:9px;color:#57718e;font-size:24px}.actions button{border:0;background:none;padding:5px 8px;font-size:12px;color:#7295be}.actions button.danger{color:#ca7b84}.date{color:#97a7bc;font-variant-numeric:tabular-nums}.badge{font-size:11px;padding:5px 10px;border-radius:5px;background:#18c8a212;color:#4dc8ab}.badge.pending{color:#d6b777;background:#d6b77712}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:23px;color:#8191a8;font-size:12px}.pagination button{padding:8px 13px}.pagination select{padding:8px}.pagination .current{color:white;background:#00aee0;border-color:#00b8e5}.empty{text-align:center;padding:95px 20px;color:#667994}.empty .empty-icon{font-size:36px;color:#2b5871;margin-bottom:16px}.empty strong{display:block;font-size:15px;color:#abb8cd;margin-bottom:10px}.empty p{font-size:12px;line-height:1.8}.empty button{margin-top:10px}.notice{background:#09b7dd08;border:1px solid #164455;padding:13px 18px;color:#78a7b7;font-size:12px;border-radius:7px;margin-bottom:20px;line-height:1.8}footer{padding:0 26px 17px;color:#3f526a;font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between}dialog{width:min(500px,94vw);background:#111b2b;color:var(--text);border:1px solid #2a3a52;border-radius:14px;padding:26px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#020711b0;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}h2{margin:0;font-size:20px}label{display:block;margin:16px 0;color:#99abc2;font-size:12px}label input,label select,label textarea{display:block;width:100%;margin-top:8px}textarea{resize:vertical;min-height:90px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #263449;padding-top:20px;margin-top:25px}#form-error{color:#ed8d98;font-size:12px}#toast{position:fixed;left:50%;bottom:35px;transform:translateX(-50%);border:1px solid #21657a;background:#102d3c;border-radius:8px;padding:13px 25px;display:none;z-index:100}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.stat{background:#101c2d;border:1px solid #1c3047;border-radius:10px;padding:24px;color:#8296b0}.stat b{display:block;font-size:34px;color:#dce9f5;margin-top:12px}.collapsed aside{width:0;overflow:hidden}.collapsed .workspace{margin-left:0}@media(min-width:1600px){aside{width:280px}.workspace{margin-left:280px}nav button{padding-top:16px;padding-bottom:16px}main{padding:26px}.panel{padding:30px}}@media(max-width:1000px){aside{width:195px}.workspace{margin-left:195px}.toolbar .heading{width:100%;margin-bottom:12px}.search{flex:1}main{padding:14px}.panel{padding:18px}td,th{padding-left:16px;padding-right:16px}}@media(max-width:650px){aside{width:175px}.workspace{margin-left:175px}body:not(.collapsed) .header-label,body:not(.collapsed) .live{display:none}.toolbar button{padding:10px}.search{width:100px}.stats{grid-template-columns:1fr}.pagination{gap:5px;flex-wrap:wrap}.panel{min-height:80vh}.table-wrap{min-height:350px}h1{font-size:20px}footer span{display:none}}

.logo{padding:10px 16px}.logo img{display:block;width:100%;height:100%;object-fit:contain}

nav button.nav-group{padding:17px 22px 10px;font-weight:600;color:#aebaca;gap:12px}
nav button.nav-group:hover{color:#e9faff;background:#112033}
.nav-chevron{margin-left:auto;transition:transform .18s}
.nav-group[aria-expanded="false"] .nav-chevron{transform:rotate(180deg)}
.nav-children[hidden]{display:none}
nav button:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}

/* Shared SVG geometry keeps every navigation icon aligned. */
nav .symbol{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;color:#8b9bb2;transition:color .18s,filter .18s}
.nav-icon{display:block;width:21px;height:21px;flex-shrink:0}
nav button{gap:13px}
nav button.sub .nav-icon{width:20px;height:20px}
nav button:hover .symbol{color:#c5deee}
nav button.active .symbol{color:var(--cyan);filter:drop-shadow(0 0 5px #00c9ec45)}
.nav-chevron{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}
.nav-chevron .nav-icon{width:16px;height:16px;stroke-width:1.7}
#collapse{width:30px;height:30px;display:grid;place-items:center}
#collapse .nav-icon{width:23px;height:23px}
.logout{font-size:11px;padding:6px 10px;background:transparent}/* Full-screen technology login */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.login-page{min-height:100svh;background:#041126;isolation:isolate;overflow-x:hidden}
.tech-background{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 50% 58%,#07405480 0%,#07263c70 28%,#041126 75%)}
.tech-dots{position:absolute;inset:0;background-image:radial-gradient(circle,#1396b740 1px,transparent 1.6px);background-size:9px 9px;mask-image:radial-gradient(ellipse at 17% 35%,black 0%,transparent 29%),radial-gradient(ellipse at 60% 10%,black,transparent 40%),radial-gradient(ellipse at 85% 36%,black,transparent 29%);opacity:.55}
.planet{position:absolute;left:-34%;top:53%;width:168%;height:120%;border-radius:50% 50% 0 0;border-top:2px solid #18d5e33d;background:radial-gradient(ellipse at 50% 0%,#057d9a22,transparent 54%);box-shadow:0 -8px 40px #10bbd716,inset 0 15px 50px #10bad916;overflow:hidden}
.planet-grid{position:absolute;inset:-40% 0 0;background-image:linear-gradient(#29bdd21c 1px,transparent 1px),linear-gradient(90deg,#29bdd225 1px,transparent 1px);background-size:110px 85px;transform:perspective(420px) rotateX(58deg) scale(1.9);transform-origin:center 36%;mask-image:linear-gradient(transparent 10%,black 40%,transparent 92%)}
.horizon{position:absolute;top:53%;left:12%;width:76%;height:2px;background:linear-gradient(90deg,transparent,#20cfda70,transparent);filter:blur(6px)}
.tech-stars{position:absolute;inset:0;background-image:radial-gradient(circle at 8% 28%,#27cadc44 0 2px,transparent 4px),radial-gradient(circle at 22% 18%,#27cadc33 0 1px,transparent 4px),radial-gradient(circle at 75% 22%,#27cadc44 0 3px,transparent 5px),radial-gradient(circle at 89% 40%,#27cadc33 0 2px,transparent 5px),radial-gradient(circle at 65% 48%,#27cadc33 0 2px,transparent 4px);background-size:680px 480px;opacity:.6}
.login-layout{min-height:100svh;position:relative;margin:0;padding:0;display:flex;flex-direction:column;align-items:center}
.login-logo{position:absolute;top:4%;left:50%;transform:translateX(-50%);width:230px;height:auto;object-fit:contain;margin:0}
.login-card{width:min(440px,calc(100% - 44px));margin:42svh 0 70px;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.login-card .login-field{display:block;margin:0 0 20px}
.login-card .login-field input{width:100%;height:52px;margin:0;padding:0 16px;border:1px solid #1c5676;background:#0c1d37e8;color:#e0edff;border-radius:7px;font-size:15px;box-shadow:inset 0 1px 3px #0001}
.login-card input::placeholder{color:#8c9bb1}
.login-card .login-field input:focus{border-color:#00bfdc;box-shadow:0 0 0 3px #00c5e310}
.password-field{position:relative}.login-card .password-field input{padding-right:52px}
.password-field button{position:absolute;right:9px;top:11px;padding:5px;border:0;background:none;color:#688da8;line-height:0}
.password-field button:hover{color:#00c9ec}.password-field svg{width:21px;height:21px}
.remember-option{display:flex;align-items:center;gap:11px;color:#a0bbd3;font-size:13px;margin:23px 0 0;cursor:pointer;width:fit-content}
.remember-option input{appearance:none;display:block;margin:0;width:16px;height:16px;padding:0;border:1px solid #236080;border-radius:2px;background:#0b223a;cursor:pointer}
.remember-option input:checked{background:#00bddd;border-color:#00c6e6;box-shadow:inset 0 0 0 3px #0b223a}
.remember-option input:focus-visible{outline:2px solid #00c9ec;outline-offset:3px}
#login-error{font-size:12px;line-height:1.5;color:#ff9da9;margin:0;min-height:24px;padding-top:5px}
#login-submit{width:100%;height:52px;margin-top:0;border:0;border-radius:6px;background:linear-gradient(100deg,#00c8eb,#377bd7);box-shadow:0 5px 21px #00b9e329;color:#fff;font-size:17px;font-weight:600;letter-spacing:3px}
#login-submit:hover{filter:brightness(1.12);box-shadow:0 5px 26px #00c7e43d}
#login-submit:disabled{opacity:.6;cursor:wait}
.login-card p.login-hint{font-size:11px;color:#6085a0;text-align:center;margin:15px 0 0;line-height:1.6}
.setup-description{font-size:13px;line-height:1.8;color:#a0bbd3;margin:0 0 17px;text-align:center}
#confirm-label[hidden],.setup-description[hidden]{display:none}
@media(min-width:1800px){.login-card{width:560px}.login-card .login-field input,#login-submit{height:62px}.password-field button{top:16px}.login-logo{width:280px}}
@media(max-width:600px){.login-logo{top:7%;width:210px}.login-card{margin-top:36svh}.planet{top:48%;left:-75%;width:250%}.login-card .login-field input{font-size:14px}}
@media(max-height:650px){.login-card{margin-top:28svh;margin-bottom:25px}.login-logo{top:4%;width:170px}}
/* Give the login brand more space above it. */
.login-logo{top:12%}
@media(max-width:600px){.login-logo{top:13%}}
@media(max-height:650px){.login-logo{top:8%}}
.login-logo{top:16%}
@media(max-width:600px){.login-logo{top:17%}}
@media(max-height:650px){.login-logo{top:11%}}
.compass-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.compass-card{position:relative;border:1px solid #203048;border-radius:14px;background:#0e1524;padding:28px;overflow:hidden}.compass-card:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#00c9ec,#377bf1)}.compass-card-title{display:flex;align-items:baseline;gap:14px;margin:5px 0 24px;flex-wrap:wrap}.compass-card-title h2{font-size:21px}.compass-card-title>span{color:#6b819c;font-size:12px}.position-row{display:grid;grid-template-columns:115px 1fr;align-items:center;gap:12px;margin:12px 0}.position-row>span{display:flex;align-items:center;gap:10px;color:#96aac1}.position-row small{font-size:10px;color:#3b657b}.position-row input{margin:0;width:100%;font-size:13px;background:#101c2c}.compass-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.compass-actions button{font-size:12px;padding:10px 14px}.save-status{font-size:11px;color:#69849d;margin-top:15px;line-height:1.8}.brand-selector{display:flex;align-items:center;gap:12px;margin:0;color:#7e95ae}.brand-selector select{margin:0;width:190px}.downstream-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.downstream-grid article{border:1px solid #24354d;background:#0a1120;border-radius:11px;padding:19px}.downstream-grid small{font-weight:650;color:var(--cyan);font-size:11px}.downstream-grid h3{font-size:15px;margin:9px 0}.downstream-grid p{font-size:12px;color:#7a91ad;line-height:1.7;margin:0;overflow-wrap:anywhere}.readiness{margin-top:25px}.readiness>div:first-child{display:flex;justify-content:space-between;font-size:12px;color:#9cafc5}.readiness b{color:var(--cyan)}.progress-track{height:5px;background:#1b2b41;border-radius:5px;overflow:hidden;margin:14px 0}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#00bddf,#397aee);transition:width .2s}.readiness p,.asset-note{font-size:11px;color:#6e839d;line-height:1.9}.check-item{display:inline-flex;gap:6px;margin:5px 14px 5px 0;color:#78879d;font-size:11px}.check-item.done{color:#49c7ae}.ready-state{display:block;font-size:12px;color:#a4c5d3;margin:10px 0}.compass-card textarea{min-height:145px}.compass-card label{line-height:1.7}@media(max-width:1150px){.compass-grid{grid-template-columns:1fr}.compass-card{padding:23px}}@media(max-width:650px){.position-row{grid-template-columns:1fr;gap:5px}.downstream-grid{grid-template-columns:1fr}.brand-selector{width:100%}.brand-selector select{flex:1}}
.capture-banner{background:linear-gradient(110deg,#347bf0,#08b4cd);padding:24px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:12px;margin-bottom:30px;box-shadow:0 7px 24px #0085d51a}.capture-banner strong{font-size:19px;color:white}.capture-banner p{font-size:12px;color:#d2f3ff;margin:8px 0 0}.capture-banner button{background:linear-gradient(100deg,#ff9b13,#fa5e3d);color:white;border:1px solid #ffca8b;white-space:nowrap;font-weight:600;box-shadow:0 3px 15px #e9783235}.video-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.video-filters input{flex:1;min-width:170px}.video-filters select{min-width:125px}.video-table{font-size:12px}.video-table td,.video-table th{padding:18px 15px}.video-link{display:flex;align-items:center;gap:13px;text-decoration:none;color:#e2eaf7;width:235px;white-space:normal}.video-link strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.7}.video-link:hover strong{color:var(--cyan)}.video-link small{display:block;font-size:10px;color:#6e849e;margin-top:8px}.video-cover{display:grid;place-items:center;flex:0 0 52px;height:77px;border-radius:6px;border:1px solid #244c62;background:linear-gradient(145deg,#15394a,#15233b);color:#39b6d1;font-size:24px}.metric{display:inline-block;padding:4px 10px;border-radius:20px;border:1px solid;font-size:12px}.metric.red{color:#f07582;background:#f0758210;border-color:#f0758240}.metric.blue{color:#53aaf6;background:#53aaf610;border-color:#53aaf640}.metric.green{color:#67be7f;background:#67be7f10;border-color:#67be7f40}.metric.gold{color:#d9b369;background:#d9b36910;border-color:#d9b36940}.video-dialog{width:min(600px,94vw);max-height:90vh}.video-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.video-form-error{color:#f299a7;font-size:12px}@media(max-width:650px){.capture-banner{align-items:flex-start;flex-direction:column}.capture-banner strong{font-size:16px}.video-filters select{flex:1;width:120px}.video-form-grid{grid-template-columns:1fr}}
.breakdown-dialog{width:min(820px,94vw);max-height:90vh}.breakdown-dialog fieldset{border:0;padding:0;margin:0;min-width:0}.breakdown-dialog fieldset:disabled{opacity:.85}.breakdown-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.breakdown-fields textarea{min-height:120px;font-size:13px;line-height:1.7}.breakdown-dialog fieldset:disabled textarea{color:#d4e0ee}@media(max-width:650px){.breakdown-fields{grid-template-columns:1fr}}
