:root{--primary: #008ba7;--secondary: #0897b3;--ink: #22353b;--success: #1dcf7a;--warning: #f7d24b;--danger: #f56665;--surface: #ffffff;--muted: #eef6f8;--line: #c9d9de;--text: #15262b;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:#f6fafb}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.boot{display:grid;min-height:100vh;place-items:center;color:var(--primary);font-size:22px;font-weight:700}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:190px;padding:0;display:flex;flex-direction:column;gap:14px;justify-content:flex-start;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line)}.header-banner{display:block;height:auto;min-height:0;width:100%}.header-row{min-height:46px;padding:0 18px 10px;display:flex;align-items:center;justify-content:space-between;gap:18px}.header-left{min-width:0;display:flex;align-items:center;gap:14px}.brand{min-width:0;display:flex;align-items:center;gap:12px}.brand h1{margin:0;font-size:22px;line-height:1.15}.brand p,.footer{margin:2px 0 0;color:#5d737a;font-size:14px}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}.hamburger{width:42px;height:42px;flex:0 0 42px;display:inline-grid;place-content:center;gap:5px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}.hamburger span{width:20px;height:2px;display:block;background:var(--ink);transition:transform .18s ease,opacity .18s ease}.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.user-chip{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--muted)}.workspace{flex:1;position:relative;display:block}.sidebar{position:absolute;top:0;bottom:0;left:0;z-index:30;width:min(300px,calc(100vw - 36px));padding:18px 12px;background:var(--ink);background-position:center bottom;background-repeat:no-repeat;background-size:78% auto;color:#fff;transform:translate(-100%);transition:transform .2s ease;box-shadow:8px 0 28px #15262b38}.sidebar.open{transform:translate(0)}.menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;border:0;background:#15262b47;cursor:pointer}.nav-item{width:100%;min-height:42px;margin-bottom:8px;display:flex;align-items:center;gap:10px;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer}.nav-item.active,.nav-item:focus-visible{background:#00b7dd38;outline:2px solid #00b7dd}.nav-mark{width:10px;height:10px;border-radius:5px;background:#00b7dd}.content{padding:18px;min-width:0}.breadcrumbs{margin-bottom:14px;color:#5d737a;font-size:14px}.kpi-strip,.quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.stat,.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px}.about-page{min-height:calc(100vh - 380px);display:grid;place-items:center}.about-card{width:min(920px,100%);display:grid;gap:10px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.about-line{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:14px;align-items:start}.about-line strong{color:var(--ink);font-weight:700;text-align:right}.about-line span{min-width:0;text-align:left;overflow-wrap:anywhere}.stat span,.metric span{display:block;color:#5d737a;font-size:13px}.stat strong,.metric strong{display:block;margin-top:5px;color:var(--ink);font-size:20px}.view-tabs,.filters{margin:14px 0;display:flex;flex-wrap:wrap;gap:10px;align-items:end}.dashboard-panel{width:min(1040px,100%);margin:14px auto}.kpi-panel,.flow-panel{display:grid;gap:10px}.card-row{display:grid;gap:10px;justify-content:center}.four-cards{grid-template-columns:repeat(4,minmax(160px,1fr))}.three-cards{grid-template-columns:repeat(3,minmax(180px,1fr));width:min(780px,100%);margin:0 auto}.emulator-panel{width:min(1040px,100%);margin:14px auto;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.emulator-panel h2{margin:0}.emulator-panel p{margin:4px 0 0;color:#5d737a}.emulator-actions,.icon-button{display:flex;align-items:center;gap:8px}.icon-button:disabled{opacity:.55;cursor:not-allowed}.emulator-modal h3{margin:16px 0 10px}.emulator-device-list,.emulator-error-grid{display:grid;gap:8px}.emulator-device-row,.emulator-error-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr) minmax(120px,.5fr) minmax(150px,.6fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.emulator-error-row{grid-template-columns:minmax(260px,1fr) minmax(150px,.4fr)}.check-label{display:flex;grid-template-columns:none;align-items:center;gap:8px}.check-label input{min-height:auto;width:18px;height:18px}.filters-with-health,.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.filters-with-health .filters{flex:1 1 auto}.health-card{min-width:220px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff}.health-card span,.section-subtitle{color:#5d737a;font-size:13px}.health-card strong{display:block;margin-top:5px;color:var(--ink);font-size:20px}.section-title-row h2{margin-bottom:4px}.section-subtitle{margin:0}.limit-selector{min-width:170px}.icon-action{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--primary);border-radius:6px;background:var(--primary);color:#fff;cursor:pointer;font-size:24px;font-weight:700;line-height:1}.view-tabs button,.secondary,.primary{min-height:38px;border-radius:6px;padding:8px 12px;cursor:pointer}.primary{color:#fff;background:var(--primary);border:1px solid var(--primary)}.secondary,.view-tabs button{color:var(--primary);background:#fff;border:1px solid var(--primary)}.view-tabs button.active{color:#fff;background:var(--primary)}.swimlane{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stage{min-height:130px;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff}.stage strong{color:var(--primary);font-size:26px}label{display:grid;gap:5px;color:#42575e;font-size:14px}input,select{min-height:38px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fff;color:var(--text)}input:focus,select:focus{outline:2px solid var(--secondary)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff}table{width:100%;min-width:920px;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:var(--muted);color:var(--ink)}.status{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:700}.status.validated{background:#1dcf7a2e;color:#09643a}.status.quarantined{background:#f7d24b3d;color:#6a5600}.status.dlq{background:#f566652e;color:#8f1e1d}.split{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);gap:12px}.list-pane{display:grid;gap:8px;align-content:start}.record-button,.reason{padding:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:6px}.json-viewer{min-width:0;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px}.json-viewer pre{max-height:620px;overflow:auto;white-space:pre-wrap;word-break:break-word}.reason{margin-top:8px;display:flex;justify-content:space-between}.governance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.enrollment-filters{align-items:end}.enrollment-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:14px;align-items:start}.selected-row td{background:#008ba714}.detail-panel{position:sticky;top:12px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.button-row{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px}.danger-action{border-color:var(--danger);color:#8f1e1d}.success-message{padding:10px 12px;border:1px solid var(--success);border-radius:6px;background:#1dcf7a1f;color:#09643a}.capability-section{margin-top:18px}.capability-list{display:grid;gap:8px}.capability-row{display:grid;grid-template-columns:minmax(80px,.7fr) repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow-wrap:anywhere}.capability-form{margin-top:12px}.link-button{padding:0;color:var(--primary);background:transparent;border:0;cursor:pointer;text-align:left;text-decoration:underline}.inline-error{margin:10px 0;padding:10px 12px;display:flex;gap:10px;border:1px solid var(--danger);border-radius:6px;background:#f566651f;color:#7f1b1a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:22px;background:#07141994}.modal-panel{width:min(980px,100%);max-height:calc(100vh - 44px);overflow:auto;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 18px 60px #07141938}.modal-title-row{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-title-row h2{margin:0}.modal-actions{justify-content:flex-end}.footer{min-height:144px;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);background:#fff}.footer-row{width:100%;min-height:48px;padding:10px 18px;display:flex;align-items:center;gap:18px}.footer-text{flex:1 1 auto;text-align:left}.footer-meta{flex:0 0 auto;margin-left:auto;text-align:right}.footer-banner{display:block;height:auto;min-height:0;width:100%}@media(max-width:860px){.header-row,.top-actions,.filters-with-health,.section-title-row,.emulator-panel{align-items:stretch;flex-direction:column}.header-left{align-items:flex-start}.brand h1{font-size:18px}.split,.enrollment-layout{grid-template-columns:1fr}.detail-panel{position:static}.capability-row,.four-cards,.three-cards,.emulator-device-row,.emulator-error-row{grid-template-columns:1fr}.footer-row{align-items:flex-start;flex-direction:column;gap:4px}.footer-meta{margin-left:0;text-align:left}.health-card,.limit-selector{width:100%}.about-line{grid-template-columns:1fr;gap:2px}.about-line strong{text-align:left}}
