:root{--ink:#14251f;--forest:#17382d;--mint:#b8e4c7;--paper:#f4f1ea;--white:#fff;--red:#a93d35;--line:#d7d5cb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 system-ui,-apple-system,sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:18px max(5vw,20px);background:var(--forest);color:white}.brand{font-size:1.3rem;font-weight:900;color:white;text-decoration:none}.brand span{font-weight:400;color:var(--mint)}nav{display:flex;gap:18px;align-items:center}nav a,.link{color:white;background:none;border:0;text-decoration:none;cursor:pointer}main{max-width:1100px;margin:auto;padding:40px 20px}.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 30px #17382d0b}.login{max-width:440px;margin:6vh auto}.eyebrow{color:#3f6f5d;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:800}.hero{text-align:center;margin-bottom:25px}.hero h1{font-size:clamp(3rem,10vw,6rem);margin:0}.clock-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wide{grid-column:1/-1}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}h2{margin-top:0}label{display:grid;gap:7px;margin:14px 0;font-weight:700}input,select,button{font:inherit;border:1px solid var(--line);border-radius:10px;padding:12px;background:white}button{font-weight:800;cursor:pointer}.primary,.clock-in{background:var(--forest);color:white;border-color:var(--forest)}.clock-out{background:var(--red);color:white;border-color:var(--red)}.clock-in,.clock-out{min-height:92px;flex:1;font-size:1.15rem}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row>*{flex:1}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;align-items:center}.muted{color:#68736f}.status{display:inline-block;background:#dcece2;padding:7px 12px;border-radius:99px}.timeline>div{border-left:3px solid var(--mint);padding:8px 14px;margin:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:.9rem}#toast{position:fixed;right:20px;bottom:20px;max-width:380px;padding:14px 18px;border-radius:12px;background:var(--ink);color:white;display:none}.error{background:var(--red)!important}@media(max-width:720px){nav a:not(:first-child){display:none}.clock-grid,.admin-grid{grid-template-columns:1fr}.wide{grid-column:auto}main{padding:25px 14px}.card{padding:18px}.split{grid-template-columns:1fr}}

