:root{--blue-950: #092b63;--blue-900: #0e3d7e;--blue-700: #176ee8;--blue-500: #2f8dff;--cyan-500: #26c6df;--teal-500: #13b69f;--green-500: #0eb981;--red-500: #ee3f48;--orange-500: #f38b21;--ink: #12264a;--muted: #5e7295;--soft: #f4f9ff;--line: rgba(118, 164, 216, .28);--panel: rgba(255, 255, 255, .82);--panel-strong: rgba(255, 255, 255, .95);--shadow: 0 22px 54px rgba(28, 89, 155, .13);--shadow-soft: 0 12px 30px rgba(28, 89, 155, .09);--radius: 16px;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,Inter,system-ui,sans-serif;color:var(--ink);font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:1200px;min-height:100vh;background:#eef7ff}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}input,select,textarea{width:100%;min-width:0;border:1px solid rgba(128,170,220,.42);background:#ffffffbd;color:var(--ink);border-radius:8px;outline:0;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}input,select{height:38px;padding:0 12px}textarea{min-height:78px;padding:10px 12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#2f8dffd9;box-shadow:0 0 0 3px #2f8dff1f;background:#fff}.auth-loading,.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f4faff1f,#e8f4ff57),var(--bg-image, #eef6ff) center top / cover no-repeat fixed}.login-card{width:min(420px,100%);display:grid;gap:16px;padding:28px 28px 22px;border-radius:18px;background:#fffffff5;box-shadow:0 18px 48px #0f4c811f}.login-card h1{margin:0;font-size:22px}.login-card p,.login-card small{margin:0;color:var(--text-muted, #5b6b7c);line-height:1.5}.login-card label{display:grid;gap:8px}.login-card label span{font-size:13px;color:var(--text-muted, #5b6b7c)}.login-card select,.login-card input{width:100%}.login-error{padding:10px 12px;border-radius:10px;background:#dc354514;color:#b42318;font-size:14px}.sync-toast{position:fixed;top:74px;right:24px;z-index:60;display:flex;align-items:center;gap:10px;max-width:420px;padding:12px 14px;border-radius:12px;border:1px solid rgba(212,130,30,.35);background:#fff8ec;color:#8a5a12;font-size:14px;box-shadow:0 10px 26px #462e0829}.sync-toast button{border:none;background:#d4821e24;color:#8a5a12;border-radius:8px;padding:4px 10px;cursor:pointer;white-space:nowrap}.error-boundary{min-height:100vh;display:grid;place-content:center;gap:12px;padding:32px;text-align:center;background:#f4f8fd;color:#1c3d5a}.error-boundary pre{max-width:640px;overflow:auto;padding:12px;border-radius:10px;background:#1c3d5a0f;text-align:left;font-size:13px}.error-boundary button{justify-self:center;padding:10px 22px;border:none;border-radius:10px;background:#1f6fd6;color:#fff;cursor:pointer;font-size:15px}.app-shell{min-height:100vh;position:relative;padding:0 24px 34px 174px;overflow-x:hidden;background:linear-gradient(180deg,#f4faff1f,#e8f4ff57),var(--bg-image) center top / cover no-repeat fixed}.app-header{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20;margin:0 -24px 0 -174px;padding:0 24px 0 42px;background:linear-gradient(180deg,#f4faffd1,#f4faff85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(152,190,230,.28)}.brand-area{display:flex;align-items:center;gap:16px;min-width:0}.brand-emblem{width:62px;height:62px;flex:0 0 auto;display:block;object-fit:contain;border-radius:50%;background:#ffffffe6;box-shadow:0 12px 30px #166ee333}.hospital-copy{display:grid;gap:4px;white-space:nowrap}.hospital-copy strong{color:#06316d;font-size:23px;font-weight:900;letter-spacing:0}.hospital-copy span{color:#1c7775;font-size:11px;font-weight:800}.header-divider{width:1px;height:42px;background:#5282b86b;margin-left:8px}.brand-area h1{margin:0;color:#082b66;font-size:30px;font-weight:950;letter-spacing:0;white-space:nowrap}.workbench-pill{height:30px;display:inline-flex;align-items:center;padding:0 14px;color:#176ee8;background:#ffffffb3;border:1px solid rgba(47,141,255,.28);border-radius:999px;font-size:15px;font-weight:800;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:12px;color:#203b69;white-space:nowrap}.header-time,.user-chip,.api-state{height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border-radius:8px}.header-time{font-size:15px;font-weight:700}.user-chip{background:#ffffffc7;border:1px solid var(--line);color:#25406c;box-shadow:var(--shadow-soft)}.api-state{font-size:13px;font-weight:900;border:1px solid var(--line);background:#ffffffb8}.api-state.online{color:#087f63}.api-state.offline{color:#d64b35}.side-nav{position:fixed;z-index:25;left:18px;top:96px;bottom:26px;width:132px;display:flex;flex-direction:column;align-content:start;gap:8px;padding:14px 10px;border-radius:8px;background:#ffffffe0;border:1px solid rgba(152,190,230,.34);box-shadow:0 10px 28px #1c599b17;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.side-nav-item{height:42px;display:flex;align-items:center;justify-content:flex-start;gap:9px;color:#4e6386;background:transparent;border-radius:6px;padding:0 10px;font-size:14px;font-weight:800}.side-nav-item.active,.side-nav-item:hover{color:#176ee8;background:#eef6ff;border:1px solid rgba(47,141,255,.34);box-shadow:none}.side-nav-icon{position:relative;display:grid;place-items:center}.side-nav-icon em,.bottom-dock em{position:absolute;min-width:22px;height:22px;line-height:22px;border-radius:50%;color:#fff;background:var(--red-500);font-size:12px;font-style:normal;font-weight:900;box-shadow:0 6px 15px #ee3f4840}.side-nav-icon em{right:-12px;top:-12px}.app-main{max-width:1490px;margin:0 auto}.page-grid,.manual-layout,.single-page,.loop-layout{padding-top:24px}.home-grid{display:grid;grid-template-columns:minmax(860px,1fr) 540px;grid-template-rows:auto auto;gap:14px 22px}.left-stack,.right-stack{min-width:0}.privacy-banner{height:44px;width:min(820px,100%);display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px;color:#38557e;background:#ffffffa8;border:1px solid rgba(152,190,230,.38);border-radius:999px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:15px;font-weight:800}.privacy-banner svg{color:#2179ed}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{position:relative;min-height:150px;display:grid;grid-template-columns:112px 1fr;align-items:center;gap:8px;padding:14px 18px 14px 14px;text-align:left;color:var(--ink);background:linear-gradient(145deg,#fffffff5,#f7fcffd1);border:1px solid rgba(165,198,233,.5);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.module-card:hover{transform:translateY(-3px);border-color:#2f8dff94;box-shadow:0 26px 56px #1c599b29}.module-card img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(43,94,159,.12))}.module-card strong{display:block;font-size:22px;font-weight:950;color:#101f3e;line-height:1.15;white-space:nowrap}.module-card span:not(.module-badge){display:block;margin-top:9px;white-space:pre-line;color:#5f7391;font-size:13px;line-height:1.45;font-weight:750}.module-badge{position:absolute;right:18px;top:18px;width:34px;height:34px;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#ff5963,#e92e3e);border-radius:50%;font-size:18px;font-weight:950;box-shadow:0 9px 22px #ee3f484d}.procurement-home{padding-top:14px;display:grid;gap:12px}.procurement-home>.left-stack,.procurement-home>.right-stack,.procurement-home>.home-kpis,.procurement-home>.quick-actions{display:none}.procurement-compliance,.procurement-metrics,.procurement-panel{background:#ffffffeb;border:1px solid rgba(154,188,226,.48);border-radius:8px;box-shadow:0 10px 24px #1f539412;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.procurement-compliance{min-height:64px;display:grid;grid-template-columns:1.15fr 1fr 1.55fr auto;align-items:center;gap:0;overflow:hidden}.compliance-item{height:100%;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:12px 18px;border-right:1px solid rgba(154,188,226,.38)}.compliance-icon{width:34px;height:34px;display:grid;place-items:center;color:#176ee8;background:#eef6ff;border:1px solid rgba(47,141,255,.2);border-radius:6px}.compliance-item span,.procurement-metric span,.panel-toolbar span,.panel-title-line span{color:#5d6f8d;font-size:12px;font-weight:800}.compliance-item strong{display:block;margin-top:2px;color:#10284f;font-size:15px;font-weight:900}.compliance-item em,.procurement-metric em{display:block;margin-top:3px;color:#6b7f9e;font-size:12px;font-style:normal;font-weight:700}.text-link-button,.panel-title-line button,.table-footer button{color:#176ee8;background:transparent;font-size:13px;font-weight:900}.text-link-button{padding:0 20px}.procurement-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;overflow:hidden}.procurement-metric{position:relative;min-height:126px;padding:20px 18px 14px;border-right:1px solid rgba(154,188,226,.34);overflow:hidden}.procurement-metric:last-child{border-right:0}.procurement-metric strong{display:block;margin-top:10px;color:#111c35;font-size:34px;line-height:1;font-weight:950}.procurement-metric small{margin-left:3px;font-size:15px;font-weight:900}.procurement-metric svg{position:absolute;right:12px;bottom:13px;width:120px;height:36px;fill:none}.procurement-metric path{stroke:#176ee8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.procurement-metric.green strong{color:#087f63}.procurement-metric.red strong{color:#d9303e}.procurement-metric.blue strong{color:#176ee8}.procurement-main-grid{display:grid;grid-template-columns:minmax(860px,1fr) 390px;gap:12px}.procurement-risk-worklist{min-height:438px;padding:16px}.panel-toolbar,.panel-title-line{display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-toolbar h2,.panel-title-line h3{margin:0;color:#10284f;font-size:18px;font-weight:950;letter-spacing:0}.panel-toolbar h2 b{margin-left:8px;color:#e53945}.toolbar-actions{display:flex;align-items:center;gap:8px}.toolbar-actions select{width:142px;height:32px;border-radius:6px;font-size:13px;background:#fff}.table-search{width:190px;height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#8a9ab3;background:#fff;border:1px solid rgba(154,188,226,.5);border-radius:6px;font-size:13px;font-weight:700}.table-search input{height:30px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#273f66;font-size:13px;font-weight:800}.table-search input:focus{box-shadow:none}.table-search input::placeholder{color:#8a9ab3}.enterprise-table{margin-top:14px;border:1px solid rgba(154,188,226,.42);border-radius:6px;overflow:hidden}.enterprise-head,.enterprise-row{display:grid;grid-template-columns:1.25fr 1.2fr .65fr 1fr .75fr .8fr .75fr .85fr .7fr;align-items:center;column-gap:12px}.enterprise-head{height:38px;padding:0 12px;color:#536884;background:#f3f7fc;border-bottom:1px solid rgba(154,188,226,.42);font-size:12px;font-weight:900}.enterprise-row{min-height:43px;padding:0 12px;color:#263a5e;background:#fff;border-bottom:1px solid rgba(154,188,226,.25);font-size:13px;font-weight:750}.enterprise-row:last-child{border-bottom:0}.enterprise-row.selected{background:#eef6ff;box-shadow:inset 3px 0 #176ee8}.enterprise-row strong{color:#11284e;font-size:14px}.enterprise-row button{height:28px;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.55);border-radius:5px;font-size:13px;font-weight:900}.status-text{color:#176ee8}.status-text.done{color:#0c8b68}.sla-text{font-weight:950}.sla-text.urgent{color:#d9303e}.sla-text.warning{color:#f08a24}.sla-text.normal{color:#176ee8}.sla-text.done{color:#0c8b68}.enterprise-empty{height:86px;display:grid;place-items:center;color:#7b8aa2;background:#fff;font-size:13px;font-weight:800}.table-footer{height:42px;display:flex;align-items:center;justify-content:space-between;color:#6b7f9e;font-size:12px;font-weight:800}.procurement-side-stack{display:grid;gap:12px;align-content:start}.model-governance,.pdca-summary,.audit-feed{padding:16px}.model-governance dl{margin:14px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.model-governance dt{color:#7b8aa2;font-size:12px;font-weight:800}.model-governance dd{margin:3px 0 0;color:#15284b;font-size:13px;font-weight:900}.model-governance dd.ok{color:#0c8b68}.model-governance dd.warn{color:#d64b35}.secondary-action.compact{width:100%;height:34px;display:flex;align-items:center;justify-content:center;gap:8px;color:#176ee8;background:#f4f9ff;border:1px solid rgba(47,141,255,.28);border-radius:6px;font-size:13px;font-weight:900}.pdca-summary{display:grid;grid-template-columns:118px 1fr;gap:12px}.pdca-summary .panel-title-line{grid-column:1 / -1}.pdca-ring{width:108px;height:108px;display:grid;place-items:center;align-content:center;color:#176ee8;background:radial-gradient(circle at center,#fff 0 56%,transparent 57%),conic-gradient(#176ee8 0,#176ee8 72%,#15b39b 72%,#15b39b 86%,#f6a63b 86%,#f6a63b 96%,#e94a56 96%,#e94a56);border-radius:50%}.pdca-ring strong{font-size:24px;line-height:1}.pdca-ring span{font-size:12px;font-weight:900}.pdca-summary ul,.audit-feed{margin:0}.pdca-summary ul{padding:0;list-style:none;display:grid;gap:8px}.pdca-summary li{display:flex;justify-content:space-between;color:#485d7d;font-size:13px;font-weight:800}.pdca-summary li b{color:#10284f}.audit-feed-row{display:grid;grid-template-columns:54px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(154,188,226,.28);color:#263a5e;font-size:13px;font-weight:800}.audit-feed-row:last-child{border-bottom:0}.audit-feed-row time{color:#6b7f9e}.audit-feed-row small{display:block;margin-top:2px;color:#7b8aa2;font-size:12px;font-weight:800}.procurement-bottom-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr .9fr;gap:12px}.trend-panel,.ranking-panel,.interface-health,.quick-entry-panel{min-height:222px;padding:16px}.trend-chart{width:100%;height:150px;margin-top:10px;fill:none}.trend-chart .grid{stroke:#9abce273;stroke-width:1}.trend-chart .trend-main{stroke:#176ee8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-chart .trend-compare{stroke:#9aaec8;stroke-width:2;stroke-dasharray:4 6;stroke-linecap:round}.chart-legend{display:flex;gap:18px;color:#6b7f9e;font-size:12px;font-weight:800}.ranking-row,.interface-row{display:grid;align-items:center;min-height:34px;border-bottom:1px solid rgba(154,188,226,.24);color:#2c4164;font-size:13px;font-weight:800}.ranking-row{grid-template-columns:28px 1fr 58px 98px}.ranking-row b{color:#176ee8}.ranking-row strong{color:#10284f}.ranking-row em{color:#7b8aa2;font-style:normal;text-align:right}.interface-row{grid-template-columns:1fr 64px 56px 46px}.interface-row strong{color:#0c8b68}.quick-entry-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-entry-grid button{height:54px;display:grid;place-items:center;align-content:center;gap:5px;color:#176ee8;background:#f7fbff;border:1px solid rgba(154,188,226,.46);border-radius:6px;font-size:12px;font-weight:900}.l4-page{padding-top:14px;display:grid;gap:12px}.l4-hero{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px}.l4-hero h2{margin:0;color:#0c2b61;font-size:24px;font-weight:950}.l4-hero span{display:block;margin-top:5px;color:#5e7192;font-size:13px;font-weight:800}.l4-backend-badge{min-width:140px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:6px;border:1px solid rgba(47,141,255,.26);color:#176ee8;background:linear-gradient(180deg,#fff,#f1f8ff);box-shadow:0 10px 22px #2f8dff1a;font-size:13px;font-weight:950}.l4-backend-badge.local{color:#f08a24;border-color:#f08a2452;background:#fff8ed}.l4-backend-badge.backend{color:#0c8b68;border-color:#0c8b6847;background:#effff9}.l4-role-badge{height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;color:#28466f;background:#f5f9ff;border:1px solid rgba(154,188,226,.42);border-radius:6px;font-size:13px;font-weight:950}.l4-score-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.l4-score-card{min-height:94px;padding:16px;background:#ffffffed;border:1px solid rgba(154,188,226,.48);border-radius:8px;box-shadow:0 10px 24px #1f539412}.l4-score-card span{color:#607392;font-size:12px;font-weight:850}.l4-score-card strong{display:block;margin-top:8px;color:#13294d;font-size:32px;line-height:1;font-weight:950}.l4-score-card em{display:block;margin-top:7px;color:#6e809c;font-size:12px;font-style:normal;font-weight:800}.l4-score-card.green strong,.ok{color:#0c8b68}.l4-score-card.blue strong{color:#176ee8}.l4-score-card.orange strong,.warn{color:#f08a24}.risk{color:#d9303e}.l4-main-grid{display:grid;grid-template-columns:minmax(860px,1fr) 430px;gap:12px}.l4-disease-panel,.l4-workflow-panel,.l4-rule-engine,.l4-model-panel,.l4-data-center,.l4-interface-acceptance,.l4-cohort,.l4-acceptance,.l4-operations-panel,.l4-region{padding:16px}.l4-workflow-panel{display:grid;gap:14px}.l4-stage-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.l4-stage-strip div{height:48px;display:flex;align-items:center;gap:9px;padding:0 12px;color:#263a5e;background:#f5f9ff;border:1px solid rgba(154,188,226,.42);border-radius:6px;font-size:13px;font-weight:900}.l4-stage-strip b{width:24px;height:24px;display:grid;place-items:center;color:#fff;background:#176ee8;border-radius:50%;font-size:12px}.l4-workflow-table{border:1px solid rgba(154,188,226,.42);border-radius:6px;overflow:hidden}.l4-workflow-head,.l4-workflow-row{display:grid;grid-template-columns:.9fr .62fr 1.35fr .9fr .86fr .6fr .78fr 1.18fr;align-items:center;gap:10px}.l4-workflow-head{height:38px;padding:0 12px;color:#536884;background:#f3f7fc;border-bottom:1px solid rgba(154,188,226,.42);font-size:12px;font-weight:900}.l4-workflow-row{min-height:52px;padding:0 12px;color:#263a5e;background:#fff;border-bottom:1px solid rgba(154,188,226,.24);font-size:13px;font-weight:820}.l4-workflow-row:last-child{border-bottom:0}.l4-workflow-row strong{color:#10284f}.workflow-stage{color:#176ee8;font-weight:950}.workflow-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.workflow-actions button{height:28px;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.5);border-radius:5px;font-size:12px;font-weight:900}.workflow-actions button:disabled{color:#97a6bb;background:#f5f7fa;border-color:#9abce247;cursor:not-allowed}.l4-matrix{margin-top:14px;border:1px solid rgba(154,188,226,.42);border-radius:6px;overflow:hidden}.l4-matrix-head,.l4-matrix-row{display:grid;grid-template-columns:1.3fr .7fr .6fr .7fr 1.15fr 1fr .68fr;align-items:center;gap:12px}.l4-matrix-head{height:38px;padding:0 12px;color:#536884;background:#f3f7fc;border-bottom:1px solid rgba(154,188,226,.42);font-size:12px;font-weight:900}.l4-matrix-row{min-height:54px;padding:0 12px;color:#263a5e;background:#fff;border-bottom:1px solid rgba(154,188,226,.24);font-size:13px;font-weight:800}.l4-matrix-row:last-child{border-bottom:0}.l4-matrix-row strong{color:#10284f;font-size:15px}.l4-matrix-row small{display:block;margin-top:3px;color:#6c7f9b;font-size:12px;font-weight:750}.l4-matrix-row b{color:#d9303e}.l4-matrix-row button,.l4-region button,.cohort-builder button{height:30px;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.55);border-radius:5px;font-size:12px;font-weight:900}.l4-side-stack{display:grid;gap:12px;align-content:start}.l4-rule-row{padding:12px 0;border-bottom:1px solid rgba(154,188,226,.26)}.l4-rule-row:last-child{border-bottom:0}.l4-rule-row label{display:grid;grid-template-columns:18px 52px 1fr;align-items:center;gap:8px;color:#263a5e;font-size:13px;font-weight:850}.l4-rule-row label input,.l4-check-row input{width:16px;height:16px}.l4-rule-row label span{color:#176ee8;font-weight:950}.l4-rule-row label strong{color:#1b3157;font-size:13px}.l4-rule-row>div{display:grid;grid-template-columns:1fr 58px;gap:10px;align-items:center;margin-top:8px}.l4-rule-row input[type=range]{height:24px;padding:0}.l4-rule-row em{color:#10284f;font-style:normal;font-size:12px;font-weight:900}.l4-model-row{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 64px 48px 70px;gap:10px;align-items:center;border-bottom:1px solid rgba(154,188,226,.24)}.l4-model-row strong{min-width:0;color:#10284f;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.l4-model-row span{grid-column:1;min-width:0;color:#6c7f9b;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.l4-model-row em,.l4-model-row b,.l4-model-row small{grid-row:1 / span 2;font-style:normal;font-size:12px;font-weight:950}.l4-model-row em{grid-column:2}.l4-model-row b{grid-column:3;color:#176ee8}.l4-model-row small{grid-column:4;color:#6c7f9b;overflow-wrap:anywhere}.model-governance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.model-governance-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-weight:900}.model-governance-actions button:disabled{color:#9aabc2;background:#f5f7fb}.model-card-review{display:grid;gap:8px;margin-top:12px;padding:12px;background:linear-gradient(135deg,#f7fbff,#eef7ff);border:1px solid rgba(47,122,240,.18);border-radius:6px}.model-card-review strong{color:#10284f;font-size:14px}.model-card-review>span,.model-card-review p{margin:0;color:#5f7390;font-size:12px;font-weight:800;line-height:1.55}.model-card-review dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.model-card-review dl div{min-height:46px;padding:8px;background:#ffffffd1;border-radius:6px}.model-card-review dt{color:#7890ac;font-size:11px;font-weight:800}.model-card-review dd{margin:2px 0 0;color:#176ee8;font-size:15px;font-weight:950}.model-card-review.done dd,.model-card-review.done strong{color:#159167}.l4-bottom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.l4-interface-acceptance{grid-column:span 2}.l4-source-row{min-height:34px;display:grid;grid-template-columns:1fr 68px 60px 78px;align-items:center;border-bottom:1px solid rgba(154,188,226,.22);color:#263a5e;font-size:13px;font-weight:820}.l4-source-row:last-child{border-bottom:0}.interface-acceptance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 10px}.interface-acceptance-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-weight:900}.interface-acceptance-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.interface-acceptance-list{display:grid;gap:8px}.interface-acceptance-row{min-height:54px;display:grid;grid-template-columns:minmax(92px,1fr) minmax(120px,1.2fr) 78px 62px 82px;align-items:center;gap:8px;padding:9px 10px;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;color:#263a5e;font-size:12px;font-weight:850}.interface-acceptance-row strong,.interface-acceptance-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.interface-acceptance-row strong{color:#10284f}.interface-acceptance-row em{color:#536884;font-style:normal;font-weight:900}.interface-acceptance-row b,.interface-acceptance-row small{text-align:right;font-weight:950}.interface-acceptance-row.done b,.interface-acceptance-row.done small{color:#0c8b68}.interface-acceptance-row.pending b,.interface-acceptance-row.pending small{color:#f08a24}.operations-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 10px}.operations-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-weight:900}.operations-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.identity-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.identity-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.identity-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.identity-session-list{display:grid;gap:8px}.identity-session-row{min-height:46px;display:grid;grid-template-columns:minmax(94px,1fr) minmax(116px,1.1fr) minmax(96px,1fr) 58px;align-items:center;gap:8px;padding:8px 10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.identity-session-row strong,.identity-session-row span,.identity-session-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-session-row em{color:#607894;font-style:normal}.identity-session-row b{text-align:right;font-weight:950}.identity-session-row.done b{color:#0c8b68}.identity-session-row.pending b{color:#f08a24}.identity-session-row.closed b{color:#7a8da9}.compliance-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.compliance-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.compliance-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.compliance-evidence-list,.compliance-risk-list{display:grid;gap:8px}.compliance-risk-list{margin-top:10px}.compliance-evidence-row,.compliance-risk-row{min-height:46px;display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(128px,1fr) minmax(82px,.7fr) 64px;align-items:center;gap:8px;padding:8px 10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.compliance-evidence-row strong,.compliance-evidence-row span,.compliance-evidence-row em,.compliance-risk-row strong,.compliance-risk-row span,.compliance-risk-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compliance-evidence-row em,.compliance-risk-row em{color:#607894;font-style:normal}.compliance-evidence-row b,.compliance-risk-row b{text-align:right;font-weight:950}.compliance-evidence-row.done b,.compliance-risk-row.done b{color:#0c8b68}.compliance-evidence-row.pending b,.compliance-risk-row.pending b{color:#f08a24}.compliance-risk-row.risk b{color:#e54949}.dossier-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.dossier-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.dossier-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.dossier-summary-list,.dossier-signoff-list{display:grid;gap:8px}.dossier-signoff-list{margin-top:10px}.dossier-summary-row,.dossier-signoff-row{min-height:46px;display:grid;grid-template-columns:minmax(128px,1.2fr) minmax(128px,1fr) minmax(96px,.8fr) 78px;align-items:center;gap:8px;padding:8px 10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.dossier-summary-row strong,.dossier-summary-row span,.dossier-summary-row em,.dossier-signoff-row strong,.dossier-signoff-row span,.dossier-signoff-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dossier-summary-row em,.dossier-signoff-row em{color:#607894;font-style:normal}.dossier-summary-row b,.dossier-signoff-row b{text-align:right;font-weight:950}.dossier-summary-row.done b,.dossier-signoff-row.done b{color:#0c8b68}.dossier-summary-row.pending b,.dossier-signoff-row.pending b{color:#f08a24}.dossier-summary-row.risk b{color:#e54949}.uat-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.uat-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.uat-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.uat-suite-list,.uat-execution-list{display:grid;gap:8px}.uat-execution-list{margin-top:10px}.uat-suite-row,.uat-execution-row{min-height:46px;display:grid;align-items:center;gap:8px;padding:8px 10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.uat-suite-row{grid-template-columns:minmax(96px,.65fr) minmax(168px,1.35fr) minmax(120px,1fr) 86px}.uat-execution-row{grid-template-columns:minmax(96px,.7fr) minmax(150px,1.2fr) minmax(150px,1.25fr) 54px}.uat-suite-row strong,.uat-suite-row span,.uat-suite-row em,.uat-execution-row strong,.uat-execution-row span,.uat-execution-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uat-suite-row em,.uat-execution-row em{color:#607894;font-style:normal}.uat-suite-row b,.uat-execution-row b{text-align:right;font-weight:950}.uat-suite-row.done b,.uat-execution-row.done b{color:#0c8b68}.uat-suite-row.pending b{color:#f08a24}.uat-suite-row.risk b,.uat-execution-row.risk b{color:#e54949}.training-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.training-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.training-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.training-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.training-summary div{min-width:0;padding:10px;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px}.training-summary strong{display:block;color:#176ee8;font-size:18px;font-weight:950}.training-summary span{color:#607894;font-size:11px;font-weight:850}.training-record-list{display:grid;gap:8px}.training-record-row{min-height:46px;display:grid;grid-template-columns:minmax(136px,1.1fr) minmax(160px,1.3fr) minmax(92px,.75fr) 92px;align-items:center;gap:8px;padding:8px 10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.training-record-row strong,.training-record-row span,.training-record-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-record-row em{color:#607894;font-style:normal}.training-record-row b{text-align:right;font-weight:950}.training-record-row.done b{color:#0c8b68}.training-record-row.pending b{color:#f08a24}.training-record-row.risk b{color:#e54949}.golive-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.golive-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.golive-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.golive-plan-list,.golive-check-list{display:grid;gap:8px}.golive-check-list{margin-top:10px}.golive-plan-row,.golive-check-row,.rollback-drill-row{min-height:46px;display:grid;align-items:center;gap:8px;padding:8px 10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.golive-plan-row{grid-template-columns:minmax(126px,1fr) minmax(150px,1.25fr) minmax(92px,.8fr) 92px}.golive-check-row{grid-template-columns:minmax(150px,1.1fr) minmax(180px,1.6fr) 72px}.rollback-drill-row{grid-template-columns:minmax(126px,1fr) minmax(180px,1.5fr) minmax(90px,.8fr) 72px;margin-top:10px}.golive-plan-row strong,.golive-plan-row span,.golive-plan-row em,.golive-check-row strong,.golive-check-row span,.rollback-drill-row strong,.rollback-drill-row span,.rollback-drill-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.golive-plan-row em,.rollback-drill-row em{color:#607894;font-style:normal}.golive-plan-row b,.golive-check-row b,.rollback-drill-row b{text-align:right;font-weight:950}.golive-plan-row.done b,.golive-check-row.done b,.rollback-drill-row.done b{color:#0c8b68}.golive-plan-row.pending b,.golive-check-row.pending b{color:#f08a24}.golive-plan-row.risk b{color:#e54949}.contract-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.contract-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.contract-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.contract-list,.ticket-list{display:grid;gap:8px}.ticket-list{margin-top:10px}.contract-row,.ticket-row{min-height:46px;display:grid;align-items:center;gap:8px;padding:8px 10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.contract-row{grid-template-columns:minmax(112px,.8fr) minmax(150px,1.1fr) minmax(150px,1.3fr) 90px}.ticket-row{grid-template-columns:minmax(150px,1.3fr) minmax(120px,1fr) 74px 86px}.contract-row strong,.contract-row span,.contract-row em,.ticket-row strong,.ticket-row span,.ticket-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-row em,.ticket-row em{color:#607894;font-style:normal}.contract-row b,.ticket-row b{text-align:right;font-weight:950}.contract-row.done b,.ticket-row.done b{color:#0c8b68}.contract-row.pending b,.ticket-row.pending b{color:#f08a24}.contract-row.risk b{color:#e54949}.readiness-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}.readiness-ledger-list{display:grid;gap:8px}.readiness-ledger-list.compact{margin-top:10px}.readiness-ledger-row{min-height:48px;display:grid;grid-template-columns:minmax(128px,.9fr) minmax(150px,1fr) minmax(190px,1.4fr) 128px;align-items:center;gap:8px;padding:8px 10px;color:#263a5e;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid rgba(154,188,226,.36);border-radius:6px;font-size:12px;font-weight:850}.readiness-ledger-row strong,.readiness-ledger-row span,.readiness-ledger-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readiness-ledger-row em{color:#607894;font-style:normal}.readiness-ledger-row b{text-align:right;font-weight:950}.readiness-ledger-row.done b{color:#0c8b68}.readiness-ledger-row.pending b{color:#f08a24}.readiness-ledger-row.risk b{color:#e54949}.interface-readiness-panel .detail-note{margin-top:12px}.runtime-monitor-list,.operation-incident-list{display:grid;gap:8px}.operation-incident-list{margin-top:10px}.runtime-monitor-row,.operation-incident-row{min-height:46px;display:grid;align-items:center;gap:8px;padding:8px 10px;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;color:#263a5e;font-size:12px;font-weight:850}.runtime-monitor-row{grid-template-columns:minmax(90px,1fr) minmax(110px,1.1fr) 60px 54px 58px}.operation-incident-row{grid-template-columns:minmax(120px,1.2fr) minmax(120px,1fr) 58px}.runtime-monitor-row strong,.runtime-monitor-row span,.operation-incident-row strong,.operation-incident-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-monitor-row em,.runtime-monitor-row b,.runtime-monitor-row small,.operation-incident-row b{text-align:right;font-style:normal;font-weight:950}.runtime-monitor-row.done small,.operation-incident-row.done b{color:#0c8b68}.runtime-monitor-row.pending small,.operation-incident-row.pending b{color:#f08a24}.runtime-monitor-row.risk small{color:#d9303e}.service-report-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 10px}.service-report-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.service-report-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.service-report-summary{display:grid;gap:8px;padding:10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.service-report-summary strong,.service-report-summary span,.service-report-summary em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-report-summary span,.service-report-summary em{color:#607894;font-style:normal}.service-report-summary dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0}.service-report-summary dl div{min-width:0;padding:8px;background:#f6f9fd;border-radius:6px}.service-report-summary dt{color:#7c8ea7;font-size:11px}.service-report-summary dd{margin:2px 0 0;color:#113c7a;font-size:15px;font-weight:950}.service-report-summary b{justify-self:start;color:#f08a24;font-weight:950}.service-report-summary.done b{color:#0c8b68}.regional-report-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.regional-report-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.regional-report-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.regional-report-summary{display:grid;gap:8px;padding:10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.regional-report-summary strong,.regional-report-summary span,.regional-report-summary em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.regional-report-summary span,.regional-report-summary em{color:#607894;font-style:normal}.regional-report-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.regional-report-summary dl div{min-width:0;padding:8px;background:#f6f9fd;border-radius:6px}.regional-report-summary dt{color:#7c8ea7;font-size:11px}.regional-report-summary dd{margin:2px 0 0;color:#113c7a;font-size:15px;font-weight:950}.regional-report-summary b{justify-self:start;color:#f08a24;font-weight:950}.regional-report-summary.done b{color:#0c8b68}.regional-report-summary.risk b{color:#e54949}.policy-config-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 10px}.policy-config-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.policy-config-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.policy-config-summary{display:grid;gap:8px;padding:10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.policy-config-summary strong,.policy-config-summary span,.policy-config-summary em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.policy-config-summary span,.policy-config-summary em{color:#607894;font-style:normal}.policy-config-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.policy-config-summary dl div{min-width:0;padding:8px;background:#f6f9fd;border-radius:6px}.policy-config-summary dt{color:#7c8ea7;font-size:11px}.policy-config-summary dd{margin:2px 0 0;color:#113c7a;font-size:15px;font-weight:950}.policy-config-summary b{justify-self:start;color:#f08a24;font-weight:950}.policy-config-summary.done b{color:#0c8b68}.policy-config-summary.risk b{color:#e54949}.policy-config-list{display:grid;gap:8px;margin-top:10px}.policy-config-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.05fr) auto;align-items:center;gap:10px;padding:9px 10px;color:#263a5e;background:#ffffffd1;border:1px solid rgba(154,188,226,.28);border-radius:6px;font-size:12px;font-weight:850}.policy-config-row strong,.policy-config-row span,.policy-config-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.policy-config-row span,.policy-config-row em{color:#607894;font-style:normal}.policy-config-row b{padding:4px 8px;color:#e36e16;background:#fff5e7;border-radius:999px;font-size:11px;font-weight:950;white-space:nowrap}.policy-config-row.done b{color:#0c8b68;background:#e9f8f2}.policy-config-row.risk b{color:#d54040;background:#fff0f0}.research-export-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px}.research-export-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-size:12px;font-weight:900}.research-export-actions button:disabled{color:#9aabc2;background:#f5f7fb;cursor:not-allowed}.research-export-summary{display:grid;gap:8px;padding:10px;color:#263a5e;background:#fff;border:1px solid rgba(154,188,226,.34);border-radius:6px;font-size:12px;font-weight:850}.research-export-summary strong,.research-export-summary span,.research-export-summary em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.research-export-summary span,.research-export-summary em{color:#607894;font-style:normal}.research-export-summary dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0}.research-export-summary dl div{min-width:0;padding:8px;background:#f6f9fd;border-radius:6px}.research-export-summary dt{color:#7c8ea7;font-size:11px}.research-export-summary dd{margin:2px 0 0;color:#113c7a;font-size:15px;font-weight:950}.research-export-summary b{justify-self:start;color:#f08a24;font-weight:950}.research-export-summary.done b{color:#0c8b68}.research-export-summary.risk b{color:#e54949}.cohort-builder{margin-top:12px;display:grid;gap:10px}.cohort-builder label{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:8px;color:#5d6f8d;font-size:13px;font-weight:850}.cohort-builder select{height:32px;border-radius:6px}.cohort-builder button{display:flex;align-items:center;justify-content:center;gap:7px}.l4-cohort p{color:#5d6f8d;font-size:13px;line-height:1.6;font-weight:800}.l4-check-row{min-height:36px;display:grid;grid-template-columns:20px 1fr 54px;align-items:center;gap:8px;border-bottom:1px solid rgba(154,188,226,.22);color:#263a5e;font-size:13px;font-weight:850}.l4-check-row:last-child{border-bottom:0}.l4-check-row b{text-align:right;font-size:12px}.security-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.security-summary div{min-height:58px;display:grid;align-content:center;gap:4px;padding:8px;background:#f5f9ff;border:1px solid rgba(154,188,226,.34);border-radius:6px}.security-summary strong{color:#176ee8;font-size:18px;font-weight:950}.security-summary span,.l4-security p{color:#6c7f9b;font-size:12px;font-weight:850}.l4-security p{margin:0 0 12px;word-break:break-all}.l4-security button{width:100%;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.message-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,141,255,.28);border-radius:6px;font-size:12px;font-weight:950}.message-actions button:disabled{color:#97a6bb;background:#f5f7fa;cursor:not-allowed}.message-list{display:grid;gap:7px}.message-row{min-height:54px;display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;padding:8px;background:#fff;border:1px solid rgba(154,188,226,.28);border-radius:6px}.message-row strong{color:#173d70;font-size:13px;font-weight:950}.message-row span{color:#6c7f9b;font-size:12px;font-weight:850}.message-row b{grid-row:1 / span 2;grid-column:2;color:#d9303e;font-size:12px}.message-row.done b{color:#0c8b68}.gateway-row{grid-template-columns:1fr auto}.gateway-row em{grid-column:1;color:#7f91aa;font-size:11px;font-style:normal;font-weight:900;word-break:break-all}.gateway-row.empty b{color:#7f91aa}.signature-summary{display:grid;gap:8px;margin:12px 0}.signature-summary div{min-height:54px;display:grid;align-content:center;gap:4px;padding:9px;background:#f5f9ff;border:1px solid rgba(154,188,226,.34);border-radius:6px}.signature-summary strong{color:#173d70;font-size:13px;font-weight:950}.signature-summary span,.l4-signature-center p{color:#6c7f9b;font-size:12px;font-weight:850}.l4-signature-center p{margin:0;word-break:break-all}.region-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px;margin:12px 0 16px}.region-summary strong{display:block;color:#176ee8;font-size:22px;font-weight:950}.region-summary span{color:#6c7f9b;font-size:12px;font-weight:850}.side-nav-icon svg{width:18px;height:18px}.bottom-dock{display:none}.risk-panel,.large-panel,.manual-form-panel,.manual-result .result-card,.empty-state{background:var(--panel);border:1px solid rgba(152,190,230,.48);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.risk-panel{min-height:494px;padding:22px}.panel-title-row{display:flex;justify-content:space-between;align-items:center}.panel-title-row h2,.large-panel h2,.manual-form-panel h2,.result-card h2,.result-card h3,.empty-state h2{margin:0;color:#101f3e;font-size:26px;line-height:1.15;font-weight:950}.panel-title-row h2 b{color:var(--red-500);margin-left:8px}.risk-tabs{display:flex;gap:38px;margin:18px 0;border-bottom:1px solid rgba(151,182,218,.42)}.risk-tabs button{position:relative;height:38px;color:#445d82;background:transparent;font-size:17px;font-weight:900}.risk-tabs button.active{color:#176ee8}.risk-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:999px;background:#176ee8}.risk-table{display:grid;gap:8px}.risk-head,.risk-row{display:grid;grid-template-columns:112px minmax(88px,1fr) 52px 58px 58px 58px;align-items:center;gap:10px}.risk-head{height:46px;padding:0 16px;color:#61799b;background:#f0f8ffd1;border:1px solid rgba(152,190,230,.35);border-radius:10px;font-size:14px;font-weight:900}.risk-row{min-height:56px;padding:0 16px;color:#314970;background:#ffffffc7;border:1px solid rgba(152,190,230,.35);border-radius:10px;font-size:13px;font-weight:750}.risk-row.selected{color:#fff;background:linear-gradient(180deg,#2e91ff,#176ee8);border-color:#2f8dffb8;box-shadow:0 16px 32px #2f8dff42}.patient-id{display:inline-flex;align-items:center;gap:7px;font-weight:950;white-space:nowrap}.risk-row button,.full-row button{height:32px;padding:0 12px;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.72);border-radius:8px;font-weight:900}.risk-tag{width:fit-content;min-width:50px;display:inline-flex;justify-content:center;align-items:center;height:28px;padding:0 10px;border-radius:7px;font-size:14px;font-weight:950}.risk-tag.high{color:#e73036;background:#fff0ef;border:1px solid #ffd1cf}.risk-tag.mid{color:#e87217;background:#fff6e8;border:1px solid #ffdfaf}.risk-tag.low{color:#0c9a70;background:#eafff7;border:1px solid #bfeedd}.link-button{display:block;margin:18px auto 0;color:#176ee8;background:transparent;font-size:15px;font-weight:900}.home-kpis{grid-column:1 / -1}.kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:12px 16px;background:#fffc;border:1px solid rgba(152,190,230,.42);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.kpi-card{min-height:82px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:14px;padding:0 16px;border-right:1px solid rgba(151,182,218,.34)}.kpi-card:last-child{border-right:0}.kpi-icon{width:54px;height:54px;display:grid;place-items:center;color:#357ee8;border-radius:50%;background:linear-gradient(180deg,#fff,#edf7ff);border:1px solid rgba(152,190,230,.42);box-shadow:inset 0 1px #fff,0 10px 20px #2f8dff14}.kpi-icon svg{width:28px;height:28px}.kpi-copy{display:grid;gap:3px}.kpi-copy span{color:#314970;font-size:15px;font-weight:850}.kpi-copy strong{color:#0b3977;font-size:29px;line-height:1;font-weight:950}.kpi-copy strong small{margin-left:4px;font-size:17px}.kpi-copy em{color:#6a80a0;font-size:13px;font-style:normal;font-weight:750}.kpi-card.red .kpi-copy strong{color:var(--red-500)}.kpi-card.green .kpi-copy strong{color:#0f9985}.kpi-card.blue .kpi-copy strong{color:#176ee8}.mini-gauge{width:54px;height:54px;display:grid;place-items:center;color:#0b3977;font-size:14px;font-weight:950;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0 55%,transparent 56%),conic-gradient(#1fb8cf var(--value),rgba(190,211,236,.5) 0)}.quick-actions{display:flex;align-items:center;gap:14px;grid-column:1 / -1;color:#526988;font-size:14px;font-weight:800}.primary-action,.primary-button,.success-button,.secondary-button,.ghost-button,.danger-button{height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;border-radius:10px;font-size:16px;font-weight:950;transition:transform .18s ease,box-shadow .18s ease}.primary-action:hover,.primary-button:hover,.success-button:hover,.secondary-button:hover,.ghost-button:hover,.danger-button:hover{transform:translateY(-1px)}.primary-action,.primary-button{color:#fff;background:linear-gradient(180deg,#2f8dff,#126de6);box-shadow:0 12px 24px #2f8dff40}.success-button{color:#fff;background:linear-gradient(180deg,#18c79c,#0d9f79);box-shadow:0 12px 24px #13b69f3b}.secondary-button,.ghost-button{color:#176ee8;background:#ffffffc7;border:1px solid rgba(47,141,255,.36)}.danger-button{color:#e2373d;background:#ffffffc7;border:1px solid rgba(238,63,72,.28)}.manual-layout{display:grid;grid-template-columns:minmax(760px,1fr) 430px;gap:16px}.manual-layout .privacy-banner{grid-column:1 / -1;margin-bottom:0}.manual-form-panel{padding:22px 28px 18px}.section-title{display:flex;align-items:center;gap:16px;margin-bottom:18px}.section-title img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(43,94,159,.12))}.section-title span,.table-toolbar span,.subtle,.empty-state span{display:block;margin-top:5px;color:#647a9d;font-size:14px;font-weight:750}.form-block{padding:14px 0;border-top:1px solid rgba(151,182,218,.35)}.form-block h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#18396a;font-size:17px;font-weight:950}.form-block h3 span{width:22px;height:22px;display:grid;place-items:center;color:#fff;background:#176ee8;border-radius:50%;font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.form-field{display:grid;gap:7px;min-width:0}.form-field>span{color:#233e6b;font-size:13px;font-weight:950}.form-field small{color:#7890af;font-size:12px;font-weight:700}.wide{grid-column:span 2}.wide-full{grid-column:1 / -1}.segmented{display:grid;grid-template-columns:1fr 1fr;height:38px;overflow:hidden;border:1px solid rgba(128,170,220,.42);border-radius:8px;background:#ffffffb8}.segmented button{color:#426086;background:transparent;font-weight:900}.segmented button.active{color:#fff;background:linear-gradient(180deg,#2f8dff,#176ee8)}.toggle{width:62px;height:34px;display:flex;align-items:center;padding:4px;border-radius:999px;background:#d9e5f2;box-shadow:inset 0 2px 5px #365a8224}.toggle span{width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 5px 14px #2c537d29;transition:transform .18s ease}.toggle.on{background:linear-gradient(180deg,#2f8dff,#176ee8)}.toggle.on span{transform:translate(28px)}.chip-input{display:grid;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button,.factor-list span{height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:8px;color:#176ee8;background:#e8f3ffe6;border:1px solid rgba(47,141,255,.2);font-size:13px;font-weight:900}.manual-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:16px;border-top:1px solid rgba(151,182,218,.35)}.form-message{margin-top:12px;padding:10px 14px;color:#126445;background:#e3fff5d9;border:1px solid rgba(42,190,140,.26);border-radius:10px;font-size:14px;font-weight:800}.manual-result{display:grid;gap:12px;align-content:start}.manual-result .result-card{padding:20px 22px}.score-card{min-height:238px}.score-row{display:grid;grid-template-columns:124px 1fr 108px;align-items:center;gap:12px;margin-top:18px}.score-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.score-actions .primary-button,.score-actions .success-button{height:42px;padding:0 12px;font-size:14px}.score-row img{width:108px;height:108px;object-fit:contain}.score-ring{width:118px;height:118px;display:grid;place-items:center;color:var(--red-500);font-size:34px;font-weight:950;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0 60%,transparent 61%),conic-gradient(#ee3f48 var(--score),#dbe6f2 0)}.score-ring.mid{color:var(--orange-500);background:radial-gradient(circle at 50% 50%,#fff 0 60%,transparent 61%),conic-gradient(var(--orange-500) var(--score),#dbe6f2 0)}.score-ring.low{color:var(--green-500);background:radial-gradient(circle at 50% 50%,#fff 0 60%,transparent 61%),conic-gradient(var(--green-500) var(--score),#dbe6f2 0)}.score-copy{display:grid;gap:8px}.score-copy span{color:#5e7295;font-weight:800}.score-copy strong{color:var(--red-500);font-size:24px;font-weight:950}.score-copy em{color:var(--red-500);font-size:18px;font-style:normal;font-weight:950}.score-copy.mid strong,.score-copy.mid em{color:var(--orange-500)}.score-copy.low strong,.score-copy.low em{color:var(--green-500)}.factor-list{display:flex;flex-wrap:wrap;gap:10px}.factor-list span{color:#2a4f81;background:#ffffffd6}.factor-list span:before{content:"";width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--red-500)}.advice-list{display:grid;gap:10px;margin:12px 0;padding:0;list-style:none}.advice-list li{counter-increment:advice;display:flex;align-items:center;gap:10px;color:#284774;font-weight:900}.advice-list li:before{content:counter(advice);width:24px;height:24px;display:grid;place-items:center;color:#fff;background:#176ee8;border-radius:50%;font-size:13px}.result-card p{margin:8px 0 0;color:#61799b;line-height:1.55;font-size:14px;font-weight:750}.leak-card>span{display:block;margin-top:6px;color:#6f84a6;font-size:13px;font-weight:750}.leak-card div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.leak-card em{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#6c7890;background:#edf4fcc7;border:1px dashed rgba(130,155,188,.45);border-radius:10px;font-size:13px;font-style:normal;font-weight:800}.single-page,.loop-layout{display:grid;gap:16px}.large-panel{padding:24px 28px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.full-table{display:grid;gap:8px}.full-head,.full-row{display:grid;grid-template-columns:1.1fr 1.1fr .7fr .55fr .8fr .75fr .75fr .75fr .8fr;align-items:center;gap:10px;min-height:52px;padding:0 14px;border-radius:10px}.full-head{color:#61799b;background:#f0f8ffd1;border:1px solid rgba(152,190,230,.35);font-size:13px;font-weight:950}.full-row{color:#314970;background:#ffffffc7;border:1px solid rgba(152,190,230,.35);font-size:14px;font-weight:750}.full-row strong{color:#0e3d7e;font-weight:950}.risk-workbench{display:grid;grid-template-columns:minmax(860px,1fr) 370px;gap:16px;padding-top:24px}.risk-workbench .privacy-banner{grid-column:1 / -1;margin-bottom:0}.risk-list-main,.risk-detail-card,.loop-hero-card,.loop-risk-card,.loop-task-card,.loop-intervention-card,.pdca-panel{background:#ffffffd6;border:1px solid rgba(152,190,230,.48);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.risk-list-main{padding:24px}.data-time{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;color:#3c5c87;background:#ffffffbf;border:1px solid rgba(152,190,230,.36);border-radius:10px;font-size:13px;font-weight:850}.risk-list-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}.risk-metric-card{min-height:104px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto auto;align-content:center;gap:2px 12px;padding:14px;background:#ffffffc7;border:1px solid rgba(152,190,230,.36);border-radius:12px}.risk-metric-card>div{grid-row:1 / span 3;width:52px;height:52px;display:grid;place-items:center;color:#176ee8;background:linear-gradient(180deg,#fff,#f0f8ff);border-radius:50%}.risk-metric-card span{color:#29466f;font-size:14px;font-weight:900}.risk-metric-card strong{color:#0e3d7e;font-size:27px;line-height:1;font-weight:950}.risk-metric-card small{margin-left:3px;font-size:14px}.risk-metric-card em{color:#7a8da9;font-size:12px;font-style:normal;font-weight:780}.risk-metric-card.red strong{color:var(--red-500)}.risk-metric-card.orange strong{color:var(--orange-500)}.risk-metric-card.green strong{color:var(--green-500)}.risk-filters{display:grid;grid-template-columns:150px minmax(260px,1fr) 220px 138px;align-items:end;gap:10px;padding:14px;margin-bottom:12px;background:#f7fbffb8;border:1px solid rgba(152,190,230,.32);border-radius:14px}.risk-filters label,.filter-group{display:grid;gap:7px}.risk-filters label>span,.filter-group>span{color:#38557e;font-size:13px;font-weight:950}.filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.filter-group>span{flex:0 0 64px}.risk-filters .filter-group:nth-child(3){grid-column:1 / -1;padding-top:2px}.filter-group button{height:34px;padding:0 12px;color:#456083;background:#ffffffd1;border:1px solid rgba(152,190,230,.38);border-radius:8px;font-size:13px;font-weight:900}.filter-group button.active{color:#176ee8;background:#edf6ff;border-color:#2f8dff6b}.search-box div{height:38px;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:4px;padding:0 10px;background:#ffffffc7;border:1px solid rgba(128,170,220,.42);border-radius:8px}.search-box input{height:30px;padding:0;border:0;box-shadow:none;background:transparent}.risk-data-table{display:grid;gap:7px}.risk-data-head,.risk-data-row{display:grid;grid-template-columns:112px 1fr 64px 70px 70px 70px minmax(230px,1.3fr) 82px 84px;align-items:center;gap:10px;min-height:50px;padding:0 12px;border-radius:10px}.risk-data-head{color:#61799b;background:#f0f8ffd9;border:1px solid rgba(152,190,230,.35);font-size:13px;font-weight:950}.risk-data-row{text-align:left;color:#314970;background:#ffffffbd;border:1px solid rgba(152,190,230,.34);font-size:13px;font-weight:780}.risk-data-row.selected{background:linear-gradient(90deg,#e4f1fff0,#ffffffd1);border-color:#2f8dff80;box-shadow:inset 4px 0 #176ee8}.risk-data-row strong{color:#0b51a7;font-weight:950;white-space:nowrap}.mini-factors{display:flex;flex-wrap:wrap;gap:5px}.mini-factors em{height:24px;display:inline-flex;align-items:center;padding:0 8px;color:#d8501a;background:#fff5eb;border:1px solid #ffd7b7;border-radius:7px;font-size:12px;font-style:normal;font-weight:850}.status-pill{height:28px;display:inline-flex;align-items:center;justify-content:center;color:#e76514;background:#fff6e8;border:1px solid #ffdfaf;border-radius:7px;font-size:12px;font-weight:950}.status-pill.doing{color:#176ee8;background:#edf6ff;border-color:#2f8dff5c}.status-pill.done{color:#0c9a70;background:#eafff7;border-color:#bfeedd}.row-action{height:32px;display:inline-flex;align-items:center;justify-content:center;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.46);border-radius:8px;font-size:12px;font-weight:950}.table-footer{margin-top:12px;color:#5d7599;font-size:13px;font-weight:800}.risk-detail-card{align-self:stretch;padding:22px}.detail-title{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;margin-bottom:18px}.detail-title svg{color:#176ee8}.detail-title h3{margin:0;color:#102750;font-size:23px;font-weight:950}.detail-title span{color:#61799b;font-size:13px;font-weight:800}.detail-score{display:grid;grid-template-columns:106px 1fr;gap:14px;align-items:center;padding:16px;background:#fafdffd1;border:1px solid rgba(152,190,230,.34);border-radius:14px}.score-ring.compact{width:96px;height:96px;font-size:27px}.detail-score span,.detail-score em{display:block;color:#647a9d;font-size:13px;font-style:normal;font-weight:800}.detail-score strong{display:block;margin:5px 0;color:var(--red-500);font-size:24px;font-weight:950}.detail-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.detail-info-grid .info-box{min-height:68px;padding:10px 12px}.detail-info-grid .info-box strong{font-size:20px}.detail-section{margin-top:14px;padding-top:14px;border-top:1px solid rgba(151,182,218,.28)}.detail-section h4{margin:0 0 10px;color:#173865;font-size:16px;font-weight:950}.wide-button{width:100%;margin-top:8px}.detail-note{margin:12px 0 0;color:#5f7391;font-size:13px;line-height:1.55;font-weight:750}.loop-layout{grid-template-columns:430px minmax(0,1fr)}.patient-summary{align-self:start}.closed-loop-page{display:grid;gap:10px;padding-top:16px}.closed-loop-page .privacy-banner{margin-bottom:0}.loop-hero-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px}.loop-hero-card h2{margin:5px 0 4px;color:#102750;font-size:25px;font-weight:950}.loop-hero-card span{color:#38557e;font-size:15px;font-weight:850}.back-chip{height:34px;display:inline-flex;align-items:center;gap:8px;color:#176ee8;background:#fffc;border:1px solid rgba(47,141,255,.3);border-radius:9px;padding:0 12px;font-size:13px;font-weight:900}.back-chip span{color:inherit;font-size:26px;line-height:1}.loop-status{height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;background:#ffffffc7;border:1px solid rgba(152,190,230,.36);border-radius:10px}.loop-status>span{font-size:14px}.loop-status em{color:#e76514;font-style:normal;font-weight:950}.loop-status em.done{color:#0c9a70}.loop-grid{display:grid;grid-template-columns:330px minmax(520px,1fr) 390px;gap:16px}.loop-risk-card,.loop-task-card,.loop-intervention-card{padding:15px}.loop-risk-card h3,.loop-task-card h3,.loop-intervention-card h3,.pdca-panel h3{margin:0 0 10px;color:#102750;font-size:21px;font-weight:950}.loop-risk-card{align-self:start}.loop-risk-card>.risk-tag{margin:12px 0 8px}.loop-risk-card>strong{display:block;color:var(--red-500);font-size:26px;font-weight:950}.loop-risk-card>span{display:block;margin:5px 0 14px;color:#5f7391;font-size:13px;font-weight:850}.loop-score{margin:0 auto}.compact-list{margin-bottom:8px}.loop-small-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.loop-small-grid .info-box{min-height:58px;padding:8px 10px}.loop-small-grid .info-box strong{font-size:18px}.timeline{position:relative;display:grid;gap:7px;padding-left:22px}.timeline:before{content:"";position:absolute;left:38px;top:22px;bottom:22px;width:2px;background:linear-gradient(180deg,#16b889,#c8d8ea)}.timeline-item{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 78px 118px 72px;align-items:center;gap:10px;min-height:60px;padding:7px 10px 7px 0}.timeline-step{position:relative;z-index:1;width:42px;height:42px;display:grid;place-items:center;color:#fff;background:#8fa3bf;border:4px solid #eef7ff;border-radius:50%;font-size:16px;font-weight:950;box-shadow:0 8px 18px #2653821f}.timeline-item.done .timeline-step{background:#14a97f}.timeline-item.doing .timeline-step{background:var(--orange-500)}.timeline-content{display:grid;gap:4px;min-height:52px;align-content:center;padding:0 12px;background:#ffffffb8;border:1px solid rgba(152,190,230,.32);border-radius:12px}.timeline-content strong{color:#173865;font-size:16px;font-weight:950}.timeline-content span,.timeline time,.timeline small{color:#657d9d;font-size:12px;font-weight:780}.timeline-item em{height:28px;display:inline-flex;align-items:center;justify-content:center;color:#6d7f96;background:#eef3f8;border-radius:8px;font-size:12px;font-style:normal;font-weight:950}.timeline-item.done em{color:#0c9a70;background:#eafff7}.timeline-item.doing em{color:#e76514;background:#fff6e8}.loop-deadline{height:40px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:#31537d;border-top:1px solid rgba(151,182,218,.28);font-size:14px;font-weight:850}.action-checks.compact{display:grid;grid-template-columns:1fr;gap:7px}.action-checks.compact button{min-height:60px;padding:9px 12px}.mini-title{margin-top:18px!important}.maintenance-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:7px}.maintenance-points span{min-height:44px;display:grid;place-items:center;gap:4px;color:#31537d;background:#f6fbffd1;border:1px solid rgba(152,190,230,.32);border-radius:12px;text-align:center;font-size:12px;font-weight:850}.maintenance-points svg{color:#176ee8}.pdca-panel{padding:14px 20px}.pdca-panel h3{display:flex;align-items:baseline;gap:10px}.pdca-panel h3 span{color:#6b7f9f;font-size:14px;font-weight:800}.pdca-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pdca-cards div{min-height:94px;display:grid;align-content:start;gap:8px;padding:12px 14px;background:#ffffffbd;border:1px solid rgba(152,190,230,.34);border-radius:14px}.pdca-cards strong{color:#176ee8;font-size:18px;font-weight:950}.pdca-cards span{color:#405d84;font-size:13px;line-height:1.35;font-weight:780}.summary-grid,.stats-grid,.settings-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.info-box{min-height:82px;display:grid;align-content:center;gap:8px;padding:14px;color:#29466f;background:#ffffffc7;border:1px solid rgba(152,190,230,.35);border-radius:12px}.info-box span{color:#6b7f9f;font-size:13px;font-weight:850}.info-box strong{color:#0e3d7e;font-size:22px;font-weight:950}.action-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.action-checks button{min-height:126px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-content:center;gap:5px 12px;text-align:left;color:#355276;background:#ffffffc7;border:1px solid rgba(152,190,230,.38);border-radius:14px;padding:18px}.action-checks button svg{grid-row:1 / span 2;color:#97a9c1}.action-checks button strong{color:#18396a;font-size:18px;font-weight:950}.action-checks button span{color:#647a9d;font-size:14px;font-weight:760}.action-checks button.done{color:#0d8d70;background:#e8fff7db;border-color:#13b69f5c}.action-checks button.done svg,.action-checks button.done strong{color:#0d9f79}.stats-panel{min-height:520px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pdca-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}.pdca-line span{height:82px;display:grid;place-items:center;color:#0e3d7e;background:linear-gradient(180deg,#ffffffe6,#eef8ffe6);border:1px solid rgba(152,190,230,.38);border-radius:14px;font-size:19px;font-weight:950}.settings-list{grid-template-columns:repeat(4,minmax(0,1fr))}.empty-state{min-height:420px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.empty-state img{width:160px;height:160px;object-fit:contain}.stats-dashboard,.report-page{display:grid;gap:12px;padding-top:16px}.stats-dashboard .privacy-banner,.report-page .privacy-banner{margin-bottom:0}.stats-hero,.chart-panel,.surveillance-panel,.pdca-progress-panel,.report-hero,.report-template-panel,.export-settings-panel,.preview-panel,.recent-export-panel{background:#ffffffd6;border:1px solid rgba(152,190,230,.48);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.stats-hero,.report-hero{padding:14px 18px}.stats-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.stats-kpi{min-height:96px;display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto auto auto;align-content:center;gap:3px 12px;padding:14px;background:#ffffffc2;border:1px solid rgba(152,190,230,.35);border-radius:14px}.stats-kpi img{grid-row:1 / span 3;width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(43,94,159,.12))}.stats-kpi span{color:#29466f;font-size:15px;font-weight:900}.stats-kpi strong{color:#176ee8;font-size:30px;line-height:1;font-weight:950}.stats-kpi.green strong{color:#0f9985}.stats-kpi.orange strong{color:var(--orange-500)}.stats-kpi.red strong{color:#e34242}.stats-kpi em{color:#667f9f;font-size:13px;font-style:normal;font-weight:800}.stats-chart-grid{display:grid;grid-template-columns:minmax(650px,1.5fr) 320px 400px;gap:14px}.surveillance-panel{padding:16px}.surveillance-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.surveillance-report-list{display:grid;gap:8px}.surveillance-report-row{display:grid;grid-template-columns:112px minmax(120px,1fr) 90px 92px 112px 88px 120px 96px;align-items:center;gap:10px;min-height:54px;padding:0 12px;color:#29466f;background:#ffffffc7;border:1px solid rgba(152,190,230,.32);border-radius:11px;font-size:13px;font-weight:850}.surveillance-report-row strong{color:#123c72;font-weight:950}.surveillance-report-row em{color:#176ee8;font-style:normal;font-weight:950}.surveillance-report-row b{color:#e34242;font-weight:950}.surveillance-report-row small{color:#0f806b;font-size:12px;font-weight:900}.surveillance-report-row button{min-height:32px;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.38);border-radius:8px;font-size:12px;font-weight:950}.surveillance-report-row button:disabled{color:#7d8da4;background:#edf3f8;border-color:#98a9c361;cursor:not-allowed}.department-feedback-panel{padding:16px}.feedback-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px 14px;color:#29466f;background:#ffffffc7;border:1px solid rgba(152,190,230,.34);border-radius:13px}.feedback-toolbar div{display:grid;gap:4px}.feedback-toolbar strong{color:#123c72;font-size:16px;font-weight:950}.feedback-toolbar span{color:#637996;font-size:13px;font-weight:800}.feedback-toolbar button{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 15px;color:#fff;background:linear-gradient(135deg,#176ee8,#13a77d);border:0;border-radius:10px;font-size:13px;font-weight:950;box-shadow:0 10px 22px #176ee82e}.feedback-report-list{display:grid;gap:10px}.feedback-report-row{display:grid;grid-template-columns:118px 104px 104px repeat(7,minmax(70px,1fr));gap:10px;align-items:center;padding:12px;color:#29466f;background:linear-gradient(180deg,#ffffffeb,#f4f9ffe0);border:1px solid rgba(152,190,230,.34);border-radius:13px}.feedback-report-row strong{color:#123c72;font-size:14px;font-weight:950}.feedback-report-row em{color:#176ee8;font-size:12px;font-style:normal;font-weight:900}.feedback-report-row .info-box{min-height:54px;padding:8px}.feedback-report-row .info-box strong{font-size:14px}.feedback-report-row p,.feedback-report-row small{grid-column:1 / -2;margin:0;color:#4f6c94;font-size:12px;line-height:1.45;font-weight:800}.feedback-report-row small{color:#176053}.feedback-report-row b{justify-self:end;padding:7px 10px;color:#0f806b;background:#ecfbf7;border:1px solid rgba(19,182,159,.2);border-radius:999px;font-size:12px;font-weight:950}.feedback-action-row{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.feedback-action-row button{min-height:32px;padding:0 12px;color:#176ee8;background:#f7fbff;border:1px solid rgba(23,110,232,.32);border-radius:9px;font-size:12px;font-weight:950}.feedback-action-row button:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#176ee8,#13a77d);box-shadow:0 8px 18px #176ee829}.feedback-action-row button:disabled{color:#7f94b2;background:#edf3f8;border-color:#98a9c361;cursor:not-allowed}.chart-panel{padding:16px}.panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-heading h3{margin:0;color:#102750;font-size:21px;font-weight:950}.panel-heading span{color:#6b7f9f;font-size:13px;font-weight:800}.rate-chart{width:100%;height:218px;overflow:visible}.rate-chart line{stroke:#7e9dc242;stroke-width:1}.rate-chart text{fill:#5d7599;font-size:12px;font-weight:800}.rate-chart .target{stroke-width:2;stroke-dasharray:7 7}.rate-chart .baseline{stroke:#ee3f48}.rate-chart .goal{stroke:#f38b21}.rate-chart .stretch{stroke:#0eb981}.rate-chart polyline{fill:none;stroke:#176ee8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.rate-chart circle{fill:#fff;stroke:#176ee8;stroke-width:3}.trend-legend{display:flex;flex-wrap:wrap;gap:14px;color:#405d84;font-size:12px;font-weight:850}.trend-legend span{display:inline-flex;align-items:center;gap:6px}.trend-legend i{width:22px;height:3px;border-radius:999px}.line-blue{background:#176ee8}.line-red{background:#ee3f48}.line-green{background:#f38b21}.line-teal{background:#0eb981}.trend-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.trend-summary .info-box{min-height:62px;padding:9px 10px}.trend-summary .info-box strong{font-size:18px}.threshold-panel{display:grid;align-content:start;gap:10px}.threshold-card{padding:10px 12px;background:#ffffffbf;border:1px solid rgba(152,190,230,.35);border-radius:12px}.threshold-card strong{display:block;color:#173865;font-size:17px;font-weight:950}.threshold-card>span{color:#6b7f9f;font-size:12px;font-weight:800}.threshold-card div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.threshold-card p{margin:0;padding:10px;border-radius:10px;background:#f0f8ffd9}.threshold-card b,.threshold-card em{display:block}.threshold-card b{color:#0e3d7e;font-size:20px;font-weight:950}.threshold-card em{color:#61799b;font-size:12px;font-style:normal;font-weight:800}.threshold-card.red{border-color:#ee3f483d}.threshold-card.orange{border-color:#f38b2147}.threshold-panel small{color:#6b7f9f;font-size:12px;font-weight:780}.driver-list{display:grid;gap:13px}.driver-list div{display:grid;grid-template-columns:26px 110px 1fr 22px;align-items:center;gap:10px}.driver-list span{width:24px;height:24px;display:grid;place-items:center;color:#fff;background:#176ee8;border-radius:50%;font-size:12px;font-weight:950}.driver-list strong{color:#29466f;font-size:14px;font-weight:900}.driver-list div div{height:8px;display:block;overflow:hidden;border-radius:999px;background:#e3edf7}.driver-list i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8dff,#13b69f)}.driver-list em{color:#13a77d;font-style:normal;font-weight:950}.pdca-progress-panel{padding:16px}.pdca-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pdca-progress-grid>div{min-height:138px;display:grid;grid-template-columns:74px 1fr;align-content:start;gap:4px 12px;padding:14px;background:#ffffffbd;border:1px solid rgba(152,190,230,.35);border-radius:14px}.pdca-progress-grid img{grid-row:1 / span 5;width:72px;height:72px;object-fit:contain}.pdca-progress-grid strong{color:#176ee8;font-size:17px;font-weight:950}.pdca-progress-grid span{color:#405d84;font-size:12px;line-height:1.35;font-weight:780}.progress-bar{height:8px;overflow:hidden;border-radius:999px;background:#e8eef6}.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#176ee8,#13b69f);border-radius:inherit}.pdca-progress-grid em{color:#657d9d;font-size:12px;font-style:normal;font-weight:850}.pdca-live-metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:12px}.pdca-task-board{margin-top:14px;padding:14px;border:1px solid rgba(103,157,223,.28);border-radius:14px;background:#ffffffc7;box-shadow:inset 0 1px #ffffffb3}.panel-heading.compact{margin-bottom:10px}.pdca-task-list{display:grid;gap:9px}.pdca-task-row{display:grid;grid-template-columns:58px minmax(150px,1.35fr) minmax(150px,1fr) minmax(150px,1fr) 120px 52px minmax(150px,1fr) 66px;gap:9px;align-items:center;min-height:58px;padding:10px 12px;border:1px solid rgba(164,194,228,.45);border-radius:12px;background:linear-gradient(180deg,#ffffffeb,#f4f9ffdb)}.pdca-task-row strong{color:#12386f;font-size:14px;font-weight:950}.pdca-task-row em,.pdca-task-row small{color:#52709a;font-size:12px;font-style:normal;font-weight:760;line-height:1.35}.pdca-task-row b{color:#176ee8;font-size:14px;font-weight:950;text-align:right}.pdca-phase{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border-radius:999px;background:#e8f2ff;color:#176ee8;font-size:12px;font-weight:950}.task-progress{height:8px;overflow:hidden;border-radius:999px;background:#dfeaf8}.task-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#176ee8,#13b69f)}.pdca-task-row button{min-height:34px;border:1px solid rgba(23,110,232,.45);border-radius:9px;background:#fff;color:#176ee8;font-weight:900;cursor:pointer}.pdca-task-row button:hover{background:#eaf3ff}.report-hero{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:center}.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-metrics .info-box{min-height:74px}.report-grid{display:grid;grid-template-columns:minmax(720px,1fr) 390px;gap:14px}.report-template-panel,.export-settings-panel,.preview-panel,.recent-export-panel{padding:16px}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-card{min-height:184px;display:grid;grid-template-columns:86px 1fr;align-content:start;gap:5px 12px;padding:14px;text-align:left;color:#29466f;background:#ffffffb8;border:1px solid rgba(152,190,230,.35);border-radius:14px}.template-card.active{border-color:#2f8dffb3;box-shadow:inset 4px 0 #176ee8}.template-card img{grid-row:1 / span 5;width:84px;height:84px;object-fit:contain}.template-card strong{color:#102750;font-size:18px;font-weight:950}.template-card em{width:fit-content;padding:3px 8px;color:#176ee8;background:#edf6ff;border-radius:7px;font-size:12px;font-style:normal;font-weight:950}.template-card span,.template-card small{color:#5f7391;font-size:12px;line-height:1.35;font-weight:800}.export-setting-list{display:grid;gap:12px}.export-checks,.privacy-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.export-checks span,.privacy-checks span{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#31537d;background:#f6fbffd1;border:1px solid rgba(152,190,230,.32);border-radius:9px;font-size:12px;font-weight:850}.privacy-checks span{color:#0c8d69;background:#e7fff7c7}.report-preview-grid{display:grid;grid-template-columns:minmax(680px,1fr) 450px;gap:14px}.preview-table{display:grid;gap:7px}.preview-table>div{display:grid;grid-template-columns:120px 1fr 70px 78px 80px;align-items:center;gap:10px;min-height:44px;padding:0 12px;background:#ffffffb8;border:1px solid rgba(152,190,230,.28);border-radius:10px;color:#314970;font-size:13px;font-weight:800}.preview-table>div:first-child{color:#61799b;background:#f0f8ffd9;font-weight:950}.preview-table strong{color:#0b51a7;font-weight:950}.recent-list{display:grid;gap:9px}.recent-list div{display:grid;grid-template-columns:30px 1fr 70px;align-items:center;gap:8px;min-height:56px;padding:10px;background:#ffffffb8;border:1px solid rgba(152,190,230,.28);border-radius:11px}.recent-list svg{color:#176ee8}.recent-list strong{color:#173865;font-size:13px;font-weight:950}.recent-list span{color:#657d9d;font-size:12px;font-weight:780}.recent-list em{color:#0c9a70;font-size:12px;font-style:normal;font-weight:950}.report-actions{position:sticky;bottom:14px;z-index:12;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffffd6;border:1px solid rgba(152,190,230,.48);border-radius:16px;box-shadow:var(--shadow)}.report-actions span{margin-left:auto;color:#5f7391;font-size:13px;font-weight:850}.ops-page{display:grid;gap:12px;padding-top:16px}.ops-page .privacy-banner{margin-bottom:0}.ops-hero,.ops-panel{background:#ffffffd6;border:1px solid rgba(152,190,230,.48);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ops-hero{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(720px,1.8fr);gap:18px;align-items:center;padding:14px 18px}.ops-panel{padding:16px}.ops-metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.mini-metric{min-height:82px;display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:12px;background:#ffffffbd;border:1px solid rgba(152,190,230,.34);border-radius:13px}.mini-metric>span{width:48px;height:48px;display:grid;place-items:center;color:#176ee8;background:linear-gradient(180deg,#fff,#edf6ff);border:1px solid rgba(47,141,255,.25);border-radius:13px;box-shadow:var(--shadow-soft)}.mini-metric div{min-width:0;display:grid;gap:3px}.mini-metric em,.mini-metric small{color:#607896;font-style:normal;font-weight:820}.mini-metric em{font-size:12px}.mini-metric strong{overflow:hidden;color:#176ee8;font-size:25px;line-height:1;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.mini-metric small{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.mini-metric.red strong{color:#e23d44}.mini-metric.orange strong{color:#e56f12}.mini-metric.green strong{color:#0a9b72}.catheter-layout,.data-layout{display:grid;grid-template-columns:minmax(740px,1fr) 390px;gap:14px}.utilization-chart{position:relative;height:210px;display:flex;align-items:end;justify-content:space-between;gap:16px;padding:22px 22px 18px;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#f5faffad,#ffffffe0),repeating-linear-gradient(0deg,transparent 0 43px,rgba(119,165,214,.16) 44px);border:1px solid rgba(152,190,230,.32)}.utilization-chart i{width:clamp(26px,4.4%,42px);display:block;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,#2f8dff,#13b69f);box-shadow:0 12px 24px #2f8dff29}.utilization-chart svg{position:absolute;top:18px;right:20px;bottom:18px;left:20px;width:calc(100% - 40px);height:calc(100% - 36px);pointer-events:none}.utilization-chart polyline{fill:none;stroke:#e94b55;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 10px rgba(233,75,85,.18))}.catheter-summary-grid,.audit-field-grid,.threshold-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.ward-rank-list,.audit-queue,.data-source-list,.guard-list{display:grid;gap:9px}.ward-rank-list button,.audit-queue button,.data-source-list div{min-height:60px;display:grid;align-items:center;gap:5px 10px;padding:10px 12px;color:#1f3b67;background:#ffffffc2;border:1px solid rgba(152,190,230,.32);border-radius:12px}.ward-rank-list button{grid-template-columns:32px 1fr auto}.ward-rank-list b{width:28px;height:28px;display:grid;place-items:center;color:#176ee8;background:#edf6ff;border-radius:8px}.ward-rank-list strong,.audit-queue strong,.data-source-list strong{font-size:14px;font-weight:950}.ward-rank-list span{grid-column:2;color:#617894;font-size:12px;font-weight:780}.data-source-list div{grid-template-columns:minmax(150px,1.2fr) 80px 108px minmax(150px,1fr) 86px}.data-source-list span,.data-source-list em,.data-source-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-list button{height:30px;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.42);border-radius:8px;font-size:12px;font-weight:950}.ward-rank-list em{grid-row:1 / span 2;grid-column:3;color:#e05a14;font-size:12px;font-style:normal;font-weight:950}.ops-table{display:grid;gap:8px}.ops-head,.ops-row{display:grid;align-items:center;gap:12px;padding:0 14px}.ops-head{min-height:42px;color:#506a91;background:linear-gradient(180deg,#f4faff,#edf5ff);border:1px solid rgba(152,190,230,.32);border-radius:10px;font-size:13px;font-weight:950}.ops-row{min-height:52px;color:#2c456e;background:#ffffffc2;border:1px solid rgba(152,190,230,.28);border-radius:10px;font-size:13px;font-weight:820}.ops-row strong{color:#176ee8;font-weight:950}.ops-row small{display:block;margin-top:3px;color:#7184a1;font-size:11px;font-weight:760}.ops-row button{height:32px;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.42);border-radius:8px;font-size:12px;font-weight:950}.catheter-table .ops-head,.catheter-table .ops-row{grid-template-columns:112px minmax(88px,1fr) 54px 68px 110px 72px 74px 106px 112px 116px 140px 92px 412px}.active-catheter-panel{overflow-x:auto}.catheter-table{min-width:1860px}.row-action-group{display:flex;align-items:center;gap:6px}.row-action-group button{min-width:42px;padding:0 8px}.row-action-group button:disabled{color:#9aabc2;background:#eef3f8;border-color:#96a9c357;cursor:not-allowed}.audit-layout{display:grid;grid-template-columns:370px minmax(540px,1fr) 330px;gap:14px}.audit-queue button{grid-template-columns:112px minmax(0,1fr) 58px;grid-template-rows:auto auto;text-align:left}.audit-queue .patient-id{grid-row:1 / span 2}.audit-queue strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.audit-queue button.active{border-color:#2f8dff9e;background:linear-gradient(90deg,#2f8dff26,#ffffffe0);box-shadow:0 12px 24px #2f8dff1c}.audit-queue em{justify-self:end;color:#176ee8;font-size:18px;font-style:normal;font-weight:950}.audit-queue .risk-tag{grid-column:2;justify-self:start}.audit-queue small{grid-column:3;grid-row:2;justify-self:end;color:#657b9b;font-size:12px;font-weight:850}.leakage-check-card{display:grid;gap:9px;margin-top:12px;padding:14px;border:1px solid rgba(152,190,230,.34);border-radius:14px;background:#f6fbffc2}.leakage-check-card h4{margin:0;color:#123c72;font-size:16px}.leakage-check-card span,.guard-list span{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 10px;border-radius:9px;color:#29466f;background:#fff;border:1px solid rgba(152,190,230,.28);font-size:13px;font-weight:880}.leakage-check-card span svg,.guard-list span svg{color:#176ee8}.leakage-check-card span.blocked,.guard-list span.blocked{color:#b23b33;background:#fff4f3;border-color:#ee3f483d}.leakage-check-card span.blocked svg,.guard-list span.blocked svg{color:#e23d44}.leakage-check-card em{margin-left:auto;font-style:normal;font-weight:950}.forbidden-strip{margin-top:12px;padding:12px 14px;color:#b03c23;background:#fff4ee;border:1px solid #ffd2bd;border-radius:12px;font-size:13px;line-height:1.55;font-weight:850}.infection-review-panel{margin-top:14px}.infection-review-list{display:grid;gap:10px}.infection-review-card{display:grid;grid-template-columns:210px minmax(420px,1fr) minmax(220px,.7fr) 300px;align-items:center;gap:14px;padding:14px;color:#29466f;background:#ffffffd1;border:1px solid rgba(152,190,230,.32);border-radius:12px}.infection-review-card>div:first-child{display:grid;gap:5px}.infection-review-card strong{color:#123c72;font-size:14px;font-weight:950}.infection-review-card small{color:#6c819f;font-size:12px;font-weight:780}.infection-review-card p{margin:0;color:#315177;font-size:13px;line-height:1.55;font-weight:820}.review-field-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.review-field-stack .info-card{min-height:58px;padding:9px 10px}.review-note-strip{grid-column:2 / span 2;padding:10px 12px;color:#176053;background:#ecfbf7;border:1px solid rgba(17,169,142,.22);border-radius:10px;font-size:12px;line-height:1.45;font-weight:850}.microbiology-evidence{grid-column:2 / span 2;display:grid;gap:5px;padding:10px 12px;color:#284b78;background:linear-gradient(135deg,#ecf7fff5,#ffffffe6);border:1px solid rgba(47,141,255,.2);border-radius:10px}.microbiology-evidence strong{color:#176ee8;font-size:12px}.microbiology-evidence span{color:#123c72;font-size:13px;font-weight:920}.microbiology-evidence em{color:#176053;font-size:12px;font-style:normal;font-weight:900}.review-action-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.review-action-row button{min-height:34px;color:#176ee8;background:#fff;border:1px solid rgba(47,141,255,.38);border-radius:9px;font-size:12px;font-weight:950}.review-action-row b{grid-column:1 / -1;justify-self:start;padding:6px 10px;color:#e24343;background:#fff3f3;border:1px solid rgba(226,67,67,.2);border-radius:999px;font-size:12px;font-weight:950}.empty-review-state{display:flex;align-items:center;gap:12px;min-height:92px;padding:16px;color:#416083;background:#f6fbffc2;border:1px dashed rgba(47,141,255,.28);border-radius:12px;font-weight:850}.empty-review-state svg{color:#176ee8}.empty-review-state strong{color:#123c72;font-size:15px}.empty-review-state span{color:#637996;font-size:13px}.decision-score{display:grid;justify-items:center;gap:4px;margin-bottom:12px;padding:12px;background:linear-gradient(180deg,#f5fbff,#fff);border:1px solid rgba(152,190,230,.32);border-radius:14px}.decision-score img{width:78px;height:78px;object-fit:contain}.decision-score strong{color:#176ee8;font-size:36px;line-height:1;font-weight:950}.decision-score span{color:#546d8d;font-size:13px;font-weight:850}.audit-decision-panel .secondary-button{color:#176ee8;background:#ffffffc7;border:1px solid rgba(47,141,255,.32)}.audit-timeline{display:grid;gap:7px;margin-top:14px}.audit-timeline span{min-height:30px;display:flex;align-items:center;padding:0 10px;color:#68809f;background:#f3f7fc;border-radius:8px;font-size:12px;font-weight:850}.audit-timeline span.done{color:#0a8b68;background:#eafff7}.data-layout{grid-template-columns:360px minmax(520px,1fr) 360px}.data-source-list div{grid-template-columns:1fr auto;text-align:left}.data-source-list span{display:inline-flex;align-items:center;gap:8px;color:#1e4c86;font-weight:950}.data-source-list em,.data-source-list small{color:#607894;font-size:12px;font-style:normal;font-weight:820}.threshold-control{display:grid;gap:11px;padding:14px;background:#f6fbffc7;border:1px solid rgba(152,190,230,.34);border-radius:14px}.threshold-control label{color:#173d70;font-size:16px;font-weight:950}.threshold-control input{accent-color:#176ee8}.threshold-control div{display:flex;justify-content:space-between;color:#607894;font-size:12px;font-weight:850}.threshold-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guard-list span{justify-content:flex-start}.guard-list span.privacy{color:#176ee8;background:#edf6ff}.guard-list span.ok{color:#087f63;background:#eafff7}.field-map-table .ops-head,.field-map-table .ops-row{grid-template-columns:130px 1.1fr 1.05fr 88px 72px 88px}.data-quality-panel{display:grid;gap:14px}.quality-action-row{display:flex;gap:10px;flex-wrap:wrap}.quality-action-row button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;color:#176ee8;background:#f5f9ff;border:1px solid rgba(47,122,240,.24);border-radius:6px;font-weight:900}.quality-action-row button:disabled{color:#9aabc2;background:#f5f7fb}.quality-issue-list{display:grid;gap:8px}.quality-issue-row{min-height:58px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.65fr) 64px 76px;align-items:center;gap:10px;padding:10px 12px;background:#f8fbff;border:1px solid rgba(154,188,226,.36);border-radius:6px}.quality-issue-row strong,.quality-issue-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quality-issue-row strong{color:#10284f;font-size:13px}.quality-issue-row span,.quality-issue-row em{color:#607894;font-style:normal;font-size:12px;font-weight:800}.quality-issue-row b{color:#f08a24;font-size:12px;font-weight:950}.quality-issue-row.done b{color:#159167}.quality-issue-row.empty b{color:#9aabc2}.ingestion-gate-panel{display:grid;gap:14px}.ingestion-gate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ingestion-batch-list{display:grid;gap:8px}.ingestion-batch-row{min-height:70px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.45fr) minmax(0,1.2fr) 78px;align-items:center;gap:10px;padding:11px 12px;background:#f8fbff;border:1px solid rgba(154,188,226,.36);border-radius:6px}.ingestion-batch-row strong,.ingestion-batch-row span,.ingestion-batch-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingestion-batch-row strong{color:#10284f;font-size:13px;font-weight:950}.ingestion-batch-row span,.ingestion-batch-row em{color:#607894;font-size:12px;font-style:normal;font-weight:800}.ingestion-batch-row b{color:#f08a24;font-size:12px;font-weight:950}.ingestion-batch-row.done b{color:#159167}.ingestion-batch-row.empty b{color:#9aabc2}.floating-tools{position:fixed;z-index:30;right:28px;bottom:116px;display:flex;gap:10px}.floating-tools button{height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;color:#176ee8;background:#fffc;border:1px solid rgba(47,141,255,.28);border-radius:999px;box-shadow:var(--shadow-soft);font-size:13px;font-weight:900}.bottom-dock{position:fixed;z-index:25;left:50%;bottom:12px;width:min(1120px,calc(100vw - 240px));height:70px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:9px 16px;transform:translate(-50%);border:1px solid rgba(152,190,230,.42);border-radius:18px;background:#ffffffc2;box-shadow:0 20px 55px #1c599b29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-dock button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;color:#7a8da9;background:transparent;border-radius:12px;font-size:16px;font-weight:900}.bottom-dock button.active{color:#176ee8;background:linear-gradient(180deg,#fff,#f4faff);border:1px solid rgba(47,141,255,.28);box-shadow:0 10px 24px #2f8dff24}.bottom-dock em{top:5px;right:36px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1320px){body{min-width:0}.app-shell{padding-left:18px;padding-right:18px}.app-header{margin-left:-18px;margin-right:-18px;padding-left:20px}.brand-area h1{font-size:22px}.hospital-copy span,.api-state,.side-nav{display:none}.home-grid,.manual-layout,.loop-layout,.ops-hero,.catheter-layout,.audit-layout,.data-layout,.infection-review-card{grid-template-columns:1fr}.review-note-strip{grid-column:auto}.ops-metric-row,.catheter-summary-grid,.audit-field-grid,.ingestion-gate-grid,.readiness-summary-grid,.surveillance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingestion-batch-row,.readiness-ledger-row{grid-template-columns:1fr}.surveillance-report-row{grid-template-columns:1fr;padding:12px}.bottom-dock{width:calc(100vw - 32px)}}body .bottom-dock{display:none!important}
