:root{
  --bg:#07111f;
  --bg2:#0d1730;
  --panel:rgba(11,20,39,.78);
  --panel-solid:#0f1b33;
  --panel-2:rgba(14,26,49,.86);
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.15);
  --ink:#ecf3ff;
  --muted:#9fb3cf;
  --soft:#ccdaef;
  --accent:#41c7e8;
  --accent-2:#8667ff;
  --teal:#35d0b6;
  --warn:#f8b84e;
  --danger:#ff6978;
  --success:#2ee59d;
  --critical:#ff7a8a;
  --high:#ffb86b;
  --medium:#f8d66d;
  --low:#63e6b2;
  --shadow:0 24px 60px rgba(0,0,0,.35);
  --shadow-soft:0 12px 30px rgba(0,0,0,.25);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:radial-gradient(circle at top left, rgba(92,199,255,.12), transparent 28%),
             radial-gradient(circle at 85% 12%, rgba(123,125,255,.17), transparent 24%),
             linear-gradient(180deg, #07111f 0%, #091325 32%, #0d1528 100%);
  font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.ambient{position:fixed;border-radius:999px;filter:blur(90px);opacity:.42;pointer-events:none;z-index:0}
.ambient-1{width:280px;height:280px;background:#2db8ff;top:120px;left:-80px}
.ambient-2{width:340px;height:340px;background:#6f70ff;top:40px;right:0}
.ambient-3{width:300px;height:300px;background:#1fd1b4;bottom:-80px;left:36%}
.hero-shell,.dashboard-shell{position:relative;z-index:1}
.hero-shell{padding:28px 28px 0;max-width:1600px;margin:0 auto}
.dashboard-shell{padding:22px 28px 42px;max-width:1600px;margin:0 auto}
.brand-row{
  display:flex;align-items:center;gap:16px;justify-content:space-between;
  padding:14px 18px 20px;border-bottom:1px solid var(--line)
}
.brand-mark{
  width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-weight:800;
  letter-spacing:.08em;background:linear-gradient(135deg, rgba(65,199,232,.28), rgba(134,103,255,.34));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1), var(--shadow-soft)
}
.brand-title{font-size:20px;font-weight:700;letter-spacing:-.02em}
.eyebrow,.section-label{
  text-transform:uppercase;font-size:11px;letter-spacing:.14em;color:#8cb2d9;font-weight:700
}
.hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;padding:24px 0 0}
.glass-card{
  background:linear-gradient(180deg, rgba(15,27,51,.76), rgba(10,19,36,.92));
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:var(--shadow);
  border-radius:28px;
}
.hero-copy{padding:28px 30px 26px;overflow:hidden;position:relative}
.hero-copy:before{
  content:"";position:absolute;inset:auto -120px -120px auto;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle, rgba(92,199,255,.22), transparent 62%);
}
.hero-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(92,199,255,.12);color:#8ddcff;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hero-copy h1{font-size:clamp(34px, 4vw, 56px);line-height:1.02;letter-spacing:-.04em;margin:18px 0 16px;max-width:10ch}
.hero-copy p{max-width:68ch;color:var(--soft);font-size:16px;line-height:1.7;margin:0 0 18px}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.chip{
  display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);color:#dce9fb;font-size:13px;font-weight:600
}
.hero-note{padding:14px 16px;border-radius:18px;background:rgba(248,184,78,.08);border:1px solid rgba(248,184,78,.22);color:#ffe4b5;font-size:13px;line-height:1.5}
.hero-side{display:grid;align-content:stretch}
.hero-stats{display:grid;gap:16px;grid-template-rows:repeat(3,1fr)}
.hero-stat{
  min-height:140px;padding:22px;border-radius:24px;background:linear-gradient(180deg, rgba(10,19,36,.84), rgba(15,27,51,.95));
  border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between
}
.hero-stat .label{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#8fb7dd;font-weight:700}
.hero-stat .value{font-size:42px;font-weight:800;letter-spacing:-.04em;margin-top:10px}
.hero-stat .sub{color:var(--soft);font-size:14px;line-height:1.5}
.hero-stat .delta{display:inline-flex;align-self:flex-start;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.06);font-size:12px;font-weight:700;color:#dce9fb}
.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
button{
  border:0;border-radius:14px;padding:12px 16px;font-weight:700;cursor:pointer;
  color:var(--ink);font-family:inherit;transition:transform .18s ease, box-shadow .18s ease, background .18s ease
}
button:hover{transform:translateY(-1px)}
.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));box-shadow:0 12px 28px rgba(92,199,255,.28);color:#06111e}
.secondary{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.ghost{background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--soft)}
.dark-ghost{background:rgba(255,255,255,.06)}
.grid{display:grid;gap:18px;margin-top:18px}
.grid-top{grid-template-columns:1.05fr 1.1fr .85fr}
.grid-middle{grid-template-columns:1.25fr 1fr}
.grid-bottom{grid-template-columns:1fr .9fr}
.panel{
  background:linear-gradient(180deg, rgba(12,21,39,.86), rgba(10,18,35,.98));
  border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);box-shadow:var(--shadow);
  overflow:hidden
}
.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}
.panel-header.compact{padding-bottom:12px}
.panel-header.no-border{border-bottom:0;padding-bottom:0}
.panel-header h2{margin:4px 0 0;font-size:22px;letter-spacing:-.03em}
.badge,.risk,.mini-tag{
  display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em
}
.badge.subtle{background:rgba(255,255,255,.06);color:#d2e0f3;border:1px solid rgba(255,255,255,.08)}
.badge.accent{background:rgba(92,199,255,.15);color:#97e2ff;border:1px solid rgba(92,199,255,.22)}
.muted{font-size:13px;color:var(--muted)}
.risk.Critical{background:rgba(255,105,120,.16);color:#ffacb6;border:1px solid rgba(255,105,120,.22)}
.risk.High{background:rgba(248,184,78,.16);color:#ffd19a;border:1px solid rgba(248,184,78,.22)}
.risk.Medium{background:rgba(248,214,109,.14);color:#ffeaa1;border:1px solid rgba(248,214,109,.18)}
.risk.Low{background:rgba(46,229,157,.12);color:#9ef0c8;border:1px solid rgba(46,229,157,.18)}
.risk-summary{padding:6px 22px 24px;display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:center}
.donut-wrap{display:grid;place-items:center}
.donut{
  --deg:270deg;
  width:168px;height:168px;border-radius:50%;
  background:conic-gradient(var(--critical) 0deg calc(var(--criticalDeg)), var(--high) calc(var(--criticalDeg)) calc(var(--highDeg)), var(--medium) calc(var(--highDeg)) calc(var(--mediumDeg)), var(--low) calc(var(--mediumDeg)) 360deg);
  position:relative;box-shadow:inset 0 0 30px rgba(0,0,0,.2), 0 15px 32px rgba(0,0,0,.2)
}
.donut:after{
  content:"";position:absolute;inset:18px;border-radius:50%;background:linear-gradient(180deg, rgba(7,17,31,.95), rgba(12,22,42,.95));
  border:1px solid rgba(255,255,255,.08)
}
.donut-centre{position:absolute;display:grid;place-items:center;text-align:center;z-index:1}
.donut-centre .big{font-size:38px;font-weight:800;letter-spacing:-.05em}
.donut-centre .small{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.risk-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.legend-card{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.legend-label{font-size:12px;color:#9cb5d1;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.legend-value{font-size:30px;font-weight:800;letter-spacing:-.04em;margin-bottom:4px}
.legend-sub{font-size:13px;color:var(--soft)}
.legend-card.critical .legend-value{color:#ffadb7}
.legend-card.high .legend-value{color:#ffd6a5}
.legend-card.medium .legend-value{color:#ffecad}
.legend-card.low .legend-value{color:#9ef0c8}
.submission-grid{padding:6px 22px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.metric-tile{
  padding:18px;border-radius:20px;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.06)
}
.metric-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.metric-title{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:#91b7dd;font-weight:700}
.metric-value{font-size:34px;font-weight:800;letter-spacing:-.04em}
.metric-sub{color:var(--soft);font-size:13px;line-height:1.5}
.progress{margin-top:14px;height:11px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.progress span{display:block;height:100%;background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px}
.mini-tag{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#d2e5fb}
#spotlight{padding:8px 22px 24px}
.spotlight-card{padding:20px;border-radius:22px;background:linear-gradient(180deg, rgba(255,105,120,.10), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08)}
.spotlight-card h3{margin:10px 0 6px;font-size:22px;letter-spacing:-.03em}
.spotlight-card p{margin:0;color:var(--soft);line-height:1.6}
.spotlight-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.meta-box{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.meta-box .meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#93b8dc;margin-bottom:7px}
.meta-box .meta-value{font-weight:700;line-height:1.4}
.spotlight-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.action-list{padding:8px 18px 18px;display:grid;gap:10px;max-height:430px;overflow:auto}
.action-item{
  display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.06)
}
.action-item .matter{font-size:15px;font-weight:700;margin-bottom:4px}
.small{font-size:13px;color:var(--muted);line-height:1.45}
.button-link{border:0;background:transparent;color:#8ee0ff;cursor:pointer;padding:0;font:inherit;font-weight:700}
.button-link:hover{text-decoration:underline}
.process-map{padding:6px 22px 24px;display:grid;gap:14px}
.process-card{
  position:relative;padding:20px 20px 18px 24px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.06)
}
.process-card:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:999px;background:linear-gradient(180deg, var(--accent), var(--accent-2))}
.process-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.process-card h3{margin:0;font-size:19px;letter-spacing:-.03em}
.process-card p{margin:0;color:var(--soft);line-height:1.6;font-size:14px}
.process-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}
.process-stat{padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05)}
.process-stat .n{font-size:24px;font-weight:800;letter-spacing:-.04em}
.process-stat .t{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:3px}
.stage-bars{padding:18px 22px 22px}
.stage{margin-bottom:16px}
.stage:last-child{margin-bottom:0}
.stage-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.stage-top strong{font-size:14px}
.stage-meta{font-size:13px;color:var(--muted)}
.bar{height:12px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden}
.bar span{display:block;height:100%;background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px}
.insight-stack{padding:18px 22px 22px;display:grid;gap:12px}
.insight-card{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.insight-number{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg, rgba(92,199,255,.18), rgba(123,125,255,.22));color:#9ee4ff}
.insight-card p{margin:5px 0 0;color:var(--soft);line-height:1.55;font-size:14px}
.filters-panel{margin-top:18px;padding:0 22px 22px;background:linear-gradient(180deg, rgba(10,18,35,.96), rgba(10,18,35,.96))}
.filter-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.15fr;gap:14px}
label{font-size:12px;color:#95b6d6;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
input,select{
  width:100%;margin-top:10px;padding:14px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.05);color:var(--ink);font-size:14px;outline:none;transition:border-color .15s ease, background .15s ease
}
input::placeholder{color:#86a1bf}
input:focus,select:focus{border-color:rgba(92,199,255,.55);background:rgba(255,255,255,.07)}
.table-panel{margin-top:18px}
.table-wrap{overflow:auto;max-height:720px}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;min-width:1260px}
thead th{position:sticky;top:0;z-index:1;background:#101b32;text-align:left;padding:14px 16px;border-bottom:1px solid var(--line-strong);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#91b4d7}
tbody td{padding:16px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:top}
tbody tr:hover td{background:rgba(255,255,255,.03)}
.desc{max-width:420px}
.status-line{font-weight:700;line-height:1.4}
.date{color:var(--muted);font-size:12px;line-height:1.5;margin-top:4px}
.priority-cell{display:flex;flex-direction:column;gap:8px}
.stage-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);font-size:12px;color:#d3e5fb;font-weight:700}
dialog{border:0;background:linear-gradient(180deg, #101c34, #0a1326);border-radius:26px;padding:0;width:min(1040px, 94vw);color:var(--ink);box-shadow:0 36px 90px rgba(0,0,0,.45)}
dialog::backdrop{background:rgba(3,9,18,.7);backdrop-filter:blur(4px)}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg, rgba(92,199,255,.10), rgba(255,255,255,0))}
.dialog-head h2{margin:5px 0 0;font-size:28px;letter-spacing:-.04em}
.dialog-label{color:#8ddcff}
#detailBody{padding:22px 24px 26px}
.detail-lead{font-size:15px;color:var(--soft);line-height:1.7;margin-bottom:18px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.detail-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.detail-card h3{margin:0 0 12px;font-size:17px;letter-spacing:-.02em}
.detail-card p{margin:0 0 14px;color:var(--soft);line-height:1.65}
.detail-card button{width:100%}
.timeline{margin-top:18px;padding:18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.timeline h3{margin:0 0 14px;font-size:18px}
.timeline ul{margin:0;padding-left:18px;color:var(--soft)}
.timeline li{margin-bottom:10px;line-height:1.6}
.empty-state{padding:18px;color:var(--muted)}
@media (max-width:1280px){
  .grid-top{grid-template-columns:1fr 1fr}
  .spotlight-panel{grid-column:1 / -1}
  .risk-summary{grid-template-columns:1fr}
}
@media (max-width:1080px){
  .hero-grid,.grid-middle,.grid-bottom,.filter-row{grid-template-columns:1fr}
  .grid-top{grid-template-columns:1fr}
  .hero-stats{grid-template-rows:auto}
  .header-actions{width:100%;justify-content:flex-start;margin-top:12px}
  .brand-row{flex-wrap:wrap}
}
@media (max-width:780px){
  .hero-shell,.dashboard-shell{padding-left:16px;padding-right:16px}
  .hero-copy h1{max-width:none;font-size:34px}
  .submission-grid,.detail-grid,.spotlight-meta,.process-stats,.risk-legend{grid-template-columns:1fr}
  .brand-mark{width:48px;height:48px}
}

/* Executive demo polish */
.hero-copy h1:after{content:"";display:block;width:96px;height:4px;border-radius:999px;margin-top:20px;background:linear-gradient(90deg,var(--accent),var(--teal),var(--accent-2));box-shadow:0 0 30px rgba(65,199,232,.45)}
.brand-row:after{content:"Internal control layer · Static demo";margin-left:auto;margin-right:10px;color:#90aecf;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.header-actions{margin-left:0}
.panel{position:relative}
.panel:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent)}
.metric-tile:hover,.action-item:hover,.process-card:hover,.insight-card:hover{transform:translateY(-2px);border-color:rgba(65,199,232,.24);background:linear-gradient(180deg,rgba(65,199,232,.07),rgba(255,255,255,.025))}
.metric-tile,.action-item,.process-card,.insight-card{transition:transform .18s ease,border-color .18s ease,background .18s ease}
.table-wrap::-webkit-scrollbar,.action-list::-webkit-scrollbar{height:10px;width:10px}
.table-wrap::-webkit-scrollbar-thumb,.action-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}
.table-wrap::-webkit-scrollbar-track,.action-list::-webkit-scrollbar-track{background:rgba(255,255,255,.04)}
.product-ribbon{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(53,208,182,.12);border:1px solid rgba(53,208,182,.18);color:#9df3df;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1080px){.brand-row:after{display:none}}

/* Register-first layout refinements */
.compact-shell{padding-bottom:0}
.app-header{align-items:center}
.brand-left{display:flex;align-items:center;gap:16px;min-width:340px}
.view-tabs{display:flex;gap:8px;padding:6px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.tab{padding:10px 14px;background:transparent;border:0;color:var(--muted);box-shadow:none}
.tab.active{background:linear-gradient(135deg, rgba(92,199,255,.24), rgba(123,125,255,.24));color:var(--ink);border:1px solid rgba(255,255,255,.12)}
.register-first{padding-top:18px}
.view.active-view{display:block}
.view.hidden-view{display:none}
.front-filter{margin-top:0;padding:0 22px 22px}
.front-filter h1{margin:4px 0 0;font-size:34px;line-height:1;letter-spacing:-.04em}
.register-filter-row{grid-template-columns:minmax(340px,2.2fr) minmax(180px,.9fr) minmax(150px,.7fr) minmax(210px,1fr)}
.front-table{margin-top:18px}
.front-table .table-wrap{max-height:calc(100vh - 265px);min-height:560px}
.register-table{min-width:2100px;font-size:13px}
.register-table thead th{padding:13px 14px;white-space:nowrap}
.register-table tbody tr{cursor:pointer}
.register-table tbody td{padding:14px;white-space:normal}
.register-table tbody td:nth-child(2),
.register-table tbody td:nth-child(4),
.register-table tbody td:nth-child(5),
.register-table tbody td:nth-child(7),
.register-table tbody td:nth-child(8),
.register-table tbody td:nth-child(9),
.register-table tbody td:nth-child(10),
.register-table tbody td:nth-child(11){white-space:nowrap}
.quick-action-stack{display:flex;flex-direction:column;gap:7px;min-width:142px}
.mini-action{padding:8px 10px;border-radius:12px;background:rgba(92,199,255,.12);border:1px solid rgba(92,199,255,.20);color:#bfefff;font-size:12px;line-height:1.1;box-shadow:none;text-align:left}
.mini-action:hover{background:rgba(92,199,255,.18)}
.single-analytics-row{grid-template-columns:1fr}
.four-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.detail-secondary{margin-top:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:var(--soft)}
@media (max-width:1280px){
  .app-header{align-items:flex-start}
  .brand-left{min-width:0}
  .view-tabs{order:3;width:100%;justify-content:flex-start}
  .four-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .register-filter-row{grid-template-columns:1fr}
  .front-filter h1{font-size:28px}
  .four-card-grid{grid-template-columns:1fr}
}

/* Compact RAG register refinement */
.register-table{min-width:1420px;font-size:13px}
.register-table tbody td:nth-child(5),
.register-table tbody td:nth-child(6),
.register-table tbody td:nth-child(7),
.register-table tbody td:nth-child(8),
.register-table tbody td:nth-child(9){white-space:nowrap}
.stage-line{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.35}
.rag-cell{display:flex;align-items:center;gap:10px;min-width:138px}
.rag-dot{width:14px;height:14px;border-radius:999px;flex:0 0 auto;box-shadow:0 0 0 5px rgba(255,255,255,.035),0 0 22px currentColor}
.rag-dot.red{background:#ff5f70;color:#ff5f70}
.rag-dot.amber{background:#ffb547;color:#ffb547}
.rag-dot.green{background:#36e39d;color:#36e39d}
.rag-dot.blue{background:#5cc7ff;color:#5cc7ff}
.rag-dot.neutral{background:#8ba4c2;color:#8ba4c2;box-shadow:0 0 0 5px rgba(255,255,255,.035)}
.rag-label{font-weight:800;color:var(--ink);line-height:1.2}
.rag-meta{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.25}
.register-table .date{display:none}
.front-table .panel-header h2:after{content:" · compact RAG view";color:var(--muted);font-weight:600;font-size:15px;letter-spacing:0}
.detail-status-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.detail-status-strip .rag-cell{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.07);
}
.detail-button-row{
  display:grid;
  gap:10px;
  margin-top:14px;
}
button.disabled, button:disabled{
  opacity:.42;
  cursor:not-allowed;
  transform:none !important;
  box-shadow:none !important;
}
.toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99;
  padding:14px 18px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(46,229,157,.95), rgba(92,199,255,.95));
  color:#06111e;
  font-weight:800;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.toast.show{
  opacity:1;
  transform:translateY(0);
}
@media (max-width:980px){
  .detail-status-strip{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .detail-status-strip{grid-template-columns:1fr}
  .toast{left:16px;right:16px;bottom:16px}
}
