/* ==========================================================================
   WhiteCoatGuru — Dream Branch Intelligence (NEET-PG) — Stage 1
   Scoped styles for the Dream Branch tool. Uses the shared design tokens
   defined in css/style.css (loaded first). No UG styles are modified.
   ========================================================================== */
:root{
  --db-open:#DCEEE0;   --db-open-ink:#1F6B3A;   /* within observed range   */
  --db-near:#FDF3DC;   --db-near-ink:#8A6116;   /* near observed range     */
  --db-out:#FBE7E5;    --db-out-ink:#9C2B2B;    /* outside observed range  */
  --db-later:#E4EEF7;  --db-later-ink:#28527A;  /* later-round evidence    */
  --db-none:#ECEFF3;   --db-none-ink:#5B6672;   /* no comparable segment   */
}
.db-wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.db-hero{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;padding:44px 0 40px;position:relative;overflow:hidden}
.db-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 12%,rgba(0,137,140,.35),transparent 46%);pointer-events:none}
.db-hero .db-wrap{position:relative}
.db-hero .eyebrow{color:#7FD4C7}
.db-hero h1{color:#fff;font-size:clamp(27px,5vw,40px);line-height:1.12;margin:6px 0 10px}
.db-hero p.lead{color:#C7D4E4;font-size:17px;max-width:660px;margin:0 0 4px}
.db-hero .db-rankspace{margin-top:16px;display:inline-block;font-size:12.5px;font-weight:700;color:#0A2651;background:#7FD4C7;padding:6px 13px;border-radius:999px}

.db-section{padding:40px 0;border-top:1px solid var(--line)}
.db-section:first-of-type{border-top:none}
.db-section h2{font-family:'Fraunces',serif;font-weight:600;color:var(--navy);font-size:25px;margin:0 0 6px}
.db-section h3{font-size:18px;color:var(--navy);margin:0 0 10px}
.db-sub{color:var(--ink-soft);font-size:15px;max-width:70ch;margin:0 0 18px}

/* filter panel */
.db-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:0 12px 34px -24px rgba(10,38,81,.28)}
.db-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.db-fld label{display:block;font-size:11.5px;font-weight:700;color:var(--ink-soft);margin-bottom:5px;letter-spacing:.02em;text-transform:uppercase}
.db-fld input,.db-fld select{width:100%;padding:11px 12px;font-family:'Inter',sans-serif;font-size:15.5px;border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink)}
.db-fld input:focus,.db-fld select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,137,140,.14)}
.db-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;align-items:center}
.db-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:'Inter',sans-serif;font-weight:700;font-size:14.5px;padding:11px 20px;border-radius:10px;border:none;cursor:pointer;min-height:44px}
.db-btn-primary{background:var(--teal);color:#fff;box-shadow:0 12px 24px -12px rgba(0,137,140,.55)}
.db-btn-primary:hover{transform:translateY(-1px)}
.db-btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--navy)}
.db-btn-ghost:hover{border-color:var(--navy)}
.db-warn{font-size:12.5px;color:var(--db-near-ink);background:var(--db-near);border-radius:9px;padding:8px 12px;margin-top:10px;display:none}
.db-warn.show{display:block}
.db-err-inline{font-size:12.5px;color:var(--db-out-ink);font-weight:600;margin-top:8px;min-height:1em}

