:root{--wpi-crimson: #ac2b37;--wpi-crimson-dark: #871f29;--wpi-crimson-deep: #6d1820;--wpi-gray: #a9b0b7;--wpi-black: #1f1f1f;--wpi-white: #ffffff;--color-bg: #f5f6f7;--color-surface: var(--wpi-white);--color-bg-muted: #eef0f2;--color-text: var(--wpi-black);--color-text-muted: #5c6066;--color-border: #dcdee1;--color-border-strong: #bcc0c4;--color-accent: var(--wpi-crimson);--color-accent-soft: #f6e9ea;--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: 7px;--radius-lg: 12px;--shadow-card: 0 1px 2px rgba(31,31,31,.04), 0 4px 12px -6px rgba(31,31,31,.08);--shadow-card-hover: 0 4px 10px -6px rgba(31,31,31,.1), 0 14px 28px -12px rgba(31,31,31,.14);--shadow-header: 0 1px 4px rgba(0,0,0,.12);--font-sans: "Source Sans 3", "Myriad Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-display: var(--font-sans)}*{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.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}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-4);box-shadow:var(--shadow-header);position:relative;z-index:10}.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-family:var(--font-display);font-size:1.45rem;font-weight:600;letter-spacing:-.01em}.app-header a{color:var(--wpi-white)}.app-header nav a{position:relative;text-decoration:none;font-weight:500;padding-bottom:2px}.app-header nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:var(--wpi-white);transform:scaleX(0);transform-origin:left;transition:transform .16s ease}.app-header nav a:hover:after{transform:scaleX(1)}.app-header .btn{background:#ffffff1f;border-color:#ffffff73;color:var(--wpi-white)}.app-header .btn:hover{background:#ffffff38}.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>h1,.section>h2{font-family:var(--font-display);font-weight:700;margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);font-size:1.35rem}.section>h1{font-size:1.8rem;line-height:1.2}.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 (min-width: 901px){.finder-split>.section:first-child{border-right:1px solid var(--color-border);padding-right:var(--space-6)}}@media (max-width: 900px){.finder-split{grid-template-columns:1fr}.finder-split>.section:first-child{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-6)}}.finder-split+.section{margin-top:var(--space-8);border-top:1px solid var(--color-border);padding-top:var(--space-6)}.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)}.lede{font-size:1.05rem;max-width:68ch}.btn{font-weight:600;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.btn:active{transform:translateY(1px)}.btn-primary:hover{background:var(--wpi-crimson-dark);filter:none}.service-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--color-border-strong)}.service-card.selected{box-shadow:0 0 0 2px var(--wpi-crimson) inset,var(--shadow-card)}.service-card .name{font-size:1.1rem}.question-group{box-shadow:var(--shadow-card);transition:border-color .14s ease,box-shadow .14s ease}.question-group[open]{border-color:var(--color-border-strong)}.finder-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.finder-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--color-border-strong)}.admin-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.admin-bar .admin-nav{margin-bottom:0}.finder-picker{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:var(--color-text-muted);white-space:nowrap}.finder-picker select{font:inherit;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface)}.badge-shared{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--wpi-crimson);background:var(--color-accent-soft);border-radius:999px;padding:1px 8px;vertical-align:middle}.row-excluded{opacity:.5}.admin-nav a{border-radius:999px;font-weight:500;transition:background .12s ease,border-color .12s ease,color .12s ease}.admin-nav a:hover{background:var(--color-bg-muted);border-color:var(--color-border-strong)}.app-shell>main>div>.section,.app-shell>main>div>.finder-split{animation:area-rise .48s cubic-bezier(.22,1,.36,1) both}.app-shell>main>div>*:nth-child(2){animation-delay:70ms}.app-shell>main>div>*:nth-child(3){animation-delay:.14s}.app-shell>main>div>*:nth-child(4){animation-delay:.21s}@keyframes area-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
