/* ======================================================================
   Property Insurance Platform — master themed stylesheet
   Zen Algorithms · © 2026

   Two selectable themes via [data-theme] on <html>, all driven by tokens:
     zen-light — commercial insurance (mint-green page, white cards, trust-teal)  [default]
     zen-dark  — cosmic zen (deep gradient, aurora-edge cards)
   ====================================================================== */

/* ----------------------------- TOKENS -------------------------------- */
:root, html[data-theme="zen-light"]{
  --page: radial-gradient(1100px 560px at 12% -8%, rgba(94,234,212,.30), transparent 60%),
          radial-gradient(900px 560px at 96% 0%, rgba(125,211,252,.22), transparent 55%),
          linear-gradient(170deg,#eef7f0 0%,#e6f3ea 55%,#eaf5ef 100%);
  --body-ink:#23413a; --ink:#0c2f28; --muted:#5b7d72; --line:#d4e6db;
  --teal:#0f766e;
  --wrap-bg:#ffffff; --wrap-border:1px solid #d4e6db; --radius:16px;
  --wrap-shadow:0 16px 44px rgba(16,75,60,.12);
  --chrome:linear-gradient(120deg,#0f766e,#15803d); --chrome-ink:#ffffff; --chrome-sub:#bfe8d8;
  --chrome-border:1px solid rgba(15,118,110,.5);
  --panel:rgba(243,250,246,.9); --panel2:#f3faf6;
  --label:#1c4339;
  --control-bg:#ffffff; --control-ink:#13322c; --control-border:#c9ddd2;
  --card-bg:#ffffff; --card-radius:16px; --card-shadow:0 8px 22px rgba(16,75,60,.10);
  --card-border:1px solid #dde9e2;
  --glow:linear-gradient(110deg,#5eead4,#7dd3fc,#c4b5fd); --glow-op:.30; --glow-blur:13px;
  --gtitle-grad:linear-gradient(90deg,#0f766e,#15803d); --gtitle-color:transparent; --gtitle-line:rgba(15,118,110,.3);
  --row-odd:#f3faf5; --row-even:#ffffff; --row-ink:#1b2e2a;
  --info:linear-gradient(135deg,#0d9488,#15803d); --info-shadow:0 0 6px rgba(15,118,110,.4);
  --accent:#0f766e; --accent2:#0ea5a4;
  --ok:#15803d; --warn:#b45309; --bad:#b91c1c;
  --comp:#15803d; --risk:#b91c1c;
  --halo:linear-gradient(110deg,#5eead4,#7dd3fc,#c4b5fd); --halo-op:.30;
  --footer-ink:#6f8c80;
}
html[data-theme="zen-dark"]{
  --page: radial-gradient(1100px 620px at 14% -10%, rgba(34,211,238,.16), transparent 60%),
          radial-gradient(900px 600px at 96% 0%, rgba(139,92,246,.15), transparent 55%),
          linear-gradient(160deg,#070b16 0%,#0b1226 55%,#0a0f1f 100%);
  --body-ink:#dce7f5; --ink:#eaf6fb; --muted:#9fb3cd; --line:rgba(148,163,184,.16);
  --teal:#67e8f9;
  --wrap-bg:linear-gradient(165deg, rgba(16,24,40,.96), rgba(10,15,28,.97));
  --wrap-border:1px solid rgba(148,163,184,.14); --radius:16px;
  --wrap-shadow:0 22px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(34,211,238,.10);
  --chrome:linear-gradient(120deg,#0b2233,#113f52 60%,#0b2233); --chrome-ink:#eaf6fb; --chrome-sub:#8fc6d8;
  --chrome-border:1px solid rgba(34,211,238,.35);
  --panel:rgba(13,22,40,.5); --panel2:rgba(8,14,26,.55);
  --label:#cfe0ef;
  --control-bg:#0e1a30; --control-ink:#e6f0fb; --control-border:#2b3f5e;
  --card-bg:linear-gradient(160deg, rgba(17,24,39,.93), rgba(15,23,42,.96)); --card-radius:18px;
  --card-shadow:0 12px 34px rgba(0,0,0,.5); --card-border:1px solid rgba(148,163,184,.14);
  --glow:linear-gradient(110deg,#06b6d4,#3b82f6,#a855f7); --glow-op:.40; --glow-blur:11px;
  --gtitle-grad:linear-gradient(90deg,#67e8f9,#a5b4fc); --gtitle-color:transparent; --gtitle-line:rgba(34,211,238,.28);
  --row-odd:rgba(56,189,248,.08); --row-even:rgba(255,255,255,.035); --row-ink:#dce7f5;
  --info:linear-gradient(135deg,#06b6d4,#3b82f6); --info-shadow:0 0 8px rgba(34,211,238,.5);
  --accent:#06b6d4; --accent2:#22d3ee;
  --ok:#34d399; --warn:#fbbf24; --bad:#fb7185;
  --comp:#6ee7b7; --risk:#fda4af;
  --halo:linear-gradient(110deg,#06b6d4,#3b82f6,#a855f7); --halo-op:.38;
  --footer-ink:#7e93ad;
}

/* ----------------------------- BASE ---------------------------------- */
*{box-sizing:border-box;}
body{font-family:Verdana,Arial,sans-serif;font-size:12px;margin:0;color:var(--body-ink);min-height:100vh;background:var(--page);}
a{color:var(--teal);text-decoration:none;} a:hover{text-decoration:underline;}
.shell{max-width:900px;margin:0 auto;padding:22px 16px 36px;}
.shell.narrow{max-width:560px;}
h1{font-size:27px;margin:8px 0 6px;color:var(--ink);letter-spacing:.01em;}
h2{font-size:18px;margin:0 0 6px;color:var(--ink);}
.eyebrow-h{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);font-weight:bold;}
.lede{font-size:13px;line-height:1.7;color:var(--muted);}
.lede b{color:var(--ink);}
.muted{color:var(--muted);} .small{font-size:11px;}

/* brand + steps */
.brand{display:flex;align-items:center;justify-content:space-between;margin:0 4px 16px;flex-wrap:wrap;gap:8px;}
.brand .eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);font-weight:bold;}
.brand a.home{font-size:11px;color:var(--teal);border:1px solid var(--line);padding:4px 11px;border-radius:20px;background:var(--card-bg);}
.brand a.home:hover{text-decoration:none;filter:brightness(1.03);}
.steps{display:flex;gap:6px;flex-wrap:wrap;margin:0 4px 18px;font-size:10px;letter-spacing:.05em;}
.steps .s{color:var(--muted);padding:3px 10px;border:1px solid var(--line);border-radius:20px;background:var(--card-bg);}
.steps .s.done{color:var(--ok);border-color:var(--ok);}
.steps .s.active{color:#fff;background:var(--chrome);border-color:transparent;font-weight:bold;}

/* zen card primitive (flow pages) */
.zen{position:relative;z-index:0;background:var(--card-bg);border:var(--card-border);border-radius:18px;box-shadow:var(--card-shadow);}
.zen::before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:20px;background:var(--halo);opacity:var(--halo-op);filter:blur(13px);transition:opacity .45s;}
.zen:hover::before{opacity:calc(var(--halo-op) + .18);}
.zen.p2::before{background:var(--halo);} .zen.p3::before{background:var(--halo);}
.zen.p4::before{background:var(--halo);} .zen.p5::before{background:var(--halo);}
html[data-theme="zen-light"] .zen.p2::before{background:linear-gradient(110deg,#a7f3d0,#bae6fd,#ddd6fe);}
html[data-theme="zen-light"] .zen.p3::before{background:linear-gradient(110deg,#bbf7d0,#99f6e4,#a5f3fc);}
html[data-theme="zen-light"] .zen.p4::before{background:linear-gradient(110deg,#c7d2fe,#ddd6fe,#fbcfe8);}
html[data-theme="zen-light"] .zen.p5::before{background:linear-gradient(110deg,#fde68a,#fecaca,#fbcfe8);}
html[data-theme="zen-dark"] .zen.p2::before{background:linear-gradient(110deg,#a855f7,#ec4899,#f59e0b);}
html[data-theme="zen-dark"] .zen.p3::before{background:linear-gradient(110deg,#10b981,#14b8a6,#06b6d4);}
html[data-theme="zen-dark"] .zen.p4::before{background:linear-gradient(110deg,#6366f1,#a855f7,#d946ef);}
html[data-theme="zen-dark"] .zen.p5::before{background:linear-gradient(110deg,#f59e0b,#f43f5e,#ec4899);}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:bold;border:0;border-radius:9px;padding:11px 18px;font-size:13px;font-family:inherit;text-decoration:none;}
.btn.primary{background:var(--chrome);color:#fff;box-shadow:0 6px 18px rgba(15,118,110,.30);}
.btn.primary:hover{filter:brightness(1.07);text-decoration:none;}
.btn.ghost{background:var(--card-bg);color:var(--teal);border:1px solid var(--line);}
.btn.ghost:hover{filter:brightness(1.03);text-decoration:none;}
.btn.block{width:100%;}

/* SSO + fields + chips */
.sso{display:flex;flex-direction:column;gap:11px;margin-top:6px;}
.sso a{display:flex;align-items:center;gap:12px;padding:11px 15px;border-radius:10px;background:#fff;color:#1f2937;font-weight:bold;font-size:13px;border:1px solid #dfe7e3;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.sso a:hover{filter:brightness(.98);text-decoration:none;}
.sso a.dark{background:#0c2f28;color:#eafdf6;border:1px solid #0c2f28;}
.sso .ic{width:18px;height:18px;flex:0 0 18px;display:inline-block;}
.field{margin-bottom:13px;}
.field label{display:block;font-size:11px;color:var(--label);font-weight:bold;margin-bottom:4px;}
.field input,.field select{width:100%;padding:9px 11px;background:var(--control-bg);color:var(--control-ink);border:1px solid var(--control-border);border-radius:8px;font-size:13px;font-family:inherit;}
.field input:focus,.field select:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 0 3px rgba(14,165,164,.18);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.chip{display:inline-block;padding:4px 10px;border-radius:14px;color:#fff;font-weight:bold;font-size:11px;}
.badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:10px;font-weight:bold;letter-spacing:.04em;}
.badge.ok{background:rgba(21,128,61,.12);color:var(--ok);border:1px solid rgba(21,128,61,.4);}
.badge.warn{background:rgba(180,83,9,.12);color:var(--warn);border:1px solid rgba(180,83,9,.4);}
.badge.bad{background:rgba(185,28,28,.10);color:var(--bad);border:1px solid rgba(185,28,28,.4);}

/* ------------------------- WORKBENCH CHROME -------------------------- */
.wrap{position:relative;z-index:0;background:var(--wrap-bg);border:var(--wrap-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--wrap-shadow);}
.titlebar{background:var(--chrome);color:var(--chrome-ink);padding:14px 18px;font-size:15px;font-weight:bold;border-bottom:var(--chrome-border);}
.titlebar small{font-weight:normal;font-size:11px;color:var(--chrome-sub);}
.about{background:var(--panel2);border-bottom:1px solid var(--line);}
.about .ah{padding:8px 18px;cursor:pointer;font-weight:bold;color:var(--teal);display:flex;justify-content:space-between;user-select:none;font-size:11px;}
.about .ab{padding:0 18px 12px;line-height:1.6;font-size:11px;color:var(--muted);}
.about.collapsed .ab{display:none;}
.about .caret{font-size:10px;color:var(--muted);}
.context{background:var(--panel);padding:12px 18px;border-bottom:1px solid var(--line);}
.context label{font-weight:bold;margin-right:4px;color:var(--label);}
.context select,.context input{margin-right:16px;font-size:11px;padding:3px 6px;background:var(--control-bg);color:var(--control-ink);border:1px solid var(--control-border);border-radius:5px;}
.context select:focus,.context input:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 0 2px rgba(14,165,164,.22);}
.hint{color:var(--muted);font-size:10px;margin-top:6px;}
.climate{margin-top:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.chip small{font-weight:normal;opacity:.85;}
.expl{margin-top:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);}
.expl .eh{padding:6px 11px;cursor:pointer;font-weight:bold;color:var(--teal);display:flex;justify-content:space-between;user-select:none;}
.expl .eb{padding:0 11px 9px;line-height:1.55;color:var(--muted);}
.expl.collapsed .eb{display:none;}
.expl .caret{font-size:10px;color:var(--muted);}

/* --------------------------- PROVISION CARDS ------------------------- */
#renderhost{padding:14px 16px;}
.infoIcon{display:inline-block;width:14px;height:14px;line-height:14px;text-align:center;margin-right:6px;border-radius:50%;background:var(--info);color:#fff;font-size:9px;font-weight:bold;cursor:pointer;vertical-align:middle;box-shadow:var(--info-shadow);}
.infoIcon:hover{filter:brightness(1.12);}
#submissionwindow .group{
  box-sizing:content-box;position:relative;z-index:0;
  background:var(--card-bg) !important;border:var(--card-border) !important;border-radius:var(--card-radius) !important;
  padding:16px 18px 18px !important;margin:0 0 20px !important;color:var(--row-ink) !important;box-shadow:var(--card-shadow);
}
#submissionwindow .group::before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:calc(var(--card-radius) + 2px);background:var(--glow);opacity:var(--glow-op);filter:blur(var(--glow-blur));transition:opacity .45s;}
#submissionwindow .group:hover::before{opacity:calc(var(--glow-op) + .2);}
html[data-theme="zen-dark"] #submissionwindow .group:nth-of-type(6n+2)::before{background:linear-gradient(110deg,#a855f7,#ec4899,#f59e0b);}
html[data-theme="zen-dark"] #submissionwindow .group:nth-of-type(6n+3)::before{background:linear-gradient(110deg,#10b981,#14b8a6,#06b6d4);}
html[data-theme="zen-dark"] #submissionwindow .group:nth-of-type(6n+4)::before{background:linear-gradient(110deg,#6366f1,#a855f7,#d946ef);}
html[data-theme="zen-dark"] #submissionwindow .group:nth-of-type(6n+5)::before{background:linear-gradient(110deg,#f59e0b,#f43f5e,#ec4899);}
html[data-theme="zen-light"] #submissionwindow .group:nth-of-type(6n+2)::before{background:linear-gradient(110deg,#a7f3d0,#bae6fd,#ddd6fe);}
html[data-theme="zen-light"] #submissionwindow .group:nth-of-type(6n+3)::before{background:linear-gradient(110deg,#bbf7d0,#99f6e4,#a5f3fc);}
html[data-theme="zen-light"] #submissionwindow .group:nth-of-type(6n+4)::before{background:linear-gradient(110deg,#c7d2fe,#ddd6fe,#fbcfe8);}
html[data-theme="zen-light"] #submissionwindow .group:nth-of-type(6n+5)::before{background:linear-gradient(110deg,#fde68a,#fecaca,#fbcfe8);}
.groupname:empty{display:none !important;}
.gtitle{font-size:13px;font-weight:bold;letter-spacing:.02em;margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid var(--gtitle-line);background:var(--gtitle-grad);-webkit-background-clip:text;background-clip:text;color:var(--gtitle-color);}
#submissionwindow .odd, #submissionwindow .odd .option{background-color:var(--row-odd) !important;}
#submissionwindow .even, #submissionwindow .even .option{background-color:var(--row-even) !important;}
#submissionwindow .provision, #submissionwindow .option, #submissionwindow .cutbackcell, #submissionwindow .cutbackheader{color:var(--row-ink) !important;}
#submissionwindow .option{border-radius:5px;}
#submissionwindow select, #submissionwindow input[type=text], #submissionwindow input:not([type]){background:var(--control-bg);color:var(--control-ink);border:1px solid var(--control-border);border-radius:4px;font-size:11px;}
#submissionwindow input[type=checkbox]{accent-color:var(--accent);}
#submissionwindow .nonrateableoption{color:var(--bad) !important;}

/* rules panel + underwriting */
.rules{margin:12px 16px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel2);}
.rules h3{margin:0;background:var(--chrome);color:var(--chrome-ink);font-size:12px;padding:7px 11px;cursor:pointer;}
.rules .sec{padding:9px 13px;color:var(--body-ink);}
.rules .compliance li{color:var(--comp);margin-bottom:3px;}
.rules .risk li{color:var(--risk);margin-bottom:3px;}
.uw{padding:9px 13px;background:var(--panel);border-top:1px solid var(--line);}
.uw button{background:var(--chrome);color:#fff;border:0;padding:7px 18px;border-radius:6px;cursor:pointer;font-weight:bold;box-shadow:0 4px 14px rgba(15,118,110,.3);}
.uw button:hover{filter:brightness(1.08);}
.verdict{font-weight:bold;margin-left:10px;}

/* modals stay light for max readability of KB text in every theme */
.modal{display:none;position:fixed;inset:0;background:rgba(6,12,24,.55);align-items:center;justify-content:center;z-index:1000;}
.modal .box{background:#fff;color:#1a2230;width:480px;max-width:92%;max-height:78vh;overflow:auto;border:1px solid var(--accent);border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.4);}
.modal .hdr{background:var(--chrome);color:var(--chrome-ink);padding:9px 13px;font-weight:bold;}
.modal .bodyy{padding:12px 14px;line-height:1.55;}
.modal .rulemsg{padding:7px 9px;margin-bottom:7px;border-left:3px solid #d9534f;background:#fff0f0;}
.modal .ftr{padding:8px 14px 12px;text-align:right;}
.modal button{background:var(--accent);color:#fff;border:0;padding:6px 18px;border-radius:5px;cursor:pointer;}

.footer{color:var(--footer-ink);font-size:10px;text-align:center;margin-top:28px;line-height:1.7;border-top:1px solid var(--line);padding-top:16px;}
.footer .flowfoot{font-weight:bold;color:var(--teal);font-size:11px;letter-spacing:.06em;margin-bottom:6px;}
.footer a{color:var(--teal);}
.demoflag{font-size:10px;color:var(--muted);text-align:center;margin-top:12px;}

/* --------------------------- THEME SWITCHER -------------------------- */
.themeswitch{position:fixed;top:10px;right:12px;z-index:900;display:flex;align-items:center;gap:6px;
  background:var(--card-bg);border:1px solid var(--line);border-radius:20px;padding:4px 6px 4px 11px;
  box-shadow:0 6px 18px rgba(0,0,0,.15);font-size:11px;color:var(--muted);}
.themeswitch label{font-weight:bold;color:var(--teal);letter-spacing:.04em;}
.themeswitch select{background:var(--control-bg);color:var(--control-ink);border:1px solid var(--control-border);border-radius:14px;padding:3px 8px;font-size:11px;font-family:inherit;cursor:pointer;}
.themeswitch .resetbtn{background:var(--control-bg);color:var(--muted);border:1px solid var(--control-border);border-radius:14px;padding:3px 9px;font-size:11px;font-family:inherit;cursor:pointer;}
.themeswitch .resetbtn:hover{border-color:var(--accent2);color:var(--teal);}

/* ----------------------- BRAND MOTTO (symbol + slogan) ----------------------- */
.brandmotto{position:fixed;top:46px;right:12px;z-index:899;display:flex;align-items:center;gap:7px;
  background:var(--card-bg);border:1px solid var(--line);border-radius:16px;padding:4px 13px 4px 9px;
  box-shadow:0 6px 18px rgba(0,0,0,.12);font-size:11px;color:var(--muted);cursor:default;user-select:none;}
.brandmotto .bm-sym{color:var(--teal);flex:none;}
.brandmotto .bm-txt b{color:var(--ink);font-weight:bold;letter-spacing:.02em;}
.brandmotto .bm-txt b.bm-simple{color:var(--teal);}
.brandmotto .bm-arrow{color:var(--muted);opacity:.8;}
@media (max-width:760px){.brandmotto{display:none;}}

/* ----------------------------- FLOW NAV ------------------------------ */
.flownav{margin:0 4px 16px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--card-bg);box-shadow:var(--card-shadow);}
.flownav.bottom{margin:22px 4px 0;}
.flownav .pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:11px;}
.flownav .pill{font-size:12px;font-weight:bold;color:var(--muted);text-decoration:none;padding:5px 12px;border:1px solid var(--line);border-radius:20px;background:transparent;white-space:nowrap;}
.flownav .pill:hover{text-decoration:none;border-color:var(--accent2);color:var(--teal);}
.flownav .pill.done{color:var(--ok);border-color:rgba(21,128,61,.35);}
.flownav .pill.active{color:#fff;background:var(--chrome);border-color:transparent;}
.flownav .flowtag{font-size:11px;font-weight:bold;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);align-self:center;margin-right:4px;}
.flownav .pill.switch{color:var(--muted);border-style:dashed;}
.flownav .flowctl{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.flownav .step{font-size:12px;color:var(--muted);letter-spacing:.04em;text-align:center;flex:1;}
.flownav .navbtn{padding:8px 15px;font-size:13px;white-space:nowrap;}
.flownav .navspace{display:inline-block;min-width:96px;}
.flownav.bottom .pills{display:none;}
/* mobile: step label drops to its own row; buttons shrink instead of overflowing */
@media(max-width:480px){
  .flownav .flowctl{flex-wrap:wrap;}
  .flownav .step{flex-basis:100%;order:-1;margin-bottom:6px;}
  .flownav .navspace{min-width:0;}
  .flownav .navbtn{white-space:normal;padding:8px 12px;}
}

/* ------------------- TYPOGRAPHY: 14in retina readability ------------- */
body{font-size:13.5px;}
.lede{font-size:14px;}
.hint{font-size:11.5px;}
.context{font-size:12.5px;}
.context label,.context select,.context input{font-size:12.5px;}
.about .ab{font-size:12.5px;}
.expl .eh,.expl .eb{font-size:12.5px;}
.titlebar{font-size:16px;}
.rules .sec,.rules .compliance li,.rules .risk li{font-size:12.5px;}
#submissionwindow .provision{font-size:12.5px !important;}
#submissionwindow .option{font-size:12.5px !important;}
.gtitle{font-size:14px;}
#submissionwindow select,#submissionwindow input[type=text],#submissionwindow input:not([type]){font-size:12.5px;}
.infoIcon{width:15px;height:15px;line-height:15px;font-size:10px;}

/* --------------------------- ZOOM CONTROL ---------------------------- */
.zoomctl{display:flex;align-items:center;gap:4px;}
.zoomctl button{background:var(--control-bg);color:var(--control-ink);border:1px solid var(--control-border);border-radius:8px;width:24px;height:24px;font-size:14px;font-weight:bold;cursor:pointer;line-height:1;padding:0;}
.zoomctl button:hover{border-color:var(--accent2);}
.zoomctl .zlevel{font-size:11px;color:var(--muted);min-width:34px;text-align:center;}

/* ------------- FIRE DESIGN · per-group rule demo controls ------------ */
.grouprules{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-2px 0 10px;}
.grouprules .grlabel{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:bold;}
.grouprules .grpill{font-family:inherit;font-size:11px;font-weight:bold;cursor:pointer;border-radius:20px;padding:3px 10px;border:1px solid var(--line);background:var(--card-bg);}
.grouprules .grpill.risk{color:var(--risk);border-color:rgba(185,28,28,.35);}
.grouprules .grpill.comp{color:var(--comp);border-color:rgba(21,128,61,.35);}
.grouprules .grpill:hover{filter:brightness(1.04);border-color:var(--accent2);}
.grouprules .grhelp{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--info);color:#fff;font-size:10px;font-weight:bold;cursor:pointer;}
.grouprules .grhelp:hover{filter:brightness(1.12);}
.rmKind{border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin:10px 0;}
.rmKind.comp{border-left:3px solid var(--ok);}
.rmKind.risk{border-left:3px solid var(--bad);}
.rmKind .rmKindHd{font-weight:bold;font-size:13px;margin-bottom:5px;}
.rmKind.comp .rmKindHd{color:var(--comp);} .rmKind.risk .rmKindHd{color:var(--risk);}
.rmKind .rmKindBody{font-size:12.5px;line-height:1.55;color:var(--body-ink);}
.rmIntro{font-size:12px;color:var(--muted);margin:0 0 10px;line-height:1.5;}
.rmRow{padding:9px 11px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px;font-size:12.5px;line-height:1.5;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.rmRow.risk{border-left:3px solid var(--bad);}
.rmRow.comp{border-left:3px solid var(--ok);color:var(--comp);}
.rmDemo{padding:6px 12px;font-size:12px;white-space:nowrap;}
.rmApplied{font-size:12.5px;margin-bottom:10px;} .rmApplied ul{margin:6px 0 0;padding-left:18px;} .rmApplied li{margin-bottom:3px;}
.rmFired{font-weight:bold;color:var(--ok);margin-top:8px;font-size:13px;}
.rmHint{font-size:11px;color:var(--muted);margin-top:10px;}

/* wide comparison tables scroll sideways on phones instead of stretching the page */
@media (max-width: 700px) {
  table.cmp { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
}
