:root{
  --navy:#0a4776;--navy2:#07385e;--orange:#f58220;--bg:#f4f7fa;--line:#dce6ef;
  --text:#102f4c;--muted:#698198;--green:#16875c;--red:#b43b34;--shadow:0 12px 32px rgba(19,53,82,.08)
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:Arial,"Segoe UI",Tahoma,sans-serif;color:var(--text)}
button,select,input{font:inherit}
.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px rgba(10,47,76,.04)}
.brand{font-weight:950;font-size:25px;letter-spacing:.5px;color:var(--navy)}
.brand-sub{font-size:12px;color:var(--muted);font-weight:700;margin-top:2px}
.top-actions{display:flex;align-items:center;gap:9px;direction:ltr}
.sync-badge{background:#eaf7f1;color:var(--green);padding:9px 12px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}
.sync-badge i{width:9px;height:9px;border-radius:50%;background:currentColor;display:inline-block;margin-right:6px}.sync-badge.warn{color:#a46900;background:#fff5e4}.sync-badge.error{color:var(--red);background:#feeeee}
.user-chip{font-size:11px;color:var(--muted);max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ghost-btn{border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:900;border-radius:11px;padding:10px 14px;cursor:pointer}.ghost-btn:hover{background:#f1f6fa}
.page-shell{width:min(1500px,calc(100% - 42px));margin:28px auto 70px}
.picker-card{background:linear-gradient(125deg,var(--navy2),var(--navy));color:#fff;border-radius:24px;padding:28px 30px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:0 18px 44px rgba(6,56,94,.18)}
.eyebrow{font-size:11px;font-weight:950;letter-spacing:.14em;color:var(--orange)}
.picker-copy h1{font-size:34px;margin:7px 0 7px;line-height:1.2}.picker-copy p{margin:0;color:#d9e8f3;font-size:15px}
.picker-controls{display:flex;align-items:end;gap:10px;direction:rtl}.picker-controls label{display:grid;gap:6px}.picker-controls label span{font-size:11px;font-weight:900;color:#dbe8f2}
.big-control{min-width:170px;height:54px;border:0;border-radius:13px;padding:0 15px;background:#fff;color:var(--text);font-weight:900;outline:none;cursor:pointer}
.excel-btn{height:54px;border:0;border-radius:13px;padding:0 22px;background:var(--orange);color:#fff;font-weight:950;cursor:pointer;box-shadow:0 8px 18px rgba(245,130,32,.25);white-space:nowrap}.excel-btn:hover{filter:brightness(.96)}.excel-btn:disabled{opacity:.45;cursor:not-allowed}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 26px}
.summary-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow)}
.summary-card span{display:block;color:var(--muted);font-size:12px;font-weight:850;margin-bottom:7px}.summary-card strong{font-size:32px;color:var(--navy);line-height:1}.summary-card small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.summary-card.accent{border-top:4px solid var(--orange)}.summary-card.warn{background:#fffaf0;border-color:#f0d6a9}
.list-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:2px 0 13px}.list-head h2{font-size:26px;margin:5px 0 4px}.list-head p{color:var(--muted);margin:0;font-size:13px}.legend-note{font-size:12px;color:#59738a;background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:11px}
.machine-list{display:grid;gap:15px}
.machine-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.machine-head{display:grid;grid-template-columns:92px minmax(250px,1fr) 155px 155px;gap:15px;align-items:center;padding:14px 16px;background:#fff}
.machine-photo{width:92px;height:72px;border-radius:13px;overflow:hidden;background:#eef3f7;border:1px solid #e3eaf0}.machine-photo img{width:100%;height:100%;object-fit:cover}
.machine-name b{font-size:18px;display:block;margin-bottom:5px}.meta{display:flex;gap:6px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#edf5fb;color:#315d7f;font-size:10px;font-weight:900}.tag.orange{background:#fff0e2;color:#aa5a0a}.tag.green{background:#eaf7f1;color:#167654}
.machine-stat{text-align:center;border-right:1px solid var(--line)}.machine-stat span{display:block;color:var(--muted);font-size:10px;font-weight:850}.machine-stat strong{font-size:22px;color:var(--navy);display:block;margin-top:4px}.machine-stat small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.jobs{border-top:1px solid var(--line);background:#fbfdff}
.job-row{display:grid;grid-template-columns:145px minmax(240px,1fr) 150px 125px 110px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #e9eff4}.job-row:last-child{border-bottom:0}.job-row:hover{background:#f6faff}
.job-label{font-size:10px;font-weight:900;color:#8a9aaa;text-transform:uppercase;display:none}.job-slot b,.job-main b{display:block;font-size:13px}.job-slot small,.job-main small{color:var(--muted);font-size:10px;display:block;margin-top:3px}.job-dept{font-size:11px;font-weight:900;color:#315d7f}.shutdown{font-size:10px;font-weight:950;border-radius:999px;padding:6px 8px;text-align:center;background:#fff0e2;color:#aa5a0a}.shutdown.no{background:#eaf7f1;color:#167654}
.hours-wrap{display:flex;align-items:center;justify-content:flex-start;gap:6px;direction:ltr}.hours-input{width:76px;height:38px;border:1px solid #b8d2e6;border-radius:10px;padding:0 8px;text-align:center;font-weight:950;color:var(--navy);outline:none;background:#fff}.hours-input:focus{border-color:#2f91d3;box-shadow:0 0 0 3px #dfeffc}.hours-unit{font-size:11px;color:var(--muted);font-weight:900}.hours-input.saving{opacity:.55}.hours-input.saved{border-color:#67bd99;background:#f2fbf7}.hours-input.failed{border-color:#dd7a74;background:#fff4f3}
.empty{background:#fff;border:1px dashed #cbd9e5;border-radius:18px;padding:60px 20px;text-align:center;color:var(--muted)}.empty b{display:block;font-size:20px;color:var(--navy);margin-bottom:5px}
.toast{position:fixed;left:24px;bottom:24px;z-index:100;background:#102f4c;color:#fff;padding:11px 15px;border-radius:11px;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:12px;font-weight:800;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#a63a34}
.auth-gate{position:fixed;inset:0;background:linear-gradient(135deg,#073b6d,#0b4f88);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.auth-gate.hidden{display:none}.auth-card{direction:rtl;width:min(430px,96vw);background:#fff;border-radius:20px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.auth-logo{font-size:27px;font-weight:950;color:var(--navy);margin-bottom:22px}.auth-logo small{display:block;font-size:10px;letter-spacing:1.3px;color:var(--muted);margin-top:4px}.auth-card h2{margin:0 0 5px}.auth-card p{color:var(--muted);margin:0 0 18px}.auth-card form{display:grid;gap:8px}.auth-card label{font-size:11px;font-weight:900;color:#506c83}.login-control{height:46px;border:1px solid var(--line);border-radius:10px;padding:0 12px;outline:none}.login-control:focus{border-color:#73acd3}.login-btn{height:46px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-weight:950;margin-top:8px;cursor:pointer}.auth-error{color:var(--red);font-size:12px;min-height:18px;margin-top:9px}
@media(max-width:1050px){.picker-card{grid-template-columns:1fr}.picker-controls{justify-content:flex-start}.summary-grid{grid-template-columns:repeat(2,1fr)}.machine-head{grid-template-columns:82px 1fr 130px}.machine-head>.machine-stat:last-child{grid-column:2/4;border-right:0;text-align:right}.job-row{grid-template-columns:120px 1fr 120px 105px}.job-dept{display:none}}
@media(max-width:700px){.topbar{height:auto;padding:14px 16px;gap:8px}.brand-sub,.user-chip,#syncBtn{display:none}.top-actions{gap:5px}.ghost-btn{padding:9px 10px;font-size:11px}.page-shell{width:min(100% - 20px,1500px);margin-top:14px}.picker-card{padding:20px;border-radius:18px}.picker-copy h1{font-size:25px}.picker-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}.picker-controls label,.big-control{width:100%;min-width:0}.excel-btn{grid-column:1/3;width:100%}.summary-grid{grid-template-columns:1fr 1fr;gap:9px}.summary-card{padding:14px}.summary-card strong{font-size:27px}.list-head{display:block}.legend-note{margin-top:10px}.machine-head{grid-template-columns:72px 1fr}.machine-photo{width:72px;height:62px}.machine-stat{border:0;text-align:right}.machine-head>.machine-stat{grid-column:2/3;display:flex;gap:8px;align-items:baseline}.machine-stat span,.machine-stat small{display:inline}.machine-stat strong{font-size:18px}.job-row{grid-template-columns:1fr 95px;padding:12px}.job-slot{grid-column:1/2}.job-main{grid-column:1/2}.hours-wrap{grid-column:2/3;grid-row:1/3;align-self:center}.shutdown{grid-column:1/3;justify-self:start}.summary-card small{font-size:10px}}

/* V1.0.4 bilingual language controls */
.lang-btn,.auth-lang-btn{border:1px solid #b9d2e5;background:#edf6fc;color:var(--navy);font-weight:950;border-radius:11px;padding:10px 14px;cursor:pointer;white-space:nowrap}
.lang-btn:hover,.auth-lang-btn:hover{background:#e1f0fa}
.auth-card{position:relative}
.auth-lang-btn{position:absolute;top:18px;right:18px;font-size:11px;padding:8px 10px}
html[dir="rtl"] .auth-lang-btn{right:auto;left:18px}
html[dir="ltr"] .picker-controls{direction:ltr}
html[dir="rtl"] .picker-controls{direction:rtl}
html[dir="ltr"] .auth-card{direction:ltr}
html[dir="rtl"] .auth-card{direction:rtl}
html[dir="ltr"] .machine-stat{border-right:0;border-left:1px solid var(--line)}
html[dir="rtl"] .machine-stat{border-left:0;border-right:1px solid var(--line)}
html[dir="ltr"] .hours-wrap{justify-content:flex-end}
html[dir="rtl"] .hours-wrap{justify-content:flex-start}
@media(max-width:1050px){html[dir="ltr"] .machine-head>.machine-stat:last-child{border-left:0;text-align:left}html[dir="rtl"] .machine-head>.machine-stat:last-child{border-right:0;text-align:right}}
@media(max-width:700px){.lang-btn{padding:9px 10px;font-size:11px}html[dir="ltr"] .machine-stat{text-align:left}html[dir="rtl"] .machine-stat{text-align:right}}
