:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#1d2a31;background:#f6f7f9;font-size:14px;--green:#126954;--line:#e4e9ec;--muted:#71808b}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:225px;background:#102d2b;color:white;padding:34px 23px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:650;letter-spacing:1px}.mark{display:grid;place-items:center;width:40px;height:43px;background:#d8f17d;color:#18352c;border-radius:11px;font-size:25px}.brand small{display:block;font-size:8px;margin-top:8px;letter-spacing:2px;color:#a8beb8}nav{margin-top:55px;display:grid;gap:10px}nav a{text-decoration:none;color:#a6bdb8;padding:15px 13px;border-radius:9px;font-size:13px}nav a.active{background:#254441;color:#fff}nav a span{float:right;font-size:11px;color:#c3e48c}.aside-bottom{margin-top:auto;font-size:12px;color:#c2d5d0}.aside-bottom p{margin:17px 0;color:#a6bdb8;font-size:11px}.aside-bottom small{color:#6b9389}.dot{width:7px;height:7px;display:inline-block;background:#90c684;border-radius:50%;margin-right:7px}main{margin-left:225px;padding:35px 38px;max-width:1900px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#68837c}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:27px;font-weight:650;letter-spacing:-.7px;margin:15px 0 10px}header p{font-size:12px;color:var(--muted);margin:0}.actions{display:flex;gap:10px}button{cursor:pointer;font:inherit;border:1px solid transparent;border-radius:7px;padding:11px 17px;font-size:12px;font-weight:600;white-space:nowrap}.primary{background:var(--green);color:white}.secondary{background:white;color:#45565e;border-color:#dbe2e5}button:hover{filter:brightness(.96)}button:disabled{opacity:.4;cursor:not-allowed}.notice{padding:13px 17px;border-radius:7px;background:#fff3d9;color:#785313;margin-top:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:30px}.stat{padding:20px 23px;background:white;border:1px solid var(--line);border-radius:10px}.stat .label{font-size:11px;color:var(--muted)}.stat strong{font-size:30px;display:block;margin-top:10px;letter-spacing:-1px}.stat small{font-size:11px;color:#92a09f;margin-left:7px;letter-spacing:0}.stat .foot{font-size:10px;color:#7b8a89;margin-top:9px}.mode{display:flex;align-items:center;gap:8px;font-size:11px;color:#60746e;margin:20px 1px}.mode>span:last-child{margin-left:auto;color:#84908d}.workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.product-list{display:grid;gap:13px}.product-card{padding:16px;text-align:left;background:white;border:1px solid var(--line);border-radius:10px;width:100%;white-space:normal;font-weight:400}.product-card.selected{border-color:#5b9483;box-shadow:0 0 0 1px #5b948320}.product-card .thumb{height:118px;display:flex;justify-content:center;background:#fafbfb;border-radius:5px;margin-bottom:15px}.thumb img{height:100%;max-width:100%;object-fit:contain}.product-card h3{font-size:15px;margin:5px 0 10px}.pill{font-size:10px;border-radius:4px;padding:4px 7px;background:#edf4f0;color:#447365;display:inline-block}.pill.warn{background:#fff3df;color:#9f7536}.product-meta{font-size:10px;color:var(--muted);margin-top:12px;display:flex;justify-content:space-between}.progress{height:4px;background:#edf0f0;border-radius:5px;margin-top:10px;overflow:hidden}.progress-fill{height:100%;background:#3c9077}.detail{min-height:550px;background:white;border:1px solid var(--line);border-radius:11px;padding:24px;overflow:hidden}.detail-header{display:flex;justify-content:space-between;align-items:center}.detail-header h2{font-size:20px;margin:0 0 8px}.detail-header small{color:var(--muted);font-size:10px}.tabs{border-bottom:1px solid var(--line);display:flex;gap:24px;margin-top:20px;margin-bottom:20px}.tabs button{background:none;padding:13px 0;border-radius:0;color:#88918f;font-size:12px;border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head h2,.section-head h3{font-size:15px;margin:0}.section-head span{color:#8a989e;font-size:10px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.info-box{padding:12px;background:#f7f9f9;border-radius:6px;font-size:10px;color:var(--muted)}.info-box strong{display:block;margin-top:6px;font-weight:550;font-size:12px;color:#314a45}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;color:#8a969b;font-weight:500;background:#f8fafb}td,th{padding:12px 10px;border-bottom:1px solid #edf0f1}td.sku{font-family:Consolas,monospace;font-size:10px;word-break:break-all}.callout{padding:13px 16px;background:#fff9ed;border:1px solid #f2e8ce;border-radius:7px;margin:17px 0;color:#896a32;font-size:11px;line-height:1.9}.callout ul{padding-left:17px;margin:5px 0}.caption{font-size:11px;line-height:1.8;color:#8a979b}.asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.asset{min-width:0}.asset-picture{aspect-ratio:1;background:#f7f9f9;border:1px dashed #e0e6e7;border-radius:6px;display:grid;place-items:center;overflow:hidden;color:#abb6b8;font-size:11px}.asset-picture img{height:100%;width:100%;object-fit:contain}.asset h4{font-size:10px;margin:9px 0 5px;font-weight:500}.asset small{font-size:9px;color:#8a989e}.group-title{font-size:12px;margin:23px 0 12px}.form label{display:block;font-size:11px;color:#6a7c7a;margin:14px 0 7px}.form input,.form textarea{width:100%;padding:11px;border:1px solid #dfe7e5;border-radius:6px;font:inherit;font-size:12px;line-height:1.7}.form textarea{min-height:170px;resize:vertical}.form button{margin-top:15px}.approval-bar{background:#eaf2ef;border:1px solid #d6e4dd;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-radius:10px;margin-top:22px}.approval-bar strong{font-size:13px}.approval-bar p{font-size:10px;color:#6d8178;margin:8px 0 0}.approval-bar label{font-size:11px;color:#516d5c;max-width:190px;line-height:1.8}.approval-bar input{accent-color:var(--green)}.activity{margin-top:32px;background:white;border:1px solid var(--line);padding:22px;border-radius:10px}.event{display:grid;grid-template-columns:150px 140px minmax(0,1fr);gap:15px;font-size:10px;padding:13px 0;border-bottom:1px solid #f0f3f4}.event time{color:#94a09d}.event .event-detail{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#7e8b91}.empty{padding:60px 20px;color:#8b9b99;text-align:center}.steps{display:grid;gap:12px}.step{padding:16px;background:#f7f9f8;border-radius:7px;font-size:12px}.step small{display:block;color:#899b96;margin-top:8px}.step.done{border-left:3px solid #4c987b}.step.waiting{border-left:3px solid #deb56b}footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#8b9b98;margin-top:24px}a{color:var(--green)}@media(min-width:1600px){main{padding:45px 55px}.workspace{grid-template-columns:260px minmax(0,1fr)}.asset-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1100px){aside{width:180px;padding:25px 15px}main{margin-left:180px;padding:25px 20px}.heading{align-items:flex-start;flex-direction:column}.workspace{grid-template-columns:180px minmax(0,1fr)}.approval-bar{flex-wrap:wrap}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){aside{position:static;width:auto;padding:18px}nav,.aside-bottom{display:none}main{margin-left:0;padding:20px 14px}h1{font-size:22px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.workspace{display:block}.product-list{grid-template-columns:1fr 1fr;margin-bottom:16px}.product-card .thumb{height:80px}.detail{padding:16px}.info-grid{grid-template-columns:1fr 1fr}.mode{flex-wrap:wrap}.mode>span:last-child{margin-left:0}.event{grid-template-columns:110px 1fr}.event-detail{grid-column:1/-1}footer{flex-wrap:wrap}}

