:root{color:#121614;background:#f3f4f3;font-family:Outfit,Segoe UI,sans-serif;line-height:1.45;--paper: #f3f4f3;--surface: #ffffff;--ink: #121614;--muted: #5c6560;--line: #e4e7e5;--accent: #143528;--accent-ink: #f3f6f4;--brass: #143528;--danger: #9f1239;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 20, .04)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);font-size:15px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:var(--accent)}::selection{background:#d5e4da}.app-frame{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.app-top,.nav-backdrop{display:none}.app-side{position:sticky;top:0;display:flex;flex-direction:column;gap:16px;height:100vh;padding:16px 12px 14px;background:#10261d;color:var(--accent-ink)}.menu-btn{border:1px solid rgba(243,246,244,.22);background:transparent;color:var(--accent-ink);border-radius:8px;min-height:36px;padding:7px 12px;font-size:14px;font-weight:600;cursor:pointer}.brand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#f4f7f5;color:#10261d;font-size:11px;font-weight:700;letter-spacing:-.04em}.brand strong,.brand small{display:block;line-height:1.15}.brand strong{font-size:14px;font-weight:600;letter-spacing:-.02em}.brand small{color:#f3f6f49e;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.app-nav{display:grid;align-content:start;gap:4px;overflow:auto;flex:1;margin:0 -6px;padding:0 6px}.app-nav a{text-decoration:none;color:#f3f6f4bd;padding:8px 10px;border-radius:8px;font-size:14px;font-weight:500}.app-nav a:hover{color:#fff;background:#ffffff14}.app-nav a.active,.app-nav a.active:hover{color:#10261d;background:#f4f7f5}.app-nav a:focus-visible{outline:2px solid #f4f7f5;outline-offset:2px}.tile:focus-visible,.start-card:focus-visible,.icon-card:focus-visible,.btn:focus-visible,.text-btn:focus-visible{outline:2px solid #143528;outline-offset:2px}.side-foot{display:grid;gap:8px;padding-top:12px;border-top:1px solid rgba(243,246,244,.14)}.side-foot .btn{width:100%}.who{overflow-wrap:anywhere;color:#f3f6f4b3;font-size:13px}.page{width:100%;margin:0;padding:28px clamp(20px,2.6vw,40px) 72px}.record-layout{display:grid;gap:20px;align-items:start}.record-side{display:grid;gap:12px;align-content:start}@media(min-width:1400px){.record-layout{grid-template-columns:minmax(0,1fr) minmax(300px,400px)}.record-side .page-title{font-size:18px;letter-spacing:-.03em}}.stack{display:grid}.page-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.045em;line-height:1.1}.page-header,.identity,.hero{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-header-copy{display:grid;gap:4px;min-width:0}.page-kicker,.hero .eyebrow{margin:0 0 2px;color:var(--muted);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.page-header-actions{display:flex;align-items:center;gap:10px;flex:none}.page-header .muted,.identity .muted{max-width:62ch}.muted{margin:0;color:var(--muted);font-size:14px;line-height:1.45}p{margin:0}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:4px 8px;box-shadow:none}.card:not(:has(table)){padding:16px 18px}.stat-row .card{display:grid;gap:6px;padding:16px 18px}.stat-row .card strong{font-size:26px;font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}.btn{border-radius:8px;padding:8px 14px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.2;border:1px solid transparent}.btn:disabled{cursor:default;opacity:.55}.btn-primary{background:#143528;color:var(--accent-ink)}.btn-secondary{background:#fff;color:var(--ink);border-color:#d7dcd8}.app-side .btn-secondary,.app-top .menu-btn{color:var(--accent-ink);background:transparent;border-color:#f3f6f438}.btn-primary:hover:not(:disabled){background:#1c4d38}.btn-secondary:hover:not(:disabled){background:#f6f7f6}.app-side .btn-secondary:hover:not(:disabled),.menu-btn:hover{background:#ffffff14}.field{display:grid;gap:6px}.field>span{font-size:12px;color:var(--muted);font-weight:600}.control{border:1px solid #d7dcd8;background:#fff;border-radius:8px;padding:9px 11px;width:100%;color:var(--ink);font-size:14px}.control:focus{outline:2px solid rgba(20,53,40,.18);border-color:#143528}textarea.control{resize:vertical}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:14px}th{font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:500}td{font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f7f8f7}td a{color:var(--ink);font-weight:600;text-decoration:none}td a:hover{color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:none}.form-grid>.check-row,.form-grid>div,.form-grid>p,.form-grid>button,.form-grid>.field:has(textarea),.form-grid>.field:has(canvas),.form-grid>.field:has(.check-options){grid-column:1 / -1}.form-grid>button,.form-grid>.btn{justify-self:start}.section{display:grid;gap:10px}.section-title{margin:0;font-size:13px;font-weight:600;letter-spacing:0;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head .field{min-width:220px;margin:0}.start-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-auto-rows:76px;gap:8px}.start-card{display:flex;align-items:center;height:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;color:inherit;font-weight:600;font-size:14px;letter-spacing:-.015em;line-height:1.35;text-decoration:none}.start-card span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.start-card:hover{border-color:#143528;background:#f6f8f7}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.filters .field{min-width:180px}.check-row{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.check-options{display:flex;flex-wrap:wrap;gap:8px}.check-options label{position:relative;display:inline-flex;align-items:center;border:1px solid #d7dcd8;background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px;font-weight:600}.check-options label:has(input:checked){background:#143528;color:var(--accent-ink);border-color:#143528}.check-options input{position:absolute;opacity:0;pointer-events:none}.signature-box{display:grid;gap:8px}.signature-view{width:min(100%,360px);background:#fff;border:1px solid var(--line);border-radius:8px}.signature-pad{width:100%;height:148px;border:1px solid #d7dcd8;border-radius:10px;background:#fff;touch-action:none;cursor:crosshair}.pill{display:inline-flex;align-items:center;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600;letter-spacing:0;background:#eef1ef;color:#3f4743}.pill-good{background:#dcecde;color:#14532d}.pill-warn{background:#f8e7c2;color:#854d0e}.pill-bad{background:#f8d7e0;color:#9f1239}.pill-info{background:#dbe7f5;color:#1e3a5f}td a+.pill{margin-left:8px}.photo-grid{display:flex;flex-wrap:wrap;gap:12px}.photo-grid figure{display:grid;gap:8px;margin:0}.photo-grid img{width:148px;height:148px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:#fff}.photo-pick input{display:none}.role-pill{flex:none;border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 8px;color:#143528;font-size:12px;font-weight:600}.eyebrow{margin:0;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.tile{display:grid;align-content:start;gap:4px;min-height:108px;padding:16px 36px 16px 16px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:none;text-decoration:none;color:inherit;position:relative;transition:border-color .12s ease,background .12s ease}.tile:after{content:"";position:absolute;top:18px;right:16px;width:7px;height:7px;border-top:1.5px solid #9aa39d;border-right:1.5px solid #9aa39d;transform:rotate(45deg)}.tile strong{font-size:15px;font-weight:600;letter-spacing:-.02em}.tile span{color:var(--muted);font-size:13px;line-height:1.4}.tile:hover{border-color:#143528;background:#f6f8f7}.tile:hover:after{border-color:#143528}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper)}.login-story{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:32px 48px 56px;background:#10261d;color:#f3f6f4}.login-mark{font-size:15px;font-weight:700;letter-spacing:-.04em}.login-story h1{margin:8px 0 0;max-width:14ch;font-size:clamp(36px,4.4vw,56px);font-weight:700;letter-spacing:-.05em;line-height:1.02}.login-story .eyebrow{color:#f3f6f49e}.login-story p{max-width:36ch;color:#f3f6f4bd}.login-panel{display:grid;align-content:center;justify-items:start;gap:16px;padding:40px 56px}.login-intro{display:grid;gap:6px}.login-panel h2{margin:0;font-size:28px;font-weight:700;letter-spacing:-.045em}.login-card{width:min(400px,100%);background:#fff;border-radius:12px;padding:18px;border:1px solid var(--line)}.code-input{text-align:center;letter-spacing:.28em;font-size:22px}.text-btn{border:0;background:transparent;color:var(--accent);font-size:14px;font-weight:600;letter-spacing:-.01em;padding:0;cursor:pointer}.text-btn:disabled{opacity:.55;cursor:default}@media(max-width:860px){.app-frame{display:block}.app-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:50;min-height:56px;padding:max(8px,env(safe-area-inset-top)) 14px 8px;background:#10261d;color:var(--accent-ink)}.app-top .brand{min-width:0}.app-top .brand small{display:none}.app-top .brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-top .brand-mark{width:36px;height:36px;flex:none}.nav-backdrop{position:fixed;inset:0;z-index:40;border:0;padding:0;background:#14181273}.menu-open .nav-backdrop{display:block}.app-side{position:fixed;z-index:45;top:calc(56px + env(safe-area-inset-top));bottom:0;left:0;height:auto;width:min(300px,88vw);transform:translate(-105%);transition:transform .16s ease}.app-side .brand{display:none}.menu-open .app-side{transform:none;box-shadow:16px 0 40px #1418122e}body:has(.menu-open){overflow:hidden}.page{padding:22px 16px max(56px,env(safe-area-inset-bottom))}.record-layout{grid-template-columns:1fr}.page-title{font-size:clamp(24px,7vw,28px);overflow-wrap:anywhere}.page-header,.identity,.hero,.section-head{flex-direction:column;align-items:stretch}.section-head .field{min-width:0}.login{grid-template-columns:1fr}.login-story{min-height:0;padding:22px 18px 28px}.login-story h1{font-size:34px}.login-panel{padding:22px 16px 48px;align-content:start}.form-grid{grid-template-columns:1fr;padding:16px}.filters{display:grid;grid-template-columns:1fr;align-items:stretch}.filters .field{min-width:0}.filters>.btn{justify-self:start}.tile{min-height:96px}.control{font-size:16px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-day{min-height:36px;padding:4px 2px;font-size:11px;overflow:hidden}.calendar-day span{display:none}.calendar-names{display:grid}.bar-row{flex-wrap:wrap}.bar{max-width:100%}.chart-col span{font-size:12px}.table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:auto}.table-wrap thead{display:none}.table-wrap tr{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.table-wrap tr:last-child{border-bottom:0}.table-wrap td{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;align-items:center;padding:0;border:0}.table-wrap td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.table-wrap td[data-label=""]{grid-template-columns:1fr}.table-wrap td[data-label=""]:before{content:none}tbody tr:hover td{background:transparent}}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.stat{display:grid;gap:6px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none}.stat:hover{border-color:#143528}.stat-label{color:var(--muted);font-size:12px;font-weight:600}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}.stat-warn{color:#854d0e}.stat-bad{color:#9f1239}.overview-split{display:grid;gap:16px;align-items:start}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.card>.list-row:first-child{padding-top:0}.card>.list-row:last-child{padding-bottom:0;border-bottom:0}.list-row-copy{display:grid;gap:2px;min-width:0}.list-row strong{font-size:14px;font-weight:600;letter-spacing:-.015em}.list-row .muted{font-size:13px}.list-row:hover strong{color:var(--accent)}.card>.muted+.list-row{margin-top:8px}@media(min-width:1100px){.overview-split{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr)}}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{min-height:64px;padding:6px;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:2px;font-size:12px}.calendar-day.booked{background:#f8e7c2}.calendar-names{display:none;gap:4px;margin:10px 0 0;padding:0;list-style:none}.bar-row{display:flex;align-items:center;gap:8px}.bar{height:10px;background:var(--accent);border-radius:99px}.qr{width:160px;height:160px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.icon-card{display:flex;flex-direction:column;gap:4px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none}.icon-card strong{font-size:14px;font-weight:600;letter-spacing:-.02em}.icon-card:hover{border-color:#143528}.icon-card img,.icon-fallback{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#e7eeea}.icon-fallback{display:grid;place-items:center;font-size:22px;font-weight:600;letter-spacing:-.04em;color:#143528;background:#e7eeea}.join-photo{width:72px;height:72px;object-fit:cover;border-radius:12px}.paper{display:none}.chart{display:flex;align-items:flex-end;gap:10px;min-height:140px}.chart-col{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.chart-bar{width:100%;max-width:28px;background:var(--accent);border-radius:4px 4px 0 0}.update-toast{position:fixed;z-index:70;right:16px;bottom:16px;display:flex;align-items:stretch;max-width:min(340px,calc(100vw - 32px));border-radius:12px;background:#10261d;color:#f3f6f4;box-shadow:0 12px 32px #10261d3d;overflow:hidden}.update-toast-main{flex:1;border:0;background:transparent;color:inherit;text-align:left;padding:14px 8px 14px 16px;cursor:pointer;font:inherit}.update-toast-main strong{display:block;font-weight:600}.update-toast-main span{display:block;margin-top:2px;color:#f6f3ecbd;font-size:13px}.update-toast-main:hover{background:#ffffff0f}.update-toast-close{border:0;background:transparent;color:#f6f3ecb3;width:42px;cursor:pointer;font:inherit;font-size:20px}.update-toast-close:hover{color:#fff;background:#ffffff0f}@media(max-width:860px){.calendar-names{display:grid}.update-toast{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));max-width:none}}@media print{.app-side,.app-top,.nav-backdrop,.btn,.filters,.photo-pick,.text-btn,.screen-only,.update-toast{display:none!important}.app-frame{display:block}.page{padding:0;background:#fff}.paper{display:block;color:#000}.paper h1{font-size:22px;font-weight:700;letter-spacing:-.03em;margin:0 0 8px}.paper-row{display:grid;grid-template-columns:220px 1fr;gap:12px;border-bottom:1px solid #222;padding:6px 0}.paper img{max-width:240px}}
