:root{--color-canvas:#faf8f5;--color-surface:#fff;--color-surface-muted:#f4f0ec;--color-sidebar:#0e3927;--color-sidebar-hover:#195738;--color-text:#14291f;--color-text-muted:#556d61;--color-border:#e7e1da;--color-brand:#195738;--color-brand-strong:#0e3927;--color-accent:#5a883a;--color-warning:#b67812;--radius-sm:10px;--radius-md:16px;--shadow-soft:0 10px 30px -12px #1b322626;--font-sans:Inter, system-ui, sans-serif;--font-display:Fraunces, Georgia, serif}*{box-sizing:border-box}body{background:var(--color-canvas);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--color-sidebar);color:#faf8f5;flex-direction:column;gap:24px;padding:20px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-logo{object-fit:contain;border-radius:var(--radius-sm);background:#faf8f5;width:52px;height:52px}.brand strong,.brand span{display:block}.brand strong{line-height:1.2}.brand span{color:#faf8f5b8;margin-top:3px;font-size:.86rem}.nav-list{gap:6px;display:grid}.nav-item{color:#faf8f5d1;text-align:left;background:0 0;border:0;border-radius:12px;width:100%;min-height:44px;padding:0 14px}.nav-item:hover,.nav-item:focus-visible,.nav-item.active{background:var(--color-sidebar-hover);color:#fff;outline:2px solid #0000}.nav-item.active{box-shadow:inset 3px 0 0 var(--color-accent)}.workspace{min-width:0;padding:22px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.eyebrow{color:var(--color-brand);letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:.75rem;font-weight:700}h1,h2,p{margin-top:0}h1{color:var(--color-brand-strong);font-family:var(--font-display);letter-spacing:0;margin-bottom:4px;font-size:2rem;font-weight:600;line-height:1.08}h2{color:var(--color-brand-strong);font-family:var(--font-display);margin-bottom:0;font-size:1.2rem;font-weight:600;line-height:1.2}.screen-description{color:var(--color-text-muted);margin-bottom:0;line-height:1.45}.top-actions,.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon-button,.primary-button,.secondary-button,.danger-button{border:1px solid var(--color-border);border-radius:14px;min-height:44px}.icon-button{background:var(--color-surface);width:44px;color:var(--color-text);font-size:1.1rem}.primary-button{background:var(--color-brand);color:#faf8f5;border-color:var(--color-brand);box-shadow:var(--shadow-soft);padding:0 16px;font-weight:700}.secondary-button{background:var(--color-surface);color:var(--color-text);padding:0 14px;font-weight:600}.danger-button{color:#9f332c;background:#fff8f4;border-color:#b83f3840;padding:0 14px;font-weight:700}.secondary-button:hover,.icon-button:hover{background:var(--color-surface-muted);border-color:#19573859}.danger-button:hover{background:#fff0eb;border-color:#b83f386b}.status-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.status-strip article,.work-panel,.detail-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.status-strip article{min-height:104px;padding:14px}.status-strip span,.status-strip small{color:var(--color-text-muted);display:block}.status-strip strong{margin:8px 0 6px;font-size:1.45rem;line-height:1;display:block}.positive{color:var(--color-brand)!important}.warning{color:var(--color-warning)!important}.system-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}.work-panel,.detail-panel{padding:16px}.panel-toolbar{justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px;display:flex}.filter-panel{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:14px;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:10px;display:flex}.filter-panel[hidden]{display:none}.filter-chip{border:1px solid var(--color-border);background:var(--color-surface);min-height:34px;color:var(--color-text-muted);border-radius:999px;padding:0 12px;font-size:.86rem;font-weight:700}.filter-chip.active,.filter-chip:hover{border-color:var(--color-brand);color:var(--color-brand);background:#1957381a}.search-field{gap:6px;min-width:min(100%,420px);display:grid}label{color:var(--color-text-muted);font-size:.82rem;font-weight:700}input,select,textarea{border:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-text);background:#fff;border-radius:12px;padding:0 12px}textarea{resize:vertical;min-height:96px;padding-top:10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:2px;outline:3px solid #19573838}.main-content{gap:12px;display:grid}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.module-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-height:110px;padding:14px}.module-card span,.module-card small{color:var(--color-text-muted);display:block}.module-card strong{color:var(--color-brand-strong);margin:10px 0 8px;font-size:1.55rem;display:block}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}table{border-collapse:collapse;background:var(--color-surface);width:100%;min-width:720px}th,td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:13px 14px}th{background:var(--color-surface-muted);color:var(--color-text-muted);text-transform:uppercase;font-size:.78rem;font-weight:800}tr:last-child td{border-bottom:0}tbody tr{cursor:pointer}tbody tr:hover{background:#1957380d}.selected-row{box-shadow:inset 3px 0 0 var(--color-brand);background:#1957381a}.strong-cell{color:var(--color-brand-strong);font-weight:800}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.8rem;font-weight:800;display:inline-flex}.status-badge.good{color:var(--color-brand);background:#1957381a;border-color:#19573838}.status-badge.warn{color:var(--color-warning);background:#b678121f;border-color:#b6781240}.status-badge.active{color:var(--color-accent);background:#5a883a1f;border-color:#5a883a3d}.status-badge.neutral{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted)}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);text-align:center;place-content:center;gap:6px;min-height:180px;display:grid}.empty-state strong{color:var(--color-brand-strong)}.empty-state span{color:var(--color-text-muted)}.detail-header{margin-bottom:12px}.quick-form{grid-template-columns:1fr;gap:12px;display:grid}.field{gap:6px;display:grid}.form-submit{width:100%;margin-top:4px}.record-detail{gap:10px;display:grid}.record-detail div{border-bottom:1px solid var(--color-border);gap:4px;padding-bottom:10px;display:grid}.record-detail div:last-child{border-bottom:0}.record-detail span{color:var(--color-text-muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.record-detail strong{color:var(--color-text);font-size:.96rem;line-height:1.35}.detail-actions{gap:10px;margin-top:14px;display:grid}.detail-actions .primary-button,.detail-actions .secondary-button,.detail-actions .danger-button{width:100%}.toast{z-index:50;background:var(--color-brand);color:#faf8f5;max-width:min(420px,100vw - 40px);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;border:1px solid #19573833;border-radius:14px;padding:13px 16px;transition:opacity .18s,transform .18s;position:fixed;bottom:20px;right:20px;transform:translateY(10px)}.toast.visible{opacity:1;transform:translateY(0)}@media (max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.nav-list{grid-template-columns:repeat(5,minmax(0,1fr))}.system-layout{grid-template-columns:1fr}}@media (max-width:760px){.workspace,.sidebar{padding:16px}.topbar,.panel-toolbar{display:grid}.top-actions,.toolbar-actions{justify-content:flex-start}.nav-list,.status-strip,.dashboard-grid{grid-template-columns:1fr}table{min-width:640px}.toast{bottom:16px;right:16px}}
