@font-face{font-family:Montserrat;src:url(/fonts/Montserrat.ttf) format("truetype");font-weight:400 800;font-display:swap}:root{--hw-ink: #24353e;--hw-ink-hover: #1a2830;--hw-brand: #85c5c4;--hw-brand-soft: #e9f3f3;--hw-brand-deep: #4e8f8e;--hw-action: #ff6a1a;--hw-action-ink: #1a2830;--hw-action-text: #c2410c;--hw-surface: #ffffff;--hw-surface-alt: #f7f8f7;--hw-muted: #68747a;--hw-border: #dde4e3;--hw-success: #356b52;--hw-success-bg: #e9f2ec;--hw-warning: #8a5a16;--hw-warning-bg: #fbf2e2;--hw-danger: #a94a41;--hw-danger-bg: #f9ecea;--hw-radius: 8px;--hw-topbar: 56px;--hw-bottom: 64px;--hw-max: 1120px;--hw-font: Montserrat, "Segoe UI", sans-serif;--hw-focus: #4e8f8e}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--hw-surface-alt);color:var(--hw-ink);font-family:var(--hw-font);font-size:16px;line-height:1.45}a{color:var(--hw-brand-deep)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--hw-focus);outline-offset:2px}.skip{position:absolute;left:8px;top:-40px;background:#fff;padding:8px 12px;z-index:5}.skip:focus{top:8px}.topbar{height:var(--hw-topbar);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--hw-ink);color:#fff}.brand{display:flex;flex-direction:column;text-decoration:none;color:#fff;line-height:1.1}.brand strong{font-size:18px;letter-spacing:.01em}.brand span{color:var(--hw-brand);font-size:12px;font-weight:600}.top-meta{display:flex;gap:8px;align-items:center;font-size:13px}.pill{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 8px}.shell{min-height:100vh;display:flex;flex-direction:column}.layout{display:grid;grid-template-columns:220px 1fr;flex:1}.nav{background:#fff;border-right:1px solid var(--hw-border);padding:12px;display:flex;flex-direction:column;gap:4px}.nav a,.bottom a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:var(--hw-radius);text-decoration:none;color:var(--hw-ink);font-weight:600}.nav a[aria-current=page],.bottom a[aria-current=page]{background:var(--hw-brand-soft);color:var(--hw-ink)}.content{padding:20px 16px 88px;max-width:var(--hw-max);width:100%}h1{font-size:28px;line-height:1.15;margin:0 0 8px}h2{font-size:18px;margin:0 0 8px}.lead{color:var(--hw-muted);margin:0 0 16px}.grid{display:grid;gap:12px}.cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card,.panel{background:var(--hw-surface);border:1px solid var(--hw-border);border-radius:12px;padding:16px}.card h2{font-size:18px}.muted{color:var(--hw-muted)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}label{display:grid;gap:4px;font-weight:600;font-size:14px}input,select,textarea{min-height:44px;border:1px solid var(--hw-border);border-radius:var(--hw-radius);padding:8px 12px;background:#fff}textarea{min-height:96px}.btn{min-height:44px;border:0;border-radius:var(--hw-radius);padding:10px 14px;font-weight:700;cursor:pointer;background:var(--hw-action);color:var(--hw-action-ink)}.btn.secondary{background:#fff;color:var(--hw-ink);border:1px solid var(--hw-border)}.btn:disabled{opacity:.6;cursor:not-allowed}.banner{padding:12px 14px;border-radius:var(--hw-radius);margin-bottom:12px}.banner.warn{background:var(--hw-warning-bg);color:var(--hw-warning)}.banner.bad{background:var(--hw-danger-bg);color:var(--hw-danger)}.banner.ok{background:var(--hw-success-bg);color:var(--hw-success)}.banner.info{background:var(--hw-brand-soft);color:var(--hw-ink)}.status{display:inline-flex;align-items:center;min-height:28px;padding:2px 8px;border-radius:999px;background:var(--hw-brand-soft);font-size:13px;font-weight:700}.stat{font-size:32px;font-weight:800;margin:0}.bottom{display:none}.fence{max-width:520px;margin:48px auto}.error{color:var(--hw-danger);font-weight:600}.hub{background:var(--hw-ink);color:#fff;min-height:100vh;padding:24px}.hub .card{background:#1a2830;color:#fff;border-color:#345}.hub .stat{color:var(--hw-brand)}@media(max-width:800px){.layout{grid-template-columns:1fr}.nav{display:none}.bottom{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--hw-border);z-index:2}.bottom a{justify-content:center;font-size:13px}h1{font-size:24px}}
