:root{font-family:Inter,"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;color:#eaf4ef;background:#071c1d;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% -10%,#236453 0,transparent 38%),linear-gradient(150deg,#102c2b,#071c1d 58%)}
.shell{width:min(1120px,calc(100% - 40px));margin:auto;padding-bottom:64px}.header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24}
.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:800;letter-spacing:.14em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:2px solid #9fdabb;border-radius:8px;color:#9fdabb;font-size:20px}.brand-light{color:#79a99a;font-weight:500}
.live{display:flex;align-items:center;gap:9px;border:1px solid #ffffff2b;border-radius:30px;padding:9px 14px;color:#cce9d7;font-size:12px}.live-dot{width:8px;height:8px;border-radius:50%;background:#74e6aa;box-shadow:0 0 12px #74e6aa}
.hero{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:58px 0 45px}.eyebrow{margin:0 0 12px;color:#8fd0ad;font-size:11px;font-weight:800;letter-spacing:.2em}h1{margin:0;font-size:clamp(32px,5vw,57px);line-height:1.2;letter-spacing:.01em}h1 span{display:block;color:#9edab7}.subtitle{margin:18px 0 0;color:#a9c0b7;font-size:15px}.clock-card{min-width:202px;background:#ffffff0c;border:1px solid #ffffff20;border-radius:15px;padding:18px 22px;text-align:right}.clock-card span,.clock-card small{display:block;color:#9cb4a9;font-size:11px}.clock-card strong{display:block;margin:7px 0;font-size:27px;letter-spacing:.05em;font-variant-numeric:tabular-nums}
.notice{margin:0 0 25px;padding:17px 19px;background:#133c38;border:1px solid #3c8d77;border-radius:10px;color:#d7f8e3;font-size:14px}.notice.error{background:#422a26;border-color:#8b574f;color:#ffe8dc}[hidden]{display:none!important}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric{min-height:135px;background:#eff7f0;color:#18382d;border-radius:13px;padding:20px 22px;box-shadow:0 10px 25px #00000015}.metric:nth-child(2){background:#d6eadd}.metric:nth-child(3){background:#e9f0eb}.metric:nth-child(4){background:#dcece7}.metric span{display:block;font-size:12px;font-weight:700}.metric strong{display:block;margin:7px 0;font-size:38px;line-height:1;font-variant-numeric:tabular-nums}.metric small{color:#638073;font-size:11px}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:48px 0 20px}.section-head h2{margin:0;font-size:25px}.section-head>span{color:#89a79b;font-size:12px}.jobs{display:grid;gap:18px}.job-card{background:#f7faf7;color:#19332a;border-radius:14px;padding:25px 28px;box-shadow:0 13px 24px #00000021}.job-top{display:flex;align-items:start;justify-content:space-between;gap:15px}.job-label{font-size:11px;font-weight:700;color:#638477}.job-card h3{margin:4px 0 0;font-size:23px;letter-spacing:.02em}.status{border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700;white-space:nowrap}.status.working{color:#246a45;background:#dcf1df}.status.done{color:#476176;background:#e2eaf1}.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;border-top:1px solid #dce7de;border-bottom:1px solid #dce7de;padding:17px 0;margin:20px 0}.meta span{display:block;color:#718a7b;font-size:11px}.meta strong{display:block;margin-top:5px;font-size:15px;font-variant-numeric:tabular-nums}.vehicle-row{display:flex;align-items:center;gap:18px;margin:15px 0}.plate{display:inline-block;background:#193e36;color:#e4fff0;padding:8px 12px;border-radius:7px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.vehicle-detail{display:flex;flex-direction:column;gap:3px;color:#556d5e;font-size:12px}.photos{margin-top:22px}.photo-head{display:flex;align-items:center;gap:10px}.photo-head strong{font-size:14px}.photo-head span{color:#839a8a;font-size:11px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:11px;margin-top:12px}.photo-item{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#dbe8de;border-radius:8px}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:15px 8px 7px;color:white;background:linear-gradient(transparent,#0009);font-size:11px}.empty-photos{margin:12px 0 0;color:#8ba092;font-size:12px}.empty-state{background:#ffffff10;border:1px dashed #ffffff3c;border-radius:13px;padding:40px;text-align:center}.empty-state strong{font-size:17px}.empty-state p{color:#a8c0b1;font-size:13px}.footer-note{text-align:center;color:#6d9685;font-size:11px;margin:30px 0}
@media(max-width:700px){.shell{width:min(100% - 28px,550px)}.header{height:65px}.brand{font-size:11px}.brand-light{display:none}.hero{padding:38px 0 28px;align-items:start;flex-direction:column}.clock-card{width:100%;text-align:left;min-width:0;padding:12px 16px}.clock-card strong{font-size:23px}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric{min-height:108px;padding:15px}.metric strong{font-size:30px}.section-head{margin-top:35px}.section-head h2{font-size:21px}.job-card{padding:19px}.job-card h3{font-size:19px}.timeline{gap:8px}.meta strong{font-size:12px}.vehicle-row{align-items:start;flex-direction:column;gap:9px}.photo-grid{grid-template-columns:repeat(2,1fr)}}
