:root{--bg:#07111f;--panel:#0d1b2e;--panel2:#12243a;--text:#eaf2ff;--muted:#99a9be;--line:#25405f;--accent:#33d6a6;--blue:#65a7ff;--yellow:#f7cf46;--red:#ff6b6b;--white:#f8fafc;--off:#7e8b9b}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial;background:radial-gradient(circle at top left,#18385f 0,#07111f 38%,#050914 100%);color:var(--text)}
.hero{display:flex;justify-content:space-between;gap:20px;padding:32px clamp(16px,4vw,56px);align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:12px}.hero h1{font-size:clamp(28px,5vw,52px);margin:6px 0}.subtitle{max-width:760px;color:var(--muted);font-size:17px;line-height:1.5}.today-card{background:linear-gradient(135deg,#153758,#0f253d);border:1px solid var(--line);border-radius:22px;padding:18px 22px;min-width:180px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25)}.today-card span{display:block;color:var(--muted);font-size:13px}.today-card strong{font-size:22px}
main{padding:24px clamp(12px,4vw,56px) 60px;display:grid;gap:22px}.panel{background:rgba(13,27,46,.9);border:1px solid rgba(255,255,255,.09);border-radius:24px;padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.22)}h2{margin:0 0 8px}p{color:var(--muted)}.setup-grid{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:22px}.row{display:flex;gap:12px;align-items:center}.wrap{flex-wrap:wrap}label{display:grid;gap:6px;color:var(--muted);font-size:13px;margin:10px 0}input,select{background:#071426;border:1px solid var(--line);border-radius:12px;color:var(--text);padding:11px 12px;min-height:42px}input[type=file]{width:100%;border-style:dashed}button{border:0;border-radius:12px;background:linear-gradient(135deg,var(--accent),#18a6ff);color:#02111c;padding:12px 16px;font-weight:800;cursor:pointer}button.secondary{background:#18314e;color:var(--text);border:1px solid var(--line)}button.danger{background:#3a1720;color:#ffdce2;border:1px solid #703041}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.actions.small button{padding:9px 12px}.status{font-size:14px;min-height:22px}.preview-wrap{background:#06101d;border:1px solid var(--line);border-radius:18px;min-height:260px;display:grid;place-items:center;overflow:auto}canvas{max-width:100%;height:auto}.result-head{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.answer{display:grid;gap:14px;background:linear-gradient(135deg,#092539,#102c48);border:1px solid var(--line);border-radius:20px;padding:20px;margin-top:12px}.answer.empty{color:var(--muted)}.answer h3{margin:0;font-size:26px}.answer-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.info-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px}.info-card span{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}.info-card strong{font-size:18px}.shift{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;color:#06101d;font-weight:900;margin-right:8px}.M{background:var(--yellow)}.A{background:#f7f7f7}.N{background:#9fd0ff}.OFF{background:#9aa4b1}.LEAVE{background:#25a65a;color:white}.TRAINING,.FA{background:#d760bf;color:white}.table-wrap{overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:16px}.sched{border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}.sched th,.sched td{border:1px solid #243b58;padding:6px 7px;text-align:center}.sched th{position:sticky;top:0;background:#10233a;z-index:2}.sched th:first-child,.sched td:first-child{position:sticky;left:0;background:#10233a;z-index:3;text-align:left;min-width:190px}.sched input{min-width:48px;width:52px;text-align:center;padding:6px;border-radius:8px;min-height:30px}.person-name{width:180px!important;text-align:left!important}.hint{font-size:12px;color:var(--muted)}
@media (max-width:850px){.hero,.setup-grid{grid-template-columns:1fr;display:grid}.today-card{text-align:left}.answer-grid{grid-template-columns:1fr}.result-head .row{width:100%;flex-wrap:wrap}.result-head input{flex:1}}


/* Readability polish — June 2026 schedule grid */
body{
  font-family: Inter, "Segoe UI", Tahoma, Arial, sans-serif;
  background: linear-gradient(135deg,#eef5ff 0%,#dcecff 42%,#f7fbff 100%);
  color:#102033;
}
.hero,.panel{
  background:rgba(255,255,255,.94);
  color:#102033;
  border:1px solid rgba(32,76,120,.16);
  box-shadow:0 16px 42px rgba(31,72,118,.13);
}
.hero h1,h2{color:#102033}.subtitle,p,.hint,label{color:#556a82}.eyebrow{color:#087f8f}.today-card{background:#ffffff;color:#102033;border-color:#c9ddf2}.today-card span{color:#60768e}
input,select{background:#ffffff;color:#102033;border:1px solid #b9cde3}.preview-wrap{background:#f4f8fd;border-color:#c9ddf2}.answer{background:#f3f9ff;border-color:#c9ddf2;color:#102033}.info-card{background:#ffffff;border-color:#d6e5f4}.info-card span{color:#60768e}
.table-wrap{border-color:#c8daee;background:#ffffff;max-height:68vh}.sched{font-size:14px;border-collapse:separate;border-spacing:0}.sched th,.sched td{border:1px solid #d7e5f3;padding:7px 8px}.sched th{background:#e9f3ff;color:#18324d;font-weight:800}.sched th:first-child,.sched td:first-child{background:#e9f3ff;color:#18324d;box-shadow:2px 0 8px rgba(31,72,118,.08)}.sched td{background:#f8fbff}.sched input{font-weight:800;font-size:13px;min-width:54px;width:58px;min-height:32px;border-radius:9px;border:1px solid transparent;text-align:center;color:#102033;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.sched .person-name{background:#f1f6fc!important;color:#102033!important;border:1px solid #c8daee!important;font-weight:700;width:190px!important}.sched input[value="M"]{background:#ffd84d!important;color:#3b2a00!important;border-color:#d6a900}.sched input[value="A"]{background:#1d9a72!important;color:#ffffff!important;border-color:#127553}.sched input[value="N"]{background:#4aa9ff!important;color:#06223d!important;border-color:#1b7fce}.sched input[value="OFF"]{background:#d9e2ec!important;color:#26384a!important;border-color:#b8c7d7}.sched input[value="AL"]{background:#17a658!important;color:#ffffff!important;border-color:#0c7f40}.sched input[value="F/A"],.sched input[value="T"]{background:#d946ef!important;color:#ffffff!important;border-color:#a21caf}.shift.A{background:#1d9a72;color:white}.shift.M{background:#ffd84d;color:#3b2a00}.shift.N{background:#4aa9ff;color:#06223d}.shift.OFF{background:#d9e2ec;color:#26384a}.shift.LEAVE{background:#17a658;color:#fff}.shift.FA{background:#d946ef;color:#fff}
button{background:linear-gradient(135deg,#0ea5e9,#10b981);color:white}button.secondary{background:#e8f2ff;color:#18324d;border:1px solid #bdd3eb}button.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
@media (max-width:850px){.sched{font-size:13px}.sched input{min-width:50px;width:52px}.panel{padding:16px}}

/* Phone usability + offshore color correction */
.sched input[value="M"]{background:#f0f7ff!important;color:#0f3b63!important;border-color:#9bc8f2!important}
.sched input[value="OD"]{background:#ffd84d!important;color:#3b2a00!important;border-color:#d6a900!important}
.shift.OD{background:#ffd84d;color:#3b2a00}.shift.M{background:#f0f7ff;color:#0f3b63}
.mobile-panel{display:none}.mobile-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#102033}.mobile-title span{color:#60768e}.mobile-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-day{display:grid;gap:4px;text-align:left;border:1px solid #c8daee;border-radius:16px;padding:12px;background:#fff;color:#102033;box-shadow:0 6px 18px rgba(31,72,118,.08)}.mobile-day span{font-size:12px;color:#60768e}.mobile-day b{font-size:22px}.mobile-day small{font-size:11px;color:#60768e}.mobile-day.M{background:#f0f7ff;border-color:#9bc8f2}.mobile-day.A{background:#1d9a72;color:#fff;border-color:#127553}.mobile-day.A span,.mobile-day.A small{color:#e7fff6}.mobile-day.N{background:#dff0ff;border-color:#8fc9ff}.mobile-day.OFF{background:#eef3f8}.mobile-day.OD{background:#ffd84d;border-color:#d6a900}.mobile-day.AL{background:#17a658;color:#fff}.mobile-day.AL span,.mobile-day.AL small{color:#eafff1}.mobile-day.FA{background:#d946ef;color:#fff}.mobile-day.FA span,.mobile-day.FA small{color:#fff0ff}
@media (max-width:700px){body{background:#f7fbff}.hero{padding:18px 14px}.hero h1{font-size:26px}.subtitle{font-size:14px}.today-card{padding:12px 14px}.panel{padding:14px;border-radius:18px}.setup-grid{gap:14px}.preview-wrap{min-height:150px}.result-head{display:grid}.result-head .row{display:grid;grid-template-columns:1fr}.answer h3{font-size:18px;line-height:1.35}.shift{width:38px;height:38px;border-radius:12px}.answer-grid{grid-template-columns:1fr}.mobile-panel{display:block}.table-wrap{max-height:55vh;overflow:auto;-webkit-overflow-scrolling:touch}.sched{font-size:12px}.sched th,.sched td{padding:5px}.sched input{min-width:48px;width:50px;min-height:34px;font-size:12px}.sched th:first-child,.sched td:first-child{min-width:150px}.sched .person-name{width:145px!important;font-size:12px!important}.actions button,button,input{font-size:15px}main{padding:14px 8px 36px;gap:14px}}

/* Upload progress */
.progress-wrap{margin-top:12px;background:#eef6ff;border:1px solid #c8daee;border-radius:14px;padding:10px}.progress-top{display:flex;justify-content:space-between;gap:10px;color:#18324d;font-weight:800;font-size:13px;margin-bottom:8px}.progress-track{height:12px;background:#d9e8f8;border-radius:999px;overflow:hidden}.progress-track div{height:100%;width:0%;background:linear-gradient(90deg,#0ea5e9,#10b981);border-radius:999px;transition:width .2s ease}
.progress-wrap.done{background:#ecfdf5;border-color:#86efac}.progress-wrap.done .progress-track div{background:linear-gradient(90deg,#16a34a,#22c55e)}.progress-wrap.failed{background:#fef2f2;border-color:#fecaca}.progress-wrap.failed .progress-track div{background:linear-gradient(90deg,#ef4444,#f97316)}
