:root{--ink:#17211d;--muted:#66716c;--paper:#f4f5f1;--card:#fff;--green:#18694b;--lime:#d9f55f;--line:#dfe4dd;--orange:#d96c2f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Noto Sans TC,sans-serif}header{height:76px;padding:0 max(24px,calc((100% - 1180px)/2));gap:36px;background:#fff;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:5}.brand,header{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;color:var(--ink);font-weight:800}.brand small{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--ink);color:var(--lime);border-radius:11px;font-size:23px}nav{display:flex;gap:26px;margin-left:auto}nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:14px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e3e9df;color:var(--green);font-weight:800}main{max-width:1180px;margin:0 auto;padding:36px 24px 70px}.hero{background:linear-gradient(125deg,#163d31,#10261f);color:white;border-radius:24px;padding:30px 36px;box-shadow:0 20px 50px #18332622}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #d9f55f22;margin-right:8px}.hero-grid{display:grid;grid-template-columns:1fr auto;align-items:end;margin:24px 0}.hero h1,.page-title h1{font-size:clamp(30px,5vw,48px);margin:5px 0}.muted{color:var(--muted)}.hero .muted{color:#a9bbb4}.plate-count strong{font-size:42px}.plate-count span{font-size:24px;color:#9bb1a9}.progress{height:10px;background:#ffffff20;border-radius:20px;overflow:hidden}.progress i{display:block;height:100%;background:var(--lime);border-radius:20px}.progress-meta{display:flex;gap:30px;margin-top:12px;color:#b7c5c0;font-size:13px}.progress-meta b{color:var(--lime)}.attention{margin:16px 0;display:flex;align-items:center;gap:16px;border:1px solid #f1c4a9;background:#fff6ef;padding:15px 20px;border-radius:14px}.attention>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700}.attention p{margin:3px 0;color:#70462f}.detail-grid,.home-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:20px;gap:20px;margin-top:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.section-head{display:flex;justify-content:space-between;align-items:center}.card h2,.section-head h2{margin:3px 0 16px}.section-head>span{font-size:13px}.kicker{color:var(--green);margin:0}.queue-list{display:flex;flex-direction:column}.queue-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:16px 4px;border-top:1px solid var(--line);text-decoration:none;color:inherit}.rank{width:34px;height:34px;border-radius:10px;background:#edf0eb;display:grid;place-items:center;font-weight:800}.queue-main{display:flex;flex-direction:column}.estimate,.queue-main small{color:var(--muted);font-size:13px}.estimate{gap:5px}.mine{color:var(--green);background:#ebf6e4;padding:4px 8px;border-radius:20px}.submit-card{background:#fbfcf7}.input-row{display:flex;margin-top:24px}.input-row input,textarea{width:100%;border:1px solid #cbd3ca;background:white;padding:14px;border-radius:10px;font:inherit}.input-row input{border-radius:10px 0 0 10px}.input-row button{border:0;background:var(--ink);color:white;padding:0 16px;border-radius:0 10px 10px 0;font-weight:700;white-space:nowrap}.submit-form details{margin-top:14px;color:var(--muted);font-size:13px}.submit-form textarea{margin-top:10px;min-height:70px}.form-message{font-weight:700;color:var(--green)}.page-title{margin-bottom:26px}.page-title p{color:var(--muted)}.page-title a{color:var(--green);font-weight:700}.timeline .plate{display:flex;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.plate>span{font-size:22px;color:#99a19d}.plate.completed>span,.plate.printing>span{color:var(--green)}.plate p{margin:5px 0;color:var(--muted)}aside{display:flex;flex-direction:column;gap:20px}.action-card{border-top:5px solid var(--lime)}.photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.photo-grid div{height:110px;background:#edf0eb;border:1px dashed #aeb8ad;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;color:#7d8981}.photo-grid small{font-size:12px}.events{margin-top:20px}.events>div{display:grid;grid-template-columns:70px 1fr auto;align-items:center;border-top:1px solid var(--line);padding:14px 0}.event-kind{font-size:11px;font-weight:700;color:var(--green)}.events time{font-size:12px;color:var(--muted)}.safety{padding:14px 18px;background:#fff6d8;border:1px solid #eedb94;border-radius:12px;margin-bottom:18px;font-weight:700}.table-row{display:grid;grid-template-columns:1.5fr .6fr 1.2fr .5fr;grid-gap:20px;gap:20px;padding:16px 0;border-top:1px solid var(--line);align-items:start}.table-row span{display:flex;flex-direction:column;gap:5px}.table-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.table-row em{font-style:normal;font-size:12px}.table-head{border:0;color:var(--muted);font-size:12px;font-weight:700}.admin-note,footer{text-align:center}footer{padding:24px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}@media(max-width:760px){header{padding:0 16px;gap:10px}nav{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:14px;justify-content:space-around;border-top:1px solid var(--line);z-index:10}.avatar{margin-left:auto}main{padding:20px 14px 80px}.hero{padding:24px 20px}.hero-grid{grid-template-columns:1fr}.plate-count{margin-top:18px}.progress-meta{flex-wrap:wrap;gap:8px 18px}.detail-grid,.home-grid{grid-template-columns:1fr}.queue-row{grid-template-columns:36px 1fr}.estimate{grid-column:2;text-align:left}.table-row{grid-template-columns:1fr 1fr}.table-head{display:none}.events>div{grid-template-columns:60px 1fr}.events time{grid-column:2}.brand small{display:none}}.admin-project{padding:20px 0;border-bottom:1px solid var(--line)}.admin-project>div:first-child{display:flex;flex-direction:column;gap:5px}.action-form,.inline-form{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.action-form input,.action-form textarea,.inline-form input{padding:10px;border:1px solid var(--line);border-radius:8px}.action-form textarea{width:100%;min-height:90px}.action-form button,.inline-form button,.safe-button{border:0;border-radius:8px;padding:10px 14px;background:var(--green);color:#fff;font-weight:700}.admin-plates>div{display:flex;justify-content:space-between;align-items:center;padding:9px;background:#f7f8f5;margin-top:6px}.admin-plates small{display:block}.interaction-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin:24px 0}.action-form{background:#fff;border-radius:16px;padding:20px}.action-form h3{width:100%;margin:0}.action-form small{width:100%}.form-message{grid-column:1/-1}.state-warning{margin-top:20px;padding:12px;background:#ffffff18;border:1px solid #ffffff33;border-radius:9px}.demo-states{margin-top:18px;margin-left:0;display:flex;flex-wrap:wrap;gap:8px}.demo-states a{color:#fff;border:1px solid #ffffff44;padding:6px 9px;border-radius:7px;font-size:12px}.hero-maintenance,.hero-stale,.hero-unknown{background:linear-gradient(125deg,#4c3428,#291d18)}@media(max-width:760px){.interaction-grid{grid-template-columns:1fr}.admin-plates>div{align-items:flex-start;flex-direction:column;gap:8px}}.status-board{overflow:hidden;background:#10271f;color:#fff;border-radius:24px;box-shadow:0 18px 50px #17352a1c}.machine-line{height:54px;display:flex;align-items:center;gap:10px;padding:0 30px;border-bottom:1px solid #ffffff17;color:#bdd0c8}.machine-line b{color:#fff;font-size:17px}.machine-line small{margin-left:auto;color:#89a097}.active-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(170px,.65fr) minmax(170px,.65fr);grid-gap:28px;gap:28px;padding:28px 30px 24px}.active-job h1{font-size:clamp(28px,3.7vw,44px);line-height:1.08;margin:7px 0 18px}.active-job .kicker{color:#a9bdb5}.plate-line{display:flex;align-items:baseline;gap:7px;margin:0;color:#b9cbc4}.plate-line strong{font-size:30px;color:var(--lime)}.plate-line span{margin-left:10px;padding-left:16px;border-left:1px solid #ffffff2b}.eta-block{display:flex;flex-direction:column;align-self:center;border-left:1px solid #ffffff25;padding-left:24px}.eta-block small{color:#9fb4ac}.eta-block strong{font-size:22px;margin:8px 0 4px}.eta-block span{color:#d1ddd8;font-size:14px}.progress-wrap{grid-column:1/-1;display:flex;align-items:center;gap:14px}.progress-wrap .progress{flex:1 1}.progress-wrap>span{font-weight:800;color:var(--lime)}.action-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:20px;gap:20px;background:#f3f0e8;color:#25342e;padding:15px 30px;border-top:1px solid #fff}.action-strip>span{color:#a44c1d;font-size:12px;font-weight:900;letter-spacing:1px}.action-strip em{font-style:normal;font-size:12px;font-weight:800;padding:7px 10px;border-radius:100px;background:#e3e9e4}.action-strip .action-needed{color:#9e3b14;background:#ffe0cf}.glance-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0;grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.glance-grid>div{background:#fff;padding:18px 22px;display:flex;flex-direction:column;gap:5px}.glance-grid .kicker{margin:0;color:var(--muted)}.glance-grid strong{font-size:20px}.glance-grid span{font-size:13px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);grid-gap:18px;gap:18px;align-items:start}.product-grid .submit-card,.queue-card{margin:0}.queue-card{padding:0;overflow:hidden}.queue-card .section-head{padding:24px 26px 18px}.section-head>span{font-size:12px;color:var(--muted)}.queue-row{grid-template-columns:56px minmax(0,1fr) minmax(150px,auto);padding:17px 25px}.rank{display:flex;flex-direction:column;align-items:center;line-height:1;font-size:25px}.estimate small,.rank small{font-size:10px;color:var(--muted);font-weight:700;margin-bottom:5px}.queue-main{gap:5px}.queue-main>strong{font-size:16px}.row-tags{display:flex;gap:6px}.row-tags:empty{display:none}.mine,.pickup-tag{display:inline-block;width:max-content;font-size:10px;padding:4px 7px;border-radius:4px}.pickup-tag{background:#ffe0cf;color:#9e3b14}.estimate{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.estimate strong{font-size:13px}.estimate span{font-size:11px;color:var(--green);font-weight:800}.pickup-row{background:#fff9f5;border-left:4px solid #e66f32;padding-left:21px}.submit-card h2{font-size:25px;margin:6px 0 8px}.submit-card .input-row{display:flex;flex-direction:column}.submit-card .input-row button,.submit-card .input-row input{width:100%;min-height:48px}.empty-queue{padding:30px;text-align:center;color:var(--muted)}@media(max-width:850px){.active-layout{grid-template-columns:1fr 1fr}.active-job{grid-column:1/-1}.eta-block{border-left:0;padding:14px 0;border-top:1px solid #ffffff20}.product-grid{grid-template-columns:1fr}.submit-card{order:-1}.submit-card .input-row{display:grid;grid-template-columns:1fr auto}.submit-card .input-row button{width:auto}}@media(max-width:620px){main{padding:20px 14px 50px}.status-board{border-radius:18px}.machine-line{padding:0 20px}.active-layout{padding:22px 20px 18px;gap:12px}.active-job h1{font-size:27px}.eta-block strong{font-size:18px}.action-strip{grid-template-columns:1fr auto;padding:14px 20px;gap:7px 10px}.action-strip>span{grid-column:1/-1}.action-strip strong{font-size:13px}.glance-grid{grid-template-columns:1fr}.glance-grid>div{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 18px}.glance-grid .kicker{grid-column:1/-1}.glance-grid span{text-align:right}.queue-row{grid-template-columns:42px 1fr;padding:15px 14px;gap:10px}.queue-row .estimate{grid-column:2;align-items:flex-start;text-align:left;border-top:1px solid var(--line);padding-top:9px}.pickup-row{padding-left:10px}.submit-card .input-row{display:flex;flex-direction:column}}