:root{--ink:#13213a;--ink-soft:#546179;--ink-muted:#748098;--line:#dce3ee;--line-soft:#edf1f6;--page:#f5f7fa;--panel:#fff;--panel-subtle:#fbfcfe;--brand-blue:#063551;--brand-blue-deep:#03273d;--brand-orange:#f6a11a;--brand-orange-deep:#e98e08;--brand-green:#039a64;--shadow:0 18px 45px #1f2f4a1a;--shadow-soft:0 8px 24px #1f2f4a14;--header-height:86px;--sidebar-width:326px}*{box-sizing:border-box}body{background:linear-gradient(180deg, #ffffffdb 0, #f5f7faf2 220px), var(--page);min-width:1180px;color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}button,input{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh}.app-header{z-index:30;height:var(--header-height);color:#fff;background:var(--brand-blue-deep);position:fixed;top:0;left:0;right:0;overflow:hidden;box-shadow:0 16px 32px #08233433}.header-bg{background:linear-gradient(90deg,#021c2bf5,#094d6ab3,#021c2bf0),radial-gradient(900px 180px at 52% 105%,#4b96b95c,#0000 72%),linear-gradient(135deg,#ffffff1a 0 1px,#0000 1px 100%) 0 0/48px 48px;position:absolute;inset:0}.header-bg:after{content:"";opacity:.9;background:linear-gradient(148deg,#0000 0 12%,#031826eb 12% 27%,#0000 27%),linear-gradient(128deg,#0000 0 23%,#05273aeb 23% 36%,#0000 36%),linear-gradient(118deg,#0000 0 43%,#0a374edb 43% 53%,#0000 53%);height:58px;position:absolute;bottom:-1px;left:24%;right:0}.header-content{z-index:1;justify-content:space-between;align-items:center;height:100%;padding:0 30px;display:flex;position:relative}.brand-lockup{flex:auto;align-items:center;min-width:0;display:flex}.preventty-logo-image{object-fit:contain;width:auto;height:58px;display:block}.app-header h1{letter-spacing:0;text-align:right;text-shadow:0 2px 12px #00000042;flex:0 240px;min-width:0;margin:0;font-size:28px;font-weight:650}.dashboard-layout{min-height:100vh;padding-top:var(--header-height)}.filter-sidebar{top:calc(var(--header-height) + 24px);z-index:20;width:var(--sidebar-width);border:1px solid var(--line-soft);box-shadow:var(--shadow-soft);background:#fffffff5;border-radius:8px;flex-direction:column;display:flex;position:fixed;bottom:24px;left:24px;overflow:hidden}.sidebar-titlebar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 14px;display:flex}.panel-eyebrow{color:var(--ink-muted);text-transform:uppercase;margin-bottom:3px;font-size:12px;font-weight:650;display:block}.sidebar-titlebar h2{color:var(--ink);margin:0;font-size:18px;font-weight:650}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--ink-soft);background:#fff;border-radius:8px;place-items:center;display:inline-grid}.icon-button:hover{color:var(--ink);border-color:#b8c5d7}.filters-scroll{scrollbar-color:#b7c2d3 transparent;scrollbar-width:thin;flex:1;min-height:0;padding:12px 14px;overflow-y:auto}.filters-scroll::-webkit-scrollbar{width:10px}.table-shell::-webkit-scrollbar{width:10px}.option-list::-webkit-scrollbar{width:10px}.filters-scroll::-webkit-scrollbar-thumb{background:#b7c2d3 padding-box padding-box;border:3px solid #0000;border-radius:999px}.table-shell::-webkit-scrollbar-thumb{background:#b7c2d3 padding-box padding-box;border:3px solid #0000;border-radius:999px}.option-list::-webkit-scrollbar-thumb{background:#b7c2d3 padding-box padding-box;border:3px solid #0000;border-radius:999px}.filter-dropdown{margin-bottom:10px}.filter-trigger{width:100%;min-height:58px;color:var(--ink);text-align:left;background:#fff;border:1px solid #d9e1ec;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex}.filter-trigger:hover,.filter-dropdown.is-open .filter-trigger{border-color:#b8c5d7;box-shadow:0 6px 16px #1f2f4a14}.filter-trigger>span{min-width:0}.filter-trigger svg{color:var(--ink-muted);flex:none;transition:transform .16s}.filter-dropdown.is-open .filter-trigger svg{transform:rotate(180deg)}.filter-label{color:var(--ink);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.required-mark{background:var(--brand-orange);border-radius:50%;width:6px;height:6px}.filter-value{width:100%;max-width:240px;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:400;display:block;overflow:hidden}.filter-value.has-value{color:var(--brand-blue)}.filter-menu{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-top:8px;overflow:hidden;box-shadow:0 18px 32px #16243a24}.filter-search{border:1px solid var(--line);color:var(--ink-muted);background:#fff;border-radius:8px;align-items:center;gap:8px;margin:10px;padding:8px 10px;display:flex}.filter-search input{width:100%;min-width:0;color:var(--ink);border:0;outline:0;font-size:13px}.clear-filter{color:var(--ink-muted);background:0 0;border:0;align-items:center;gap:6px;margin:0 10px 8px;padding:0;font-size:12px;font-weight:500;display:inline-flex}.clear-filter:hover{color:var(--brand-blue)}.option-list{max-height:246px;padding:2px 8px 8px;overflow-y:auto}.option-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:7px;padding:9px 10px;font-size:13px;font-weight:400;display:block}.option-item:hover,.option-item.is-selected{color:var(--brand-blue);background:#eef5f8}.no-options{color:var(--ink-muted);padding:12px 10px;font-size:13px;font-weight:500}.sidebar-footer{border-top:1px solid var(--line-soft);background:linear-gradient(#ffffffdb,#fff 36%);flex:none;padding:16px}.apply-button{background:linear-gradient(180deg, #ffb23b, var(--brand-orange-deep));color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;font-weight:650;display:inline-flex;box-shadow:0 12px 26px #e98e0847}.apply-button:hover:not(:disabled){filter:brightness(1.02)}.apply-button:disabled{opacity:.55;box-shadow:none}.filters-loading{gap:12px;padding:18px;display:grid}.filters-loading span{background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7) 0 0/220% 100%;border-radius:8px;height:58px;animation:1.4s linear infinite shimmer}.content-pane{min-width:0;padding:24px 24px 32px calc(var(--sidebar-width) + 48px)}.results-card{min-height:calc(100vh - var(--header-height) - 48px);border:1px solid var(--line-soft);box-shadow:var(--shadow);background:#fffffff7;border-radius:8px;overflow:hidden}.results-toolbar{border-bottom:1px solid var(--line-soft);background:linear-gradient(#fff,#fbfcfe);justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:0 22px;display:flex}.results-title{color:var(--ink);font-size:17px;font-weight:650}.results-count{min-width:112px;color:var(--ink-soft);text-align:right;font-size:14px;font-weight:650}.table-shell{height:calc(100vh - var(--header-height) - 123px);background:#fff;min-height:430px;position:relative;overflow:auto}.table-head,.table-row{grid-template-columns:minmax(180px,1fr) minmax(260px,1.2fr) minmax(130px,.45fr);min-width:760px;display:grid}.table-head{z-index:5;border-bottom:1px solid var(--line);min-height:58px;color:var(--ink);background:#f8fafc;position:sticky;top:0}.table-cell{overflow-wrap:anywhere;color:#111827;align-items:center;gap:10px;min-width:0;padding:0 24px;font-size:14px;font-weight:400;display:flex}.table-head .table-cell{color:#2f3b4f;font-size:13px;font-weight:600}.table-body{min-width:760px;position:relative}.table-row{border-bottom:1px solid var(--line-soft);background:#fff;min-height:62px;position:absolute;top:0;left:0;right:0}.table-row:hover{background:#fbfdff}.rating-pill{border-radius:999px;justify-content:center;align-items:center;min-width:74px;min-height:30px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.rating-pill.strong{color:var(--brand-green);background:#e8f8f1}.rating-pill.medium{color:#b76d00;background:#fff6e5}.rating-pill.low{color:#c73b22;background:#fff0ec}.rating-pill.neutral{color:var(--ink-muted);background:#edf1f6}.table-state{min-height:340px;color:var(--ink-muted);text-align:center;place-items:center;padding:28px;font-size:15px;font-weight:500;display:grid}.error-state{color:#b42a20}@keyframes shimmer{to{background-position:-220% 0}}
