/* ============================================================================
   ASC Revenue Cycle Scorecard - public styles
   Faithful to the design handoff tokens. Colors are CSS variables so admin
   brand-color edits can override :root inline from the page.
   ============================================================================ */

:root{
  --crimson:#C51535; --crimson-deep:#A50F2B;
  --blue:#0E76BD; --blue-deep:#0C63A0;
  --ink:#142028; --muted:#5C6B7A; --faint:#8593A0;
  --paper:#F5F7F9; --card:#FFFFFF; --line:#E4E8EC; --hair:#EEF1F4;
  --monitor:#0B1620;
  --good:#1F9D6B; --good-bg:#E7F5EE;
  --watch:#E0A02C; --watch-bg:#FBF3E1;
  --risk:#D2453D; --risk-bg:#FBEAEA;
  --good-bright:#41C98C; --watch-bright:#F2C45A; --risk-bright:#F07A7A;
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); line-height:1.5; font-size:16px;
  -webkit-font-smoothing:antialiased;
}
.tnum{font-variant-numeric:tabular-nums}

@keyframes beat{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.5);opacity:1}}
button:focus-visible,input:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--blue); outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  *{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
}

/* ---- Layout shells ---- */
.wrap{max-width:600px;margin:0 auto;padding:22px 16px 56px}
.wrap-results{max-width:600px;margin:0 auto;padding:18px 16px 56px}

/* ---- Landing + input ---- */
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.logo{height:50px;width:auto;display:block}
h1.title{font-family:var(--serif);font-size:30px;line-height:1.12;margin:0 0 8px;font-weight:700;letter-spacing:-.01em}
.intro{color:var(--muted);font-size:15px;margin:0 0 20px;line-height:1.55}

/* Featured image: show the whole image (no cropping, no rounded corners),
   scaled down proportionally to fit within the column width and a sensible
   max height, and centered. Adjust max-height to taste. */
.featured-img{
  display:block;max-width:100%;max-height:280px;width:auto;height:auto;
  margin:0 auto 20px;
}
.featured-empty{
  display:block;width:100%;height:200px;margin:0 0 20px;overflow:hidden;
  background:#E9EFF4;border:1px solid var(--line);position:relative;
}
.featured-empty .placeholder{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:var(--faint);font-size:13px;gap:8px;flex-direction:column;
}

.progress-row{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.progress-track{flex:1;height:8px;background:var(--line);border-radius:999px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--good));border-radius:999px;transition:width .35s ease;width:0%}
.progress-label{font-size:12.5px;color:var(--muted);white-space:nowrap}

.section-card{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:16px;margin-bottom:14px;box-shadow:0 1px 2px rgba(20,32,40,.05);
}
.eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--crimson);margin:2px 0 8px;display:flex;align-items:center;gap:10px;
}
.eyebrow .rule{height:1px;flex:1;background:var(--line)}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:0 22px}
.field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--hair)}
.field label{font-size:13.5px;color:var(--ink);max-width:60%}
.field label .sub{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.numwrap{position:relative;display:inline-flex;align-items:center;flex:none}
.numwrap input{
  width:104px;padding:11px 38px 11px 12px;font-size:16px;font-variant-numeric:tabular-nums;
  border:1.5px solid var(--line);border-radius:10px;background:#fff;text-align:right;color:var(--ink);
  font-family:inherit;transition:border-color .15s,box-shadow .15s;
}
.numwrap input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(14,118,189,.16);outline:none}
.numwrap .unit{position:absolute;right:12px;font-size:12px;color:var(--muted);pointer-events:none}

