/* Dateledger Planner. Uses the site's colour tokens. */
#planner{max-width:1120px;margin:0 auto;padding:24px 24px 72px}
.hero-card{background:linear-gradient(135deg,#0F5C5C 0%,#0A3F3F 100%);color:#fff;border-radius:22px;padding:36px;display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;box-shadow:0 18px 40px -22px rgba(10,63,63,.6)}
.hero-card>div:first-child{flex:1 1 360px}
.h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;letter-spacing:-.8px;line-height:1.1}
.hero-card .h1{color:#fff;margin:6px 0 8px;font-size:clamp(28px,4.5vw,40px)}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent-light);margin:0}
.sub{color:#D5EBEB;margin:0;max-width:560px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:12px;flex:1 1 360px}
.stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 16px}
.stat .big{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:26px;line-height:1.1}
.stat .small{font-size:13px;color:#D5EBEB;margin-top:4px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:22px 0}
.toolbar .spacer{flex:1}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--ground);color:var(--ink)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.linkbtn{background:none;border:0;padding:0;color:var(--teal);text-decoration:underline;font:inherit;cursor:pointer}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.card h2,.sec{font-size:24px;margin:0 0 12px}
.sec{margin:36px 0 16px}
.actions{list-style:none;margin:0;padding:0}
.actions li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #EEF0F3}
.actions li:first-child{border-top:0}
.chip{display:inline-block;border-radius:999px;padding:4px 11px;font-size:13px;font-weight:700;white-space:nowrap}
.chip.ok{background:#E3F4EC;color:#0B6B43}.chip.soon{background:#FFF1D6;color:#8A5300}.chip.bad{background:#FDE4E1;color:#A4281B}.chip.info{background:var(--blue);color:#154A7A}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:2px;transition:box-shadow .15s}
.pcard:hover{box-shadow:0 10px 28px -16px rgba(16,24,40,.35)}
.pc-top{display:flex;gap:14px;align-items:center}
.pc-top h3{margin:0;font-size:20px}
.ring-t{font:700 14px 'DM Sans',sans-serif;fill:var(--ink)}
.missing{font-size:14px;margin:4px 0 12px;color:var(--warn)}.missing.ok{color:#0B6B43}
.pc-actions{display:flex;gap:8px;align-items:center;margin-top:auto;flex-wrap:wrap}
.empty{background:#fff;border:2px dashed var(--line);border-radius:20px;padding:44px;text-align:center}
.empty p{max-width:540px;margin:0 auto 20px;color:var(--muted)}
.note{border-radius:12px;padding:12px 16px;margin-bottom:14px}.note.warn{background:var(--warn-bg);color:var(--warn)}
.fine-print{font-size:13px;color:var(--muted);margin-top:36px;max-width:820px}
.tl-row{display:grid;grid-template-columns:150px 1fr 190px;gap:10px;align-items:center;font-size:13px;padding:4px 0;opacity:.55}
.tl-row.used{opacity:1;font-weight:700}
.tl-track{position:relative;height:12px;background:#EEF0F3;border-radius:999px;overflow:hidden}
.tl-bar{position:absolute;top:0;bottom:0;background:#98A2B3;border-radius:999px}
.tl-row.used .tl-bar{background:var(--accent)}
.tl-now{position:absolute;top:0;bottom:0;width:2px;background:var(--ink);z-index:2}
.tl-dates{color:var(--muted);font-weight:400;text-align:right}
.tl-key{margin:8px 0 0}
@media (max-width:720px){.tl-row{grid-template-columns:1fr;gap:2px}.tl-dates{text-align:left}.cols{grid-template-columns:1fr}.hero-card{padding:24px}}
/* form modal */
.modal-back{position:fixed;inset:0;background:rgba(16,24,40,.55);z-index:60}
.modal{position:fixed;z-index:61;top:3vh;left:50%;transform:translateX(-50%);width:min(780px,94vw);max-height:94vh;overflow:auto;background:#fff;border-radius:20px;padding:26px 28px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-head h2{margin:0}
fieldset{border:0;border-top:1px solid var(--line);margin:18px 0 0;padding:14px 0 0}
legend{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px;padding:0 10px 0 0;color:var(--teal)}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.fld{display:flex;flex-direction:column;gap:5px}.fld.wide{grid-column:1/-1}
.fld input,.fld select{height:46px;padding:0 12px;border:1px solid #98A2B3;border-radius:10px;font:inherit;font-size:16px;background:#fff}
.fld input:focus-visible,.fld select:focus-visible{outline:3px solid var(--accent-light);outline-offset:1px}
.help{font-size:13px;color:var(--muted)}.req{color:var(--accent)}
.modal-foot{display:flex;gap:10px;margin-top:22px;position:sticky;bottom:-26px;background:#fff;padding:14px 0 4px;border-top:1px solid var(--line)}
@media (max-width:640px){.fgrid{grid-template-columns:1fr}.modal{padding:20px}}
/* day sheet */
.daysheet{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px}
.daysheet .h1{margin:4px 0 8px;font-size:clamp(26px,4vw,36px)}.daysheet .sub{color:var(--muted)}
.daysheet h2{font-size:21px;margin:28px 0 8px;color:var(--teal)}
.ds-meta{display:flex;gap:18px;align-items:center;background:var(--ground);border-radius:14px;padding:16px;margin:18px 0}
table.ds{width:100%;border-collapse:collapse;font-size:15px}
table.ds th{text-align:left;font-weight:500;color:var(--muted);width:46%;padding:9px 10px 9px 0;border-top:1px solid #EEF0F3;vertical-align:top}
table.ds td{padding:9px 0;border-top:1px solid #EEF0F3;font-weight:700}
.blank{color:var(--accent);font-weight:400;font-style:italic}
@media print{
  header.top,.foot,.nopr,.cookie-banner,.toolbar{display:none!important}
  body{background:#fff}#planner{padding:0}.daysheet{border:0;padding:0}
}
.foot .linkbtn{color:var(--accent-light)}
.note.demo{background:#e8f1ee;border:1px solid #b9d3cb;color:#1d4d46;padding:.8rem 1rem;border-radius:10px;margin:0 0 1rem}
.sync{font-size:.75rem;font-weight:600;letter-spacing:0;text-transform:none;margin-left:.6rem;padding:.1rem .5rem;border-radius:999px;background:rgba(255,255,255,.16)}
.sync.offline,.sync.conflict{background:#f6d9cf;color:#7a2a12}
.lost{max-width:560px;padding:2.5rem 0}
.h1d{font-size:2rem;margin:0 0 1rem}
.lostform{display:grid;gap:.6rem;margin:1rem 0}
.lostform input{padding:.7rem .8rem;border:1px solid #c9cfd6;border-radius:8px;font:inherit}
