:root{font-family:system-ui,"Microsoft JhengHei",sans-serif;color:#27374d;background:#f3f6fa}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #ccd5e1;border-radius:7px;background:white;color:#304159;padding:8px 12px}button.primary{background:#ee4d2d;color:white;border-color:#ee4d2d}button:disabled{opacity:.5;cursor:default}input,select{border:1px solid #cdd7e1;background:white;border-radius:6px;padding:8px;min-width:0;color:#27374d}label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#5d6d80}h1,h2,h3,p{margin-top:0}h2{font-size:20px}h3{font-size:15px}small,.muted{color:#6c7d91;font-size:12px;line-height:1.6}.check{flex-direction:row;align-items:center}.check input{width:auto}.flex{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{background:white;border:1px solid #dee5ee;border-radius:12px;padding:16px;margin:12px 0}.item{border-top:1px solid #e1e7ef;padding:12px 0}.item-name{font-weight:600;margin-bottom:7px;line-height:1.6}.item small{display:block}.total{padding:10px;background:#fff3e9;color:#a64623;border-radius:7px;font-weight:600;margin:10px 0}.error{color:#b91c1c}.notice{padding:12px;background:#eaf2fb;border-radius:8px;font-size:13px;line-height:1.7;margin:10px 0}details>summary{cursor:pointer;padding:8px 0;font-weight:600}table{width:100%;border-collapse:collapse;font-size:12px}th,td{border-bottom:1px solid #e0e6ee;text-align:left;padding:11px 8px;vertical-align:top;line-height:1.5}th{background:#f5f7fa;white-space:nowrap}td.num{text-align:right}.table-scroll{overflow:auto}header.app{background:#21334b;color:white;padding:23px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}header.app h1{font-size:22px;margin:0}.app-main{max-width:1380px;margin:auto;padding:24px}.tabs{display:flex;gap:9px;margin-bottom:18px;flex-wrap:wrap}.tabs button.active{background:#21334b;color:white}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.filters label{min-width:125px}.filters input[type=search]{width:230px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:white;border:1px solid #dfe5ed;padding:18px;border-radius:10px}.stat b{display:block;font-size:24px;margin-top:9px}.pane{display:none}.pane.active{display:block}.modal{position:fixed;inset:0;background:#14223877;display:flex;align-items:center;justify-content:center;z-index:100020}.modal>.card{width:min(820px,94vw);max-height:90vh;overflow:auto;padding:25px}.assistant-launcher{position:fixed;left:20px;bottom:22px;z-index:100000}.assistant-panel{position:fixed;right:82px;top:90px;width:370px;max-height:calc(100vh - 150px);z-index:99990;background:white;border:1px solid #ddd;border-radius:12px;box-shadow:0 8px 30px #17273c22;overflow:auto}.assistant-panel .content{padding:14px}.dragbar{background:#21334b;color:white;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;cursor:move;touch-action:none;user-select:none;border-radius:10px 10px 0 0}.dragbar button{padding:3px 7px}.launcher-box{display:flex;align-items:center;gap:6px;background:#21334b;color:white;padding:8px;border-radius:12px;box-shadow:0 4px 16px #0003}.launcher-box button{font-size:12px}.drag-grip{cursor:move;touch-action:none;padding:4px 8px;user-select:none}.inline-card{font:13px system-ui;background:#fffaf6;border:1px solid #edcdbd;padding:10px 14px;margin:6px 0 14px;border-radius:8px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.inline-card b{color:#a64623}.cost-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}a{color:#1866a5}input[type=file]{max-width:100%}@media(max-width:750px){.stats{grid-template-columns:1fr 1fr}.app-main{padding:12px}header.app{padding:18px}.assistant-panel{right:12px;width:min(370px,calc(100vw - 24px))}.grid{grid-template-columns:1fr}}

header{background:#21334b;color:white;padding:24px 30px}header h1{font-size:24px;margin:0 0 6px}header p{margin:0;color:#bfcddd}main{max-width:1420px;margin:auto;padding:24px}.table-wrap{overflow:auto}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.sku-card{border:1px solid #e0e6ee;border-radius:9px;padding:14px;margin:12px 0;background:white}.sku-card label{margin:10px 0}.stat strong{display:block;font-size:25px;margin-bottom:6px}.stat span{font-size:12px;color:#687a8e}td{white-space:pre-line;word-break:break-word}input{width:100%}select{max-width:100%}[hidden]{display:none!important}:host{font:13px system-ui,"Microsoft JhengHei";color:#27374d}

.assistant-panel .dragbar{position:sticky;top:0;z-index:2}.assistant-panel .content{background:white}

.quick-order{display:block;color:#27374d;background:#fff;padding:12px 16px}.quick-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.quick-costs{margin:10px 0;display:grid;gap:8px}.quick-sku{display:grid;grid-template-columns:minmax(120px,1fr) 135px 110px;gap:12px;align-items:center;border-top:1px solid #edf0f4;padding-top:8px}.quick-sku strong{display:block;font-size:12px}.quick-sku small{display:block;max-width:580px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.quick-sku input{padding:6px}.quick-sku select{font-size:12px}.unbought{color:#d8492d}.opened{color:#a66d00}.purchased{color:#1675c4}.detail-quick{position:fixed;right:22px;bottom:75px;width:560px;max-width:calc(100vw - 44px);max-height:65vh;overflow:auto;background:white;padding:16px;border:1px solid #ccd5e1;border-radius:10px;box-shadow:0 5px 24px #0002;z-index:99980}.detail-quick .quick-sku{grid-template-columns:1fr 120px 100px}@media(max-width:700px){.quick-sku,.detail-quick .quick-sku{grid-template-columns:1fr 100px}.quick-sku select{grid-column:2}.quick-top .flex{gap:4px}}

.quick-sku>div:first-child{min-width:0;overflow:hidden}.quick-sku strong{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quick-sku small{max-width:100%}.detail-quick .quick-sku{grid-template-columns:minmax(0,1fr) 120px 100px}.detail-quick{overflow-x:hidden}

/* v0.9: distinct blue workspace */
button.primary{background:#2563eb;border-color:#2563eb;color:#fff}button.primary:hover{background:#1d4ed8}button:hover{border-color:#93b4ef;background:#eff6ff}input:focus,select:focus{outline:2px solid #93c5fd;outline-offset:1px;border-color:#2563eb}.launcher-box,.dragbar{background:#173d83}.inline-card{border-color:#b8d2fa;background:#f8fbff}.inline-card b,.unbought{color:#1d4ed8}.quick-order{border-left:4px solid #2563eb}.sku-number{display:inline-flex;background:#2563eb;color:white;font-size:12px;font-weight:700;border-radius:7px;padding:4px 9px;margin:0 0 7px;letter-spacing:.2px}.sku-card:nth-of-type(even){background:#f8fbff}.sku-card strong{display:block;line-height:1.6}.quick-sku{grid-template-columns:minmax(0,1fr) 135px 125px;padding:10px 0}.sku-subtotal{text-align:right}.sku-subtotal small,.sku-subtotal b{display:block}.sku-subtotal b{color:#1d4ed8;padding-top:4px}.order-total{background:#e8f1ff;color:#1747a2;padding:10px 14px;border-radius:8px}.detail-quick .quick-sku{grid-template-columns:minmax(0,1fr) 120px 100px}.detail-quick{border:1px solid #adcaf8;box-shadow:0 8px 32px #173d8322}.modal>.card{padding:0 22px 24px;border:1px solid #b8d2fa;box-shadow:0 18px 70px #12316633}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:center;position:sticky;top:0;background:#fff;z-index:5;border-bottom:1px solid #dbe7fa;padding:18px 0;margin-bottom:14px}.modal-head h2{margin:0;font-size:19px;color:#183763}.modal-close{background:#1747a2;color:#fff;border:2px solid #1747a2;font-weight:700;padding:9px 16px;flex-shrink:0;box-shadow:0 3px 9px #1747a222}.modal-close:before{content:'× ';font-size:18px}.modal-close:hover{color:#fff;background:#b42332;border-color:#b42332}.modal-close:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}.tabs{margin:20px 0 16px}.tabs button.active{background:#2563eb;color:white;border-color:#2563eb}.stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}.metric{border-top:3px solid #2563eb;box-shadow:0 3px 12px #173d8308;padding:20px 22px}.metric strong{font-size:31px;color:#173d83;margin:10px 0 5px;font-variant-numeric:tabular-nums}.metric small{display:block}.metric span{font-size:13px;color:#475569}.analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:20px 24px;border:1px solid #dbe7fa;border-radius:14px;background:white}.analytics-toolbar h2{margin:0 0 6px}.analytics-toolbar p{margin:0}.analytics-toolbar input{width:150px}.analytics-toolbar select{max-width:180px}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.chart-card{padding:22px;background:white;border:1px solid #dbe7fa;border-radius:14px;box-shadow:0 4px 18px #173d8305}.chart-card h3{font-size:16px;color:#183763;margin-bottom:6px}.chart-card svg{width:100%;height:auto;display:block}.chart-legend{display:flex;gap:18px;justify-content:center;font-size:12px}.chart-legend span:before{content:'● ';}.filters{padding:16px 20px;background:white;border:1px solid #dbe7fa;border-radius:12px;margin-bottom:16px}header{background:linear-gradient(120deg,#153771,#2563eb);padding:30px max(24px,calc((100vw - 1380px)/2))}header p{color:#d8e9ff}.stat{border-radius:14px}.notice{border:1px solid #dbe7fa;background:#eff6ff}.table-wrap{background:white;border:1px solid #dbe7fa;border-radius:12px}th{background:#edf4ff;color:#214b89}main{padding:24px}.quick-sku strong{display:-webkit-box}.quick-top .flex{gap:6px}.quick-top .flex button{font-size:12px}@media(max-width:800px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.analytics-toolbar{padding:15px}.quick-sku,.detail-quick .quick-sku{grid-template-columns:minmax(0,1fr) 110px}.sku-subtotal{grid-column:1/-1;text-align:left;display:flex;gap:12px;align-items:center}}@media(max-width:460px){.stats{grid-template-columns:1fr}.metric strong{font-size:27px}}

body.popup-shell{width:320px;min-width:320px;background:#f4f8ff}.popup-shell .card{margin:10px}.popup-shell button{width:100%;margin:6px 0}

.factor-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 24px;background:#eef5ff;border:2px solid #aac9fa;border-radius:14px;margin:18px 0}.factor-banner h2{font-size:18px;color:#1747a2;margin-bottom:7px}.factor-banner p{margin:0}.factor-banner input{width:125px;font-size:18px;font-weight:700;color:#1747a2}.factor-banner select{max-width:200px}.factor-banner button{align-self:end;padding:10px 16px}

.login-main{max-width:520px;padding-top:50px}.login-main label{margin:16px 0}.login-main button{width:100%}

/* Shared controls: aligned labels, dates, filters, actions */
:root,:host{--assistant-blue:#2563eb;--assistant-border:#cbdaf1;--assistant-radius:8px}input,select,button{font:inherit;box-sizing:border-box;border-radius:var(--assistant-radius)}input:not([type=checkbox]):not([type=radio]),select,button{min-height:40px}input:not([type=checkbox]):not([type=radio]),select{padding:8px 12px;border:1px solid var(--assistant-border);background:#fff;color:#183763}button{padding:8px 14px;line-height:22px}.analytics-toolbar>.flex,.factor-banner>.flex,.filters{align-items:flex-end;gap:12px}.analytics-toolbar label,.factor-banner label,.filters label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:13px;color:#475569}.analytics-toolbar>.flex>button,.analytics-toolbar>.flex>select{align-self:flex-end}.analytics-toolbar input,.analytics-toolbar select{height:40px;min-height:40px}.notice{line-height:1.7;padding:12px 16px}.metric:last-child{border-top-color:#0f766e}.metric:last-child strong{color:#0f766e}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.analytics-toolbar>.flex{width:100%;flex-wrap:wrap}.analytics-toolbar input,.analytics-toolbar select{max-width:100%}}

.stats .metric:last-child{grid-column:1/-1;background:#f0fdfa}.stats .metric:last-child strong{margin:8px 0}.stats .metric:last-child small{color:#0f766e}

.total{background:#e8f1ff;color:#1747a2}.quick-sku label{color:#475569}.login-main .card{box-shadow:0 6px 24px #173d8309}

.sku-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.sku-actions button{font-size:12px}.link-ready{color:#16764b!important}.quick-sku>div:first-child{overflow:visible}.quick-sku small{white-space:normal}

.login-card{max-width:460px;margin:40px auto;padding:32px}.login-card form{display:grid;gap:18px}.login-card form button{width:100%;margin:0}.login-card a{color:#2563eb}.login-card h2{margin-top:0}
[hidden]{display:none!important}

/* Dashboard identity and account action have separate, spacious positions. */
.dashboard-header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;row-gap:12px;align-items:center;padding-top:34px;padding-bottom:34px;min-height:144px}
.dashboard-header h1{grid-column:1;grid-row:1;margin:0;font-size:26px;line-height:1.4}
.dashboard-header p{grid-column:1;grid-row:2;margin:0;line-height:1.7;font-size:14px}
.dashboard-header #account-logout{grid-column:2;grid-row:1 / 3;margin:0;min-height:44px;padding:10px 20px;white-space:nowrap;align-self:center}
@media(max-width:600px){.dashboard-header{grid-template-columns:1fr;padding:28px 24px;row-gap:12px}.dashboard-header h1{font-size:24px}.dashboard-header #account-logout{grid-column:1;grid-row:3;justify-self:start;margin-top:8px}}

.assistant-feedback{position:fixed;right:24px;top:24px;z-index:100050;max-width:min(440px,calc(100vw - 48px));padding:16px 20px;border-radius:12px;background:#eaf3ff;color:#1747a2;border:1px solid #93b4ef;box-shadow:0 8px 28px #173d8326;line-height:1.6}.assistant-feedback.error{background:#fff1f2;color:#b91c1c;border-color:#fda4af}

.export-shops{margin:18px 0;padding:16px;border:1px solid #dbe7fa;border-radius:10px;display:flex;flex-wrap:wrap;gap:16px}.export-shops legend{color:#1747a2;font-weight:600}.export-shops .check{font-size:14px;padding:6px}.export-shops .actions{width:100%;margin:0}

.profit-editor{padding-bottom:90px}.profit-editor>.actions{position:fixed;bottom:20px;right:32px;z-index:1000;background:#fff;padding:12px 18px;border:1px solid #b8d2fa;border-radius:12px;box-shadow:0 6px 24px #173d8326}

.quick-footer{justify-content:flex-end;gap:12px;width:100%;padding-top:12px;border-top:1px solid #e3ecfa}.quick-footer .order-total{margin:0;text-align:right}.quick-footer>button{flex:0 0 auto}@media(max-width:700px){.quick-footer .order-total{flex-basis:100%}.quick-footer{gap:10px}}

.modal>.factor-dialog{width:min(600px,94vw)}.factor-dialog>label{margin:20px 0 10px;font-size:13px;gap:8px}.factor-dialog input{min-height:44px;font-size:16px}.factor-dialog>.muted{margin:0;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid #dbe7fa;margin-top:24px;padding-top:20px}.dialog-actions button{margin:0;min-height:42px;padding:9px 16px}@media(max-width:440px){.dialog-actions button{flex:1 1 100%}}

.cost-rule-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,2fr) auto;gap:16px;align-items:end;padding:16px;margin:14px 0;background:#f8fbff;border:1px solid #dbe7fa;border-radius:10px}@media(max-width:650px){.cost-rule-row{grid-template-columns:1fr}}

button.cost-confirmed,button.cost-confirmed:disabled{background:#edf0f4!important;color:#64748b!important;border-color:#cbd5e1!important;opacity:1!important;cursor:default}input:disabled{background:#f1f5f9!important;color:#64748b}

.order-summary{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:100%}.goal-line{display:flex;align-items:flex-end;flex-direction:column;gap:5px;font-size:13px;line-height:1.5;text-align:right}.goal-negative{color:#dc2626;font-size:15px}.goal-normal{color:#183763;font-size:15px}.goal-line small{color:#64748b;font-size:11px}.quick-footer .order-summary{margin-left:auto}@media(max-width:700px){.quick-footer .order-summary{flex-basis:100%}}
