:root {
  --ink: #001861;
  --muted: #52617e;
  --canvas: #f3f9fc;
  --paper: #ffffff;
  --line: #d7e5ec;
  --green: #57f7ff;
  --green-dark: #069bd5;
  --coral: #069bd5;
  --blue: #57f7ff;
  --shadow: 0 20px 60px rgba(0, 24, 97, 0.12);
}

/* Schema recommender */
.schema-recommender-body{background:var(--canvas)}.schema-recommender-main{padding-bottom:80px}.schema-recommender-hero{min-height:420px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;border-bottom:1px solid var(--line)}.schema-recommender-hero h1{font-size:clamp(46px,5.8vw,76px)}.schema-recommender-principle{padding:28px;border:1px solid var(--ink);border-radius:16px;background:var(--green);box-shadow:10px 10px 0 var(--ink)}.schema-recommender-principle strong{font-size:18px}.schema-recommender-principle p{margin:10px 0 0;line-height:1.6}
.schema-recommender-input{margin:28px 0;padding:22px;display:grid;grid-template-columns:1.35fr .65fr;gap:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.schema-recommender-input label,.schema-recommendation-toolbar label{display:grid;gap:7px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.schema-recommender-input textarea{width:100%;min-height:190px;padding:12px;border:1px solid #b9cbd7;border-radius:8px;resize:vertical;font:12px/1.55 Arial,sans-serif}.schema-recommender-input input,.schema-recommendation-toolbar select{width:100%;height:42px;padding:0 12px;border:1px solid #b9cbd7;border-radius:8px;background:#fff}.schema-recommender-input small,.schema-crawl-panel p,.schema-recommender-actions span{color:var(--muted);font-size:9px;line-height:1.5}.schema-crawl-panel{display:grid;align-content:start;gap:10px}.schema-recommender-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.schema-recommendation-results{padding-top:25px}.schema-recommendation-toolbar{margin-bottom:16px;display:flex;align-items:end;gap:10px}.schema-recommendation-toolbar label{min-width:230px}.schema-recommendation-list{display:grid;gap:14px}.schema-recommendation-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.schema-recommendation-head{display:flex;justify-content:space-between;gap:20px}.schema-recommendation-head small{color:var(--green-dark);font-size:8px;font-weight:800;text-transform:uppercase}.schema-recommendation-head h3{margin:5px 0;font-size:16px}.schema-recommendation-head a{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.schema-recommendation-head>span{align-self:start;padding:6px 9px;border-radius:999px;color:#fff;background:var(--ink);font-size:8px;font-weight:700}.schema-recommendation-types{margin:14px 0 8px;display:flex;flex-wrap:wrap;gap:6px}.schema-recommendation-types b{padding:5px 8px;border-radius:6px;color:var(--ink);background:var(--green);font-size:8px}.schema-recommendation-card>p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.schema-recommendation-actions{margin-top:14px;display:flex;align-items:center;gap:10px}.schema-recommendation-actions span{color:var(--muted);font-size:9px}.schema-code{margin-top:15px}.schema-code pre{max-height:420px;padding:15px;overflow:auto;border-radius:9px;color:#d8eaff;background:var(--ink);font:11px/1.55 monospace;white-space:pre-wrap}.schema-code button{margin-bottom:8px}
@media(max-width:800px){.schema-recommender-hero,.schema-recommender-input{grid-template-columns:1fr}.schema-recommender-hero{padding:60px 0}.schema-recommender-actions{grid-column:auto}.schema-recommendation-toolbar{align-items:stretch;flex-direction:column}.schema-recommendation-toolbar label{min-width:0;width:100%}.schema-recommendation-head{flex-direction:column}.schema-recommendation-head>span{align-self:flex-start}}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }
html.auth-pending body { visibility: hidden; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 90% 8%, rgba(87, 247, 255, 0.3), transparent 25rem),
    var(--canvas);
  font-family: "Montserrat", sans-serif;
  -webkit-font-smoothing: antialiased;
}

button, input { font: inherit; }
button { color: inherit; }

.shell { min-height: 100vh; overflow: hidden; }

.topbar {
  width: min(1200px, calc(100% - 48px));
  height: 88px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0, 24, 97, 0.14);
}

.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  color: inherit;
  font: 700 17px "Montserrat", sans-serif;
  text-decoration: none;
}

.brand em {
  padding-left: 10px;
  border-left: 1px solid var(--line);
  color: var(--muted);
  font: 600 11px "Montserrat", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.brand-mark {
  width: 36px;
  height: 36px;
  padding: 8px;
  display: flex;
  gap: 3px;
  align-items: flex-end;
  border-radius: 50%;
  background: var(--ink);
}

.brand-mark span { width: 5px; border-radius: 8px; background: var(--green); }
.brand-mark span:nth-child(1) { height: 9px; }
.brand-mark span:nth-child(2) { height: 18px; }
.brand-mark span:nth-child(3) { height: 13px; }

.topbar-actions { display: flex; align-items: center; gap: 12px; }

.logout-button {
  padding: 7px 10px;
  border: 0;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
}

.logout-button:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

.mode-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(252, 252, 248, 0.8);
  font-size: 12px;
  font-weight: 600;
}

.mode-pill i, .status-dot i, .service-card span i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #a4aaa7;
}

