:root{font-family:system-ui,sans-serif;color:#18332b;background:#f5f6ee;line-height:1.5;--ink:#18332b;--muted:#53685e;--accent:#155c4c;--border:#d9e1d5}
*{box-sizing:border-box}
body{margin:0} [hidden]{display:none!important}
.header{display:flex;align-items:center;justify-content:space-between;padding:1rem max(1.25rem,calc((100vw - 1160px)/2));border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:760;text-decoration:none;color:var(--ink);white-space:nowrap}.brand img{width:2rem;height:2rem}
.pill{border:1px solid #c7d6ca;border-radius:2rem;padding:.3rem .65rem;font-size:.78rem;color:var(--muted)}
main{max-width:1200px;margin:auto;padding:clamp(1rem,4vw,2.5rem) 1.25rem}
.access{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(1rem,5vw,5rem);margin:4vh auto;max-width:1050px}
.intro{padding:clamp(1.25rem,4vw,3rem);border-radius:1.35rem;background:#113e38;color:#f8fff1}
.eyebrow{letter-spacing:.12em;font-size:.72rem;font-weight:750;margin:0 0 .6rem;text-transform:uppercase}
.intro .eyebrow,.intro em{color:#d7f3c4}
h1,h2,p{margin-top:0}h1{font-size:clamp(2.15rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:.65em}
h1 em{font-style:normal}h2{font-size:1.32rem;letter-spacing:-.035em;margin-bottom:.35em}p{margin-bottom:.75em}
.intro p:last-child{margin-bottom:0;max-width:34ch}.card{background:white;border:1px solid var(--border);border-radius:1rem;padding:clamp(.9rem,2.5vw,1.5rem)}
.auth form,.payroll form,#entry-form{display:grid;gap:.75rem}
label{display:grid;gap:.26rem;font-weight:620;font-size:.88rem}
input,select,button{font:inherit}input:not([type=checkbox]),select{width:100%;min-width:0;border:1px solid #aebdb2;border-radius:.55rem;padding:.55rem .65rem;color:var(--ink);background:white;min-height:44px}
button{background:var(--accent);color:white;border:1px solid transparent;border-radius:.55rem;padding:.55rem .85rem;font-weight:700;min-height:44px;cursor:pointer}
button:hover{filter:brightness(.92)}button:disabled{opacity:.48;cursor:default}.secondary{color:var(--ink);background:#edf1eb;border-color:var(--border)}
:focus-visible{outline:3px solid #287e6e;outline-offset:2px}
.check{display:flex;align-items:center;gap:.55rem}.check input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}
.message{color:#8f372b;margin:.65rem 0;min-height:1rem}.message:empty{margin:0;min-height:0}
#demo{margin-top:.6rem}
.dashboard-head,.toolbar,.actions{display:flex;justify-content:space-between;align-items:center;gap:.65rem}
.dashboard-head h1{font-size:clamp(2rem,4vw,3.5rem);margin:.15rem 0 .6rem}.dashboard-head .eyebrow{color:var(--muted);overflow-wrap:anywhere}
.workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1rem;align-items:start}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.weekdays{text-align:center;font-size:.75rem;color:var(--muted);padding:.65rem 0 .25rem}
.day{min-width:0;min-height:52px;background:#f6f8f4;color:var(--ink);border:1px solid var(--border);padding:.25rem .05rem;border-radius:.4rem}
.day span{display:block;font-size:.64rem;font-weight:590;line-height:1.15}.day.holiday{background:#efe3fc;border-color:#d9bfea;color:#492669}.day.decree{background:#fff0d3;border-color:#e8c885;color:#5d3e10}.day.has-entry{box-shadow:inset 0 -3px #1a7358}
.legend{font-size:.78rem;color:var(--muted);margin:.7rem 0}.dot{display:inline-block;width:.63rem;height:.63rem;border-radius:50%;background:#9865bd;margin-right:.2rem}.decree-dot{background:#c38c2b;margin-left:.35rem}
#holidays{margin:.4rem 0 0;padding-left:1.2rem;font-size:.85rem;color:var(--muted)}.sub{font-size:.86rem;color:var(--muted)}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem}
#pay-result dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;margin:.9rem 0 0;font-size:.87rem}
dt,dd{margin:0}dd{text-align:right;font-variant-numeric:tabular-nums}.total{font-weight:780;color:#12564a}.pay-notes{font-size:.8rem;color:var(--muted);padding-left:1.2rem}
dialog{border:1px solid var(--border);border-radius:1rem;width:min(440px,calc(100% - 1.5rem));color:var(--ink);padding:1.1rem}
dialog::backdrop{background:rgb(12 30 26 / 55%)}#clock-fields{display:grid;gap:.6rem}
footer{text-align:center;color:var(--muted);font-size:.8rem;padding:1rem}
@media(max-width:740px){.access,.workspace{grid-template-columns:1fr}.access{margin:0}.intro h1{font-size:clamp(2.4rem,9vw,3.5rem)}.dashboard-head{align-items:flex-start}}
#pilot-access details,#owner-access:not([open]){margin:.6rem 0}
#pilot-access summary,#owner-summary{cursor:pointer;color:var(--accent);font-weight:720}
#pilot-access details form,#pilot-access details p,#owner-access[open] form{margin-top:.65rem}
#pilot-admin{margin-bottom:1rem}
#pilot-counts{display:grid;grid-template-columns:1fr auto;gap:.35rem;max-width:28rem}
.pilot-person{border-top:1px solid var(--border);padding:.65rem 0;overflow-wrap:anywhere}
.pilot-person p{margin:.2rem 0}.pilot-person button{margin-top:.4rem}
#pilot-code-result{border:1px solid var(--border);border-radius:.55rem;padding:.7rem;margin-top:.75rem;display:grid;gap:.5rem;max-width:30rem}