/* status states */
.db-state{padding:26px;text-align:center;color:var(--ink-soft);font-size:15px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--bg-soft)}
.db-spin{display:inline-block;width:18px;height:18px;border:2.5px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:dbspin .8s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes dbspin{to{transform:rotate(360deg)}}

/* stat tiles */
.db-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:6px 0 4px}
.db-tile{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;background:#fff}
.db-tile .v{font-family:'Fraunces',serif;font-weight:600;font-size:23px;color:var(--teal-deep);line-height:1.1}
.db-tile .k{font-size:12.5px;color:var(--ink-soft);margin-top:3px}
.db-tile.navy{background:var(--navy);border-color:var(--navy)}
.db-tile.navy .v{color:#fff}.db-tile.navy .k{color:#cdd8e8}

/* result rows / ladder */
.db-rows{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.db-row{border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:start}
.db-row .rc-inst{font-family:'Fraunces',serif;font-weight:600;font-size:15.5px;color:var(--navy);line-height:1.25}
.db-row .rc-meta{font-size:12.5px;color:var(--ink-soft);margin-top:3px;display:flex;flex-wrap:wrap;gap:3px 12px}
.db-row .rc-meta b{color:var(--ink);font-weight:600}
.db-row .rc-src{font-size:11px;color:var(--ink-soft);margin-top:4px}
.db-label{font-size:11px;font-weight:800;letter-spacing:.02em;padding:5px 10px;border-radius:6px;white-space:nowrap;align-self:start;text-align:center}
.db-l-open{background:var(--db-open);color:var(--db-open-ink)}
.db-l-near{background:var(--db-near);color:var(--db-near-ink)}
.db-l-out{background:var(--db-out);color:var(--db-out-ink)}
.db-l-later{background:var(--db-later);color:var(--db-later-ink)}
.db-l-none{background:var(--db-none);color:var(--db-none-ink)}

/* cutoff explorer table */
.db-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
table.db-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}
.db-table th,.db-table td{padding:9px 11px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.db-table th{background:var(--bg-soft);color:var(--navy);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0}
.db-table td.inst,.db-table th.inst{text-align:left;white-space:normal;min-width:220px;font-family:'Fraunces',serif;color:var(--navy)}
.db-table tbody tr:hover,.db-table tr:hover{background:#FAFCFD}
.db-table .sortbtn{cursor:pointer;user-select:none}
.db-table .sortbtn:hover{color:var(--teal-deep)}
.db-r3{color:var(--teal-deep);font-weight:600}

/* comparison two-col */
.db-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:680px){.db-two{grid-template-columns:1fr}}
.db-cmp{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff}
.db-cmp h4{font-size:15px;margin:0 0 8px;color:var(--navy);display:flex;align-items:center;gap:8px}
.db-cmp .pill{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;background:rgba(0,137,140,.14);color:var(--teal-deep)}
.db-cmp table{width:100%;border-collapse:collapse;font-size:13px}
.db-cmp td{padding:5px 0;border-bottom:1px dashed var(--line);color:var(--ink-soft)}
.db-cmp td:last-child{text-align:right;color:var(--ink);font-weight:600}

/* methodology / disclosure */
.db-method{border-left:3px solid var(--gold);background:var(--bg-soft);border-radius:0 var(--radius) var(--radius) 0;padding:14px 16px;font-size:13px;color:var(--ink-soft);line-height:1.6}
.db-method b{color:var(--ink)}
details.db-details{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:0 16px;margin-top:12px}
details.db-details>summary{cursor:pointer;font-weight:700;color:var(--navy);padding:14px 0;font-size:14.5px;list-style:none}
details.db-details>summary::-webkit-details-marker{display:none}
details.db-details>summary::before{content:"▸ ";color:var(--teal)}
details.db-details[open]>summary::before{content:"▾ "}
details.db-details .db-details-body{padding:0 0 16px;font-size:13.5px;color:var(--ink-soft);line-height:1.65}

/* branch nav cards */
.db-branchcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
@media(max-width:720px){.db-branchcards{grid-template-columns:1fr}}
.db-bcard{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff;text-decoration:none;transition:transform .15s,box-shadow .15s}
.db-bcard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.db-bcard .bc-t{font-family:'Fraunces',serif;font-weight:600;font-size:18px;color:var(--navy)}
.db-bcard .bc-d{font-size:13px;color:var(--ink-soft);margin-top:5px}
.db-bcard .bc-go{margin-top:10px;font-size:13px;font-weight:700;color:var(--teal-deep)}

/* consultation CTA */
.db-cta{margin:20px 0;display:block;text-align:center;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:15px 18px;border-radius:var(--radius);font-size:15px}
.db-cta:hover{background:var(--navy-deep)}
.db-cta small{display:block;font-weight:500;color:#c7d4e4;font-size:12.5px;margin-top:3px}

/* result-page dream-branch cards */
.db-explore{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.db-explore h2{font-family:'Fraunces',serif;font-weight:600;font-size:19px;color:var(--navy);margin:0 0 4px}
.db-explore p{font-size:13.5px;color:var(--ink-soft);margin:0 0 14px}
.db-ecards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:560px){.db-ecards{grid-template-columns:1fr}}
.db-ecard{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:#fff;text-decoration:none}
.db-ecard:hover{border-color:var(--teal);box-shadow:0 10px 24px -16px rgba(0,137,140,.5)}
.db-ecard .ec-t{font-weight:700;color:var(--navy);font-size:15px}
.db-ecard .ec-d{font-size:12px;color:var(--ink-soft);margin-top:4px}
.db-ecard .ec-go{font-size:12.5px;font-weight:700;color:var(--teal-deep);margin-top:8px}

.db-foot-note{font-size:12px;color:var(--ink-soft);margin-top:10px;line-height:1.55}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---- shared WCG header (same component as pg.html / result page) ---- */
.wcg-hd{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #E3E8ED;font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;}
.wcg-hd-in{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1180px;margin:0 auto;padding:12px 22px;}
.wcg-brand img{height:34px;width:auto;display:block;}
.wcg-left{display:flex;align-items:center;gap:14px;}
.wcg-track{display:inline-flex;background:#EEF2F7;border:1px solid #E3E8ED;border-radius:999px;padding:3px;gap:2px;flex:none;}
.wcg-seg{font:inherit;font-weight:700;font-size:12.5px;line-height:1;color:#5B6672;text-decoration:none;padding:7px 13px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;transition:background .15s ease,color .15s ease;}
.wcg-seg .wcg-seg-sub{font-weight:600;font-size:11px;opacity:.85;}
.wcg-seg:hover{color:#0A2651;}
.wcg-seg.is-active[data-seg=ug]{background:#0A2651;color:#fff;}
.wcg-seg.is-active[data-seg=pg]{background:#00898C;color:#fff;}
.wcg-seg.is-active:hover{color:#fff;}
@media(max-width:600px){.wcg-seg .wcg-seg-sub{display:none;}.wcg-seg{padding:7px 11px;font-size:13px;}.wcg-left{gap:9px;}}
.wcg-nav{display:flex;align-items:center;gap:22px;}
.wcg-grp{position:relative;}
.wcg-top{background:none;border:none;font:inherit;font-weight:600;font-size:14px;color:#5B6672;cursor:pointer;padding:6px 0;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.wcg-top::after{content:"\2304";font-size:13px;line-height:0;opacity:.65;position:relative;top:-2px;}
.wcg-grp:hover .wcg-top,.wcg-grp:focus-within .wcg-top{color:#0A2651;}
.wcg-menu{position:absolute;left:50%;top:100%;transform:translateX(-50%) translateY(8px);min-width:250px;background:#fff;border:1px solid #E3E8ED;border-radius:14px;box-shadow:0 18px 46px -22px rgba(10,38,81,.28);padding:8px;opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease;z-index:210;}
.wcg-grp:hover .wcg-menu,.wcg-grp:focus-within .wcg-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(6px);}
.wcg-menu a{display:block;padding:9px 12px;border-radius:9px;font-size:14px;font-weight:700;color:#0A2651;text-decoration:none;white-space:nowrap;}
.wcg-menu a:hover{background:#F4F7FA;}
.wcg-menu a small{display:block;font-weight:500;font-size:11.5px;color:#5B6672;margin-top:1px;}
.wcg-menu a[aria-current=page]{background:#F0FAFA;}
.wcg-cta{background:#0A2651;color:#fff;text-decoration:none;font-weight:700;font-size:13.5px;padding:10px 16px;border-radius:10px;white-space:nowrap;}
.wcg-burger{display:none;width:44px;height:42px;border:1px solid #E3E8ED;border-radius:10px;background:#fff;cursor:pointer;font-size:20px;color:#0A2651;align-items:center;justify-content:center;}
@media(max-width:980px){
 .wcg-burger{display:inline-flex;margin-left:auto;}
 .wcg-cta{display:none;}
 .wcg-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #E3E8ED;box-shadow:0 18px 46px -22px rgba(10,38,81,.28);flex-direction:column;align-items:stretch;gap:0;padding:8px 18px 16px;max-height:82vh;overflow:auto;}
 .wcg-hd.wcg-open .wcg-nav{display:flex;}
 .wcg-grp{width:100%;border-bottom:1px solid #E3E8ED;}
 .wcg-top{width:100%;justify-content:space-between;font-size:15.5px;color:#0A2651;padding:13px 2px;}
 .wcg-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;border-radius:0;padding:0 0 8px 12px;min-width:0;}
}

/* ---- Stage 1.1: plain-language results (cards, summary, tiles) ---- */
.db-summary{background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius);padding:14px 16px;font-size:15px;color:var(--ink);line-height:1.7;margin-bottom:14px}
.db-pillcount{display:inline-block;font-size:12.5px;font-weight:800;padding:3px 9px;border-radius:999px;margin:2px 2px}
.db-tile-lab{margin-top:6px}
.db-tile-mean{font-size:11.5px;color:var(--ink-soft);margin-top:5px;line-height:1.4}
.db-tile.db-edge-open{border-top:3px solid var(--db-open-ink)}
.db-tile.db-edge-near{border-top:3px solid var(--db-near-ink)}
.db-tile.db-edge-later{border-top:3px solid var(--db-later-ink)}
.db-tile.db-edge-out{border-top:3px solid var(--db-out-ink)}
.db-card{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--radius);padding:13px 15px;background:#fff}
.db-card.db-edge-open{border-left-color:var(--db-open-ink)}
.db-card.db-edge-near{border-left-color:var(--db-near-ink)}
.db-card.db-edge-later{border-left-color:var(--db-later-ink)}
.db-card.db-edge-out{border-left-color:var(--db-out-ink)}
.db-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.db-card-inst{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--navy);line-height:1.25}
.db-card-meta{font-size:12.5px;color:var(--ink-soft);margin-top:3px;font-weight:600}
.db-card-verdict{font-size:14px;color:var(--ink);margin-top:8px;font-weight:600}
.db-card-rounds{font-size:12px;color:var(--ink-soft);margin-top:5px}

/* ---- Stage 1.1: plain cutoff table ---- */
.db-legend{font-size:13px;color:var(--ink-soft);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:10px 13px;margin-bottom:10px;line-height:1.55}
.db-legend b{color:var(--ink)}
.db-table th .th-sub{display:block;font-weight:500;font-size:10px;letter-spacing:0;text-transform:none;color:var(--ink-soft);margin-top:2px}
.db-table td.rnd,.db-table th.rnd{text-align:left}
.db-table td.rnd .rc-rng{display:block;font-weight:700;color:var(--ink)}
.db-table td.rnd .rc-seats{display:block;font-size:11px;color:var(--ink-soft);margin-top:1px}
.db-table td.rnd.rc-empty{color:var(--ink-soft);font-weight:400}

/* ---- Stage 1.3: personalized answer banner + journey helper ---- */
.db-answer{background:linear-gradient(180deg,#F0FAFA,#fff);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius-lg);padding:18px 20px}
.db-answer .da-big{font-family:'Fraunces',serif;font-weight:700;font-size:30px;color:var(--teal-deep);line-height:1.1}
.db-answer .da-big span{font-family:'Inter',sans-serif;font-weight:700;font-size:18px;color:var(--navy)}
.db-answer .da-sub{font-size:14px;color:var(--ink-soft);margin-top:6px}
.db-answer .da-sub b{color:var(--ink)}
.db-answer .da-jump{display:inline-block;margin-top:12px;font-weight:700;font-size:14px;color:#fff;background:var(--teal);text-decoration:none;padding:9px 16px;border-radius:9px}
.db-answer .da-jump:hover{background:var(--teal-deep)}
.db-answer .da-ctx{font-size:12.5px;color:var(--ink-soft);margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.db-answer .da-ctx b{color:var(--ink)}
.db-answer-empty{background:var(--bg-soft);border-left-color:var(--line)}
.db-answer-empty .da-lead{font-weight:700;color:var(--navy);font-size:16px}

/* seat-type (quota) emphasis so multiple pools at one college are obvious */
.db-card-meta .rc-quota{color:var(--teal-deep);font-weight:800}
