@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=IBM+Plex+Mono:wght@500&family=Public+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f2eee4;--ink:#182837;--muted:#667078;--orange:#ed5b2a;--line:#c9c5ba;--green:#19724b;--yellow:#c98914;--red:#b43d30;--white:#fffdf7;--font:'Public Sans',sans-serif;--head:'Barlow Condensed',sans-serif;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.45}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}input,select{background:var(--white);border:1px solid #9b9a93;border-radius:3px;min-height:46px;padding:10px 12px;width:100%}input:focus,select:focus,button:focus,a:focus{outline:3px solid rgba(237,91,42,.35);outline-offset:2px}label{font-weight:700;font-size:.86rem;display:grid;gap:6px}label small{font-weight:400;color:var(--muted)}h1,h2,p{margin-top:0}h1{font:700 clamp(2.4rem,6vw,4.5rem)/.92 var(--head);letter-spacing:-.02em;margin-bottom:14px}h2{font:700 1.55rem/1 var(--head)}.stencil{font:500 .73rem/1 var(--mono);letter-spacing:.12em;color:var(--orange);margin-bottom:18px}.primary{background:var(--orange);border:0;color:#fff;font-weight:800;min-height:50px;border-radius:3px;padding:12px 20px}.secondary{background:transparent;border:2px solid var(--ink);font-weight:800;min-height:52px;border-radius:3px}.wide{width:100%}.textbtn{border:0;background:none;text-decoration:underline;padding:10px}.alert,.success{padding:13px 15px;border-left:5px solid var(--red);background:#f6dcd5;margin:16px 0;font-weight:600}.success{border-color:var(--green);background:#d7eadf}.empty{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background-color:var(--paper);background-image:linear-gradient(90deg,transparent 49.7%,rgba(24,40,55,.035) 50%)}.gatebox{width:min(100%,480px);border-top:9px solid var(--ink);background:var(--white);padding:clamp(24px,6vw,50px);box-shadow:8px 8px 0 #dad5ca}.lede{color:var(--muted)}.stack{display:grid;gap:18px}.stack hr{width:100%;border:0;border-top:1px solid var(--line)}.backlink{display:inline-block;margin-top:24px;color:var(--ink)}
.field{min-height:100vh;background:var(--ink);color:var(--white)}.field-shell{min-height:100vh;max-width:520px;margin:auto;display:flex;flex-direction:column;padding:20px}.field-head{display:flex;align-items:center;gap:13px;border-bottom:1px solid #53606a;padding:4px 0 18px}.brandmark{display:grid;place-items:center;background:var(--orange);color:#fff;width:43px;height:43px;font:700 1.25rem var(--head);clip-path:polygon(0 0,88% 0,100% 20%,100% 100%,12% 100%,0 80%)}.field-head div{display:grid}.field-head small{color:#c6cbd0}.pin-panel{margin:auto 0}.pin-panel h1{font-size:clamp(3.2rem,15vw,5.2rem)}.pin-panel>p:not(.stencil){color:#c8ced2}.pin-form{display:grid;gap:13px}.pin-form input{text-align:center;font:500 2rem var(--mono);letter-spacing:.35em;min-height:68px;border:2px solid transparent}.big{font-size:1.2rem;min-height:64px}.field-shell>footer{border-top:1px solid #53606a;padding:18px 0 5px;display:flex;justify-content:space-between;font-size:.78rem}.field-shell>footer span{color:#adb6bc}.clock-shell{gap:18px}.status-dot{width:14px;height:14px;border-radius:50%;display:inline-block;background:#89939a;box-shadow:0 0 0 4px rgba(137,147,154,.18)}.status-dot.working{background:#36b878}.status-dot.break{background:#f1ae2d}.status-dot.off{background:#89939a}.action-zone{display:grid;gap:12px}.today-total{display:flex;justify-content:space-between;align-items:end}.today-total span{color:#bbc3c8;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.today-total strong{font:700 2rem var(--head)}.clock-action{width:100%;height:clamp(190px,32vh,270px);border:0;background:var(--orange);color:#fff;font:700 clamp(3.5rem,15vw,5.5rem)/.9 var(--head);clip-path:polygon(0 0,95% 0,100% 8%,100% 100%,5% 100%,0 92%)}.clock-action small{font:500 .68rem var(--mono);letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:14px}.clock-action.working,.clock-action.break{background:#f3a51f;color:var(--ink)}.history{background:#223746;padding:18px 20px}.history h2{margin-bottom:12px}.history ol{list-style:none;margin:0;padding:0}.history li{display:flex;justify-content:space-between;border-top:1px solid #415360;padding:12px 0}.history time{font-family:var(--mono);font-size:.85rem}.clock-foot{align-items:center}.clock-foot form{margin:0}
.adminbar{min-height:74px;background:var(--ink);color:#fff;display:flex;align-items:center;padding:10px clamp(18px,4vw,50px);gap:36px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.brand>span:last-child{display:grid}.brand small{color:#aeb7bd;font-size:.68rem}.adminbar nav{display:flex;align-self:stretch;gap:4px}.adminbar nav a{display:flex;align-items:center;color:#bfc6ca;text-decoration:none;padding:0 14px;border-bottom:3px solid transparent;font-weight:600;font-size:.9rem}.adminbar nav a:hover,.adminbar nav a.active{color:#fff;border-color:var(--orange)}.adminbar>form{margin-left:auto}.adminbar .textbtn{color:#fff}.adminmain{width:min(1400px,94%);margin:0 auto;padding:42px 0 80px}.pagehead{display:flex;justify-content:space-between;gap:24px;align-items:end;border-bottom:3px solid var(--ink);padding-bottom:25px;margin-bottom:25px}.pagehead h1{margin:0}.pagehead p:last-child{margin:8px 0 0;color:var(--muted)}.total-block{background:var(--ink);color:#fff;padding:18px 24px;min-width:240px}.total-block span{display:block;color:#bbc1c5;font-size:.75rem;text-transform:uppercase}.total-block strong{font:700 2.5rem var(--head)}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.status-column{border-top:6px solid var(--ink);background:var(--white);padding:18px}.status-column h2{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:14px}.status-column h2 b{margin-left:auto;font-family:var(--mono);font-size:.8rem}.person-row{display:flex;justify-content:space-between;gap:10px;padding:15px 2px;border-bottom:1px solid #dfdcd4}.person-row span{color:var(--muted);font-size:.82rem}.addbox,.sheet,.exportbar{background:var(--white);border:1px solid var(--line);margin-bottom:22px}.addbox summary{padding:16px 20px;font-weight:800;cursor:pointer}.inlineform{display:grid;grid-template-columns:2fr 1fr auto;gap:13px;align-items:end;padding:0 20px 20px}.tablewrap{overflow:auto;background:var(--white)}table{width:100%;border-collapse:collapse;font-size:.88rem}th{text-align:left;font:500 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:#fff}th,td{padding:13px;border-bottom:1px solid var(--line);vertical-align:middle}.tag{display:inline-block;padding:5px 8px;font-size:.72rem;font-weight:800;background:#d7eadf;color:var(--green)}.tag.muted{background:#e1dfd8;color:var(--muted)}.rowform{display:flex;gap:6px;min-width:330px}.rowform input,.rowform select{min-height:38px;padding:6px 8px}.rowform button,.filters button,.event-edit button,.exportbar button{border:1px solid var(--ink);background:var(--white);font-weight:700;border-radius:3px;padding:7px 12px;white-space:nowrap}.filters{display:flex;gap:8px;align-items:end}.filters label{min-width:150px}.exportbar{padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.exportbar>span{font-weight:800}.exportbar form{display:flex;align-items:center;gap:7px}.exportbar input{min-height:38px;width:auto;padding:6px}.emptybox{background:var(--white);padding:40px;text-align:center;color:var(--muted);border:1px solid var(--line)}.sheet{border-top:7px solid var(--ink)}.sheet>header{padding:16px 20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.sheet h2{margin:0}.sheet dl{display:flex;gap:32px;margin:0}.sheet dl div{display:grid}.sheet dt{font-size:.7rem;text-transform:uppercase;color:var(--muted)}.sheet dd{margin:0;font:700 1.4rem var(--head)}.flag{display:inline-block;background:#fae3bd;color:#764b00;padding:4px 8px;font-size:.7rem;font-weight:800;margin-top:6px}.event-edit{display:grid;grid-template-columns:140px 90px 1fr;gap:15px;align-items:center;padding:11px 20px;border-bottom:1px solid #dfdcd4}.event-edit>time{font-family:var(--mono);font-size:.8rem}.event-edit form{display:grid;grid-template-columns:190px 1fr auto;gap:7px}.event-edit input{min-height:38px;padding:6px}.event-edit button{background:var(--ink);color:#fff}code{font-size:.72rem}.admin .success{max-width:600px}
@media(max-width:800px){.adminbar{position:static;display:grid;grid-template-columns:1fr auto;gap:10px}.adminbar nav{grid-column:1/-1;overflow:auto;order:3}.adminbar nav a{padding:10px}.adminmain{padding-top:25px}.pagehead{display:block}.total-block{margin-top:18px}.status-grid{grid-template-columns:1fr}.inlineform{grid-template-columns:1fr}.filters{margin-top:18px;flex-wrap:wrap}.exportbar{display:block}.exportbar form{margin-top:10px;flex-wrap:wrap}.event-edit{grid-template-columns:1fr auto}.event-edit form{grid-column:1/-1;grid-template-columns:1fr}.sheet>header{align-items:center}.rowform{min-width:280px}}
@media(max-width:480px){.field-shell{padding:16px}.adminbar{padding:10px 14px}.brand small{display:none}.adminmain{width:92%}.pagehead h1{font-size:3rem}.sheet dl{gap:15px}.sheet>header{padding:14px}.exportbar input{width:140px}}
@media(prefers-reduced-motion:no-preference){.success,.alert{animation:enter .22s ease-out}@keyframes enter{from{transform:translateY(-5px);opacity:0}}}
