@font-face{font-family:Lora;src:url(/brand/fonts/Lora-Variable.woff) format("woff");font-weight:400 700;font-display:swap}@font-face{font-family:DejaVu Sans;src:url(/brand/fonts/DejaVuSans.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:DejaVu Sans;src:url(/brand/fonts/DejaVuSans-Bold.woff) format("woff");font-weight:700;font-display:swap}@font-face{font-family:DejaVu Sans Condensed;src:url(/brand/fonts/DejaVuSansCondensed-Bold.woff) format("woff");font-weight:700;font-display:swap}@font-face{font-family:DejaVu Sans Mono;src:url(/brand/fonts/DejaVuSansMono.woff) format("woff");font-weight:400;font-display:swap}:root{--sapwood: #D9B07A;--wood: #BE8650;--heartwood: #9A6030;--bark: #6A4C33;--conifer-900: #10231C;--font-heading: "Lora", Georgia, serif;--font-ui: "DejaVu Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ui-condensed: "DejaVu Sans Condensed", "DejaVu Sans", system-ui, sans-serif;--font-mono: "DejaVu Sans Mono", ui-monospace, Menlo, Consolas, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--bg: #F1F3EC;--surface: #FFFFFF;--surface-2: #E2E7DB;--border: #CBD3C4;--text: #10231C;--text-muted: #4A5B52;--primary: #2C6048;--on-primary: #F1F3EC;--wood-accent: #9A6030;--focus: #2C6048;--success: #1A6E40;--warning: #8A5F00;--danger: #B03A24;--info: #2D6594;--success-bg: #DFEBE4;--warning-bg: #EFE9DB;--danger-bg: #F4E3E0;--info-bg: #E2E9F0;--rings: url(/brand/graphics/rings-pattern-light.svg);--mark: url(/brand/forest_mark_simple.svg);color-scheme:light;--muted: var(--text-muted);--line: var(--border);--accent: var(--primary);--accent-text: var(--on-primary);--accent-soft: var(--success-bg);--danger-soft: var(--danger-bg);--ok-soft: var(--success-bg);--radius: var(--radius-lg);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--focus) 45%, transparent);font-family:var(--font-ui);color:var(--text);background:var(--bg);font-size:15px;line-height:1.5}@media (prefers-color-scheme: dark){:root{--bg: #10231C;--surface: #173126;--surface-2: #214536;--border: #2C5543;--text: #F1F3EC;--text-muted: #9DB4A6;--primary: #D9B07A;--on-primary: #10231C;--wood-accent: #D9B07A;--focus: #D9B07A;--success: #6CCB92;--warning: #E8B93E;--danger: #F58C77;--info: #8BBBE6;--success-bg: #234735;--warning-bg: #344429;--danger-bg: #363E31;--info-bg: #274441;--rings: url(/brand/graphics/rings-pattern-dark.svg);--mark: url(/brand/forest_mark.svg);color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--font-heading);font-weight:600;letter-spacing:-.005em}h1{font-size:1.75rem;line-height:1.25;margin:0 0 1rem}h2{font-size:1.2rem;line-height:1.35;margin:0 0 .75rem}a{color:var(--primary)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.splash{display:grid;place-items:center;min-height:100vh;color:var(--muted);gap:12px;align-content:center}.splash:before{content:"";width:64px;height:64px;background:var(--mark) center / contain no-repeat;animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{opacity:.55;transform:scale(.94)}}@media (prefers-reduced-motion: reduce){.splash:before{animation:none}}.shell{display:grid;grid-template-columns:232px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.topbar{grid-column:1 / -1;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--conifer-900);color:#f1f3ec}.topbar:after{content:"";position:absolute;left:0;right:0;top:100%;height:14px;pointer-events:none;background:url(/brand/graphics/bark-strip.svg) top / 100% 100% no-repeat;filter:drop-shadow(0 3px 3px rgba(16,35,28,.25))}.topbar .btn{background:transparent;color:#f1f3ec;border-color:#f1f3ec59}.topbar .btn:hover{border-color:var(--sapwood)}.topbar select{background:#173126;color:#f1f3ec;border-color:#2c5543}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#f1f3ec;font-family:var(--font-heading);font-weight:600;font-size:1.2rem}.brand img{display:block}.tenant-name{color:#9db4a6}.tenant-switch{max-width:280px;width:auto}.spacer{flex:1}.user{color:#c9d6cd;text-decoration:none}.user:hover{color:var(--sapwood)}.topbar .menu-toggle{display:none}.sidenav{display:flex;flex-direction:column;padding:16px 10px 24px;gap:2px;border-right:1px solid var(--line);background:var(--surface)}@media (min-width: 761px){.sidenav{position:sticky;top:54px;align-self:start;max-height:calc(100vh - 54px);overflow-y:auto;padding-top:26px}}.sidenav a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);text-decoration:none;color:var(--text);min-height:38px}.sidenav a:hover{background:var(--surface-2)}.sidenav a.active{background:var(--accent-soft);color:var(--primary);font-weight:700;box-shadow:inset 3px 0 0 var(--wood-accent)}main{padding:34px 28px 28px;min-width:0}.page{max-width:1120px;display:flex;flex-direction:column;gap:16px}.ico{display:inline-block;width:20px;height:20px;flex:none;background:currentColor;mask:var(--i) center / contain no-repeat;-webkit-mask:var(--i) center / contain no-repeat}.tabbar,.scrim{display:none}@media (max-width: 760px){.shell{display:block;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.topbar{padding:8px 12px;gap:8px}.topbar:after{height:11px}.topbar .menu-toggle{display:inline-flex;padding:5px 9px}.tenant-name,.user{display:none}.tenant-switch{max-width:46vw}.sidenav{position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(300px,84vw);overflow-y:auto;transform:translate(-102%);transition:transform .2s ease;border-right:1px solid var(--line);padding-top:calc(16px + env(safe-area-inset-top))}.sidenav.open{transform:none;box-shadow:0 0 40px #0000004d}.scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0c1b1573}main{padding:16px 12px}h1{font-size:1.45rem}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{padding:14px}.tile span{font-size:.8rem}.tile b{font-size:.98rem}.tiles .tile b{font-size:1.1rem}.card{padding:14px}.tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:25;left:0;right:0;bottom:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;font:inherit;font-size:11px;color:var(--muted);text-decoration:none;background:none;border:0;cursor:pointer;min-height:48px;justify-content:center}.tabbar .ico{width:22px;height:22px}.tabbar a.active{color:var(--primary);font-weight:700}}@media (prefers-reduced-motion: reduce){.sidenav{transition:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;overflow-x:auto}.form{display:flex;flex-direction:column;gap:12px}fieldset{border:0;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:12px}legend{font-family:var(--font-heading);font-weight:600;margin-bottom:8px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>.field{flex:1 1 180px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:.85rem;color:var(--muted)}.field-error{color:var(--danger);font-size:.85rem}.field-hint{color:var(--muted);font-size:.8rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:44px}textarea{min-height:88px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus);box-shadow:var(--focus-ring)}input[type=checkbox],input[type=radio]{min-height:0;width:auto;accent-color:var(--primary)}input.copy{margin-top:6px;font-family:var(--font-mono);font-size:.85rem}.btn{font:inherit;min-height:44px;padding:9px 18px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{border-color:var(--primary)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}.btn-primary:hover{filter:brightness(1.08)}.btn-small{min-height:34px;padding:5px 12px;font-size:.85rem}.btn-block{width:100%}.segmented{display:flex;gap:6px}.segmented button{flex:1;font:inherit;min-height:44px;padding:9px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.segmented button.active{border-color:var(--primary);background:var(--accent-soft);color:var(--primary);font-weight:700}.banner{padding:12px 16px;border-radius:var(--radius-md);background:var(--info-bg);color:var(--text)}.banner-error{background:var(--danger-bg);color:var(--danger)}.banner-ok{background:var(--success-bg)}.muted{color:var(--muted)}.small{font-size:.85rem}.fineprint{color:var(--muted);font-size:.78rem}.empty{color:var(--muted);margin:0}.link-small{font-size:.9rem;text-align:center}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-family:var(--font-ui-condensed);font-weight:700;font-size:.78rem;color:var(--muted);text-transform:none}tbody tr:hover td{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-disabled td{opacity:.55}.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.chip{display:inline-block;padding:2px 10px;margin:0 4px 4px 0;border-radius:var(--radius-pill);background:var(--surface-2);font-size:.82rem}.tag{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:1px 9px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:.75rem;color:var(--muted);white-space:nowrap}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tag-ok{color:var(--success);background:var(--success-bg)}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.role-option{display:flex;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.role-option input{width:auto;margin-top:3px}.role-option span{display:flex;flex-direction:column}.role-option small{color:var(--muted)}.role-option.disabled{opacity:.45;cursor:not-allowed}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tile{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}.tile:hover{border-color:var(--primary)}a.tile:hover{transform:translateY(-1px)}.tile .ico{width:28px;height:28px;color:var(--wood-accent);margin-bottom:6px}.tile b{font-family:var(--font-heading);font-weight:600;font-size:1.05rem}.tile span{color:var(--muted);font-size:.9rem}.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 16px;gap:16px;background:var(--rings) center / cover no-repeat,var(--bg)}.auth-brand{display:flex;align-items:center;gap:12px;font-family:var(--font-heading);font-size:1.6rem;font-weight:600}.auth-card{box-shadow:0 18px 48px #10231c1f}.auth-card{width:100%;max-width:480px}.auth-footer{color:var(--muted)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-head h1,.page-head h2{margin:0}.banner-warn{background:var(--warning-bg);color:var(--warning)}.tag-warn{color:var(--warning);background:var(--warning-bg)}.actions-left{justify-content:flex-start}.measure{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--line);border-radius:8px}textarea{font-family:ui-monospace,monospace}.nav-group{margin:14px 12px 4px;font-family:var(--font-ui-condensed);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--wood-accent)}a.btn{text-decoration:none;display:inline-block}.row-bad td{background:var(--danger-soft)}.checks{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.check-bad{color:var(--danger)}.check-warn{color:var(--warning)}.tile-bad{border-color:var(--danger)}.tile-bad b{color:var(--danger)}.tiles .tile b{font-size:1.3rem}.tiles .tile b:only-of-type{font-variant-numeric:tabular-nums}.num,td.num{font-family:var(--font-ui-condensed);font-weight:700}pre.payload{max-height:240px;overflow:auto;font-size:.78rem;background:var(--bg);padding:8px;border-radius:6px}.tabs-row{margin-bottom:12px;flex-wrap:wrap}label.check{display:flex;align-items:center;gap:8px;margin:8px 0}.attachments{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.attachment{display:flex;gap:10px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.attachment img{width:72px;height:72px;object-fit:cover;border-radius:6px;display:block}.file-icon{width:72px;height:72px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--muted);text-decoration:none}.attachment .small{min-width:0;overflow-wrap:anywhere}.empty{padding:4px 0}.app-card{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.app-card img{width:64px;height:64px;border-radius:14px}.app-card .grow{flex:1 1 240px}.auth-tagline{color:var(--muted);font-family:var(--font-heading);font-style:italic;margin:0;text-align:center}.help h1{margin:0}.help-grid{width:100%;max-width:1100px;display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.help-video video{width:100%;border-radius:var(--radius-md);background:#10182a;display:block}.help-video video.portrait{max-height:70vh;width:auto;max-width:100%;margin:0 auto}@media (max-width: 860px){.help-grid{grid-template-columns:1fr}}