.tabs{gap:18px;overflow-x:auto}.tabs button{flex-shrink:0}.table-scroll{overflow-x:auto}.research-list,.evidence ul{padding-left:20px;font-size:12px;line-height:1.8}.research-list small,.evidence li small,td small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.evidence{padding:16px;border:1px solid var(--line);border-radius:8px;margin:12px 0;font-size:12px;line-height:1.7}.evidence>.pill{margin-left:10px}.evidence>small{color:var(--muted)}
.reference-status{padding:15px 17px;margin:17px 0;border:1px solid #cbdcd5;border-left:3px solid #4c987b;border-radius:7px;background:#f0f6f3;font-size:12px;line-height:1.8;color:#365c4d}.reference-status p{margin:6px 0}.reference-status small{display:block;color:#657e72;font-size:11px}
.intake-panel{background:white;border:1px solid var(--line);border-radius:11px;padding:22px;margin-top:20px}.intake-panel[hidden]{display:none}.intake-panel .section-head>div span{display:block;margin-top:6px}.new-name-field{display:grid;grid-template-columns:150px minmax(0,520px);align-items:center;gap:12px;margin-top:18px;padding:15px;background:#f1f7f4;border-radius:8px;color:#234d42}.new-name-field[hidden]{display:none}.new-name-field input{padding:11px;border:1px solid #cadbd5;border-radius:6px;font:inherit}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:18px}.upload-box{display:flex;min-height:138px;flex-direction:column;gap:8px;padding:16px;border:1px dashed #b9ccc6;border-radius:9px;background:#f8fbfa}.upload-box strong{font-size:13px;color:#234d42}.upload-box span{font-size:10px;line-height:1.7;color:var(--muted)}.upload-box input{margin-top:auto;width:100%;font-size:10px}.intake-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:15px}.intake-actions small{color:var(--muted);font-size:10px}.intake-summary{padding:17px;margin-bottom:22px;border:1px solid #cfe0da;border-radius:8px;background:#f5faf8}.empty-summary{display:flex;justify-content:space-between;gap:15px;color:#58736b}.empty-summary span{font-size:11px}.intake-files{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.intake-files span{padding:6px 9px;border-radius:5px;background:white;border:1px solid #dfebe7;font-size:10px}.recognized-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.recognized-fields>div{background:white;border-radius:6px;padding:10px 12px}.recognized-fields small{color:var(--muted);font-size:9px}.recognized-fields p{white-space:pre-wrap;margin:6px 0 0;font-size:11px;line-height:1.6}.intake-summary .caption{margin-bottom:0}@media(max-width:900px){.actions{flex-wrap:wrap}.upload-grid{grid-template-columns:1fr}.recognized-fields{grid-template-columns:1fr}.intake-actions{align-items:flex-start;flex-direction:column}.new-name-field{grid-template-columns:1fr}}
.image-plan{margin-top:14px;border-color:#dce8e4;background:#fbfdfc}.image-plan-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.image-plan-head small{display:block;margin-top:5px;color:var(--muted)}.image-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:12px;margin-top:15px}.image-plan-grid .form-label{font-size:12px;color:#234d42}.image-plan-grid .form-control{margin-top:6px}@media(max-width:700px){.image-plan-grid{grid-template-columns:repeat(2,1fr)}}
.required-mark{color:#dc3545;font-weight:800}.accounts-list{display:grid;gap:10px}.account-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1fr) auto auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:9px}.account-row label{font-size:11px;color:var(--muted)}.account-row .form-control{margin-top:5px}.account-role{align-self:center}@media(max-width:850px){.account-row{grid-template-columns:1fr}.account-role{align-self:auto}}
.generation-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:-7px 0 24px;padding:18px 20px;border:1px solid #c8ded5;border-radius:9px;background:linear-gradient(135deg,#edf8f3,#f9fcfa)}.generation-panel>div{min-width:0}.generation-panel strong{display:block;color:#174f40;font-size:14px}.generation-panel p{margin:7px 0;color:#43665c;font-size:11px;line-height:1.8}.generation-panel small{color:#71877f;font-size:10px;line-height:1.7}.generation-panel button{min-width:150px}@media(max-width:760px){.generation-panel{align-items:flex-start;flex-direction:column}.generation-panel button{width:100%}}
.download-panel{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:14px 0 20px;background:#edf7f3;border:1px solid #cfe3da;border-radius:8px}.download-panel strong{margin-right:auto}.download-link{color:#fff;text-decoration:none;padding:10px 14px;border-radius:7px}.asset[data-asset-status="accepted"]{cursor:context-menu}.asset[data-asset-kind="detail"] .asset-picture{aspect-ratio:2/3}.asset-picture a{display:block;width:100%;height:100%}.asset-picture img{display:block}.asset-menu{position:fixed;z-index:1000;width:220px;padding:8px;background:#fff;border:1px solid #dbe4e1;border-radius:10px;box-shadow:0 14px 38px #17352d2e}.asset-menu>strong{display:block;padding:8px 10px 7px;color:#566965;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-menu button{display:block;width:100%;padding:10px;text-align:left;background:#fff;border:0;border-radius:7px;color:#24483f}.asset-menu button:hover{background:#edf6f2;filter:none}.asset-menu button+button{margin-top:3px}.asset-menu button small{display:block;margin-top:4px;color:#81908d;font-size:9px;font-weight:400}

/* Product queue stays usable when dozens of products are loaded. */
.product-list{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain;align-content:start;padding-right:7px;scrollbar-width:thin;scrollbar-color:#b9ccc6 transparent}
.product-list::-webkit-scrollbar{width:6px}.product-list::-webkit-scrollbar-thumb{background:#b9ccc6;border-radius:9px}
.product-card{position:relative}.queue-order{position:absolute;top:10px;left:10px;z-index:1;padding:3px 6px;border-radius:5px;background:#102d2bd9;color:#fff;font-size:9px;letter-spacing:1px}
@media(max-width:760px){.product-list{position:static;max-height:none;overflow:visible;padding-right:0}}
.detail{position:sticky;top:20px;max-height:calc(100vh - 40px);min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9ccc6 transparent}
.detail::-webkit-scrollbar{width:6px}.detail::-webkit-scrollbar-thumb{background:#b9ccc6;border-radius:9px}
.asset-menu button.danger{color:#a43d35}.product-menu{width:245px;max-height:calc(100vh - 16px);overflow-y:auto}

.modal-content{overflow:hidden;border:0;border-radius:14px;box-shadow:0 24px 70px #102d2b55}.modal-header{padding:18px 22px;border-color:#e7ecea}.modal-subtitle{margin:5px 0 0;color:var(--muted);font-size:11px}.requirement-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.requirement-section{padding:0;border-color:var(--line);border-radius:10px;background:#fff;overflow:hidden}.requirement-section h3{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;font-size:13px}.requirement-section.locked{background:#f2f7f5;border-color:#c9dcd5}.requirement-section.locked .card-body{background:#f2f7f5}.requirement-section.locked ol{margin:0;padding-left:20px;color:#365b50;font-size:11px;line-height:1.9}.current-requirement{min-height:70px;margin-bottom:15px;padding:13px;border-radius:7px;background:#f7f9f9;color:#71808b;font-size:11px}.current-requirement strong{color:#126954}.current-requirement p{margin:7px 0 0;color:#283f39;white-space:pre-wrap;line-height:1.7}.requirement-section textarea{min-height:125px;resize:vertical;font-size:12px;line-height:1.7}.requirement-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px}.requirement-actions small{color:var(--muted);font-size:9px;line-height:1.6}.requirement-section.history{grid-column:1/-1}.history-item{display:grid;grid-template-columns:155px minmax(0,1fr);gap:15px}.history-item time{color:#8b9895;font-size:10px}.history-item p{margin:0;white-space:pre-wrap;color:#385149;font-size:11px;line-height:1.7}.history-item em,.empty-history{color:#9aa5a2;font-style:normal;font-size:11px}.preview-card{background:#fff}.preview-image-wrap{display:grid;place-items:center;min-height:300px;padding:20px;background:#eef2f1}.preview-image-wrap img{display:block;max-width:100%;max-height:calc(100vh - 190px);object-fit:contain;box-shadow:0 8px 30px #102d2b25}.asset[data-asset-status="accepted"] .asset-picture{cursor:zoom-in}
.modal .form-control{border-color:#d6e2de;font-size:12px;line-height:1.6}.modal .form-control:focus{border-color:#5d9b88;box-shadow:0 0 0 .2rem rgba(18,105,84,.14)}#action-dialog .modal-body{padding:22px}#action-dialog .modal-footer{border-color:#e7ecea;padding:14px 22px}#action-dialog textarea{resize:vertical;min-height:110px}#action-dialog .alert{font-size:11px;line-height:1.7}
@media(max-width:760px){.modal-layer{padding:8px}.modal-card{max-height:calc(100vh - 16px)}.requirement-layout{grid-template-columns:1fr;padding:12px}.requirement-section.history{grid-column:auto}.requirement-actions{align-items:stretch;flex-direction:column}.requirement-actions button{width:100%}.history-item{grid-template-columns:1fr;gap:5px}.preview-image-wrap img{max-height:calc(100vh - 210px)}}

aside .nav-pills .nav-link{color:#a6bdb8;text-align:left}aside .nav-pills .nav-link.active{background:#254441;color:#fff}.btn-success{--bs-btn-bg:#126954;--bs-btn-border-color:#126954;--bs-btn-hover-bg:#0e5947;--bs-btn-hover-border-color:#0e5947}.btn-outline-success{--bs-btn-color:#126954;--bs-btn-border-color:#6ca391;--bs-btn-hover-bg:#126954;--bs-btn-hover-border-color:#126954}.progress-bar{background:#23866b}.detail.card{border-color:var(--line)}.stat.card{border:1px solid #edf1ef!important}.product-card.card{border-color:var(--line)}
@media(max-width:760px){.detail{position:static;max-height:none;overflow:visible}}
.detail-sticky-head{position:sticky;top:-24px;z-index:20;margin:-24px -24px 18px;padding:24px 24px 14px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 7px 14px rgba(16,45,43,.04)}.view-switch{margin-top:16px}.view-switch .btn{min-width:96px;font-weight:650}.view-switch .btn-outline-success{background:#fff}
@media(max-width:760px){.detail-sticky-head{top:-16px;margin:-16px -16px 16px;padding:16px 16px 12px}}