.mode-pill.live i { background: #34c873; box-shadow: 0 0 0 4px rgba(52, 200, 115, .14); }
.mode-pill.demo i { background: #f0a630; }

.icon-button {
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
  cursor: pointer;
}

.icon-button svg, .search svg, .arrow, .purge-button svg, .warning svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.spinning svg { animation: spin .8s linear infinite; }

main { width: min(1200px, calc(100% - 48px)); margin: auto; }

.hero {
  min-height: 400px;
  padding: 78px 0 58px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: center;
}

.eyebrow {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

h1, h2, h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  font-size: clamp(48px, 6.2vw, 82px);
  line-height: .98;
  letter-spacing: -.035em;
}

h1 span {
  display: inline-block;
  position: relative;
  z-index: 1;
}

h1 span::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -4px;
  right: -8px;
  bottom: 4px;
  height: 22%;
  background: var(--green);
  transform: rotate(-1deg);
}

.intro {
  max-width: 570px;
  margin: 27px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.hero-orbit { position: relative; min-height: 260px; }
.orbit, .core, .spark { position: absolute; border-radius: 50%; }
.orbit { border: 1px solid rgba(0, 24, 97, .24); }
.orbit-one { width: 240px; height: 240px; right: 34px; top: 8px; }
.orbit-two { width: 170px; height: 170px; right: 68px; top: 43px; border-style: dashed; animation: spin 24s linear infinite; }
.core { width: 74px; height: 74px; right: 116px; top: 91px; background: var(--ink); box-shadow: var(--shadow); }
.core span { position: absolute; inset: 25px; border: 3px solid var(--green); border-top-color: transparent; border-radius: 50%; animation: spin 2s linear infinite; }
.spark { width: 16px; height: 16px; background: var(--coral); }
.spark-one { right: 52px; top: 36px; }
.spark-two { right: 240px; top: 188px; width: 11px; height: 11px; background: var(--blue); }

.finder {
  padding: 36px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.finder-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.finder-head h2 { margin: 0; font-size: 25px; letter-spacing: .025em; }
.finder-head > span { color: var(--muted); font-size: 13px; }

.search {
  height: 66px;
  margin-top: 28px;
  padding: 0 18px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  border: 1px solid #bdc4bc;
  border-radius: 13px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}

.search:focus-within { border-color: var(--ink); box-shadow: 0 0 0 4px rgba(87, 247, 255, .3); }
.search svg { width: 21px; }
.search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 16px; }
.search input::placeholder { color: #929994; }
.search kbd { padding: 4px 8px; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 6px; color: var(--muted); background: var(--canvas); font-size: 12px; }

.filters { margin: 18px 0 12px; display: flex; gap: 8px; }
.filters button { padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: transparent; cursor: pointer; font-size: 12px; font-weight: 600; }
.filters button.active { border-color: var(--ink); color: var(--paper); background: var(--ink); }

.application-list { border-top: 1px solid var(--line); }

.application-row {
  width: 100%;
  min-height: 78px;
  padding: 14px 8px;
  display: grid;
  grid-template-columns: 48px minmax(210px, 1.5fr) 1fr .8fr auto 28px;
  align-items: center;
  gap: 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  background: transparent;
  cursor: pointer;
  transition: background .18s, transform .18s;
}

.application-row:hover { background: rgba(87, 247, 255, .14); transform: translateX(3px); }
.app-monogram { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; color: var(--paper); background: var(--ink); font-size: 12px; font-weight: 700; }
.app-primary, .app-meta { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.app-primary strong, .app-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.app-primary small, .app-meta small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.app-meta strong { font-weight: 500; }
.status-dot { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; text-transform: capitalize; }
.status-dot i { background: #36c978; }
.arrow { color: #89918c; }
mark { padding: 0; color: inherit; background: rgba(87, 247, 255, .75); }

.empty-state { min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--muted); }
.empty-state strong { color: var(--ink); }
.empty-state.error strong, .error-text { color: #c44132; }

.skeleton { cursor: default; }
.skeleton span { height: 12px; border-radius: 8px; background: linear-gradient(90deg, #e7e9e4 25%, #f5f6f2 50%, #e7e9e4 75%); background-size: 200% 100%; animation: shimmer 1.3s infinite; }

.insight-grid { margin: 28px 0 80px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.insight-card { min-height: 275px; padding: 28px; position: relative; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); overflow: hidden; }
.insight-card.dark { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.insight-card.accent { background: var(--green); }
.card-number { position: absolute; right: 22px; top: 20px; color: var(--muted); font: 700 11px "Montserrat", sans-serif; }
.dark .card-number { color: #8e9993; }
.insight-card h3 { margin: 31px 0 11px; font-size: 19px; }
.insight-card p { margin: 0; max-width: 320px; color: var(--muted); line-height: 1.55; font-size: 14px; }
.dark p { color: #acb5b0; }
.accent p { color: var(--ink); }

.line-icon { height: 70px; display: flex; align-items: flex-end; gap: 7px; }
.line-icon span { width: 14px; border-radius: 10px; background: var(--ink); }
.line-icon span:nth-child(1) { height: 30px; }
.line-icon span:nth-child(2) { height: 55px; background: var(--coral); }
.line-icon span:nth-child(3) { height: 42px; background: var(--blue); }
.pulse-icon { height: 70px; display: flex; align-items: center; justify-content: center; position: relative; }
.pulse-icon i { position: absolute; border: 1px solid var(--green); border-radius: 50%; }
.pulse-icon i:nth-child(1) { width: 25px; height: 25px; background: var(--green); }
.pulse-icon i:nth-child(2) { width: 50px; height: 50px; opacity: .6; }
.pulse-icon i:nth-child(3) { width: 76px; height: 76px; opacity: .2; }
.clock-icon { width: 64px; height: 64px; position: relative; border: 2px solid var(--ink); border-radius: 50%; }
.clock-icon::before, .clock-icon::after { content: ""; position: absolute; left: 30px; top: 14px; width: 2px; height: 18px; transform-origin: bottom; background: var(--ink); }
.clock-icon::after { transform: rotate(120deg); height: 14px; top: 18px; }

dialog { width: min(650px, calc(100% - 32px)); padding: 0; border: 0; border-radius: 20px; background: var(--paper); box-shadow: 0 30px 90px rgba(10, 16, 13, .35); }
dialog::backdrop { background: rgba(15, 23, 19, .64); backdrop-filter: blur(6px); }
.dialog-shell { padding: 38px; position: relative; }
.close-button { width: 36px; height: 36px; position: absolute; right: 24px; top: 22px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; font-size: 23px; line-height: 1; }
.dialog-shell h2 { margin: 0 50px 6px 0; font-size: 30px; letter-spacing: .025em; }
.domain-link { color: var(--muted); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.context-row { margin: 20px 0 26px; display: flex; flex-wrap: wrap; gap: 8px; }
.context-row span { padding: 6px 9px; border-radius: 6px; color: var(--muted); background: var(--canvas); font-size: 11px; }
.cache-panel { padding: 20px; border: 1px solid var(--line); border-radius: 13px; }
.cache-panel-head { display: flex; justify-content: space-between; align-items: center; }
.cache-panel h3 { margin: 0; font-size: 15px; }
.text-button { border: 0; color: var(--muted); background: transparent; cursor: pointer; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.service-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.service-card { padding: 12px; border-radius: 8px; background: var(--canvas); }
.service-card span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
.service-card strong { margin-top: 8px; display: block; font-size: 13px; }
.service-card.is-active span i { background: #36c978; }
.detail-strip { margin-top: 18px; padding-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.detail-strip span { display: flex; flex-direction: column; gap: 5px; }
.detail-strip small { color: var(--muted); font-size: 10px; }
.detail-strip strong { font-size: 12px; }
.warning { margin-top: 18px; padding: 14px; display: flex; gap: 11px; align-items: flex-start; border-radius: 9px; background: #fff3de; color: #74572a; }
.warning svg { width: 19px; flex: 0 0 auto; }
.warning p { margin: 0; font-size: 12px; line-height: 1.5; }
.dialog-actions { margin-top: 24px; display: flex; justify-content: flex-end; gap: 10px; }
.secondary-button, .purge-button { min-height: 45px; padding: 0 17px; border-radius: 9px; cursor: pointer; font-weight: 700; font-size: 13px; }
.secondary-button { border: 1px solid var(--line); background: transparent; }
.purge-button { display: inline-flex; align-items: center; gap: 9px; border: 0; color: var(--paper); background: var(--ink); }
.purge-button:hover { background: #26352d; }
.purge-button:disabled { cursor: wait; opacity: .6; }
.purge-button svg { width: 16px; }
.muted { color: var(--muted); font-size: 12px; }

.toast { max-width: min(420px, calc(100% - 32px)); padding: 14px 18px; position: fixed; z-index: 10; right: 24px; bottom: 24px; border-radius: 10px; color: var(--paper); background: var(--ink); box-shadow: var(--shadow); opacity: 0; transform: translateY(15px); pointer-events: none; transition: .25s; font-size: 13px; }
.toast.visible { opacity: 1; transform: translateY(0); }
.toast.error { background: #a63d31; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes shimmer { to { background-position: -200% 0; } }

@media (max-width: 850px) {
  .hero { grid-template-columns: 1fr; }
  .hero-orbit { display: none; }
  .application-row { grid-template-columns: 48px 1fr auto 28px; }
  .app-meta { display: none; }
  .insight-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .topbar, main { width: min(100% - 28px, 1200px); }
  .topbar { height: 72px; }
  .brand em, .mode-pill { display: none; }
  .hero { min-height: auto; padding: 56px 0 44px; }
  h1 { font-size: 45px; }
  .intro { font-size: 15px; }
  .finder { padding: 20px 16px; border-radius: 16px; }
  .finder-head { align-items: flex-start; flex-direction: column; }
  .search { height: 58px; margin-top: 22px; }
  .search kbd, .status-dot { display: none; }
  .application-row { grid-template-columns: 44px 1fr 22px; gap: 10px; }
  .filters { overflow-x: auto; }
  .dialog-shell { padding: 30px 20px 22px; }
  .service-grid, .detail-strip { grid-template-columns: 1fr; gap: 8px; }
  .detail-strip span { padding: 6px 0; }
  .dialog-actions { flex-direction: column-reverse; }
  .dialog-actions button { width: 100%; justify-content: center; }
}

.wpops-body { background: var(--canvas); }.wpops-main { padding-bottom: 80px; }
.wpops-hero { min-height: 390px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 45px; border-bottom: 1px solid var(--line); }.wpops-hero h1 { font-size: clamp(44px,5vw,70px); }
.wpops-layout { padding-top: 34px; display: grid; gap: 35px; }.wpops-wizard { display: grid; grid-template-columns: .8fr 1.4fr .8fr; gap: 14px; }
.wpops-step { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: 0 8px 30px rgba(0,24,97,.04); }.wpops-step>small { color: var(--green-dark); font-weight: 800; }.wpops-step h2 { margin: 7px 0 18px; font-size: 17px; }
.wpops-step label { display: grid; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 700; }.wpops-step input,.wpops-step select { width:100%;height:39px;padding:0 10px;border:1px solid #b9cbd7;border-radius:7px;background:#fff; }
.wpops-filters { display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px; }.wpops-sites { max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:8px; }.wpops-sites label { padding:9px 10px;display:flex;grid-template:none;align-items:center;gap:9px;border-bottom:1px solid var(--line);cursor:pointer; }.wpops-sites label:last-child{border:0}.wpops-sites label.disabled{opacity:.5}.wpops-sites input{width:16px;height:16px}.wpops-sites span{min-width:0;flex:1}.wpops-sites strong,.wpops-sites small{display:block}.wpops-sites small{margin-top:3px;font-size:8px;font-weight:400}.wpops-sites em{padding:4px 6px;border-radius:10px;background:#fff0cf;font-size:7px;font-style:normal}
.wpops-risk{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:800}.wpops-risk.read_only{color:#155b87;background:#e4f3fc}.wpops-risk.low{color:#126b43;background:#e0f7ec}.wpops-risk.medium{color:#835700;background:#fff0cf}.wpops-risk.high,.wpops-risk.destructive{color:#a32921;background:#fee8e5}
.wpops-dashboard .schema-table tbody tr{cursor:pointer}.wpops-dialog{width:min(1050px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto}.wpops-dialog section{margin-top:22px}.wpops-targets{display:grid;gap:8px}.wpops-targets article{padding:13px;border:1px solid var(--line);border-radius:9px}.wpops-targets header{display:flex;justify-content:space-between;gap:12px}.wpops-targets header strong,.wpops-targets header small{display:block}.wpops-targets p{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.emergency-reason{width:100%;padding:12px;display:grid;gap:7px;border:1px solid #e7b34d;border-radius:8px;color:#684500;background:#fff7df;font-size:9px}.emergency-reason textarea{min-height:65px;padding:8px;border:1px solid #d6b66f;border-radius:6px;resize:vertical}
@media(max-width:950px){.wpops-wizard{grid-template-columns:1fr}.wpops-hero{grid-template-columns:1fr;padding:60px 0}.wpops-filters{grid-template-columns:1fr}}

.workflow-body{background:var(--canvas)}.workflow-main{padding-bottom:80px}.workflow-hero{min-height:390px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;border-bottom:1px solid var(--line)}.workflow-hero h1{font-size:clamp(44px,5.4vw,72px)}
.workflow-progress{padding:26px;display:grid;gap:8px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.workflow-progress strong{font-size:42px}.workflow-progress span{color:var(--muted);font-size:10px}.workflow-progress i{height:8px;overflow:hidden;border-radius:99px;background:var(--line)}.workflow-progress b{width:0;height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--green-dark),var(--green));transition:width .25s ease}
.workflow-toolbar{margin:28px 0 15px;padding:14px;display:flex;align-items:end;gap:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.workflow-toolbar label{min-width:280px;display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase}.workflow-toolbar select{height:38px;padding:0 10px;border:1px solid #b9cbd7;border-radius:7px;background:#fff}.workflow-toolbar>span{margin-left:auto;color:var(--muted);font-size:9px}
.workflow-form{display:grid;gap:15px}.workflow-meta{padding:17px;display:grid;grid-template-columns:1.1fr 1.1fr 1fr .7fr;align-items:start;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.workflow-meta label,.workflow-fields label{display:grid;align-content:start;gap:6px;color:var(--muted);font-size:9px;font-weight:700}.workflow-form input,.workflow-form select,.workflow-form textarea{width:100%;padding:9px 10px;border:1px solid #b9cbd7;border-radius:7px;outline:0;color:var(--ink);background:#fff;font:11px Arial,sans-serif}.workflow-form input,.workflow-form select{height:40px}.workflow-form textarea{min-height:90px;resize:vertical;line-height:1.5}.workflow-form input:focus,.workflow-form select:focus,.workflow-form textarea:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(87,247,255,.2)}.workflow-form input:user-invalid{border-color:#c44132;box-shadow:0 0 0 3px rgba(196,65,50,.12)}.field-hint{color:var(--muted);font:500 9px/1.4 Arial,sans-serif}
.workflow-section{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:0 6px 24px rgba(0,24,97,.035)}.workflow-section>header{padding:15px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:#f8fbfc}.workflow-section>header>span{color:var(--green-dark);font-size:9px;font-weight:800}.workflow-section>header h2{margin:0;font-size:14px}.workflow-section>header small{margin-left:auto;color:var(--muted);font-size:8px}.workflow-fields{padding:17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workflow-fields .wide{grid-column:1/-1}.workflow-check{padding:12px;display:flex!important;grid-template:none!important;align-items:center;gap:9px;border-radius:8px;background:var(--canvas)}.workflow-check input{width:17px;height:17px}.workflow-check span{color:var(--ink)}
.seo-tasks{display:grid}.seo-tasks article{border-bottom:1px solid var(--line)}.seo-tasks article:last-child{border:0}.seo-tasks label{padding:13px 16px;display:flex;align-items:flex-start;gap:11px;cursor:pointer}.seo-tasks input{width:18px;height:18px;flex:0 0 auto}.seo-tasks i{color:var(--muted);font-size:8px;font-style:normal;font-weight:800}.seo-tasks label>span{flex:1}.seo-tasks strong,.seo-tasks small{display:block}.seo-tasks strong{font-size:10px;line-height:1.45}.seo-tasks small{margin-top:4px;color:var(--green-dark);font-size:7px;font-weight:800;text-transform:uppercase}.seo-tasks textarea{width:calc(100% - 78px);min-height:44px;margin:0 16px 12px 62px;background:var(--canvas)}.seo-tasks article:has(input:checked){background:#f1fbf7}.seo-tasks article:has(input:checked) strong{text-decoration:line-through;opacity:.65}
.workflow-actions{padding:17px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.save-action{position:relative;min-width:132px}.save-action.is-saving{padding-left:34px}.save-action.is-saving:before{position:absolute;left:13px;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;content:"";animation:workflow-spin .7s linear infinite}.save-action-feedback{max-width:240px;margin-right:8px;color:var(--muted);font:500 10px/1.4 Arial,sans-serif}.save-action-feedback.is-saved{color:#177245;font-weight:700}.save-action-feedback.is-error{color:#c44132;font-weight:700}@keyframes workflow-spin{to{transform:rotate(360deg)}}
@media(max-width:850px){.workflow-hero{grid-template-columns:1fr;padding:60px 0}.workflow-meta{grid-template-columns:1fr 1fr}}@media(max-width:560px){.workflow-toolbar{align-items:stretch;flex-direction:column}.workflow-toolbar label{min-width:0}.workflow-toolbar>span{margin:0}.workflow-meta,.workflow-fields{grid-template-columns:1fr}.workflow-fields .wide{grid-column:auto}.seo-tasks textarea{width:calc(100% - 32px);margin-left:16px}}
@media print{.topbar,.workflow-toolbar,.workflow-actions,.logout-button{display:none!important}.shell{width:100%;max-width:none}.workflow-hero{min-height:auto;padding:20px 0}.workflow-section{break-inside:avoid;box-shadow:none}.workflow-form input,.workflow-form textarea,.workflow-form select{border:0;padding:0;box-shadow:none}.workflow-body{background:#fff}}

.deliverability-body { background: var(--canvas); }
.deliverability-main { padding-bottom: 80px; }
.deliverability-hero { min-height: 410px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 55px; border-bottom: 1px solid var(--line); }
.deliverability-hero h1 { font-size: clamp(44px, 5.4vw, 72px); }
.deliverability-summary { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--paper); box-shadow: var(--shadow); }
.deliverability-summary span { min-height: 105px; padding: 20px; display: grid; place-content: center; gap: 6px; text-align: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.deliverability-summary span:nth-child(2n) { border-right: 0; }.deliverability-summary span:nth-child(n+3) { border-bottom: 0; }
.deliverability-summary small { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.deliverability-summary strong { font-size: 28px; }
.deliverability-panel { margin-top: 34px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--paper); box-shadow: var(--shadow); }
.deliverability-toolbar { padding: 18px; display: flex; align-items: flex-end; gap: 12px; }
.deliverability-toolbar label, .deliverability-dialog label { display: grid; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.deliverability-toolbar .application-search { flex: 1; }.deliverability-toolbar input, .deliverability-toolbar select, .deliverability-dialog input { height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: #fff; font: 500 11px Montserrat, sans-serif; }
.primary-action, .secondary-action, .row-action { min-height: 40px; padding: 0 14px; border: 1px solid var(--ink); border-radius: 8px; cursor: pointer; font: 700 10px Montserrat, sans-serif; }
.primary-action { color: #fff; background: var(--ink); }.secondary-action, .row-action { color: var(--ink); background: #fff; }
.danger-action{min-height:40px;padding:0 14px;border:1px solid #e5aaa4;border-radius:8px;color:#9e2d24;background:#fff7f6;cursor:pointer;font:700 10px Montserrat,sans-serif}.danger-action:hover{border-color:#b9382d;background:#fff}.danger-action:disabled{cursor:wait;opacity:.55}.workflow-delete{margin-left:auto}
.primary-action:disabled, .secondary-action:disabled, .row-action:disabled { cursor: wait; opacity: .55; }
.deliverability-schedule { margin: 0; padding: 11px 18px; color: var(--muted); background: var(--canvas); font-size: 9px; }
.deliverability-table-wrap { overflow-x: auto; }.deliverability-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.deliverability-table th { padding: 11px 13px; color: var(--muted); text-align: left; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.deliverability-table td { padding: 13px; border-top: 1px solid var(--line); vertical-align: middle; }.deliverability-table tbody tr { cursor: pointer; }
.deliverability-table tbody tr:hover { background: #f8fbfc; }.deliverability-table td strong, .deliverability-table td small, .deliverability-table time small { display: block; }
.deliverability-table td small, .deliverability-table time small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.score { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #126b43; background: #e0f7ec; font-weight: 800; }
.score.warning { color: #835700; background: #fff0cf; }.score.danger { color: #a32921; background: #fee8e5; }.score.unchecked { color: var(--muted); background: var(--canvas); }
.record-pill, .change-count { padding: 5px 7px; display: inline-flex; border-radius: 999px; font-size: 8px; font-weight: 700; text-transform: capitalize; white-space: nowrap; }
.record-pill.good { color: #126b43; background: #e0f7ec; }.record-pill.danger { color: #a32921; background: #fee8e5; }.record-pill.muted { color: var(--muted); background: var(--canvas); }
.change-count { min-width: 24px; justify-content: center; color: #835700; background: #fff0cf; }
.row-action { min-height: 31px; padding: 0 9px; white-space: nowrap; }
.row-actions { display: flex; gap: 6px; }.settings-help { margin: -7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.deliverability-dialog { width: min(560px, calc(100% - 32px)); padding: 0; border: 0; border-radius: 16px; color: var(--ink); box-shadow: 0 25px 80px rgba(0, 24, 97, .24); }
.deliverability-dialog::backdrop { background: rgba(0, 15, 52, .58); backdrop-filter: blur(3px); }
.deliverability-dialog form, #detailContent { padding: 28px; }.deliverability-dialog form { display: grid; gap: 18px; }
.deliverability-dialog h2 { margin: 5px 0 0; }.dialog-heading { display: flex; justify-content: space-between; gap: 20px; }
.dialog-heading > button { width: 36px; height: 36px; border: 0; border-radius: 50%; color: var(--muted); background: var(--canvas); cursor: pointer; font-size: 22px; }
.deliverability-dialog label small { font-weight: 500; text-transform: none; }.dialog-actions { display: flex; justify-content: flex-end; gap: 9px; }
.form-message { min-height: 16px; margin: 0; color: #a32921; font-size: 10px; }.detail-dialog { width: min(930px, calc(100% - 32px)); }
.detail-score { margin: 20px 0; display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 11px; }
.finding-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.finding { padding: 15px; border: 1px solid var(--line); border-radius: 10px; }
.finding > span, .history-list > li > span { padding: 4px 6px; border-radius: 999px; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.finding.pass > span, .history-list .info { color: #126b43; background: #e0f7ec; }.finding.warn > span, .history-list .warning { color: #835700; background: #fff0cf; }.finding.fail > span, .history-list .critical { color: #a32921; background: #fee8e5; }
.finding h3 { margin: 12px 0 7px; font-size: 12px; }.finding p, .finding small { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }.finding small { margin-top: 8px; display: block; color: var(--ink); }
.history-grid { margin-top: 24px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 25px; }.history-grid h3 { font-size: 14px; }
.history-list { max-height: 320px; margin: 0; padding: 0; overflow-y: auto; list-style: none; }.history-list li { padding: 11px 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; border-top: 1px solid var(--line); }
.history-list li strong { font-size: 9px; }.history-list li small { color: var(--muted); font-size: 8px; }.history-list li p { grid-column: 2 / -1; margin: 0; color: var(--muted); font: 8px/1.5 monospace; overflow-wrap: anywhere; }
.history-empty, .detail-loading { padding: 30px 0; color: var(--muted); font-size: 10px; }
.deliverability-art span { width: 52px; height: 34px; border: 2px solid currentColor; border-radius: 5px; }.deliverability-art span::after { content: ""; width: 23px; height: 2px; display: block; margin: 10px auto; background: currentColor; box-shadow: 0 7px currentColor; }

@media (max-width: 850px) {
  .deliverability-hero { grid-template-columns: 1fr; padding: 65px 0; }.deliverability-toolbar { align-items: stretch; flex-wrap: wrap; }.deliverability-toolbar .application-search { min-width: 100%; }
  .finding-grid { grid-template-columns: repeat(2, 1fr); }.history-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .deliverability-hero { min-height: auto; }.deliverability-toolbar label { width: 100%; }.deliverability-toolbar button { flex: 1; }
  .finding-grid { grid-template-columns: 1fr; }.deliverability-dialog form, #detailContent { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.hub-body {
  background:
    linear-gradient(rgba(0, 24, 97, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 24, 97, .035) 1px, transparent 1px),
    radial-gradient(circle at 85% 5%, rgba(87, 247, 255, .38), transparent 30rem),
    var(--canvas);
  background-size: 42px 42px, 42px 42px, auto, auto;
}

.hub-access {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.hub-user { display: flex; align-items: center; gap: 10px; }
.header-nav-button{min-height:34px;padding:0 13px;display:inline-flex;align-items:center;border:1px solid var(--ink);border-radius:7px;color:var(--ink);background:var(--paper);text-decoration:none;font:700 9px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.06em}.header-nav-button:hover{border-color:var(--green-dark);background:var(--green)}

.hub-access i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #36c978;
  box-shadow: 0 0 0 5px rgba(54, 201, 120, .12);
}

.hub-main { min-height: calc(100vh - 88px); }

.hub-hero {
  min-height: 460px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: center;
  border-bottom: 1px solid rgba(0, 24, 97, .12);
}

.hub-signal {
  height: 280px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 15px;
  transform: skewY(-8deg);
}

.hub-signal span {
  width: 38px;
  border-radius: 4px;
  background: var(--ink);
  box-shadow: 8px 8px 0 var(--green);
}

.hub-signal span:nth-child(1) { height: 85px; }
.hub-signal span:nth-child(2) { height: 145px; background: var(--coral); }
.hub-signal span:nth-child(3) { height: 205px; }
.hub-signal span:nth-child(4) { height: 265px; background: var(--green-dark); }

.tools-section { padding: 70px 0; }
.tools-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 28px; }
.tools-heading h2 { margin: 0; font-size: 28px; }
.tools-heading > span { color: var(--muted); font-size: 12px; }
.tool-filters{margin:-8px 0 30px;display:flex;flex-wrap:wrap;gap:8px}.tool-filters button{min-height:36px;padding:0 14px;border:1px solid rgba(0,24,97,.18);border-radius:999px;color:var(--ink);background:var(--paper);cursor:pointer;font:700 10px Montserrat,sans-serif;transition:border-color .18s,background .18s,color .18s}.tool-filters button:hover{border-color:var(--green-dark)}.tool-filters button[aria-pressed="true"]{border-color:var(--ink);color:#fff;background:var(--ink)}.tool-card[hidden],.tool-group[hidden]{display:none}
.tool-groups { display: grid; gap: 54px; }
.tool-group-heading { margin-bottom: 17px; padding-bottom: 13px; display: flex; align-items: end; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(0, 24, 97, .14); }
.tool-group-heading > div { display: flex; align-items: baseline; gap: 11px; }.tool-group-heading > div > span { color: var(--green-dark); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.tool-group-heading h3 { margin: 0; font-size: 17px; }.tool-group-heading p { margin: 0; color: var(--muted); font-size: 10px; }
.tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

.tool-card {
  min-height: 390px;
  padding: 28px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--ink);
  background: var(--paper);
  text-decoration: none;
  overflow: hidden;
}

.tool-card-live { transition: transform .2s, box-shadow .2s, border-color .2s; }
.tool-card-live:hover { transform: translateY(-5px); border-color: var(--green-dark); box-shadow: var(--shadow); }
.tool-card-soon { color: #8290a7; background: rgba(255, 255, 255, .5); border-style: dashed; }
.tool-index { position: absolute; top: 24px; right: 25px; color: var(--muted); font-size: 11px; font-weight: 700; }
.tool-art { height: 155px; position: relative; }

.cache-art {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.cache-art span {
  width: 88px;
  height: 88px;
  border: 2px solid var(--ink);
  border-radius: 50%;
  background: var(--paper);
}

.cache-art span:nth-child(2) { margin-left: -42px; background: var(--green); }
.cache-art span:nth-child(3) { margin-left: -42px; background: var(--coral); }
.cache-art i { width: 28px; height: 28px; position: absolute; border: 8px solid var(--ink); border-top-color: transparent; border-radius: 50%; }
.placeholder-art { display: grid; place-items: center; }
.placeholder-art span { width: 74px; height: 74px; display: grid; place-items: center; border: 1px dashed #aeb9c8; border-radius: 50%; font-size: 38px; font-weight: 300; }
.server-art { display: flex; align-items: flex-end; justify-content: center; gap: 10px; padding: 20px 0; }
.server-art span { width: 30px; border-radius: 5px 5px 2px 2px; background: var(--ink); box-shadow: 6px 6px 0 var(--green); }
.server-art span:nth-child(1) { height: 45px; }
.server-art span:nth-child(2) { height: 85px; background: var(--blue); }
.server-art span:nth-child(3) { height: 62px; background: var(--coral); }
.server-art span:nth-child(4) { height: 110px; }
.applications-art { display: grid; align-content: center; gap: 10px; }
.applications-art span { height: 26px; border: 2px solid var(--ink); border-radius: 6px; background: var(--paper); box-shadow: 7px 7px 0 var(--green); }
.applications-art span:nth-child(2) { width: 86%; background: var(--green); }
.applications-art span:nth-child(3) { width: 70%; background: var(--coral); }
.sitepulse-art { display: grid; place-items: center; }
.sitepulse-art span { position: absolute; border: 2px solid var(--ink); border-radius: 50%; }
.sitepulse-art span:nth-child(1) { width: 118px; height: 118px; opacity: .22; }
.sitepulse-art span:nth-child(2) { width: 82px; height: 82px; opacity: .45; }
.sitepulse-art span:nth-child(3) { width: 42px; height: 42px; background: var(--green); box-shadow: 8px 8px 0 var(--ink); }
.sitepulse-art i { width: 145px; height: 36px; position: absolute; border-bottom: 4px solid var(--coral); transform: skewY(-12deg); }
.launch-art { display: flex; align-items: center; justify-content: center; gap: 8px; }
.launch-art span { width: 32px; height: 62px; border: 2px solid var(--ink); border-radius: 5px; background: var(--paper); }
.launch-art span:nth-child(1) { height: 38px; background: var(--green); }
.launch-art span:nth-child(2) { height: 82px; background: var(--ink); }
.launch-art span:nth-child(3) { height: 54px; background: var(--coral); }
.launch-art i { width: 42px; height: 42px; position: absolute; border: 7px solid var(--ink); border-top-color: transparent; border-radius: 50%; }
.compliance-art { display: grid; grid-template-columns: repeat(3, 28px); align-items: end; justify-content: center; gap: 7px; }
.compliance-art span { height: 68px; border: 2px solid var(--ink); border-radius: 14px 14px 5px 5px; background: var(--paper); }
.compliance-art span:nth-child(2) { height: 88px; background: var(--green); }.compliance-art span:nth-child(3) { height: 50px; background: var(--coral); }
.compliance-art i { width: 25px; height: 12px; position: absolute; margin: 0 0 25px 2px; border-left: 3px solid var(--ink); border-bottom: 3px solid var(--ink); transform: rotate(-45deg); }
.lead-engine-art { display: flex; align-items: center; justify-content: center; }
.lead-engine-art span { position: absolute; border: 2px solid var(--ink); border-radius: 50%; }
.lead-engine-art span:nth-child(1) { width: 90px; height: 90px; }.lead-engine-art span:nth-child(2) { width: 62px; height: 62px; }.lead-engine-art span:nth-child(3) { width: 32px; height: 32px; background: var(--green); }
.lead-engine-art i { width: 52px; height: 2px; position: absolute; margin-left: 52px; background: var(--ink); transform: rotate(-28deg); transform-origin: left center; }
.schema-art { display: flex; align-items: center; justify-content: center; gap: 7px; }
.schema-art span { color: var(--ink); font: 800 58px/1 monospace; }.schema-art i { width: 10px; height: 10px; border-radius: 50%; background: var(--green-dark); box-shadow: 0 20px var(--ink), 0 -20px var(--ink); }
.tool-copy { flex: 1; display: flex; flex-direction: column; }
.tool-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tool-status { align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tool-status i { width: 7px; height: 7px; border-radius: 50%; background: #36c978; }
.tool-dept { padding: 4px 7px; border: 1px solid rgba(0, 24, 97, .14); border-radius: 999px; color: var(--ink); background: var(--canvas); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tool-copy h3 { margin: 13px 0 12px; font-size: 22px; }
.tool-copy p { max-width: 580px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.tool-link { margin-top: auto; padding-top: 23px; align-self: flex-start; display: inline-flex; gap: 9px; align-items: center; color: var(--green-dark); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.tool-link b { font-size: 18px; transition: transform .2s; }
.tool-card-live:hover .tool-link b { transform: translateX(5px); }
.hub-footer { padding: 25px 0 40px; display: flex; justify-content: space-between; border-top: 1px solid rgba(0, 24, 97, .12); color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 1050px) and (min-width: 851px) {
  .tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .hub-hero { grid-template-columns: 1fr; padding: 65px 0; }
  .hub-signal { display: none; }
  .tool-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .hub-access { display: none; }
  .hub-main { min-height: calc(100vh - 72px); }
  .hub-hero { min-height: 390px; }
  .tools-section { padding: 50px 0; }
  .tools-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .tool-groups { gap: 42px; }
  .tool-group-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .tool-card { min-height: 350px; padding: 22px; }
  .hub-footer { flex-direction: column; gap: 8px; }
}

.launch-qa-body { background: var(--canvas); }
.launch-main { padding-bottom: 80px; }
.launch-hero { min-height: 470px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 65px; border-bottom: 1px solid var(--line); }
.launch-hero h1 { font-size: clamp(48px, 6vw, 78px); }
.launch-form { padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); }
.launch-form > label { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.launch-form > div { margin-top: 10px; display: grid; grid-template-columns: 1fr auto; }
.launch-form input { min-width: 0; height: 54px; padding: 0 15px; border: 1px solid #b9cbd7; border-radius: 9px 0 0 9px; outline: 0; color: var(--ink); font-size: 14px; }
.launch-form input:focus { position: relative; z-index: 1; border-color: var(--green-dark); box-shadow: 0 0 0 4px rgba(87, 247, 255, .24); }
.launch-form button { min-height: 54px; padding: 0 19px; border: 0; border-radius: 0 9px 9px 0; color: var(--paper); background: var(--ink); cursor: pointer; font-size: 11px; font-weight: 700; }
.launch-form button:disabled { cursor: wait; opacity: .6; }
.launch-form p { min-height: 17px; margin: 11px 0 0; color: var(--muted); font-size: 10px; }
.launch-results { padding-top: 34px; scroll-margin-top: 20px; }
.scan-progress { margin-top: 34px; padding: 34px; display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); scroll-margin-top: 20px; }
.scan-progress h2 { margin: 4px 0 18px; font-size: 22px; }.scan-progress-orbit { width: 92px; height: 92px; position: relative; display: grid; place-items: center; }
.scan-progress-orbit i { position: absolute; border: 2px solid var(--ink); border-radius: 50%; animation: scan-pulse 1.8s ease-in-out infinite; }.scan-progress-orbit i:nth-child(1) { width: 32px; height: 32px; background: var(--green); }.scan-progress-orbit i:nth-child(2) { width: 58px; height: 58px; animation-delay: -.6s; }.scan-progress-orbit i:nth-child(3) { width: 86px; height: 86px; animation-delay: -1.2s; }
.scan-progress-track { height: 7px; overflow: hidden; border-radius: 999px; background: var(--canvas); }.scan-progress-track span { width: 38%; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--green-dark), var(--green)); animation: scan-track 1.5s ease-in-out infinite; }
.scan-progress-time { margin: 11px 0 0; color: var(--muted); font-size: 9px; }.scan-progress-time strong { color: var(--ink); }
@keyframes scan-track { from { transform: translateX(-105%); } to { transform: translateX(365%); } }
@keyframes scan-pulse { 0%, 100% { opacity: .35; transform: scale(.92); } 50% { opacity: 1; transform: scale(1); } }
@media (max-width: 560px) { .scan-progress { padding: 24px 18px; grid-template-columns: 1fr; }.scan-progress-orbit { margin: auto; } }
.launch-summary { padding: 24px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); }
.launch-score { width: 100px; height: 100px; display: grid; place-content: center; border: 8px solid var(--green); border-right-color: var(--ink); border-radius: 50%; text-align: center; }
.launch-score span { font: 800 31px Montserrat, sans-serif; }.launch-score small { color: var(--muted); font-size: 9px; }
.launch-summary .eyebrow { margin-bottom: 7px; }.launch-summary h2 { margin: 0; font-size: 23px; }.launch-summary p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 10px; word-break: break-word; }
.launch-counts { display: flex; gap: 8px; }
.launch-counts span { min-width: 76px; padding: 12px; display: grid; gap: 4px; border-radius: 9px; color: var(--muted); background: var(--canvas); font-size: 8px; font-weight: 700; text-align: center; text-transform: uppercase; }
.launch-counts strong { color: var(--ink); font-size: 20px; }.launch-counts .fail strong { color: #b9382d; }.launch-counts .warn strong { color: #9a6500; }.launch-counts .pass strong { color: #167548; }
.launch-filter { margin: 22px 0 13px; display: flex; gap: 7px; }
.launch-filter button { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; }
.launch-filter button.active { border-color: var(--ink); color: var(--paper); background: var(--ink); }
.launch-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.launch-check { min-height: 135px; padding: 17px; display: grid; grid-template-columns: auto 1fr; gap: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.launch-check.fail { border-left: 4px solid #d45649; }.launch-check.warn { border-left: 4px solid #e4a72c; }.launch-check.pass { border-left: 4px solid #36c978; }
.check-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: var(--paper); background: #36c978; font-weight: 800; }
.launch-check.warn .check-icon { color: #624200; background: #ffd778; }.launch-check.fail .check-icon { background: #d45649; }
.check-number { float: right; color: var(--muted); font-size: 8px; font-weight: 700; }.launch-check h3 { margin: 2px 0 8px; font-size: 13px; }
.launch-check p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }.launch-check small { margin-top: 8px; display: block; color: var(--ink); font-size: 9px; line-height: 1.5; }
.launch-empty { min-height: 180px; grid-column: 1 / -1; display: grid; place-items: center; color: var(--muted); }
.compliance-hero { min-height: 500px; }.compliance-detected { margin-top: 18px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.compliance-detected span { padding: 16px; display: grid; gap: 6px; border-right: 1px solid var(--line); }.compliance-detected span:last-child { border: 0; }
.compliance-detected small { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.compliance-detected strong { font-size: 13px; }
.compliance-filter .active[data-filter="consent"] { background: #155b87; border-color: #155b87; }.compliance-filter .active[data-filter="accessibility"] { background: #167548; border-color: #167548; }
.compliance-note { margin: 18px 0 0; padding: 15px 17px; border-left: 4px solid #e4a72c; color: var(--muted); background: #fff8e8; font-size: 9px; line-height: 1.6; }
.compliance-note strong { color: var(--ink); }

@media (max-width: 850px) {
  .launch-hero { grid-template-columns: 1fr; gap: 35px; padding: 65px 0; }
  .launch-summary { grid-template-columns: auto 1fr; }.launch-counts { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .launch-form { padding: 20px 15px; }.launch-form > div { grid-template-columns: 1fr; gap: 8px; }
  .launch-form input, .launch-form button { border-radius: 9px; }
  .launch-summary { grid-template-columns: 1fr; }.launch-score { width: 86px; height: 86px; }
  .launch-counts { width: 100%; }.launch-counts span { min-width: 0; flex: 1; }
  .launch-filter { overflow-x: auto; }.launch-filter button { flex: 0 0 auto; }
  .launch-checks { grid-template-columns: 1fr; }
  .compliance-detected { grid-template-columns: 1fr; }.compliance-detected span { border-right: 0; border-bottom: 1px solid var(--line); }
}

.application-dashboard-body { background: var(--canvas); }
.applications-main { padding-bottom: 70px; }
.applications-hero { min-height: 390px; display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 45px; border-bottom: 1px solid var(--line); }
.applications-hero h1 { font-size: clamp(45px, 5.5vw, 74px); }
.application-summary { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); }
.application-summary span { padding: 22px 12px; display: grid; gap: 7px; text-align: center; border-right: 1px solid var(--line); }
.application-summary span:last-child { border: 0; }
.application-summary small { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.application-summary strong { font: 800 24px Montserrat, sans-serif; }
.application-panel { margin-top: 34px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); overflow: hidden; box-shadow: 0 8px 30px rgba(0, 24, 97, .05); }
.application-toolbar { padding: 18px; display: flex; gap: 12px; border-bottom: 1px solid var(--line); }
.application-toolbar label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.application-toolbar .application-search { flex: 1; }
.application-toolbar input, .application-toolbar select { height: 42px; padding: 0 12px; border: 1px solid #b9cbd7; border-radius: 8px; outline: 0; color: var(--ink); background: #fff; font: 12px Arial, sans-serif; letter-spacing: normal; text-transform: none; }
.application-toolbar input:focus, .application-toolbar select:focus { border-color: var(--green-dark); box-shadow: 0 0 0 3px rgba(87, 247, 255, .22); }
.application-table-wrap { overflow-x: auto; }
.application-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.application-table th { padding: 12px 14px; color: var(--muted); background: var(--canvas); font-size: 8px; letter-spacing: .1em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.table-sort { padding: 0; display: inline-flex; align-items: center; gap: 6px; border: 0; color: inherit; background: transparent; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.table-sort:hover, .table-sort.active { color: var(--ink); }
.table-sort i { width: 0; height: 0; border-right: 3px solid transparent; border-bottom: 4px solid currentColor; border-left: 3px solid transparent; opacity: 0; }
.table-sort.active i { opacity: 1; }
th[aria-sort="descending"] .table-sort i { transform: rotate(180deg); }
.application-table td { max-width: 210px; padding: 13px 14px; border-top: 1px solid var(--line); vertical-align: middle; }
.application-table td strong, .application-table td small { display: block; }
.application-table td small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.application-table a { color: var(--ink); text-decoration-color: var(--green-dark); text-underline-offset: 3px; }
.php-version { padding: 5px 7px; border-radius: 999px; color: #155b87; background: #e4f3fc; font-size: 8px; font-weight: 700; white-space: nowrap; }
.application-table tr.access-disabled td { background: #fff6f5; }
.application-table tr.access-disabled td:first-child { box-shadow: inset 3px 0 0 #a32921; }
.application-table tr.access-disabled td:first-child strong { color: #a32921; }
.application-actions { min-width: 155px; white-space: nowrap; }
.application-actions button { margin-right: 5px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: #fff; cursor: pointer; font-size: 8px; font-weight: 700; }
.application-actions [data-purge], .emergency-actions button { color: #9e2d24; border-color: #e5aaa4; background: #fff7f6; }
.application-detail-dialog { width: min(980px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow-y: auto; }
.application-detail-dialog section { margin-top: 24px; }.application-detail-dialog section h3 { margin: 0 0 10px; font-size: 13px; }
.detail-overview { margin-top: 20px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.detail-overview span { padding: 13px; display: grid; gap: 5px; border-right: 1px solid var(--line); }.detail-overview span:last-child { border: 0; }
.detail-overview small, .detail-data dt { color: var(--muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }.detail-overview strong { font-size: 10px; overflow-wrap: anywhere; }
.detail-data { margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); }.detail-data div { min-width: 0; padding: 10px; background: var(--canvas); }.detail-data dd { margin: 5px 0 0; font: 9px monospace; overflow-wrap: anywhere; }
.fpm-form { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.fpm-form label { display: grid; gap: 5px; color: var(--muted); font-size: 8px; }.fpm-form input { min-width: 0; height: 35px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; }.fpm-form button, .emergency-actions button { min-height: 35px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; font-weight: 700; }
.analytics-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.analytics-grid article { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }.analytics-grid article > strong { font-size: 9px; }
.emergency-actions { padding: 15px; border: 1px solid #e7b34d; border-radius: 9px; background: #fff7df; }.emergency-actions p { color: var(--muted); font-size: 9px; }
.advised-action { margin-top: 9px; padding: 9px 11px; display: grid; gap: 4px; border-left: 3px solid #e4a72c; background: #fff8e8; font-size: 9px; line-height: 1.5; }.advised-action strong { color: #684500; font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.dns-values { overflow: hidden; color: var(--muted); font-family: monospace; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.health-pill { display: inline-flex; padding: 5px 7px; border-radius: 999px; font-size: 8px; font-weight: 700; white-space: nowrap; }
.health-pill.good { color: #126b43; background: #e0f7ec; }.health-pill.warning { color: #835700; background: #fff0cf; }
.health-pill.danger { color: #a32921; background: #fee8e5; }.health-pill.neutral { color: #155b87; background: #e4f3fc; }.health-pill.muted { color: var(--muted); background: var(--canvas); }
.expiry { display: grid; gap: 3px; white-space: nowrap; }.expiry.warning { color: #835700; }.expiry.danger { color: #a32921; }
.expiry small { margin: 0 !important; color: inherit !important; }.muted-value { color: var(--muted); }
.health-loading { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; }
.health-loading i { width: 13px; height: 13px; border: 2px solid var(--line); border-top-color: var(--ink); border-radius: 50%; animation: spin .8s linear infinite; }
.application-pagination { padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.application-pagination div { display: flex; gap: 7px; }
.application-pagination button { min-height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: var(--paper); cursor: pointer; font-size: 10px; font-weight: 700; }
.application-pagination button:disabled { cursor: default; opacity: .4; }
.table-empty { height: 180px; color: var(--muted); text-align: center; }
.table-skeleton i { height: 12px; display: block; border-radius: 8px; background: linear-gradient(90deg, #e7eef2 25%, #f7fafb 50%, #e7eef2 75%); background-size: 200% 100%; animation: shimmer 1.3s infinite; }

@media (max-width: 850px) {
  .applications-hero { grid-template-columns: 1fr; padding: 65px 0; }
  .application-toolbar { align-items: stretch; flex-direction: column; }
}
@media (max-width: 560px) {
  .applications-hero { min-height: auto; }
  .application-summary span { padding: 17px 7px; }
  .application-pagination { align-items: flex-start; flex-direction: column; gap: 12px; }
}

.login-body {
  min-height: 100vh;
  background: var(--paper);
}

.login-layout {
  width: 100%;
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(380px, .85fr) minmax(480px, 1.15fr);
}

.login-brand-panel {
  min-height: 100vh;
  padding: 48px clamp(36px, 6vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--paper);
  background:
    radial-gradient(circle at 15% 85%, rgba(87, 247, 255, .22), transparent 25rem),
    var(--ink);
}

.login-brand { color: var(--paper); }
.login-brand .brand-mark { background: var(--paper); }
.login-brand .brand-mark span { background: var(--ink); }
.login-brand-panel .eyebrow { color: var(--green); }
.login-brand-panel h1 { max-width: 660px; font-size: clamp(42px, 5.5vw, 76px); }
.login-brand-panel h1 span::after { background: var(--green-dark); }
.login-brand-panel > div > p:last-child { max-width: 440px; margin-top: 28px; color: #b7c8df; line-height: 1.7; }
.login-brand-panel small { color: #8fa4c4; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }

.login-form-panel {
  padding: 40px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 85% 10%, rgba(87, 247, 255, .32), transparent 22rem),
    var(--canvas);
}

.login-card {
  width: min(440px, 100%);
  padding: 42px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.login-card h2 { margin: 0; font-size: 30px; }
.login-intro { margin: 14px 0 28px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.login-field { display: flex; flex-direction: column; gap: 9px; }
.login-field span { color: var(--muted); font-size: 11px; font-weight: 600; }
.login-field input {
  width: 100%;
  height: 52px;
  padding: 0 14px;
  border: 1px solid #b9cbd7;
  border-radius: 9px;
  outline: 0;
  color: var(--ink);
  background: #fff;
}

.login-field input:focus { border-color: var(--green-dark); box-shadow: 0 0 0 4px rgba(87, 247, 255, .25); }
#code { font-size: 22px; font-weight: 700; letter-spacing: .3em; text-align: center; }
.email-summary { margin-bottom: 18px; padding: 10px 12px; display: flex; justify-content: space-between; gap: 12px; border-radius: 7px; color: var(--muted); background: var(--canvas); font-size: 10px; }
.email-summary strong { color: var(--ink); }
.email-summary button { padding: 0; border: 0; color: var(--green-dark); background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; }
.login-submit { width: 100%; height: 50px; border: 0; border-radius: 9px; color: var(--paper); background: var(--ink); cursor: pointer; font-weight: 700; }
.login-submit:hover { background: #082678; }
.login-submit:disabled { cursor: wait; opacity: .65; }
.login-message { min-height: 20px; margin: 14px 0; font-size: 11px; line-height: 1.5; }
.login-message.success { color: #167548; }
.login-message.error { color: #b9382d; }
.login-footnote { margin: 17px 0 0; color: var(--muted); font-size: 10px; text-align: center; }

@media (max-width: 850px) {
  .login-layout { grid-template-columns: 1fr; }
  .login-brand-panel { min-height: 300px; padding: 30px; }
  .login-brand-panel > div { margin: 50px 0 30px; }
  .login-brand-panel small { display: none; }
  .login-form-panel { padding: 28px 18px 50px; }
}

@media (max-width: 560px) {
  .login-brand-panel { min-height: 260px; }
  .login-brand-panel h1 { font-size: 39px; }
  .login-brand-panel > div > p:last-child { display: none; }
  .login-card { padding: 28px 20px; }
}

.server-dashboard-body { background: var(--canvas); }
.server-main { padding-bottom: 80px; }
.server-hero { min-height: 390px; display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; border-bottom: 1px solid var(--line); }
.server-hero h1 { font-size: clamp(45px, 5.5vw, 74px); }
.fleet-summary { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); }
.fleet-summary span { min-width: 0; padding: 22px 14px; display: grid; gap: 7px; text-align: center; border-right: 1px solid var(--line); }
.fleet-summary span:last-child { border: 0; }
.fleet-summary small { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fleet-summary strong { font: 800 25px Montserrat, sans-serif; }
.server-controls { margin: 34px 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.server-controls label { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; font-weight: 600; }
.server-controls select, .server-controls input { height: 38px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--paper); }
.metric-legend { display: flex; gap: 15px; color: var(--muted); font-size: 11px; }
.metric-legend span { display: flex; align-items: center; gap: 6px; }
.metric-legend i, .latest-metric i { width: 9px; height: 9px; display: inline-block; border-radius: 3px; }
.metric-legend .cpu { background: #1677ff; }.metric-legend .ram { background: #18a66a; }.metric-legend .disk { background: #d55181; }
.server-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.server-card { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: 0 8px 30px rgba(0, 24, 97, .055); }
.server-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.server-card-head h2 { margin: 7px 0 5px; font-size: 17px; }
.server-card-head p { margin: 0; color: var(--muted); font-size: 10px; }
.server-ip { margin-top: 9px; display: inline-block; color: #155b87; font-size: 10px; font-weight: 700; }
.server-card-actions { display: grid; justify-items: end; gap: 9px; }.restart-server-button { padding: 7px 9px; border: 1px solid #e5aaa4; border-radius: 7px; color: #9e2d24; background: #fff7f6; cursor: pointer; font: 700 8px Montserrat, sans-serif; text-transform: uppercase; letter-spacing: .04em; }.restart-server-button:hover { border-color: #b9382d; background: #fff; }
.server-status { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.server-status i { width: 7px; height: 7px; border-radius: 50%; background: #36c978; }
.app-total { min-width: 50px; display: grid; color: var(--ink); font: 800 22px Montserrat, sans-serif; text-align: right; }
.app-total small { color: var(--muted); font: 600 8px Montserrat, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.server-card-content { margin-top: 20px; }
.latest-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.latest-metric { padding: 9px 10px; display: grid; gap: 5px; border-radius: 8px; background: var(--canvas); }
.latest-metric span { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 9px; }
.latest-metric strong { font-size: 15px; font-variant-numeric: tabular-nums; }
.latest-metric strong.warning { color: #9a6500; }.latest-metric strong.critical { color: #bd392f; }
.usage-notices { margin-top: 10px; display: grid; gap: 6px; }
.usage-notice { padding: 9px 10px; display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: baseline; border-radius: 8px; font-size: 9px; line-height: 1.45; }
.usage-notice.warning { color: #74572a; background: #fff3de; }
.usage-notice.critical { color: #922d26; background: #fee8e5; }
.usage-notice strong { font-size: 9px; }
.server-chart { width: 100%; height: auto; margin-top: 13px; display: block; }
.server-chart line { stroke: var(--line); stroke-width: 1; }
.server-chart text { fill: var(--muted); font: 9px monospace; }
.server-card-foot { margin-top: 12px; padding-top: 11px; display: flex; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.card-loading, .metric-empty, .server-card-error { min-height: 205px; display: flex; align-items: center; justify-content: center; gap: 9px; color: var(--muted); font-size: 11px; }
.card-loading i { width: 15px; height: 15px; border: 2px solid var(--line); border-top-color: var(--ink); border-radius: 50%; animation: spin .8s linear infinite; }
.server-card-error { color: #b9382d; }.metric-empty { min-height: 150px; text-align: center; }
.server-card-error button { margin-left: 6px; padding: 6px 8px; border: 1px solid #e5aaa4; border-radius: 6px; color: #9e2d24; background: #fff; cursor: pointer; font-size: 8px; font-weight: 700; }
.server-empty { min-height: 240px; grid-column: 1 / -1; display: grid; place-content: center; gap: 7px; text-align: center; color: var(--muted); }
.server-empty strong { color: var(--ink); }.server-empty.error strong { color: #b9382d; }
.server-card-skeleton { min-height: 360px; display: grid; align-content: start; gap: 15px; }
.server-card-skeleton span { height: 18px; border-radius: 8px; background: linear-gradient(90deg, #e7eef2 25%, #f7fafb 50%, #e7eef2 75%); background-size: 200% 100%; animation: shimmer 1.3s infinite; }
.server-card-skeleton span:nth-child(2) { height: 55px; }.server-card-skeleton span:nth-child(3) { height: 190px; }
.server-services { margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.service-loading { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--muted); font-size: 9px; }
.service-loading i { width: 12px; height: 12px; border: 2px solid var(--line); border-top-color: var(--ink); border-radius: 50%; animation: spin .8s linear infinite; }
.service-heading { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; }.service-heading strong { font-size: 10px; }.service-heading small { color: var(--muted); font-size: 8px; }
.service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }.service-row { min-width: 0; padding: 8px 8px 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 7px; border-radius: 8px; background: var(--canvas); }
.service-state { min-width: 0; display: grid; grid-template-columns: auto 1fr; column-gap: 6px; }.service-state i { width: 6px; height: 6px; margin-top: 3px; grid-row: 1 / 3; border-radius: 50%; background: #d45649; }.service-state.running i { background: #36c978; }
.service-state strong { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.service-state small { color: var(--muted); font-size: 7px; text-transform: capitalize; }
.service-row button { padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: var(--paper); cursor: pointer; font-size: 7px; font-weight: 700; }.service-row button:hover { border-color: var(--ink); }
.service-empty, .service-error { grid-column: 1 / -1; margin: 0; padding: 12px; color: var(--muted); font-size: 8px; text-align: center; }.service-error { color: #b9382d; }
.service-notice { margin: 0 0 8px; padding: 8px 10px; border-radius: 7px; color: #126b43; background: #e0f7ec; font-size: 8px; }
.service-dialog form > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }.service-confirmation { padding: 16px; display: grid; gap: 5px; border-radius: 9px; background: var(--canvas); }
.service-confirmation span { font-size: 15px; font-weight: 800; }.service-confirmation strong { color: var(--muted); font-size: 10px; }.danger-action { min-height: 40px; padding: 0 14px; border: 0; border-radius: 8px; color: #fff; background: #b9382d; cursor: pointer; font: 700 10px Montserrat, sans-serif; }.danger-action:disabled { cursor: wait; opacity: .55; }
.server-restart-warning { padding: 14px; display: grid; gap: 6px; border: 1px solid #e7b34d; border-radius: 9px; color: #684500; background: #fff7df; }.server-restart-warning[hidden] { display: none; }.server-restart-warning strong { font-size: 11px; }.server-restart-warning span { font-size: 9px; line-height: 1.55; }.warning-action { min-height: 40px; padding: 0 14px; border: 0; border-radius: 8px; color: #fff; background: #a66500; cursor: pointer; font: 700 10px Montserrat, sans-serif; }.server-restart-notice { margin: 0 0 10px; padding: 10px 12px; border-radius: 8px; color: #075c3c; background: #dff6ec; font-size: 9px; font-weight: 700; }

@media (max-width: 1050px) and (min-width: 851px) {
  .server-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .server-hero { grid-template-columns: 1fr; gap: 35px; padding: 65px 0; }
  .server-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .server-hero { min-height: auto; }
  .server-controls { align-items: flex-start; flex-direction: column; }
  .server-card { padding: 17px 13px; }
  .server-card-head { padding: 0 4px; }
  .latest-metric { padding: 8px 6px; }
  .server-card-foot { flex-direction: column; }
  .service-list { grid-template-columns: 1fr; }
}

.schema-body { background: var(--canvas); }
.schema-main { padding-bottom: 80px; }
.schema-hero { min-height: 470px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 65px; border-bottom: 1px solid var(--line); }
.schema-hero h1 { font-size: clamp(48px, 6vw, 78px); }
.schema-results { padding-top: 34px; scroll-margin-top: 20px; }
.schema-metrics { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.schema-metrics span { padding: 17px; display: grid; gap: 6px; text-align: center; border-right: 1px solid var(--line); }.schema-metrics span:last-child { border: 0; }
.schema-metrics small { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.schema-metrics strong { font-size: 17px; }
.schema-table-wrap { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow); }
.schema-table { width: 100%; border-collapse: collapse; font-size: 10px; }.schema-table th { padding: 12px 14px; color: var(--muted); text-align: left; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.schema-table td { max-width: 260px; padding: 14px; border-top: 1px solid var(--line); vertical-align: middle; }.schema-table tbody tr { cursor: pointer; }.schema-table tbody tr:hover { background: #f8fbfc; }
.schema-table td > strong, .schema-table td > small { display: block; }.schema-table td > small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.schema-kind { color: var(--muted); font-size: 9px; font-weight: 700; text-transform: capitalize; }
.schema-types { display: flex; flex-wrap: wrap; gap: 4px; }.schema-types span, .schema-status { padding: 5px 7px; border-radius: 999px; font-size: 7px; font-weight: 700; white-space: nowrap; }
.schema-types .found, .schema-status.pass { color: #126b43; background: #e0f7ec; }.schema-types .muted { color: #155b87; background: #e4f3fc; }.schema-types .missing, .schema-status.fail { color: #a32921; background: #fee8e5; }.schema-status.warn { color: #835700; background: #fff0cf; }
.schema-dialog { width: min(960px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; overflow: hidden; }
.schema-dialog #schemaDetail { max-height: calc(100vh - 32px); padding: 28px 30px 30px; overflow-y: auto; }
.schema-dialog .dialog-heading { position: sticky; top: -28px; z-index: 2; margin: -28px -30px 0; padding: 26px 30px 18px; border-bottom: 1px solid var(--line); background: var(--paper); }
.schema-dialog .dialog-heading h2 { max-width: 800px; margin: 5px 0 0; line-height: 1.25; }
.schema-dialog .dialog-heading a { max-width: 760px; margin-top: 9px; display: block; overflow: hidden; color: var(--green-dark); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.schema-detail-types { margin: 22px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.schema-detail-types > span { padding: 13px; border-radius: 9px; background: var(--canvas); }
.schema-detail-types small { margin-bottom: 8px; display: block; color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.schema-issues h3, .schema-nodes h3 { margin: 22px 0 10px; font-size: 13px; }.schema-issues article { padding: 10px 0; display: flex; align-items: flex-start; gap: 9px; border-top: 1px solid var(--line); }
.schema-issues article span { width: 20px; height: 20px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; font-weight: 800; }.schema-issues article.fail span { color: #fff; background: #d45649; }.schema-issues article.warn span { color: #624200; background: #ffd778; }
.schema-issues article p { margin: 2px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }.schema-nodes { max-height: 290px; overflow-y: auto; }
.schema-nodes article { padding: 11px 0; border-top: 1px solid var(--line); }.schema-nodes article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.schema-nodes article strong { font-size: 10px; }
.schema-nodes article small, .schema-nodes article p { margin: 5px 0 0; display: block; color: var(--muted); font-size: 8px; line-height: 1.5; overflow-wrap: anywhere; }
.performance-body { background: var(--canvas); }.performance-main { padding-bottom: 80px; }
.performance-hero { min-height: 390px; display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 50px; border-bottom: 1px solid var(--line); }
.performance-hero h1 { font-size: clamp(45px, 5.5vw, 72px); }.performance-panel { padding-top: 34px; }
.performance-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow); }
.performance-table { width: 100%; min-width: 950px; border-collapse: collapse; font-size: 9px; }.performance-table th { padding: 12px; color: var(--muted); text-align: left; font-size: 7px; text-transform: uppercase; }
.performance-table td { padding: 13px 12px; border-top: 1px solid var(--line); }.performance-table tbody tr { cursor: pointer; }.performance-table td strong, .performance-table td small { display: block; }.performance-table td small { margin-top: 4px; color: var(--muted); }
.perf-score { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; font-weight: 800; }.perf-score.good { color: #126b43; background: #e0f7ec; }.perf-score.warning { color: #835700; background: #fff0cf; }.perf-score.danger { color: #a32921; background: #fee8e5; }.perf-score.empty { color: var(--muted); background: var(--canvas); }
.performance-history { margin: 22px 0 0; padding: 0; list-style: none; }.performance-history li { padding: 14px 0; border-top: 1px solid var(--line); }.performance-history li > div:first-child { display: flex; justify-content: space-between; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.history-scores { margin: 10px 0; display: flex; gap: 7px; }.performance-history p { color: var(--muted); font-size: 9px; }.performance-history > li > strong { margin: 4px 6px 0 0; padding: 5px 7px; display: inline-block; border-radius: 6px; font-size: 8px; }.performance-history .warning { color: #835700; background: #fff0cf; }.performance-history .critical { color: #a32921; background: #fee8e5; }
.performance-art { display: flex; align-items: flex-end; gap: 5px; }.performance-art span { width: 10px; border-radius: 3px 3px 0 0; background: currentColor; }.performance-art span:nth-child(1) { height: 18px; }.performance-art span:nth-child(2) { height: 31px; }.performance-art span:nth-child(3) { height: 42px; }

@media (max-width: 850px) {
  .performance-hero { grid-template-columns: 1fr; gap: 35px; padding: 65px 0; }
  .schema-hero { grid-template-columns: 1fr; gap: 35px; padding: 65px 0; }.schema-table-wrap { overflow-x: auto; }.schema-table { min-width: 850px; }
}
@media (max-width: 560px) {
  .schema-hero { min-height: auto; }.schema-metrics { grid-template-columns: repeat(2, 1fr); }.schema-metrics span:nth-child(2) { border-right: 0; }.schema-metrics span:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .schema-detail-types { grid-template-columns: 1fr; }
}

/* --- Website Health Command Centre ------------------------------------- */

.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.health-main { display: grid; gap: 1.5rem; padding-bottom: 4rem; }
.health-hero { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: space-between; align-items: flex-start; }
.health-breadcrumb { margin: 0; }
.health-breadcrumb a { color: var(--muted); font-weight: 600; text-decoration: none; }
.health-breadcrumb a:hover, .health-breadcrumb a:focus-visible { color: var(--ink); text-decoration: underline; }

/* Every interactive element keeps a clearly visible focus ring. */
.health-body :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--green-dark); outline-offset: 2px; border-radius: .35rem;
}

.health-tiles { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); }
.health-tile {
  background: var(--paper); border: 1px solid var(--line); border-radius: 1rem;
  padding: .9rem 1rem; display: grid; gap: .1rem;
}
.health-tile small { color: var(--muted); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.health-tile strong { font-size: 1.65rem; line-height: 1.1; color: var(--ink); }
.health-tile span { color: var(--muted); font-size: .75rem; }

.health-panel {
  background: var(--paper); border: 1px solid var(--line);
  border-radius: 1.25rem; padding: 1.4rem 1.5rem; box-shadow: var(--shadow);
}
.health-panel > h2 { margin: 0 0 1rem; font-size: 1.1rem; }
.health-count {
  display: inline-block; background: var(--canvas); border: 1px solid var(--line);
  border-radius: 1rem; padding: .05rem .55rem; font-size: .8rem; color: var(--muted);
}

.health-toolbar { display: grid; gap: .85rem; margin-bottom: 1rem; }
.health-filters { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; }
.health-filters label { display: grid; gap: .25rem; font-size: .78rem; font-weight: 700; color: var(--muted); }
.health-filters select, .health-filters input {
  border: 1px solid var(--line); border-radius: .6rem; padding: .45rem .6rem;
  font: inherit; font-weight: 500; color: var(--ink); background: var(--paper); min-height: 2.4rem;
}
.health-view-toggle { display: flex; border: 1px solid var(--line); border-radius: .6rem; overflow: hidden; }
.health-view-toggle button {
  border: 0; background: var(--paper); padding: .5rem .85rem; font: inherit;
  font-weight: 600; color: var(--muted); cursor: pointer;
}
.health-view-toggle button[aria-pressed="true"] { background: var(--ink); color: #fff; }

.health-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.health-card-link {
  display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center;
  border: 1px solid var(--line); border-left-width: .35rem; border-radius: 1rem;
  padding: .9rem 1rem; text-decoration: none; color: inherit; background: var(--paper);
  transition: border-color .15s ease, transform .15s ease;
}
.health-card-link:hover { border-color: var(--green-dark); transform: translateY(-1px); }
.health-card[data-band="healthy"] .health-card-link { border-left-color: #1c9c6b; }
.health-card[data-band="attention"] .health-card-link { border-left-color: #8a6508; }
.health-card[data-band="at_risk"] .health-card-link { border-left-color: #a34400; }
.health-card[data-band="critical"] .health-card-link { border-left-color: #b3261e; }
.health-card[data-band="unknown"] .health-card-link { border-left-color: var(--muted); }

.health-score { display: grid; justify-items: center; min-width: 4rem; }
.health-score strong { font-size: 1.5rem; line-height: 1; color: var(--ink); }
.health-score small { font-size: .68rem; font-weight: 700; text-transform: uppercase; color: var(--muted); }
.health-card-name { display: block; font-size: 1rem; }
.health-card-meta { display: block; color: var(--muted); font-size: .8rem; }
.health-card-stats { display: flex; flex-wrap: wrap; gap: .9rem; align-items: center; justify-content: flex-end; }
.health-stat { display: grid; justify-items: center; min-width: 3.4rem; }
.health-stat strong { font-size: .95rem; color: var(--ink); }
.health-stat small { font-size: .66rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.health-list.is-compact .health-card-link { padding: .55rem .8rem; gap: .75rem; }
.health-list.is-compact .health-score strong { font-size: 1.15rem; }

/* Severity and status are always spelled out, never signalled by colour alone. */
.health-chip {
  display: inline-block; border: 1px solid var(--line); border-radius: 1rem;
  padding: .15rem .6rem; font-size: .72rem; font-weight: 700; color: var(--ink);
  background: var(--canvas); text-decoration: none;
}
.health-chip[data-severity="critical"] { border-color: #b3261e; color: #8c1d18; }
.health-chip[data-severity="high"] { border-color: #a34400; color: #8a3a00; }
.health-chip[data-severity="medium"] { border-color: #8a6508; color: #7a5a08; }
.health-chip[data-severity="none"] { border-color: #1c9c6b; color: #126847; }

.health-pagination { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin-top: 1rem; }
.health-pagination button {
  border: 1px solid var(--line); background: var(--paper); border-radius: .5rem;
  min-width: 2.2rem; min-height: 2.2rem; font: inherit; font-weight: 600; cursor: pointer; color: var(--ink);
}
.health-pagination button[aria-current="page"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.health-page-count { margin: 0 auto 0 0; color: var(--muted); font-size: .8rem; }

.health-group { margin-bottom: 1.25rem; }
.health-group h3 { font-size: .95rem; margin: 0 0 .5rem; color: var(--muted); }
.health-group h3 span { color: var(--ink); }

.health-detail-hero { align-items: center; }
.health-score-large {
  display: grid; justify-items: center; border: 1px solid var(--line);
  border-radius: 1.25rem; padding: 1rem 1.6rem; background: var(--paper); min-width: 8rem;
}
.health-score-large strong { font-size: 2.8rem; line-height: 1; color: var(--ink); }
.health-score-large small { font-weight: 700; text-transform: uppercase; font-size: .75rem; }
.health-score-large span { color: var(--muted); font-size: .7rem; margin-top: .2rem; }
.health-score-large[data-band="critical"] { border-color: #b3261e; }
.health-score-large[data-band="at_risk"] { border-color: #a34400; }
.health-score-large[data-band="attention"] { border-color: #8a6508; }
.health-score-large[data-band="healthy"] { border-color: #1c9c6b; }

.health-score-formula { color: var(--muted); margin: 0 0 .75rem; font-size: .88rem; }
.health-deductions, .health-floors { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.health-deductions li { display: grid; grid-template-columns: 3rem 1fr; gap: .6rem; align-items: baseline; }
.health-deduction-points { font-weight: 800; color: #b3261e; }
.health-deductions small { display: block; color: var(--muted); font-size: .78rem; }
.health-floors { margin-top: .75rem; }
.health-floors li { border-left: .2rem solid #a34400; padding-left: .6rem; font-size: .85rem; }

.health-category { border-top: 1px solid var(--line); padding: .6rem 0; }
.health-category summary { cursor: pointer; font-weight: 700; display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; }
.health-category summary small { color: var(--muted); font-weight: 500; font-size: .78rem; }
.health-table-wrap { overflow-x: auto; margin-top: .6rem; }
.health-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.health-table th, .health-table td { text-align: left; padding: .5rem .6rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.health-table thead th { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.health-status { font-weight: 700; white-space: nowrap; }
.health-status[data-status="pass"] { color: #126847; }
.health-status[data-status="warn"] { color: #7a5a08; }
.health-status[data-status="fail"] { color: #8c1d18; }
.health-status[data-status="unknown"] { color: var(--muted); }

.health-findings { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.health-finding { border: 1px solid var(--line); border-radius: 1rem; padding: .9rem 1rem; }
.health-finding h3 { margin: .5rem 0 .35rem; font-size: 1rem; }
.health-finding-head { display: flex; flex-wrap: wrap; gap: .4rem; }
.health-finding-impact { margin: 0 0 .6rem; color: var(--muted); }
.health-finding-meta { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: 0 0 .6rem; }
.health-finding-meta dt { font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.health-finding-meta dd { margin: 0; font-size: .85rem; }

.health-columns { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); }
.health-history, .health-audit { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.health-history li, .health-audit li {
  display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline;
  border-bottom: 1px solid var(--line); padding-bottom: .35rem; font-size: .85rem;
}
.health-history time, .health-audit time { margin-left: auto; color: var(--muted); font-size: .75rem; }
.health-audit small, .health-history small { color: var(--muted); }

.health-form { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; }
.health-form label { display: grid; gap: .25rem; font-size: .78rem; font-weight: 700; color: var(--muted); }
.health-form input, .health-form select, .health-form textarea {
  border: 1px solid var(--line); border-radius: .6rem; padding: .5rem .65rem;
  font: inherit; font-weight: 500; color: var(--ink); background: var(--paper); min-height: 2.4rem;
}
.health-form-wide { flex: 1 1 100%; }
.health-form-wide textarea { width: 100%; }
.health-checkbox { display: flex; flex-direction: row; align-items: center; gap: .5rem; }
.health-checkbox input { min-height: auto; width: 1.1rem; height: 1.1rem; }
.health-inline-form { display: flex; gap: .5rem; align-items: end; flex-wrap: wrap; }
.health-actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: .9rem; }

.health-evidence {
  background: var(--canvas); border: 1px solid var(--line); border-radius: .6rem;
  padding: .6rem .75rem; font-size: .78rem; overflow-x: auto; max-height: 14rem;
}
.health-draft { border: 1px dashed var(--green-dark); border-radius: .75rem; padding: .75rem 1rem; margin-top: .75rem; }
.health-draft-label { font-size: .72rem; font-weight: 700; text-transform: uppercase; color: var(--green-dark); margin: 0 0 .4rem; }

@media (max-width: 860px) {
  .health-card-link { grid-template-columns: auto 1fr; }
  .health-card-stats { grid-column: 1 / -1; justify-content: flex-start; }
}

/* Tables stack into labelled rows rather than scrolling off-screen on phones. */
@media (max-width: 640px) {
  .health-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .health-table tr { display: block; border: 1px solid var(--line); border-radius: .75rem; margin-bottom: .6rem; padding: .35rem .5rem; }
  .health-table th, .health-table td { display: flex; gap: .75rem; border: 0; padding: .3rem .1rem; }
  .health-table th::before, .health-table td::before {
    content: attr(data-label); flex: 0 0 6.5rem; font-size: .7rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .04em; color: var(--muted);
  }
  .health-filters label, .health-filters select, .health-filters input { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .health-card-link { transition: none; }
}
.incident-body { background: #f4f6fb; color: #10204b; }
.incident-main { width: min(1440px, calc(100% - 48px)); margin: 0 auto; padding: 56px 0 100px; }
.incident-hero { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 36px; }
.incident-hero h1 { margin: 8px 0 18px; font-size: clamp(2.3rem, 4.8vw, 5rem); line-height: .95; letter-spacing: -.055em; color: #001861; }
.incident-hero h1 span { color: #3b63f3; }
.incident-hero .intro { max-width: 720px; }
.incident-panel, .incident-card, .incident-workspace-head, .incident-progress { background: #fff; border: 1px solid #dfe5f3; border-radius: 18px; box-shadow: 0 12px 35px rgba(0,24,97,.06); }
.incident-panel { padding: 28px; }
.incident-panel-heading, .incident-workspace-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.incident-panel-heading h2, .incident-card h2 { margin: 4px 0 0; color: #001861; }
.incident-panel-heading label { display: grid; gap: 6px; font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.incident-panel-heading select, .incident-form input, .incident-form select, .incident-form textarea, .incident-inline-form input, .incident-inline-form select, .incident-inline-form textarea { border: 1px solid #cbd4e6; border-radius: 9px; padding: 12px; background: #fff; color: #10204b; font: inherit; }
.incident-message { min-height: 24px; font-weight: 700; }
.incident-table-wrap { overflow-x: auto; }
.incident-table { width: 100%; border-collapse: collapse; }
.incident-table th { color: #63708e; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; text-align: left; padding: 10px 14px; }
.incident-table td { border-top: 1px solid #e8ecf5; padding: 17px 14px; vertical-align: middle; }
.incident-table tbody tr { cursor: pointer; transition: background .15s; }
.incident-table tbody tr:hover { background: #f7f9fe; }
.incident-table td small { display: block; margin-top: 5px; color: #71809e; }
.incident-badge, .incident-status { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 10px; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.incident-badge[data-severity="critical"] { background: #ffe2e7; color: #a10b2f; }
.incident-badge[data-severity="high"] { background: #ffead7; color: #9b4100; }
.incident-badge[data-severity="medium"] { background: #fff3c7; color: #765b00; }
.incident-badge[data-severity="low"] { background: #dff3ea; color: #086342; }
.incident-status { background: #eaf0ff; color: #254dca; }
.incident-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.incident-form > label { display: grid; gap: 7px; font-size: .8rem; font-weight: 700; }
.incident-form .wide, .incident-form fieldset { grid-column: 1 / -1; }
.incident-form fieldset { border: 1px solid #dfe5f3; border-radius: 12px; padding: 16px; }
.incident-form legend { font-weight: 800; padding: 0 8px; }
.incident-checks { display: flex; flex-wrap: wrap; gap: 14px 24px; }
.incident-checks label { font-size: .82rem; font-weight: 600; }
.incident-back { border: 0; background: transparent; color: #3157d4; font: inherit; font-weight: 800; margin: 0 0 18px; cursor: pointer; }
.incident-workspace-head { padding: 28px; margin-bottom: 18px; }
.incident-workspace-head h1 { margin: 12px 0 8px; color: #001861; font-size: clamp(1.8rem,3vw,3.2rem); }
.incident-head-meta { display: flex; gap: 8px; }
.incident-head-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.incident-head-actions a { text-decoration: none; }
.incident-progress { padding: 18px 22px; margin-bottom: 18px; }
.incident-progress div { display: flex; justify-content: space-between; text-transform: capitalize; }
.incident-progress progress { width: 100%; margin: 10px 0; accent-color: #3b63f3; }
.incident-tabs { position: sticky; top: 0; z-index: 3; display: flex; gap: 8px; overflow-x: auto; background: #f4f6fb; padding: 10px 0 16px; }
.incident-tabs a { white-space: nowrap; text-decoration: none; color: #344469; background: #fff; border: 1px solid #dfe5f3; padding: 8px 12px; border-radius: 999px; font-size: .75rem; font-weight: 800; }
.incident-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 18px; }
.incident-card { padding: 26px; margin-bottom: 18px; scroll-margin-top: 70px; }
.incident-card dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; }
.incident-card dt { font-weight: 800; color: #63708e; }
.incident-card dd { margin: 0; }
.incident-evidence-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; max-height: 420px; overflow: auto; }
.incident-evidence-list li { display: grid; grid-template-columns: 10px 1fr; gap: 12px; align-items: start; }
.incident-evidence-list li > span { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: #d09a00; }
.incident-evidence-list li[data-status="available"] > span { background: #149267; }
.incident-evidence-list li[data-status="failed"] > span { background: #d3224d; }
.incident-evidence-list small { display: block; color: #697795; margin-top: 3px; line-height: 1.45; }
.incident-comparison { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.incident-comparison > div { display: grid; gap: 5px; padding: 18px; border-radius: 12px; background: #f5f7fc; }
.incident-comparison strong { font-size: 1.7rem; color: #001861; }
.incident-comparison em { margin-top: 7px; color: #6e7c99; font-size: .72rem; }
.incident-event-list { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 0; }
.incident-event-list li { position: relative; display: grid; grid-template-columns: 180px 1fr; gap: 4px 20px; padding: 13px 0 13px 24px; border-left: 2px solid #dce4f5; }
.incident-event-list li::before { content: ""; position: absolute; left: -6px; top: 18px; width: 10px; height: 10px; border-radius: 50%; background: #3b63f3; }
.incident-event-list time { grid-row: span 2; color: #63708e; font-size: .75rem; }
.incident-event-list small { color: #71809e; }
.incident-caveat { color: #6c7893; font-size: .82rem; line-height: 1.5; }
.incident-findings { display: grid; gap: 12px; margin: 18px 0; }
.incident-findings article { border: 1px solid #e0e6f2; border-radius: 12px; padding: 18px; }
.incident-findings h3 { margin: 12px 0; color: #001861; }
.incident-findings p { margin: 7px 0; }
.incident-findings small { color: #6c7893; }
.incident-inline-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 18px; }
.incident-inline-form textarea { grid-column: 1 / -1; min-height: 76px; }
.incident-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.incident-actions a { display: grid; gap: 5px; border: 1px solid #dce3f2; border-radius: 12px; padding: 16px; color: #173aab; text-decoration: none; }
.incident-actions small { color: #6d7994; }
.incident-analysis { border-left: 4px solid #7a55dd; padding: 15px 18px; background: #f7f3ff; margin: 16px 0; }
.incident-analysis small { display: block; margin: 5px 0 12px; color: #6d6581; }
.incident-analysis pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .78rem; }
.incident-empty { color: #70809f; padding: 20px 0; text-align: center; }
@media (max-width: 820px) {
  .incident-main { width: min(100% - 24px, 1440px); padding-top: 30px; }
  .incident-hero, .incident-panel-heading, .incident-workspace-head { align-items: flex-start; flex-direction: column; }
  .incident-form, .incident-grid { grid-template-columns: 1fr; }
  .incident-form .wide, .incident-form fieldset { grid-column: auto; }
  .incident-comparison, .incident-actions { grid-template-columns: 1fr; }
  .incident-event-list li { grid-template-columns: 1fr; }
  .incident-event-list time { grid-row: auto; }
}
