:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#352b24;background:#f6f2ec;font-size:16px;--paper:#fffdf9;--line:#d8cbbb;--accent:#71563e;--muted:#71665b;--success:#286243;--danger:#a02d2d}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--paper);color:inherit;border-radius:9px;padding:.7rem 1rem;min-height:44px}button:hover{background:#eee5d9}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.danger{color:var(--danger)}button:disabled{opacity:.55;cursor:wait}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:white;padding:.7rem;min-height:44px;color:inherit}input[type=checkbox]{width:22px;min-height:22px}textarea{min-height:100px;resize:vertical}label{display:grid;gap:.4rem;font-size:.9rem;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.04em}h2{font-size:1.25rem}h3{font-size:1rem}.muted,small{color:var(--muted)}small{font-size:.875rem}a{color:var(--accent)}:focus-visible{outline:3px solid #986b3f;outline-offset:3px}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,470px);background:var(--paper);border:1px solid var(--line);padding:clamp(24px,5vw,44px);border-radius:18px}.monogram{display:grid;place-items:center;background:#e7d9c7;border:1px solid #c8b59b;width:54px;height:54px;border-radius:14px;font-family:Georgia,serif;font-size:1.5rem;letter-spacing:-.08em;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.8rem}.stack{display:grid;gap:18px}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100dvh}.sidebar{padding:28px 20px;background:#ede4d8;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:28px}.brand{display:flex;gap:12px;align-items:center}.brand .monogram{margin:0;flex:none}.brand-name{font-family:Georgia,serif;font-size:1.1rem;line-height:1.25}.brand-name small{display:block;font-family:system-ui;font-size:.75rem;margin-top:5px;letter-spacing:.07em}nav{display:grid;gap:8px}nav button{text-align:left;background:transparent;border-color:transparent}nav button[aria-current=page]{background:var(--paper);border-color:var(--line);font-weight:650}.account{margin-top:auto;display:grid;gap:10px}.content{padding:32px clamp(18px,3vw,48px);min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;border-bottom:1px solid var(--line);padding-bottom:20px}.badge{font-size:.8rem;border:1px solid var(--line);padding:5px 10px;border-radius:20px;background:var(--paper)}.toolbar,.row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.toolbar{margin-bottom:24px}.toolbar label{min-width:150px}.toolbar .grow{flex:1}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px}.panel{margin-bottom:22px}.card .quantity,.metric{font-size:2rem;letter-spacing:-.04em;margin:10px 0}.card .row{margin-top:18px}.empty{padding:36px 20px;text-align:center;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}th,td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:550}td button{padding:.4rem .7rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);margin-bottom:24px}.weekday{padding:12px 4px;text-align:center;font-size:.8rem;background:#ede4d8}.day{min-height:105px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);min-width:0}.day.today{box-shadow:inset 0 0 0 2px var(--accent);background:#f2e5d2}.day span{display:block;font-size:.8rem;background:#ece3d7;margin-top:6px;padding:4px;border-radius:4px;overflow-wrap:anywhere}.day strong{font-size:.9rem}.day.blank{background:transparent}.good{color:var(--success)}.bad{color:var(--danger)}.info{padding:14px 18px;background:#eee4d6;border-radius:10px;font-size:.9rem;margin-bottom:22px;line-height:1.5}footer{margin-top:44px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:.8rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}footer button{font-size:.85rem}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:min(580px,calc(100% - 28px));max-height:90dvh;color:inherit;background:var(--paper)}dialog::backdrop{background:#241b1555}dialog .row{justify-content:flex-end;margin-top:24px}#notice{position:fixed;bottom:24px;right:24px;z-index:20;max-width:min(450px,calc(100vw - 48px));background:#352b24;color:white;border-radius:12px;padding:16px 22px;box-shadow:0 8px 35px #0002;display:none}#notice.visible{display:block}.loading{padding:50px;text-align:center}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}.busy{opacity:.65}
@media(max-width:1000px){.layout{grid-template-columns:92px minmax(0,1fr)}.sidebar{padding:24px 10px}.brand-name,.account-name{display:none}.brand{justify-content:center}.sidebar nav button{font-size:.78rem;padding:10px 4px;text-align:center}.account button{font-size:.75rem;padding:8px 3px}.split{grid-template-columns:1fr}.topbar{align-items:flex-start}.day{min-height:90px;padding:5px}.day span{font-size:.72rem}}
@media(max-width:600px){.layout{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5;padding:8px 12px;display:flex;flex-direction:row;align-items:center;gap:10px;border-right:0;border-bottom:1px solid var(--line)}.brand .monogram{width:38px;height:38px;font-size:1.15rem;border-radius:9px}.sidebar nav{display:flex;overflow:auto;gap:2px;flex:1}.sidebar nav button{white-space:nowrap;padding:8px;font-size:.8rem}.account{display:none}.content{padding:22px 14px}.topbar{margin-bottom:22px}.topbar small{font-size:.8rem}.field-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:14px}.card .quantity,.metric{font-size:1.5rem}.calendar{margin-left:-4px;margin-right:-4px}.weekday{font-size:.72rem}.day{min-height:88px;padding:4px 2px}.day span{font-size:.65rem;padding:3px 1px}.panel{padding:16px}.toolbar label{flex:1;min-width:110px}.toolbar button{flex:1}.auth{padding:14px}footer{margin-top:28px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
.sidebar,.sidebar nav,.panel,.card,.topbar>div,.field-grid>*,.split>*{min-width:0}
.panel,.card,.info{overflow-wrap:anywhere}
@media(max-width:600px){
 .layout{grid-template-columns:minmax(0,1fr)}
 .sidebar nav{min-width:0}
 .split{grid-template-columns:minmax(0,1fr)}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .toolbar label{min-width:0;flex:1 1 140px}
 input,select,textarea{min-width:0;max-width:100%}
 .table-wrap{max-width:100%}
 .table-wrap table{min-width:550px}
 .topbar{flex-wrap:wrap}
}
@media(max-width:360px){.cards{grid-template-columns:minmax(0,1fr)}}
.person-badge{display:inline-block;padding:.2rem .45rem;border-radius:.35rem;font-size:.875rem;font-weight:600;overflow-wrap:anywhere}
.person-owner{color:#59341b;background:#f2e1cc}
.person-employee{color:#154969;background:#dceef8}
.person-manager{color:#4c3266;background:#eee2f8}
.calendar-shift{margin-top:.35rem;min-width:0}
.calendar-shift .person-badge{display:block}
