:root{--dark:#111814;--side:#18231c;--paper:#f3eee4;--gold:#c99b4a;--wine:#742b2d;--line:#d9d1c1;--serif:"Noto Serif TC",serif;--sans:"Noto Sans TC",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#182019;font-family:var(--sans);display:grid;grid-template-columns:250px 1fr;min-height:100vh}.rail{background:var(--side);color:#fff;position:sticky;top:0;height:100vh;padding:28px 20px;display:flex;flex-direction:column}.admin-brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none}.admin-brand img{width:52px;height:52px;object-fit:contain}.admin-brand span{font-family:var(--serif);font-weight:900}.admin-brand small{display:block;font:9px "Cinzel";color:var(--gold);letter-spacing:.12em}.rail nav{display:grid;gap:8px;margin-top:50px}.rail nav button{border:0;background:transparent;color:#bdc6be;text-align:left;padding:13px 16px;font-weight:700}.rail nav button.active,.rail nav button:hover{background:#ffffff0d;color:#fff;border-left:3px solid var(--gold)}.operator{margin-top:auto;border-top:1px solid #ffffff22;padding-top:20px;display:grid}.operator span,.operator small{font-size:11px;color:#9ead9e}.topbar{height:100px;padding:0 38px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.topbar small{font:10px "Cinzel";letter-spacing:.15em;color:var(--wine)}.topbar h1{font-family:var(--serif);margin:4px 0;font-size:30px}.topbar>div:last-child{display:flex;gap:20px;align-items:center}.topbar a{color:var(--wine)}.live:before{content:"";display:inline-block;width:8px;height:8px;background:#54a16b;border-radius:50%;margin-right:6px}.view{display:none;padding:34px 38px}.view.active{display:block}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics article,.panel{background:#fff;border:1px solid var(--line);padding:24px}.metrics small,.metrics span{display:block;color:#777}.metrics strong{display:block;font:700 42px var(--serif);color:var(--wine);margin:8px 0}.overview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-top:20px}.panel>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}.panel h2{font:700 22px var(--serif);margin:0}.funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:28px}.funnel p{background:#ece5d8;padding:15px;text-align:center}.funnel b{display:block;font-size:25px}.funnel span{font-size:11px}.alerts{list-style:none;padding:0}.alerts li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.alerts i{width:10px;height:10px;border-radius:50%;margin-top:7px}.red{background:#b85858}.gold{background:#c99b4a}.green{background:#66a26d}.alerts small{display:block;color:#777}.toolbar{display:flex;gap:15px;align-items:end;margin-bottom:20px}.toolbar label{display:grid;gap:5px}.toolbar input,.toolbar select,.toolbar button,.editor input,.editor select,.editor textarea,.panel button{padding:10px;border:1px solid var(--line);background:#fff}.order-board{display:grid;gap:16px}.product-group{background:#fff;border:1px solid var(--line)}.product-group summary{display:flex;justify-content:space-between;align-items:center;padding:20px;cursor:pointer}.product-group summary span{display:grid}.product-group summary small{color:var(--wine)}.product-group summary strong{font-family:var(--serif);font-size:21px}.product-group summary>b{background:var(--side);color:#fff;padding:6px 12px}.work-list{padding:0 20px 20px;display:grid;gap:10px}.work-card{border:1px solid var(--line);padding:16px}.work-card>header{display:flex;justify-content:space-between}.work-card header div{display:grid}.work-card header small,.work-card header span{color:#777}.checks{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:16px 0}.checks label{border:1px solid var(--line);padding:9px 5px;font-size:11px;display:grid;place-items:center;text-align:center}.checks label.done{background:#dce8dc;border-color:#95b396}.checks label:has(input:disabled){opacity:.45}.checks input{position:absolute;opacity:0}.checks span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ddd;margin-bottom:3px}.checks .done span{background:#4f855a;color:#fff}.work-card footer{display:flex;align-items:center;justify-content:space-between}.work-card footer em{color:var(--wine);font-style:normal}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.editor>label{display:grid;gap:5px;margin:14px 0}.dropzone{border:2px dashed var(--line);padding:35px;text-align:center}.editor footer{display:flex;gap:8px;margin-top:15px}.editor .primary{background:var(--side);color:#fff}.content-list{display:grid;margin-top:18px}.content-list button{display:flex;justify-content:space-between;text-align:left}.table-panel{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:15px}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{font-size:12px;color:#777}.tag{background:#dce8dc;padding:5px 8px;font-size:11px}.tag.warn{background:#f0e2bd}.tag.danger{background:#edd3d1}.notice{background:#ece5d8;padding:13px}.empty{text-align:center;padding:50px}.toast{position:fixed;right:30px;bottom:30px;background:#111;color:#fff;padding:12px 20px;opacity:0;transform:translateY(20px);transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:1000px){body{grid-template-columns:80px 1fr}.rail{padding:20px 10px}.admin-brand span,.rail nav button,.operator{font-size:0}.admin-brand img{width:50px}.metrics{grid-template-columns:repeat(2,1fr)}.overview-grid,.split{grid-template-columns:1fr}.checks{grid-template-columns:repeat(4,1fr)}}@media(max-width:650px){body{display:block}.rail{height:auto;position:static;flex-direction:row;align-items:center}.rail nav{display:flex;margin:0 0 0 auto;overflow:auto}.rail nav button{font-size:11px;white-space:nowrap}.operator{display:none}.topbar,.view{padding-left:15px;padding-right:15px}.metrics{grid-template-columns:1fr 1fr}.funnel{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.checks{grid-template-columns:repeat(2,1fr)}.work-card>header,.work-card footer{align-items:flex-start;flex-direction:column;gap:10px}.topbar>div:last-child{display:none}}
