:root{--wpi-crimson: #ac2b37;--wpi-gray: #a9b0b7;--wpi-black: #1f1f1f;--wpi-white: #ffffff;--color-bg: var(--wpi-white);--color-bg-muted: #f5f5f6;--color-text: var(--wpi-black);--color-text-muted: #595e64;--color-border: #d6d8db;--color-border-strong: #b6b9bd;--color-accent: var(--wpi-crimson);--color-accent-contrast: var(--wpi-white);--color-focus-ring: #5c8fdb;--color-status-allowed: #1c6e3d;--color-status-allowed-bg: #e1f1e7;--color-status-conditional: #b8761c;--color-status-conditional-bg: #fbf0d8;--color-status-blocked: #8b1d22;--color-status-blocked-bg: #f7e0e2;--color-status-unknown: #595e64;--color-status-unknown-bg: #ececed;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--radius: 6px;--radius-lg: 10px;--shadow-card: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.45}a{color:var(--color-accent);text-decoration:underline}a:hover{text-decoration:none}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:3px}button{font:inherit;cursor:pointer}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-shell>main{flex:1;max-width:1600px;width:100%;margin:0 auto;padding:var(--space-6) var(--space-4)}.app-header{background:var(--wpi-crimson);color:var(--wpi-white);padding:var(--space-3) var(--space-4)}.app-header-inner{max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.app-title-link{display:inline-flex;align-items:center;gap:var(--space-3);color:inherit;text-decoration:none}.app-logo{height:32px;width:auto;display:block}.app-title{font-size:1.2rem;font-weight:700;letter-spacing:.02em}.app-header a{color:var(--wpi-white)}.branding-logo-preview{display:inline-flex;align-items:center;justify-content:center;min-height:80px;min-width:160px;padding:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius);background:var(--color-bg-muted)}.branding-logo-preview img{max-height:96px;max-width:320px}.branding-logo-preview .muted{color:var(--color-text-muted)}.app-footer{border-top:1px solid var(--color-border);padding:var(--space-4);color:var(--color-text-muted);font-size:.875rem;text-align:center}.section{margin-bottom:var(--space-8)}.section h2{margin:0 0 var(--space-2);font-size:1.25rem}.section .lede{color:var(--color-text-muted);margin-top:0}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-3)}.toolbar .spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border-strong);background:var(--wpi-white);color:var(--color-text)}.btn:hover{background:var(--color-bg-muted)}.btn-primary{background:var(--wpi-crimson);color:var(--wpi-white);border-color:var(--wpi-crimson)}.btn-primary:hover{filter:brightness(.95)}.btn-link{border:none;background:transparent;color:var(--color-accent);padding:var(--space-1) var(--space-2)}.finder-split{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:var(--space-6);align-items:start}.finder-split>.section{margin-bottom:0}@media (max-width: 900px){.finder-split{grid-template-columns:1fr}}.question-panel{display:grid;gap:var(--space-3)}.question-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);background:var(--wpi-white)}.question-group>summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-1) 0;position:relative;padding-right:var(--space-6)}.question-group>summary::-webkit-details-marker{display:none}.question-group>summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:600;color:var(--color-text-muted)}.question-group[open]>summary:after{content:"−"}.question-prompt{font-weight:600;font-size:1.02rem}.question-help{color:var(--color-text-muted);font-size:.9rem}.question-group h3,.question-group h4{margin:0 0 var(--space-1);font-size:1.02rem}.question-group .help{color:var(--color-text-muted);margin:0 0 var(--space-2)}.question-options{display:grid;gap:var(--space-1) var(--space-4);margin-top:var(--space-2)}.question-option-row{display:flex;flex-direction:column;gap:var(--space-1)}.question-option{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0}.question-option input[type=checkbox]{margin-top:4px;accent-color:var(--wpi-crimson)}.question-option.highlighted{background:var(--color-status-conditional-bg);border-radius:var(--radius);padding:var(--space-1) var(--space-2)}.question-subtree{margin:var(--space-2) 0 var(--space-2) var(--space-5);padding-left:var(--space-3);border-left:2px solid var(--color-border);display:grid;gap:var(--space-2)}.question-subgroup{border-style:dashed;background:var(--color-bg-muted)}.chat-launcher{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:40;padding:var(--space-3) var(--space-4);border-radius:999px;background:var(--wpi-crimson);color:var(--wpi-white);border:none;box-shadow:0 6px 20px #0000002e;cursor:pointer;font-weight:600}.chat-launcher:hover{filter:brightness(.95)}.chat-panel{position:fixed;right:var(--space-4);bottom:var(--space-4);width:min(420px,calc(100vw - 32px));max-height:min(640px,calc(100vh - 32px));display:flex;flex-direction:column;background:var(--wpi-white);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:0 12px 32px #0000002e;z-index:40}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--wpi-crimson);color:var(--wpi-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.chat-panel-header h3{margin:0;font-size:1rem}.chat-panel-header .btn-link{color:var(--wpi-white)}.chat-panel-body{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.chat-hint{color:var(--color-text-muted);font-size:.9rem;margin:0}.chat-turn{display:flex;flex-direction:column;gap:var(--space-1)}.chat-turn-user{align-items:flex-end}.chat-bubble{max-width:90%;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-bg-muted);white-space:pre-wrap;line-height:1.4;font-size:.95rem}.chat-turn-user .chat-bubble{background:var(--wpi-crimson);color:var(--wpi-white)}.chat-actions{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);background:var(--color-status-conditional-bg)}.chat-actions ul{margin:0 0 var(--space-2);padding-left:var(--space-4)}.chat-actions li{font-size:.9rem}.chat-applied{color:var(--color-text-muted);font-size:.85rem}.chat-panel-input{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border)}.chat-panel-input textarea{flex:1;resize:none;font:inherit;padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius)}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.service-card{display:flex;flex-direction:column;background:var(--wpi-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow .12s,border-color .12s;box-shadow:var(--shadow-card);position:relative}.service-card:hover{border-color:var(--color-border-strong)}.service-card.selected{border-color:var(--wpi-crimson);box-shadow:0 0 0 2px var(--wpi-crimson) inset}.service-card.ineligible{opacity:.55;background:var(--color-bg-muted)}.service-card.ineligible.selected{opacity:.85}.service-card .name{font-weight:700;margin:0 0 var(--space-1)}.service-card .summary{color:var(--color-text-muted);margin:0 0 var(--space-2);flex:1}.service-card .meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-2)}.service-card .actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.service-card .ineligible-label{display:inline-block;font-size:.8rem;color:var(--color-status-blocked);background:var(--color-status-blocked-bg);padding:2px var(--space-2);border-radius:var(--radius);margin-top:var(--space-2)}.service-card .warning-label{display:inline-block;font-size:.8rem;color:var(--color-status-conditional);background:var(--color-status-conditional-bg);padding:2px var(--space-2);border-radius:var(--radius);margin-top:var(--space-2)}.service-checkbox{display:flex;align-items:center;gap:var(--space-2)}.comparison-wrapper{overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;min-width:600px;font-size:.95rem}.comparison-table th,.comparison-table td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}.comparison-table thead th{background:var(--color-bg-muted);font-size:1rem}.comparison-table tbody th{background:var(--color-bg-muted);font-weight:600;width:180px;position:sticky;left:0}.matrix-table{border-collapse:collapse;min-width:600px}.matrix-table th,.matrix-table td{border:1px solid var(--color-border);padding:4px 8px;text-align:center}.matrix-cell select{width:100%}.cell-allowed{background:var(--color-status-allowed-bg);color:var(--color-status-allowed)}.cell-conditional{background:var(--color-status-conditional-bg);color:var(--color-status-conditional)}.cell-not_allowed{background:var(--color-status-blocked-bg);color:var(--color-status-blocked)}.cell-unknown{background:var(--color-status-unknown-bg);color:var(--color-status-unknown)}.form-grid{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:var(--space-2) var(--space-4);align-items:start}.form-grid label{font-weight:600;padding-top:var(--space-2)}.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius);font:inherit}.form-grid textarea{min-height:80px}.admin-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.admin-nav a{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:var(--color-text);background:var(--wpi-white)}.admin-nav a.active{background:var(--wpi-crimson);color:var(--wpi-white);border-color:var(--wpi-crimson)}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left}.banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-bg-muted);border-left:4px solid var(--wpi-crimson);margin-bottom:var(--space-4)}.banner.error{border-left-color:var(--color-status-blocked);background:var(--color-status-blocked-bg);color:var(--color-status-blocked)}
