/* Blue Crescent — free patient tools centre (v2 — 15 tools, 2026-10-21) */
.bct{--n:#0c2e4f;--n2:#0a2440;--b:#145bae;--c:#2a8fd0;--g:#b78632;--g2:#e6c98c;--ink:#19334e;--mu:#53677c;--line:#d9e3ed;--paper:#f4f7fa;--ok:#1f7a4f;--warn:#a3461b;color:var(--ink)}
.bct *{box-sizing:border-box}
.bct-hero{position:relative;overflow:hidden;background:#0c2e4f;color:#eef4f9;padding:36px 0 42px;border-bottom:3px solid var(--g)}
.bct-hero::after{content:"";position:absolute;inset-block-start:-70px;inset-inline-end:-150px;width:380px;height:380px;border-radius:50%;box-shadow:-46px 18px 0 0 #1a64a3;opacity:.38;pointer-events:none}
[dir=rtl] .bct-hero::after{box-shadow:46px 18px 0 0 #1a64a3}
.bct-hero .container{position:relative;z-index:1}
.bct-hero .breadcrumbs{color:#b9cbdb;font-size:.9rem;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.bct-hero .breadcrumbs a{color:#e6eef6}
.bct-eyebrow{color:var(--g2);font-weight:700;font-size:.92rem;margin:0 0 10px}
.bct-hero h1{color:#fff;font-size:clamp(1.75rem,4.6vw,2.9rem);line-height:1.25;margin:0 0 14px;max-width:22ch;letter-spacing:0}
.bct-lead{color:#d3e0ec;font-size:1.06rem;line-height:1.9;max-width:64ch;margin:0 0 16px}
.bct-privacy{display:flex;gap:10px;align-items:flex-start;max-width:64ch;margin:0 0 26px;padding:12px 14px;border:1px solid #ffffff2e;border-radius:12px;background:#0a2440;color:#e9f1f8;font-size:.95rem;line-height:1.7}
.bct-privacy svg{flex:0 0 22px;width:22px;height:22px;color:var(--g2);margin-top:2px}
/* route */
.bct-route{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.bct-route>li{position:relative;padding-inline-end:22px}
.bct-route>li::before{content:"";position:absolute;inset-block-start:19px;inset-inline-start:44px;inset-inline-end:0;border-top:2px dashed #b7863299}
.bct-route>li:last-child::before{display:none}
.bct-stop{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--n);font-weight:800;font-size:1.05rem;box-shadow:0 0 0 4px #ffffff22}
.bct-stage-link{display:block;color:#fff;font-weight:800;font-size:1.12rem;margin:12px 0 10px;text-decoration:none}
.bct-chips{display:flex;flex-wrap:wrap;gap:7px}
.bct-chips a{display:inline-block;padding:7px 11px;border-radius:999px;background:#0a2440;border:1px solid #ffffff30;color:#eaf2f9;font-size:.85rem;text-decoration:none;line-height:1.4;transition:background .15s,color .15s}
.bct-chips a:hover,.bct-chips a:focus-visible{background:#fff;color:var(--n)}
/* toolbar */
.bct-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:0 0 26px;padding:16px 18px;border-radius:16px;background:var(--paper);border:1px solid var(--line)}
.bct-search-box{flex:1 1 300px}
.bct-search-box input[type=search]{width:100%;min-height:46px;padding:10px 14px;border:1px solid #b9cadb;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-weight:600}
.bct-search-box input[type=search]:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px #145bae26}
.bct-toolbar-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bct-count-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#e5eff9;color:var(--n);font-size:.85rem;font-weight:800}
.bct-btn.bct-sm{min-height:40px;padding:7px 14px;font-size:.88rem}
/* stages */
.bct-wrap{padding-block:30px 10px}
.bct-stage{margin:0 0 36px}
.bct-stage-head{display:flex;gap:14px;align-items:center;margin:0 0 14px}
.bct-stage-head .bct-stop{background:var(--n);color:#fff;box-shadow:none;flex:0 0 40px}
.bct-stage-head h2{margin:0;font-size:1.45rem;color:var(--n)}
.bct-stage-head p{margin:2px 0 0;color:var(--mu)}
/* tool */
.bct-tool{background:#fff;border:1px solid var(--line);border-radius:16px;margin:0 0 12px;scroll-margin-top:96px;transition:border-color .18s,box-shadow .18s}
.bct-tool:hover{border-color:#b2cbe4}
.bct-tool[open]{border-color:#8cb3d9;box-shadow:0 12px 32px -18px #0c2e4f55}
.bct-tool>summary{list-style:none;display:flex;gap:14px;align-items:center;padding:16px 18px;cursor:pointer;border-radius:16px}
.bct-tool>summary::-webkit-details-marker{display:none}
.bct-tool>summary:focus-visible{outline:3px solid #2a8fd066;outline-offset:2px}
.bct-ico{position:relative;flex:0 0 48px;width:48px;height:48px;border-radius:13px;background:#e9f2fa;color:var(--b);display:grid;place-items:center}
.bct-ico svg{width:25px;height:25px}
.bct-num{position:absolute;inset-block-end:-5px;inset-inline-end:-5px;background:var(--n);color:#fff;font-size:.68rem;font-weight:800;padding:1px 5px;border-radius:6px;line-height:1.3;border:1.5px solid #fff}
.bct-sum{flex:1;min-width:0}
.bct-sum h3{margin:0;font-size:1.08rem;color:var(--n);line-height:1.5}
.bct-sum>span{display:block;color:var(--mu);font-size:.93rem;line-height:1.6}
.bct-chev{flex:0 0 12px;width:12px;height:12px;border-right:2.5px solid var(--n);border-bottom:2.5px solid var(--n);transform:rotate(45deg);margin-top:-6px;transition:transform .2s}
.bct-tool[open] .bct-chev{transform:rotate(225deg);margin-top:6px}
.bct-body{padding:6px 18px 20px;border-top:1px solid #edf2f7}
.bct-body>p{line-height:1.85}
/* forms */
.bct-form{margin:14px 0 0}
.bct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin:0 0 14px}
.bct-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.bct-wide{grid-column:1/-1}
.bct label,.bct .bct-solo{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.93rem;color:var(--ink)}
.bct .bct-solo{margin:14px 0}
.bct input[type=text],.bct input[type=number],.bct input[type=date],.bct input[type=time],.bct select,.bct textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #c5d3e1;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-weight:500}
.bct textarea{min-height:auto;line-height:1.7;resize:vertical}
.bct input:focus,.bct select:focus,.bct textarea:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px #145bae2e}
.bct fieldset{border:0;padding:0;margin:0}
.bct legend{font-weight:800;color:var(--n);margin:0 0 8px;padding:0}
.bct-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:11px;border:1px solid var(--n);background:var(--n);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.bct-btn:hover{background:#123f69}
.bct-btn:focus-visible{outline:3px solid #2a8fd088;outline-offset:2px}
.bct-btn.ghost{background:#fff;color:var(--n)}
.bct-btn.ghost:hover{background:#eef4fa}
.bct-btn.wa{background:var(--ok);border-color:var(--ok)}
.bct-btn.wa:hover{background:#18633f}
.bct-btn[disabled]{opacity:.45;cursor:not-allowed}
.bct-link{background:none;border:0;padding:6px 0;color:var(--warn);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.bct-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}
.bct-result{display:block;white-space:pre-line;margin:14px 0;padding:14px 16px;border-radius:12px;background:var(--paper);border-inline-start:4px solid var(--g);font-weight:700;line-height:1.9;min-height:1em}
.bct-result:empty{display:none}
.bct-msg{margin:10px 0 0;color:var(--n);font-weight:700}
.bct-msg:empty{display:none}
.bct-note{color:var(--mu);font-size:.9rem;line-height:1.8;margin:12px 0 0}
.bct-alert{margin:12px 0;padding:12px 14px;border-radius:12px;background:#fff5ee;border:1px solid #f0cdb6;color:#7a3413;font-weight:700;line-height:1.7}
.bct-check{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important;line-height:1.7;cursor:pointer}
.bct-check input{flex:0 0 22px;width:22px;height:22px;margin:3px 0 0;accent-color:var(--b)}
.bct-checks{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.bct-checks>li{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}
.bct-checks>li:has(input:checked){background:#eef7f1;border-color:#b9dcc6}
.bct-verify>li>a{display:inline-block;margin-inline-start:32px;margin-top:4px;font-weight:700}
.bct-progress{display:flex;align-items:center;gap:12px;margin:6px 0 0;font-weight:700;color:var(--n)}
.bct-bar{flex:1;height:8px;border-radius:99px;background:#e3eaf2;overflow:hidden}
.bct-bar i{display:block;height:100%;width:0;background:var(--ok);transition:width .25s}
.bct-progress-text{font-weight:700;color:var(--n)}
.bct-flags{margin:16px 0 0;padding:14px 16px;border-radius:12px;background:#fff8f2;border:1px solid #f1d3bd}
.bct-flags h4{margin:0 0 8px;color:#7a3413}
.bct-flags ul{margin:0;padding-inline-start:20px;line-height:1.9}
.bct-qgroup{margin:14px 0!important;display:grid;gap:8px}
/* planner timeline */
.bct-timeline{list-style:none;margin:16px 0 0;padding:0;position:relative}
.bct-timeline::before{content:"";position:absolute;inset-block:8px;inset-inline-start:11px;border-inline-start:2px solid #d4dfeb}
.bct-step{position:relative;padding:2px 0 16px;padding-inline-start:38px;display:grid;gap:2px}
.bct-step::before{content:"";position:absolute;inset-inline-start:4px;inset-block-start:6px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #9fb4c9}
.bct-step strong{color:var(--n);font-size:1rem}
.bct-step span{color:var(--mu);line-height:1.7}
.bct-step em{justify-self:start;font-style:normal;font-size:.82rem;font-weight:800;padding:3px 10px;border-radius:99px;background:#e9f2fa;color:var(--b);margin-top:4px}
.bct-step.is-now::before{border-color:var(--ok);background:var(--ok)}
.bct-step.is-now em{background:#e5f4ea;color:var(--ok)}
.bct-step.is-late::before{border-color:var(--warn)}
.bct-step.is-late em{background:#fbe9df;color:var(--warn)}
.bct-step.is-soon::before{border-color:var(--b)}
/* phrases */
.bct-ph-h{margin:20px 0 10px;color:var(--n);font-size:1rem}
.bct-phrases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bct-phrase{display:flex;flex-direction:column;gap:4px;text-align:start;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;color:var(--ink);cursor:pointer;min-height:64px}
.bct-phrase:hover,.bct-phrase:focus-visible{border-color:var(--b);background:#f4f9fd;outline:none}
.bct-phrase .src{font-weight:700;line-height:1.6}
.bct-phrase .sub{color:var(--mu);font-size:.88rem;line-height:1.5;unicode-bidi:isolate}
[dir=rtl] .bct-phrase .sub[dir=ltr]{text-align:right}
.bct-show{width:min(680px,94vw);max-height:92vh;border:0;border-radius:20px;padding:26px;background:#fff;color:var(--ink);text-align:center}
.bct-show::backdrop{background:#071a2ecc}
.bct-show-label{margin:0 0 14px;color:var(--mu);font-weight:700}
.bct-show-en{margin:0 0 14px;font-size:clamp(1.8rem,6vw,2.6rem);font-weight:800;line-height:1.3;color:var(--n);direction:ltr}
.bct-show-hi{margin:0 0 14px;font-size:clamp(1.6rem,5.4vw,2.3rem);font-weight:700;line-height:1.5;font-family:"Noto Sans Devanagari","Nirmala UI","Mangal",sans-serif;direction:ltr}
.bct-show-src{margin:0 0 6px;color:var(--mu);font-size:1.05rem}
.bct-show .bct-actions{justify-content:center}
/* medical card */
.bct-preview-label{margin:18px 0 8px;font-weight:800;color:var(--n)}
.bct-idcard{max-width:520px;border-radius:18px;overflow:hidden;border:1px solid #c9d7e5;background:#fff}
.bct-idhead{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#0c2e4f;color:#fff;border-bottom:4px solid var(--g)}
.bct-idhead img{width:40px;height:40px;background:#fff;border-radius:50%;padding:3px}
.bct-idcard dl{margin:0;padding:6px 16px 10px}
.bct-idrow{padding:9px 0;border-bottom:1px solid #edf2f7}
.bct-idrow dt{font-size:.82rem;color:var(--mu);font-weight:600}
.bct-idrow dd{margin:2px 0 0;font-weight:800;white-space:pre-line;overflow-wrap:anywhere}
.bct-idrow.coord{border-bottom:0}
.bct-idrow.coord dd{color:var(--b);text-align:start}
/* medicines & logs */
.bct-slots{margin:4px 0 12px!important}
.bct-med{margin:0 0 12px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fbfdff}
.bct-slotpick{display:flex;flex-wrap:wrap;gap:8px}
.bct-chip{flex-direction:row!important;align-items:center;gap:6px!important;padding:8px 12px;border:1px solid #c5d3e1;border-radius:99px;font-weight:600!important;cursor:pointer;background:#fff}
.bct-chip:has(input:checked){background:#e9f2fa;border-color:var(--b);color:var(--b)}
.bct-chip input{width:18px;height:18px;accent-color:var(--b);margin:0}
.bct-form>.bct-btn{margin:4px 0 0;margin-inline-end:8px}
.bct-table-wrap{overflow-x:auto;margin:16px 0 0}
.bct-table{width:100%;border-collapse:collapse;min-width:420px}
.bct-table th{background:#0c2e4f;color:#fff;text-align:start;padding:10px 12px;font-size:.9rem}
.bct-table td{border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}
.bct-table td:first-child{width:130px;white-space:nowrap}
.bct-table td:first-child strong{display:block;font-size:1.05rem;color:var(--n);direction:ltr;text-align:start}
.bct-table td:first-child span{color:var(--mu);font-size:.85rem}
.bct-table td p{margin:0 0 8px}
.bct-table td small{display:block;color:var(--mu)}
/* more & close */
.bct-more h2{color:var(--n);font-size:1.3rem;margin:6px 0 12px}
.bct-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bct-links a{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.bct-links a strong{color:var(--b)}
.bct-links a span{color:var(--mu);font-size:.9rem;line-height:1.6}
.bct-links a:hover{border-color:var(--b);transform:translateY(-2px)}
.bct-close{margin:30px 0 40px;padding:26px;border-radius:18px;background:#0c2e4f;color:#e8f0f7;border:1px solid #b7863255}
.bct-close h2{color:#fff;margin:0 0 8px;font-size:1.35rem}
.bct-close p{line-height:1.85;max-width:64ch;color:#d3e0ec}
.bct-close .bct-disclaimer{color:#b9cbdb}
.bct-disclaimer{color:#b9cbdb;font-size:.88rem;margin:14px 0 0}
.bct-print-title{display:none}
@media (max-width:860px){
 .bct-route{grid-template-columns:1fr;gap:16px}
 .bct-route>li{padding:0;padding-inline-start:54px}
 .bct-route>li>.bct-stop{position:absolute;inset-inline-start:0;inset-block-start:0}
 .bct-route>li::before{inset-block-start:44px;inset-block-end:-16px;inset-inline-start:19px;inset-inline-end:auto;border-top:0;border-inline-start:2px dashed #b7863299}
 .bct-stage-link{margin:6px 0 8px}
 .bct-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bct-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:620px){
 .bct-hero{padding:24px 0 30px}
 .bct-hero::after{width:260px;height:260px;inset-inline-end:-140px;inset-block-start:-40px}
 .bct-grid,.bct-phrases,.bct-links{grid-template-columns:1fr}
 .bct-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bct-tool>summary{padding:14px;gap:12px}
 .bct-ico{flex-basis:42px;width:42px;height:42px}
 .bct-body{padding:4px 14px 18px}
 .bct-actions .bct-btn{flex:1 1 auto}
 .bct-show{padding:20px 16px;border-radius:16px}
 .bct-close{padding:20px}
 .bct-toolbar{padding:12px 14px}
}
@media (prefers-reduced-motion:reduce){.bct-chev,.bct-bar i,.bct-links a{transition:none}}
@media print{
 html.bct-printing body *{visibility:hidden!important}
 html.bct-printing [data-print-active],html.bct-printing [data-print-active] *{visibility:visible!important}
 html.bct-printing [data-print-active]{position:absolute;inset-block-start:0;inset-inline-start:0;width:100%;max-width:none;border:0;box-shadow:none}
 html.bct-printing .bct-actions,html.bct-printing .bct-btn,html.bct-printing .bct-link,html.bct-printing select{display:none!important}
 html.bct-printing .bct-print-title{display:block;font-weight:800;margin:0 0 12px;color:#0c2e4f}
 html.bct-printing .bct-table th{background:#fff;color:#000;border-bottom:2px solid #000}
 html.bct-printing .bct-idhead{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
