:root{--paper:#f3ead7;--sheet:#fffdf6;--ink:#2a2420;--muted:#6f655a;--fire:#e8642c;--fire-dark:#c44d1b;--night:#1f2b47;--danger:#b3301c;--edge:2px solid var(--ink);--radius:10px;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background:var(--paper);min-height:100vh;margin:0}h1,h2{margin:0;line-height:1.15}h1{font-size:1.75rem}h2{font-size:1.25rem}p{margin:0}.muted{color:var(--muted);font-size:.875rem}.error{color:var(--danger);font-weight:600}.card{background:var(--sheet);border:var(--edge);border-radius:var(--radius);box-shadow:4px 4px 0 var(--ink)}.count{border:var(--edge);background:var(--paper);text-align:center;vertical-align:middle;border-radius:999px;min-width:1.75em;padding:0 .45em;font-size:.8125rem;font-weight:700;display:inline-block}.button{border:var(--edge);background:var(--sheet);color:var(--ink);font:inherit;cursor:pointer;box-shadow:2px 2px 0 var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:.4em;padding:.55em 1.1em;font-weight:700;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.button:hover:not(:disabled){box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.button:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:var(--fire);color:#fff}.button.primary:hover:not(:disabled){background:var(--fire-dark)}.button.quiet{box-shadow:none;border-color:#0000;font-weight:600}.button.quiet:hover:not(:disabled){box-shadow:none;border-color:var(--ink);transform:none}.button.danger{color:var(--danger)}.button.small{padding:.3em .65em;font-size:.875rem}input[type=text],input[type=password],select{border:var(--edge);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:.5em .65em}:focus-visible{outline:3px solid var(--fire);outline-offset:2px}.field{border:0;gap:.35rem;min-width:0;margin:0;padding:0;display:grid}.field>span,.field>legend{justify-content:space-between;align-items:baseline;width:100%;padding:0;font-size:.875rem;font-weight:700;display:flex}.field small{color:var(--muted);font-weight:400}.field small.over{color:var(--danger);font-weight:700}.choice{gap:1.25rem;display:flex}.choice label{cursor:pointer;align-items:center;gap:.4em;display:inline-flex}.inline-form{align-items:center;gap:.4rem;width:100%;display:flex}.inline-form input{flex:1;min-width:0}.file-button{justify-self:start}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.file-button:focus-within{outline:3px solid var(--fire);outline-offset:2px}.topbar{background:var(--night);color:#fff;border-bottom:var(--edge);justify-content:space-between;align-items:center;padding:.75rem clamp(1rem,4vw,2.5rem);display:flex}.topbar .button.quiet{color:#fff;background:0 0}.topbar .button.quiet:hover{border-color:#fff}.brand{letter-spacing:.01em;white-space:nowrap;align-items:center;gap:.6rem;font-size:1.125rem;font-weight:800;display:flex}.brand-sub{opacity:.7;font-weight:500}.brand-mark{background:conic-gradient(from 150deg at 50% 12%, #ffd166 0 60deg, transparent 0) 50% 100% / 55% 60% no-repeat, conic-gradient(from 150deg at 50% 0, var(--fire) 0 60deg, transparent 0);width:1.5rem;height:1.5rem}.brand-mark.big{width:3.5rem;height:3.5rem}.login{background:var(--night);place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{text-align:center;justify-items:stretch;gap:1rem;width:min(100%,22rem);padding:2rem;display:grid}.login-card .brand-mark{justify-self:center}.login-card .field{text-align:left}.page{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:2rem;max-width:78rem;margin:0 auto;padding:2rem clamp(1rem,4vw,2.5rem) 4rem;display:grid}@media (width<=60rem){.page{grid-template-columns:minmax(0,1fr)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.empty{text-align:center;color:var(--muted);padding:2rem}.people{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.person{grid-template-columns:5rem minmax(0,1fr);align-items:start;gap:.9rem;padding:1rem;display:grid}.person-body{grid-template-columns:minmax(0,1fr);gap:.35rem;display:grid}.person-name{overflow-wrap:anywhere;font-size:1.0625rem}.person-department{padding:.3em .5em;font-size:.875rem}.person-actions{flex-wrap:wrap;gap:.25rem;margin-left:-.65em;display:flex}.head{width:100%;height:auto;display:block;overflow:visible}.head-shadow{fill:var(--ink)}.head-edge{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linejoin:round}.head-blank{fill:#f6c56b}.head-initial{fill:var(--ink);font-size:46px;font-weight:800}.departments{gap:.9rem;padding:1.25rem;display:grid}.department-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.department-list li{border-bottom:1px dashed #cbbfa8;flex-wrap:wrap;align-items:center;gap:.15rem .4rem;padding:.35rem 0;display:flex}.department-list li:last-child{border-bottom:0}.department-name{overflow-wrap:anywhere;flex:8rem;font-weight:600}.dialog{width:min(100% - 2rem,46rem);max-height:calc(100vh - 2rem);color:var(--ink);padding:1.5rem;overflow:auto}.dialog::backdrop{background:#1f2b47b3}.dialog form{gap:1.25rem;display:grid}.dialog-grid{grid-template-columns:minmax(0,1fr) 17rem;align-items:start;gap:1.5rem;display:grid}@media (width<=42rem){.dialog-grid{grid-template-columns:minmax(0,1fr)}}.dialog-fields,.dialog-preview{gap:1rem;display:grid}.head-large{justify-self:center;width:11rem}.shapes{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.shape{text-align:center;cursor:pointer;border:2px solid #0000;border-radius:8px;justify-items:center;gap:.3rem;padding:.5rem .25rem;font-size:.75rem;line-height:1.2;display:grid}.shape .head{width:3rem}.shape:hover{border-color:#cbbfa8}.shape.picked{border-color:var(--ink);background:var(--paper)}.shape input{opacity:0;position:absolute}.shape:focus-within{outline:3px solid var(--fire);outline-offset:2px}.cropper{justify-items:start;gap:.6rem;display:grid}.cropper-frame{aspect-ratio:1;border:var(--edge);cursor:grab;touch-action:none;background:#ddd;border-radius:8px;width:min(100%,17.5rem)}.cropper-frame:active{cursor:grabbing}.cropper-zoom{align-items:center;gap:.6rem;width:min(100%,17.5rem);font-size:.875rem;font-weight:700;display:flex}.cropper-zoom input{accent-color:var(--fire);flex:1}.actions{justify-content:flex-end;gap:.5rem;display:flex}