.error-card{background:var(--risk-bg);color:#B53434;border:1px solid #F2D2D2;border-radius:10px;padding:11px 14px;font-size:13.5px;margin:0 0 12px}

.btn-primary{
  width:100%;border:0;border-radius:13px;padding:17px;font-size:16px;font-weight:700;font-family:inherit;
  color:#fff;background:var(--crimson);cursor:pointer;box-shadow:0 6px 18px -8px rgba(197,21,53,.6);
  transition:background .15s,transform .05s;letter-spacing:.01em;
}
.btn-primary:hover{background:var(--crimson-deep)}
.btn-primary:active{transform:translateY(1px)}
.hint{text-align:center;color:var(--muted);font-size:12.5px;margin:12px 2px 0}

.admin-link{text-align:center;margin-top:26px}
.admin-link a,.linkbtn{background:none;border:0;color:var(--muted);font-size:12.5px;cursor:pointer;text-decoration:underline;font-family:inherit}

/* ---- Results: shared ---- */
.results-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.backlink{background:none;border:0;color:var(--blue);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;padding:6px 0}
.seg{display:inline-flex;background:#E4E9EE;border-radius:999px;padding:3px}
.seg button{border:0;cursor:pointer;font-size:12.5px;font-weight:700;padding:7px 16px;border-radius:999px;font-family:inherit;transition:all .2s;background:transparent;color:var(--muted)}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(20,32,40,.16)}

.r-eyebrow-dark{display:flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7E93A6;margin-bottom:4px}
.beatdot{width:8px;height:8px;border-radius:50%;background:var(--good-bright);animation:beat 1.4s ease-in-out infinite;display:inline-block}

/* Monitor (dark) */
.monitor{background:var(--monitor);border-radius:22px;padding:24px 20px 26px;box-shadow:0 24px 60px -26px rgba(11,22,32,.8);position:relative;overflow:hidden;color:#fff}
.monitor .glow{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% -10%,rgba(14,118,189,.22),transparent 60%);pointer-events:none}
.monitor .inner{position:relative}
.monitor h2{font-family:var(--serif);font-size:21px;margin:0 0 14px;font-weight:700}
.ekg-dark{width:100%;height:46px;display:block;margin-bottom:6px}
.ring-wrap{position:relative;width:178px;height:178px;margin:8px auto 6px}
.ring-wrap svg{transform:rotate(-90deg);display:block}
.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-score{font-size:50px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ring-cap{font-size:10px;letter-spacing:.16em;color:#7E93A6;margin-top:6px;text-transform:uppercase}
.headline-dark{text-align:center;font-size:14px;color:#B9C6D2;margin:6px 4px 18px;line-height:1.5}
.tally-dark{display:flex;gap:10px}
.tally-dark .cell{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);border-radius:13px;padding:13px 8px;text-align:center}
.tally-dark .n{font-size:30px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.tally-dark .l{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#7E93A6;margin-top:7px}

/* Report (light) */
.report{background:linear-gradient(180deg,#FFFFFF,#F4F8FB);border:1px solid var(--line);border-radius:22px;padding:24px 20px 26px;box-shadow:0 16px 46px -22px rgba(20,32,40,.3);text-align:center}
.report .r-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--crimson);margin-bottom:2px}
.gauge-wrap{position:relative;width:248px;max-width:100%;margin:6px auto 0}
.gauge-wrap svg{width:100%;height:auto;display:block}
.gauge-center{position:absolute;left:0;right:0;bottom:2px;text-align:center}
.gauge-score{font-size:54px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.gauge-cap{font-size:10.5px;letter-spacing:.14em;color:var(--muted);margin-top:5px;text-transform:uppercase}
.ekg-light{width:60%;max-width:280px;height:22px;display:block;margin:4px auto 0}
.headline-light{font-size:14px;color:var(--muted);margin:10px 4px 0;line-height:1.5}
.tally-light{display:flex;gap:10px;margin-top:18px}
.tally-light .cell{flex:1;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 8px;text-align:center;box-shadow:0 1px 2px rgba(20,32,40,.04)}
.tally-light .n{font-size:28px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.tally-light .l{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:7px}

/* Metric rows */
.metric-section h3{font-family:var(--serif);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson);margin:20px 4px 10px;font-weight:700}
.metric-list{display:grid;gap:10px}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(244px,1fr));gap:10px}
.metric-row .card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px rgba(20,32,40,.05);height:100%}
.metric-row .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.metric-row .name{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3}
.metric-row .val{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;margin-top:10px}
.chip .dot{width:7px;height:7px;border-radius:50%}
.track{display:flex;gap:5px;margin-top:12px}
.track .seg3{flex:1;height:8px;border-radius:4px;background:#EDF0F3;position:relative;overflow:hidden}
.track .fill{position:absolute;inset:0;border-radius:4px;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.zones{display:flex;justify-content:space-between;margin-top:7px;font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.zones span{flex:1}
.zones .c{text-align:center}
.zones .r{text-align:right}

/* Reveal animation state */
.metric-row{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.armed .metric-row{opacity:1;transform:none}
.armed .track .fill{transform:scaleX(1)}

/* ---- Share + lead ---- */
.share-row{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.btn-share{flex:1;min-width:150px;background:var(--blue);color:#fff;border:0;border-radius:12px;padding:15px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}
.btn-share:hover{background:var(--blue-deep)}
.btn-eval{flex:1;min-width:150px;text-align:center;background:#fff;border:1.5px solid var(--crimson);color:var(--crimson);border-radius:12px;padding:14px;font-size:14px;font-weight:700;text-decoration:none}
.share-ok{text-align:center;color:var(--good);font-size:12.5px;margin:9px 0 0;font-weight:600}

.lead{background:linear-gradient(180deg,#fff,#FBFCFD);border:1px solid var(--line);border-radius:18px;padding:22px 20px;margin-top:22px;box-shadow:0 10px 34px -18px rgba(20,32,40,.22)}
.lead h3{font-family:var(--serif);font-size:20px;margin:0 0 6px;color:var(--ink);font-weight:700}
.lead p.body{color:var(--muted);font-size:14px;margin:0 0 16px;line-height:1.55}
.call-btn{display:flex;align-items:center;justify-content:center;gap:8px;font-size:17px;font-weight:700;color:var(--crimson);text-decoration:none;padding:13px;border:1.5px solid var(--crimson);border-radius:12px;margin-bottom:16px}
.lead label{display:block;font-size:13px;font-weight:600;margin:0 0 5px}
.lead .fieldset{margin-bottom:12px}
.lead input{width:100%;padding:13px 12px;font-size:16px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;background:#fff}
.lead input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(14,118,189,.16);outline:none}
.two-up{display:flex;gap:12px;flex-wrap:wrap}
.two-up>div{flex:1;min-width:150px;margin-bottom:12px}
.hp{position:absolute;left:-9999px}
.lead-err{color:#B53434;font-size:13px;margin:0 0 10px}
.thanks{text-align:center;padding:10px 6px 4px}
.thanks .big{font-size:15px;font-weight:700;color:var(--good);margin-bottom:4px}
.thanks p{color:var(--muted);font-size:13.5px;margin:0}

.footer{text-align:center;color:var(--muted);font-size:12px;margin-top:24px;line-height:1.7}

.hidden{display:none!important}
