:root {
    --hyakom-teal: #043f46;
    --hyakom-teal-2: #075b63;
    --hyakom-gold: #c9972d;
    --hyakom-gold-2: #e2bd68;
    --hyakom-ink: #10252a;
    --hyakom-muted: #6b7d81;
    --hyakom-bg: #f5f7f6;
    --hyakom-line: #dce5e3;
    --hyakom-white: #ffffff;
    --hyakom-danger: #b42318;
    --hyakom-shadow: 0 18px 55px rgba(4,63,70,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, Arial, sans-serif; color: var(--hyakom-ink); background: var(--hyakom-bg); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.hyk-container { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }
.hyk-nav { height: 82px; display: flex; align-items: center; gap: 28px; }
.hyk-brand { display:flex; align-items:center; gap:12px; min-width:240px; }
.hyk-brand img { width: 205px; max-height: 64px; object-fit: contain; object-position:left center; }
.hyk-nav-links { display:flex; align-items:center; gap:24px; margin-left:auto; font-size:14px; font-weight:700; }
.hyk-nav-actions { display:flex; gap:10px; align-items:center; }
.hyk-btn { border:0; border-radius:6px; min-height:44px; padding:0 20px; cursor:pointer; font-weight:800; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.hyk-btn-primary { background:var(--hyakom-gold); color:#fff; }
.hyk-btn-dark { background:var(--hyakom-teal); color:#fff; }
.hyk-btn-outline { background:#fff; border:1px solid var(--hyakom-line); color:var(--hyakom-teal); }

.hyk-hero { position:relative; overflow:hidden; min-height:670px; background:
    radial-gradient(circle at 75% 28%, rgba(226,189,104,.28), transparent 27%),
    linear-gradient(120deg, #e9f1ef 0%, #f8faf9 48%, #e8efec 100%); }
.hyk-hero:after { content:"✈"; position:absolute; right:-20px; top:110px; font-size:370px; color:rgba(4,63,70,.045); transform:rotate(-8deg); }
.hyk-hero-content { position:relative; z-index:2; padding:88px 0 160px; max-width:700px; }
.hyk-eyebrow { text-transform:uppercase; color:var(--hyakom-gold); font-size:13px; letter-spacing:.18em; font-weight:900; }
.hyk-hero h1 { margin:16px 0; font-size:clamp(42px,6vw,76px); line-height:1.02; letter-spacing:-.04em; color:var(--hyakom-teal); }
.hyk-hero p { max-width:610px; color:#536a6e; font-size:18px; line-height:1.75; }
.hyk-hero-badge { display:inline-flex; gap:10px; align-items:center; margin-top:18px; padding:10px 14px; background:rgba(255,255,255,.8); border:1px solid rgba(4,63,70,.1); border-radius:999px; font-size:13px; font-weight:700; }

.hyk-action-shell { position:relative; z-index:5; margin-top:-118px; }
.hyk-action-card { background:#fff; box-shadow:var(--hyakom-shadow); border-radius:8px; overflow:hidden; }
.hyk-tabs { display:grid; grid-template-columns:repeat(3,1fr); background:var(--hyakom-teal); }
.hyk-tab { border:0; color:#dbe8e7; background:transparent; padding:22px 18px; cursor:pointer; font-weight:800; border-right:1px solid rgba(255,255,255,.13); }
.hyk-tab.active { background:#fff; color:var(--hyakom-teal); box-shadow:inset 0 4px 0 var(--hyakom-gold); }
.hyk-tab-panel { display:none; padding:30px; }
.hyk-tab-panel.active { display:block; }
.hyk-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.hyk-grid.two { grid-template-columns:repeat(2,1fr); }
.hyk-field { display:flex; flex-direction:column; gap:7px; }
.hyk-field label { font-size:12px; font-weight:800; color:#506367; text-transform:uppercase; letter-spacing:.04em; }
.hyk-field input, .hyk-field select, .hyk-field textarea { width:100%; min-height:48px; padding:11px 13px; border:1px solid var(--hyakom-line); background:#fff; border-radius:5px; outline:none; color:var(--hyakom-ink); }
.hyk-field textarea { min-height:100px; resize:vertical; }
.hyk-field input:focus, .hyk-field select:focus, .hyk-field textarea:focus { border-color:var(--hyakom-gold); box-shadow:0 0 0 3px rgba(201,151,45,.12); }
.hyk-span-2 { grid-column:span 2; }
.hyk-span-4 { grid-column:span 4; }
.hyk-form-actions { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin-top:18px; }
.hyk-message { min-height:20px; color:var(--hyakom-muted); font-size:13px; }
.hyk-message.error { color:var(--hyakom-danger); }
.hyk-message.success { color:#067647; }

.hyk-section { padding:92px 0; }
.hyk-section.white { background:#fff; }
.hyk-section-title { max-width:720px; margin-bottom:36px; }
.hyk-section-title h2 { margin:8px 0 12px; font-size:clamp(30px,4vw,48px); color:var(--hyakom-teal); letter-spacing:-.03em; }
.hyk-section-title p { color:var(--hyakom-muted); line-height:1.7; }
.hyk-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hyk-card { background:#fff; border:1px solid var(--hyakom-line); border-radius:8px; padding:26px; min-height:210px; }
.hyk-card.dark { background:var(--hyakom-teal); color:#fff; border-color:var(--hyakom-teal); }
.hyk-icon { width:46px; height:46px; border-radius:50%; background:#f5ead1; color:var(--hyakom-gold); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:22px; }
.hyk-card h3 { margin:0 0 10px; font-size:20px; }
.hyk-card p { margin:0; color:var(--hyakom-muted); line-height:1.65; }
.hyk-card.dark p { color:#c5d7d8; }

.hyk-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:0; counter-reset:step; }
.hyk-step { position:relative; padding:24px 18px 10px 0; }
.hyk-step:before { counter-increment:step; content:counter(step); width:42px; height:42px; border-radius:50%; background:var(--hyakom-gold); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:900; margin-bottom:18px; }
.hyk-step:after { content:""; position:absolute; top:45px; left:52px; width:calc(100% - 58px); height:1px; background:#d9c28e; }
.hyk-step:last-child:after { display:none; }
.hyk-step h4 { margin:0 0 7px; color:var(--hyakom-teal); }
.hyk-step p { margin:0; font-size:13px; line-height:1.6; color:var(--hyakom-muted); }

.hyk-track-result { margin-top:22px; border-top:1px solid var(--hyakom-line); padding-top:22px; }
.hyk-track-head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-bottom:20px; }
.hyk-track-route { font-size:20px; font-weight:900; color:var(--hyakom-teal); }
.hyk-status-pill { background:#eef7f5; color:var(--hyakom-teal); border:1px solid #cfe3df; border-radius:999px; padding:8px 12px; font-size:12px; font-weight:900; }
.hyk-timeline { position:relative; padding-left:22px; }
.hyk-timeline:before { content:""; position:absolute; left:6px; top:8px; bottom:8px; width:2px; background:#dce5e3; }
.hyk-timeline-item { position:relative; padding:0 0 18px 18px; }
.hyk-timeline-item:before { content:""; position:absolute; left:-20px; top:5px; width:11px; height:11px; border-radius:50%; background:var(--hyakom-gold); border:3px solid #fff; box-shadow:0 0 0 1px var(--hyakom-gold); }
.hyk-timeline-item strong { color:var(--hyakom-teal); }
.hyk-timeline-item small { display:block; color:var(--hyakom-muted); margin-top:4px; }

.hyk-footer { background:#032f35; color:#d5e3e2; padding:52px 0 24px; }
.hyk-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:28px; }
.hyk-footer img { width:220px; filter:brightness(0) invert(1); opacity:.92; }
.hyk-footer p { color:#9eb8b8; line-height:1.7; max-width:480px; }
.hyk-footer h4 { color:#fff; margin-top:0; }
.hyk-footer a { display:block; margin:9px 0; color:#cbdcdc; }
.hyk-copy { border-top:1px solid rgba(255,255,255,.1); margin-top:30px; padding-top:20px; font-size:12px; color:#86a5a5; }

/* Portal */
.portal-body { background:#eef3f2; min-height:100vh; }
.portal-top { height:72px; background:#fff; border-bottom:1px solid var(--hyakom-line); display:flex; align-items:center; }
.portal-top .hyk-container { display:flex; align-items:center; gap:18px; }
.portal-logo { width:185px; max-height:55px; object-fit:contain; object-position:left; }
.portal-nav { margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; }
.portal-nav a { padding:10px 13px; border-radius:5px; font-size:13px; font-weight:800; color:#516568; }
.portal-nav a:hover, .portal-nav a.active { background:#edf5f3; color:var(--hyakom-teal); }
.portal-main { padding:32px 0 60px; }
.portal-title { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-bottom:24px; }
.portal-title h1 { margin:0; color:var(--hyakom-teal); font-size:30px; }
.portal-title p { margin:6px 0 0; color:var(--hyakom-muted); }
.stat-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-bottom:24px; }
.stat-card { background:#fff; border:1px solid var(--hyakom-line); border-radius:8px; padding:20px; }
.stat-card span { font-size:12px; color:var(--hyakom-muted); font-weight:800; text-transform:uppercase; }
.stat-card strong { display:block; font-size:30px; color:var(--hyakom-teal); margin-top:8px; }
.portal-card { background:#fff; border:1px solid var(--hyakom-line); border-radius:8px; padding:22px; margin-bottom:18px; overflow:auto; }
.portal-table { width:100%; border-collapse:collapse; min-width:840px; }
.portal-table th { text-align:left; padding:12px; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#6c7e81; border-bottom:1px solid var(--hyakom-line); }
.portal-table td { padding:14px 12px; border-bottom:1px solid #edf1f0; font-size:14px; vertical-align:top; }
.portal-table tr:last-child td { border-bottom:0; }
.portal-link { color:var(--hyakom-teal); font-weight:900; }
.portal-badge { display:inline-flex; border-radius:999px; padding:6px 9px; background:#eef5f3; color:var(--hyakom-teal); font-size:11px; font-weight:900; }
.portal-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.portal-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.portal-form-grid .full { grid-column:span 2; }
.portal-muted { color:var(--hyakom-muted); }

.login-page { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; background:#edf3f1; }
.login-form-side { background:#fff; display:flex; align-items:center; justify-content:center; padding:42px; }
.login-panel { width:min(430px,100%); }
.login-panel img { width:260px; max-height:100px; object-fit:contain; object-position:left; margin-bottom:38px; }
.login-panel h1 { color:var(--hyakom-teal); font-size:34px; margin:0 0 10px; }
.login-panel > p { color:var(--hyakom-muted); margin-bottom:28px; }
.login-art { position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:64px; color:#fff; background:linear-gradient(145deg,#043f46,#075b63); }
.login-art:before { content:"✈"; position:absolute; font-size:420px; right:-70px; top:50px; color:rgba(255,255,255,.08); transform:rotate(-10deg); }
.login-art-copy { position:relative; z-index:2; max-width:520px; }
.login-art-copy h2 { font-size:46px; margin:0 0 14px; }
.login-art-copy p { color:#c5d9d9; line-height:1.7; }

[dir="rtl"] .hyk-nav-links { margin-left:0; margin-right:auto; }
[dir="rtl"] .hyk-brand img, [dir="rtl"] .portal-logo, [dir="rtl"] .login-panel img { object-position:right; }
[dir="rtl"] .hyk-timeline { padding-left:0; padding-right:22px; }
[dir="rtl"] .hyk-timeline:before { left:auto; right:6px; }
[dir="rtl"] .hyk-timeline-item { padding-left:0; padding-right:18px; }
[dir="rtl"] .hyk-timeline-item:before { left:auto; right:-20px; }
[dir="rtl"] .portal-nav { margin-left:0; margin-right:auto; }
[dir="rtl"] .portal-table th { text-align:right; }

@media (max-width: 900px) {
    .hyk-nav-links { display:none; }
    .hyk-nav { height:auto; padding:12px 0; flex-wrap:wrap; }
    .hyk-brand { min-width:0; flex:1; }
    .hyk-brand img { width:170px; }
    .hyk-hero { min-height:610px; }
    .hyk-hero-content { padding-top:70px; }
    .hyk-action-shell { margin-top:-90px; }
    .hyk-grid, .hyk-cards, .hyk-steps, .stat-grid, .portal-grid-2 { grid-template-columns:repeat(2,1fr); }
    .hyk-span-4 { grid-column:span 2; }
    .hyk-step:after { display:none; }
    .login-page { grid-template-columns:1fr; }
    .login-art { display:none; }
}

@media (max-width: 620px) {
    .hyk-container { width:min(100% - 24px,1180px); }
    .hyk-nav-actions .hyk-btn-outline { display:none; }
    .hyk-tabs { grid-template-columns:1fr; }
    .hyk-tab { padding:14px; border-bottom:1px solid rgba(255,255,255,.12); }
    .hyk-grid, .hyk-grid.two, .hyk-cards, .hyk-steps, .stat-grid, .portal-grid-2, .portal-form-grid, .hyk-footer-grid { grid-template-columns:1fr; }
    .hyk-span-2, .hyk-span-4, .portal-form-grid .full { grid-column:span 1; }
    .hyk-tab-panel { padding:20px; }
    .hyk-section { padding:64px 0; }
    .hyk-hero h1 { font-size:44px; }
    .hyk-hero p { font-size:16px; }
    .portal-top { height:auto; padding:10px 0; }
    .portal-top .hyk-container { flex-wrap:wrap; }
    .portal-nav { width:100%; margin:0; overflow:auto; flex-wrap:nowrap; }
    .portal-title { align-items:flex-start; flex-direction:column; }
    .login-form-side { padding:24px; }
}

/* =========================================================
   Patient transfer tracking experience
   ========================================================= */
.tracking-page { background:#f3f6f5; color:#142b2f; min-height:100vh; }
.tracking-shell { width:min(1180px, calc(100% - 32px)); margin:0 auto; }
.tracking-header { background:#fff; border-bottom:1px solid #dbe5e2; }
.tracking-header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.tracking-brand img { width:205px; max-height:60px; object-fit:contain; object-position:left center; }
.tracking-header-actions { display:flex; align-items:center; gap:10px; }
.tracking-home-link { color:#425b5f; font-size:13px; font-weight:800; padding:10px 12px; }
.tracking-lang { min-width:42px; height:42px; border-radius:999px; border:1px solid #d6e1df; background:#fff; color:#063f46; font-weight:900; cursor:pointer; }
.tracking-hero { position:relative; overflow:hidden; padding:76px 0 96px; background:
    radial-gradient(circle at 84% 18%, rgba(215,172,72,.28), transparent 25%),
    radial-gradient(circle at 70% 100%, rgba(115,209,204,.16), transparent 34%),
    linear-gradient(126deg,#052f35 0%,#064a52 54%,#073940 100%); color:#fff; }
.tracking-hero:after { content:""; position:absolute; inset:auto -90px -135px auto; width:420px; height:420px; border:1px solid rgba(255,255,255,.09); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); }
.tracking-hero .tracking-shell { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr); gap:72px; align-items:end; }
.tracking-kicker { display:inline-block; color:#edcc80; font-weight:900; letter-spacing:.16em; font-size:11px; }
.tracking-hero h1 { max-width:650px; margin:14px 0 16px; font-size:clamp(40px,5vw,68px); line-height:1.02; letter-spacing:-.045em; }
.tracking-hero-copy p { max-width:650px; color:#c5dadb; line-height:1.75; font-size:16px; margin:0; }
.tracking-search { background:#fff; color:#183033; border-radius:18px; padding:22px; box-shadow:0 24px 65px rgba(0,0,0,.22); }
.tracking-search > label { display:block; margin-bottom:9px; color:#617477; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.tracking-search-row { display:flex; gap:9px; }
.tracking-search-row input { min-width:0; flex:1; min-height:54px; border:1px solid #ccd9d7; border-radius:10px; padding:0 15px; font-size:16px; font-weight:800; letter-spacing:.05em; color:#10373d; outline:none; text-transform:uppercase; }
.tracking-search-row input:focus { border-color:#c9972d; box-shadow:0 0 0 4px rgba(201,151,45,.12); }
.tracking-search-row button { min-height:54px; border:0; border-radius:10px; background:linear-gradient(135deg,#c9972d,#e0b95c); color:#fff; font-weight:900; padding:0 18px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:10px; white-space:nowrap; }
.tracking-form-message { min-height:18px; font-size:12px; color:#64777a; margin-top:10px; }
.tracking-form-message.error { color:#b42318; }
.tracking-results { padding:42px 0 70px; }
.tracking-summary-card,.tracking-section-card { background:#fff; border:1px solid #dbe5e2; border-radius:18px; box-shadow:0 10px 34px rgba(6,63,70,.06); }
.tracking-summary-card { padding:28px 30px; margin-top:-76px; position:relative; z-index:4; }
.tracking-summary-top { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:24px; border-bottom:1px solid #e2e9e7; }
.tracking-label { display:block; color:#8a9a9c; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; margin-bottom:7px; }
.tracking-code { display:block; color:#073f46; font-size:19px; letter-spacing:.08em; }
.tracking-current-pill { display:inline-flex; min-height:34px; align-items:center; padding:0 13px; border-radius:999px; background:#eaf5f2; border:1px solid #c9e1dc; color:#07545c; font-size:12px; font-weight:900; }
.tracking-route-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(130px,.65fr) minmax(0,1fr); align-items:center; gap:18px; padding:30px 0; }
.tracking-route-place > span { color:#849598; font-size:11px; font-weight:900; text-transform:uppercase; }
.tracking-route-place strong { display:block; color:#072f35; margin-top:5px; font-size:28px; line-height:1.1; }
.tracking-route-place small { display:block; color:#6e8083; margin-top:6px; font-size:13px; }
.tracking-route-place-end { text-align:right; }
.tracking-route-line { display:grid; grid-template-columns:11px 1fr 36px 1fr 11px; align-items:center; color:#b58a2a; }
.tracking-route-line:before,.tracking-route-line:after { content:""; display:block; height:1px; background:linear-gradient(90deg,#d7c28d,#c9972d); }
.tracking-route-dot { width:11px; height:11px; border-radius:50%; border:3px solid #fff; background:#c9972d; box-shadow:0 0 0 1px #c9972d; }
.tracking-route-flight { text-align:center; font-size:23px; transform:rotate(6deg); }
.tracking-meta-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #e2e9e7; padding-top:22px; }
.tracking-meta-grid > div { min-width:0; padding:0 20px; border-right:1px solid #e5ecea; }
.tracking-meta-grid > div:first-child { padding-left:0; }
.tracking-meta-grid > div:last-child { padding-right:0; border-right:0; }
.tracking-meta-grid span { display:block; color:#8a999c; font-size:10px; text-transform:uppercase; font-weight:900; margin-bottom:6px; }
.tracking-meta-grid strong { display:block; color:#18383d; font-size:13px; overflow-wrap:anywhere; }
.tracking-section-card { margin-top:22px; padding:28px 30px; }
.tracking-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:26px; }
.tracking-section-heading.compact { align-items:flex-start; margin-bottom:20px; }
.tracking-section-heading h2 { margin:0; color:#073f46; font-size:24px; letter-spacing:-.025em; }
.tracking-stage-text { font-size:13px; font-weight:900; color:#07727a; background:#eaf5f2; border:1px solid #cfe4df; border-radius:999px; padding:9px 12px; }
.tracking-progress-rail { display:grid; grid-template-columns:repeat(9,minmax(92px,1fr)); overflow-x:auto; padding:4px 0 12px; scrollbar-width:thin; }
.tracking-progress-step { position:relative; min-width:92px; text-align:center; padding:0 6px; color:#94a2a4; font-size:10px; font-weight:800; }
.tracking-progress-step:before { content:""; position:absolute; left:-50%; right:50%; top:17px; height:3px; background:#e1e8e6; }
.tracking-progress-step:first-child:before { display:none; }
.tracking-progress-marker { position:relative; z-index:2; width:36px; height:36px; margin:0 auto 10px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#f2f5f4; border:2px solid #d7e0de; color:#87989a; font-size:11px; font-weight:900; }
.tracking-progress-step.done:before,.tracking-progress-step.current:before { background:#b99642; }
.tracking-progress-step.done .tracking-progress-marker { background:#0b5961; border-color:#0b5961; color:#fff; }
.tracking-progress-step.current .tracking-progress-marker { background:#fff8e7; border-color:#c9972d; color:#9b711d; box-shadow:0 0 0 5px rgba(201,151,45,.10); }
.tracking-progress-step.done,.tracking-progress-step.current { color:#27474b; }
.tracking-content-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); gap:22px; }
.tracking-content-grid .tracking-section-card { min-width:0; }
.tracking-event-list { position:relative; }
.tracking-event { display:grid; grid-template-columns:22px minmax(0,1fr); gap:14px; position:relative; padding-bottom:22px; }
.tracking-event:not(:last-child):before { content:""; position:absolute; left:10px; top:20px; bottom:0; width:2px; background:#e0e8e6; }
.tracking-event-dot { width:13px; height:13px; margin-top:4px; border-radius:50%; background:#cbd7d4; border:3px solid #fff; box-shadow:0 0 0 1px #cbd7d4; position:relative; z-index:2; }
.tracking-event.latest .tracking-event-dot { background:#c9972d; box-shadow:0 0 0 1px #c9972d,0 0 0 5px rgba(201,151,45,.10); }
.tracking-event-top { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.tracking-event-top strong { color:#153b40; font-size:14px; }
.tracking-event-top time { color:#8b9a9d; font-size:10px; white-space:nowrap; }
.tracking-event-location { color:#b07c15; font-size:11px; margin-top:5px; font-weight:800; }
.tracking-event-body p { margin:8px 0 0; color:#617679; font-size:13px; line-height:1.65; }
.tracking-message-list { display:grid; gap:12px; }
.tracking-public-message { display:grid; grid-template-columns:40px minmax(0,1fr); gap:12px; padding:14px; border:1px solid #e0e8e6; border-radius:13px; background:#fbfcfc; }
.tracking-message-avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#0b5961; color:#fff; font-weight:900; }
.tracking-message-meta { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.tracking-message-meta strong { color:#163b40; font-size:12px; }
.tracking-message-meta time { color:#93a0a2; font-size:9px; white-space:nowrap; }
.tracking-public-message p { margin:7px 0 0; color:#536a6e; font-size:13px; line-height:1.6; }
.tracking-empty { border:1px dashed #d7e1df; border-radius:12px; padding:18px; color:#839295; font-size:12px; background:#fbfcfc; }
.tracking-privacy-note { display:flex; gap:13px; margin-top:22px; padding:18px 20px; border:1px solid #d7e4e1; background:#edf6f4; border-radius:14px; color:#315a5e; }
.tracking-privacy-icon { flex:0 0 28px; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#0a6269; color:#fff; font-weight:900; }
.tracking-privacy-note strong { display:block; font-size:13px; }
.tracking-privacy-note p { margin:4px 0 0; color:#607a7d; font-size:12px; line-height:1.55; }
.tracking-footer { background:#052f35; color:#adc1c1; padding:24px 0; font-size:11px; }
.tracking-footer .tracking-shell { display:flex; justify-content:space-between; gap:15px; }

/* Admin/nurse tracking additions */
.portal-track-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; max-width:720px; }
.portal-track-search input { min-width:0; height:52px; border:1px solid #ccd9d7; border-radius:10px; padding:0 15px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; outline:none; }
.portal-track-search input:focus { border-color:var(--hyakom-gold); box-shadow:0 0 0 4px rgba(201,151,45,.10); }
.portal-track-search button { border-radius:10px; }
.portal-tracking-result { margin-top:18px; display:none; }
.portal-tracking-result.show { display:block; }
.case-id-card { border:1px solid #e0d2a8; background:linear-gradient(135deg,#fffaf0,#fff); border-radius:12px; padding:18px; }
.case-id-card .case-id-label { color:#947124; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.case-id-code { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; }
.case-id-code strong { color:#073f46; font-size:20px; letter-spacing:.07em; overflow-wrap:anywhere; }
.case-id-actions { display:flex; gap:8px; flex-wrap:wrap; }
.case-id-actions a,.case-id-actions button { min-height:38px; border-radius:8px; padding:0 12px; border:1px solid #d8e1df; background:#fff; color:#0a555c; font-size:11px; font-weight:900; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.case-command-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:18px; }
.case-panel-title { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:18px; }
.case-panel-title h3 { margin:0; color:#073f46; }
.case-panel-title p { margin:5px 0 0; color:#7a8d90; font-size:12px; }
.message-audience-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px; }
.message-audience-note { min-height:34px; margin-top:7px; font-size:11px; color:#718487; line-height:1.45; }
.case-message-list { display:grid; gap:10px; max-height:480px; overflow:auto; padding-right:3px; }
.case-message { border:1px solid #e1e8e6; border-radius:12px; padding:13px 14px; background:#fbfcfc; }
.case-message.public { border-color:#d9cfaf; background:#fffdf8; }
.case-message-top { display:flex; justify-content:space-between; gap:12px; margin-bottom:7px; }
.case-message-top strong { color:#173d41; font-size:12px; }
.case-message-top span { font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; color:#8b9b9e; }
.case-message p { margin:0; color:#536c70; font-size:13px; line-height:1.55; white-space:pre-wrap; }
.portal-timeline-modern { display:grid; gap:0; }
.portal-timeline-row { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; position:relative; padding-bottom:18px; }
.portal-timeline-row:not(:last-child):after { content:""; position:absolute; left:9px; top:17px; bottom:0; width:2px; background:#e0e8e6; }
.portal-timeline-dot { width:12px; height:12px; border-radius:50%; background:#c9972d; margin-top:4px; position:relative; z-index:2; border:3px solid #fff; box-shadow:0 0 0 1px #c9972d; }
.portal-timeline-content strong { color:#103f45; font-size:13px; }
.portal-timeline-content p { margin:5px 0 0; color:#607579; font-size:12px; line-height:1.55; }
.portal-timeline-content small { display:block; margin-top:5px; color:#91a0a2; font-size:10px; }
.portal-visibility { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:4px 7px; background:#eef5f3; color:#0b5961; font-size:9px; font-weight:900; }
.portal-visibility.internal { background:#f1f2f3; color:#6f7779; }
.nurse-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.nurse-case-card { background:#fff; border:1px solid #dce5e3; border-radius:14px; padding:18px; transition:border-color .2s ease,transform .2s ease; }
.nurse-case-card:hover { border-color:#c9aa67; transform:translateY(-2px); }
.nurse-case-card-top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.nurse-case-card .case-no { color:#8d9a9c; font-size:10px; font-weight:900; letter-spacing:.07em; }
.nurse-case-card h3 { margin:7px 0 16px; color:#083f46; font-size:18px; }
.nurse-route { display:grid; grid-template-columns:1fr auto 1fr; gap:9px; align-items:center; padding:13px 0; border-top:1px solid #edf1f0; border-bottom:1px solid #edf1f0; }
.nurse-route strong { display:block; font-size:12px; color:#31575c; }
.nurse-route span { color:#c9972d; font-weight:900; }
.nurse-case-meta { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:14px; }
.nurse-case-meta small { color:#849497; }

[dir="rtl"] .tracking-brand img { object-position:right center; }
[dir="rtl"] .tracking-route-place-end { text-align:left; }
[dir="rtl"] .tracking-meta-grid > div { border-right:0; border-left:1px solid #e5ecea; }
[dir="rtl"] .tracking-meta-grid > div:first-child { padding-left:20px; padding-right:0; }
[dir="rtl"] .tracking-meta-grid > div:last-child { border-left:0; padding-left:0; padding-right:20px; }
[dir="rtl"] .tracking-event:not(:last-child):before { left:auto; right:10px; }
[dir="rtl"] .tracking-route-flight { transform:rotate(174deg); }

@media (max-width: 980px) {
    .tracking-hero .tracking-shell { grid-template-columns:1fr; gap:34px; }
    .tracking-search { max-width:620px; }
    .tracking-summary-card { margin-top:-54px; }
    .tracking-meta-grid { grid-template-columns:repeat(2,1fr); gap:20px 0; }
    .tracking-meta-grid > div:nth-child(2) { border-right:0; }
    .tracking-meta-grid > div:nth-child(3) { padding-left:0; }
    .tracking-content-grid,.case-command-grid { grid-template-columns:1fr; }
    .nurse-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
    .tracking-shell { width:min(100% - 22px,1180px); }
    .tracking-header-inner { min-height:68px; }
    .tracking-brand img { width:165px; }
    .tracking-home-link { display:none; }
    .tracking-hero { padding:54px 0 78px; }
    .tracking-hero h1 { font-size:42px; }
    .tracking-search { padding:16px; border-radius:14px; }
    .tracking-search-row { flex-direction:column; }
    .tracking-summary-card,.tracking-section-card { padding:20px 17px; border-radius:14px; }
    .tracking-summary-card { margin-top:-38px; }
    .tracking-summary-top,.tracking-section-heading,.tracking-event-top,.tracking-message-meta { align-items:flex-start; flex-direction:column; }
    .tracking-route-grid { grid-template-columns:1fr; gap:16px; }
    .tracking-route-place-end { text-align:left; }
    .tracking-route-line { grid-template-columns:11px 1fr 34px 1fr 11px; }
    .tracking-meta-grid { grid-template-columns:1fr; gap:0; }
    .tracking-meta-grid > div,.tracking-meta-grid > div:first-child,.tracking-meta-grid > div:nth-child(3),.tracking-meta-grid > div:last-child { padding:12px 0; border-right:0; border-left:0; border-bottom:1px solid #e8eeec; }
    .tracking-meta-grid > div:last-child { border-bottom:0; }
    .tracking-stage-text { align-self:flex-start; }
    .tracking-footer .tracking-shell { flex-direction:column; }
    .portal-track-search { grid-template-columns:1fr; }
    .case-id-code { align-items:flex-start; flex-direction:column; }
    .nurse-case-grid { grid-template-columns:1fr; }
}

/* =========================================================
   2026 Tracking Control Center / unified case status design
   ========================================================= */
.tracking-admin-page {
    background:
        radial-gradient(circle at 92% 8%, rgba(201,151,45,.08), transparent 25%),
        linear-gradient(180deg,#eef4f2 0,#f7f9f8 480px,#eef3f2 100%);
}
.tracking-admin-main { padding-top:28px; }
.admin-track-hero {
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
    gap:52px;
    align-items:center;
    padding:42px 44px;
    margin-bottom:24px;
    border-radius:24px;
    background:
        radial-gradient(circle at 88% 12%, rgba(229,190,101,.22), transparent 24%),
        linear-gradient(128deg,#043b43 0%,#07545c 58%,#073a41 100%);
    box-shadow:0 24px 65px rgba(3,48,54,.16);
    color:#fff;
}
.admin-track-hero:before {
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    right:-120px;
    bottom:-165px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 0 0 58px rgba(255,255,255,.025),0 0 0 116px rgba(255,255,255,.018);
}
.admin-track-hero-copy,.admin-track-search { position:relative; z-index:1; min-width:0; }
.admin-track-eyebrow,.admin-track-label {
    display:inline-block;
    color:#b1872d;
    font-size:10px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.admin-track-hero .admin-track-eyebrow { color:#f0cf85; }
.admin-track-hero h1 { margin:11px 0 13px; max-width:650px; font-size:clamp(32px,4vw,52px); line-height:1.04; letter-spacing:-.04em; }
.admin-track-hero p { max-width:650px; margin:0; color:#c6dbdc; font-size:14px; line-height:1.75; }
.admin-track-search { padding:20px; border-radius:17px; background:rgba(255,255,255,.98); color:#173c41; box-shadow:0 20px 52px rgba(0,0,0,.16); }
.admin-track-search-label { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:10px; }
.admin-track-search-label span { font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; color:#38595e; }
.admin-track-search-label small { color:#8b9a9d; font-size:9px; }
.admin-track-search-row { display:flex; gap:9px; }
.admin-track-search-row input { flex:1; min-width:0; min-height:54px; border:1px solid #cad8d6; border-radius:11px; padding:0 14px; color:#103d43; font-weight:900; font-size:14px; letter-spacing:.055em; text-transform:uppercase; outline:none; background:#fbfcfc; }
.admin-track-search-row input:focus { border-color:#c9972d; box-shadow:0 0 0 4px rgba(201,151,45,.11); background:#fff; }
.admin-track-search-button { min-height:54px; border:0; border-radius:11px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; gap:10px; background:linear-gradient(135deg,#c28f26,#dfb75c); color:#fff; font-weight:900; cursor:pointer; white-space:nowrap; }
.admin-track-search-message { min-height:18px; padding-top:8px; color:#6c7f82; font-size:11px; }
.admin-track-search-message.success { color:#08724e; }
.admin-track-search-message.error { color:#b42318; }
.admin-track-search-message.loading { color:#a2771d; }

.admin-track-dashboard { display:grid; gap:18px; scroll-margin-top:18px; }
.admin-track-case-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    overflow:hidden;
    border:1px solid #d9e4e1;
    border-radius:22px;
    background:#fff;
    box-shadow:0 16px 45px rgba(4,63,70,.07);
}
.admin-track-case-main { padding:27px 30px; min-width:0; }
.admin-track-case-topline { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.admin-track-case-number-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:5px; }
.admin-track-case-number-row h2 { margin:0; color:#073f46; font-size:27px; letter-spacing:-.025em; }
.admin-track-state-pill { display:inline-flex; align-items:center; min-height:28px; border-radius:999px; padding:0 10px; background:#eaf5f2; color:#09636a; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.admin-track-head-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.admin-track-soft-btn,.admin-track-primary-btn { min-height:40px; border-radius:9px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:900; cursor:pointer; }
button.admin-track-soft-btn { font:inherit; font-size:10px; font-weight:900; }
.admin-track-soft-btn { border:1px solid #d5e0de; background:#fff; color:#315c61; }
.admin-track-primary-btn { border:1px solid #074c54; background:#074c54; color:#fff; }
.admin-track-patient-line { display:flex; align-items:center; gap:11px; margin:24px 0 22px; padding-top:20px; border-top:1px solid #edf1f0; }
.admin-track-patient-avatar { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; flex:0 0 40px; background:linear-gradient(145deg,#0a5962,#083e46); color:#fff; font-weight:900; }
.admin-track-patient-line div { display:grid; gap:2px; }
.admin-track-patient-line span:not(.admin-track-patient-avatar) { color:#829194; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.admin-track-patient-line strong { color:#173f44; font-size:16px; }
.admin-track-route { display:grid; grid-template-columns:minmax(160px,1fr) minmax(110px,.62fr) minmax(160px,1fr); gap:16px; align-items:center; }
.admin-track-place { min-width:0; }
.admin-track-place.end { text-align:right; }
.admin-track-place span { display:block; margin-bottom:5px; color:#9aa7a9; font-size:9px; font-weight:900; letter-spacing:.12em; }
.admin-track-place strong { display:block; overflow-wrap:anywhere; color:#0b434a; font-size:20px; }
.admin-track-place small { display:block; margin-top:4px; color:#76898c; font-size:11px; line-height:1.45; }
.admin-track-route-visual { display:grid; grid-template-columns:1fr 32px 1fr; gap:7px; align-items:center; color:#b88b2d; }
.admin-track-route-visual i { display:block; height:1px; background:linear-gradient(90deg,#d5dedc,#c8a14c); }
.admin-track-route-visual i:last-child { background:linear-gradient(90deg,#c8a14c,#d5dedc); }
.admin-track-route-visual b { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; border:1px solid #e4d4a9; background:#fffaf0; font-size:14px; }
.admin-track-code-panel { padding:28px; background:linear-gradient(160deg,#073f46,#052f35); color:#fff; display:flex; flex-direction:column; min-width:0; }
.admin-track-code-panel .admin-track-label { color:#dfbd70; }
.admin-track-code { display:block; margin-top:9px; overflow-wrap:anywhere; color:#fff; font-size:18px; letter-spacing:.055em; line-height:1.45; }
.admin-track-current-card { margin-top:auto; padding-top:26px; }
.admin-track-current-card span { display:block; color:#9fc0c1; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.admin-track-current-card strong { display:block; margin-top:7px; color:#f0cc78; font-size:24px; line-height:1.12; }
.admin-track-current-card small { display:block; margin-top:9px; color:#b8cecf; font-size:10px; line-height:1.55; }

.admin-track-progress-card,.admin-track-panel { border:1px solid #dce5e3; border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(4,63,70,.045); }
.admin-track-progress-card { padding:23px 26px 25px; }
.admin-track-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.admin-track-section-head.compact { margin-bottom:15px; }
.admin-track-section-head h3 { margin:4px 0 0; color:#093f46; font-size:18px; letter-spacing:-.015em; }
.admin-track-section-head p { margin:5px 0 0; color:#7d8e91; font-size:11px; line-height:1.5; }
.admin-track-progress-caption { display:flex; align-items:center; gap:8px; min-height:32px; border-radius:999px; padding:0 11px; background:#edf7f4; color:#0b5961; font-size:10px; }
.pulse-dot { width:7px; height:7px; border-radius:50%; background:#0a766d; box-shadow:0 0 0 5px rgba(10,118,109,.10); }
.admin-track-progress-rail { display:grid; grid-template-columns:repeat(9,minmax(92px,1fr)); gap:0; overflow-x:auto; padding:7px 2px 4px; scrollbar-width:thin; }
.admin-track-progress-step { position:relative; min-width:92px; padding-right:10px; }
.admin-track-progress-step:not(:last-child):before { content:""; position:absolute; top:15px; left:30px; right:0; height:2px; background:#e1e8e6; }
.admin-track-progress-step.done:not(:last-child):before { background:#779c96; }
.admin-track-progress-step.current:not(:last-child):before { background:linear-gradient(90deg,#c9972d 0 34%,#e1e8e6 34%); }
.admin-track-progress-node { position:relative; z-index:1; width:31px; height:31px; border-radius:50%; display:grid; place-items:center; border:2px solid #dce5e3; background:#fff; color:#94a1a3; font-size:10px; font-weight:900; }
.admin-track-progress-step.done .admin-track-progress-node { border-color:#618d87; background:#618d87; color:#fff; }
.admin-track-progress-step.current .admin-track-progress-node { border-color:#c9972d; background:#c9972d; color:#fff; box-shadow:0 0 0 6px rgba(201,151,45,.11); }
.admin-track-progress-copy { display:grid; gap:3px; margin-top:10px; padding-right:7px; }
.admin-track-progress-copy span { color:#9aa7a9; font-size:8px; font-weight:900; letter-spacing:.08em; }
.admin-track-progress-copy strong { color:#526b6f; font-size:10px; line-height:1.35; }
.admin-track-progress-step.current .admin-track-progress-copy strong { color:#9b7120; }
.admin-track-progress-step.done .admin-track-progress-copy strong { color:#305b58; }

.admin-track-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.admin-track-facts article { min-width:0; padding:17px 18px; border:1px solid #dce5e3; border-radius:14px; background:#fff; }
.admin-track-facts span { display:block; color:#8c9a9d; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.admin-track-facts strong { display:block; margin-top:7px; overflow-wrap:anywhere; color:#17464b; font-size:13px; }
.admin-track-main-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:18px; align-items:start; }
.admin-track-panel { padding:23px; min-width:0; }
.admin-track-side-stack { display:grid; gap:18px; }
.admin-track-count { min-height:29px; padding:0 10px; display:inline-flex; align-items:center; border-radius:999px; background:#f1f5f4; color:#6c7f82; font-size:9px; font-weight:900; }
.admin-track-timeline { display:grid; }
.admin-track-timeline-item { position:relative; display:grid; grid-template-columns:24px minmax(0,1fr); gap:13px; padding-bottom:22px; }
.admin-track-timeline-item:not(:last-child):before { content:""; position:absolute; top:19px; bottom:0; left:11px; width:2px; background:#e1e8e6; }
.admin-track-timeline-marker { position:relative; z-index:1; width:24px; display:flex; justify-content:center; padding-top:4px; }
.admin-track-timeline-marker:before { content:""; width:12px; height:12px; border-radius:50%; border:3px solid #fff; background:#b9c7c4; box-shadow:0 0 0 1px #bdc9c7; }
.admin-track-timeline-item.latest .admin-track-timeline-marker:before { background:#c9972d; box-shadow:0 0 0 1px #c9972d,0 0 0 5px rgba(201,151,45,.10); }
.admin-track-timeline-marker span { display:none; }
.admin-track-timeline-body { min-width:0; padding:0 0 2px; }
.admin-track-timeline-top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.admin-track-timeline-top strong { color:#153f44; font-size:13px; }
.admin-track-location { margin-top:4px; color:#a87c20; font-size:10px; font-weight:800; }
.admin-track-timeline-meta { display:flex; align-items:flex-end; flex-direction:column; gap:5px; }
.admin-track-timeline-meta time { color:#929fa1; font-size:9px; white-space:nowrap; }
.admin-track-visibility { display:inline-flex; min-height:20px; align-items:center; border-radius:999px; padding:0 7px; font-size:7px; font-weight:900; letter-spacing:.07em; }
.admin-track-visibility.public { background:#eef7f4; color:#0a6b64; }
.admin-track-visibility.internal { background:#f2f3f4; color:#717a7c; }
.admin-track-timeline-body p { margin:7px 0 0; color:#607579; font-size:11px; line-height:1.6; }
.admin-track-team { display:grid; gap:0; }
.admin-track-team-member { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center; padding:11px 0; border-bottom:1px solid #edf1f0; }
.admin-track-team-member:last-child { border-bottom:0; }
.admin-track-team-avatar { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#edf5f3; color:#0a5961; font-weight:900; }
.admin-track-team-member div { display:grid; gap:2px; min-width:0; }
.admin-track-team-member strong { overflow-wrap:anywhere; color:#244d52; font-size:11px; }
.admin-track-team-member div span { color:#849397; font-size:9px; }
.admin-track-team-member small { color:#aa7e22; font-size:7px; font-weight:900; letter-spacing:.08em; }
.admin-track-detail-list { display:grid; margin:0; }
.admin-track-detail-list div { display:grid; grid-template-columns:1fr minmax(0,1.2fr); gap:12px; padding:10px 0; border-bottom:1px solid #edf1f0; }
.admin-track-detail-list div:last-child { border-bottom:0; }
.admin-track-detail-list dt { color:#859497; font-size:9px; }
.admin-track-detail-list dd { margin:0; overflow-wrap:anywhere; text-align:right; color:#244f54; font-size:10px; font-weight:900; }
.admin-track-message-legend { display:flex; gap:12px; flex-wrap:wrap; color:#718487; font-size:9px; font-weight:800; }
.admin-track-message-legend span { display:flex; align-items:center; gap:6px; }
.admin-track-message-legend i { width:7px; height:7px; border-radius:50%; }
.admin-track-message-legend .public-dot { background:#0b756d; }
.admin-track-message-legend .internal-dot { background:#aab2b4; }
.admin-track-message-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.admin-track-message { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; padding:14px; border:1px solid #e0e8e6; border-radius:13px; background:#fbfcfc; }
.admin-track-message.public { border-color:#d7e5df; background:#fbfefc; }
.admin-track-message.internal { background:#fafafa; }
.admin-track-message-avatar { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:#0a555e; color:#fff; font-weight:900; }
.admin-track-message.internal .admin-track-message-avatar { background:#879496; }
.admin-track-message-body { min-width:0; }
.admin-track-message-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.admin-track-message-top > div:first-child { display:grid; gap:2px; }
.admin-track-message-top strong { color:#234b50; font-size:11px; }
.admin-track-message-top > div:first-child span { color:#89979a; font-size:8px; }
.admin-track-message-top > div:last-child { display:flex; align-items:flex-end; flex-direction:column; gap:3px; }
.admin-track-message-audience { color:#0a6e67; font-size:7px; font-weight:900; letter-spacing:.06em; }
.admin-track-message.internal .admin-track-message-audience { color:#727d7f; }
.admin-track-message-top time { color:#98a4a6; font-size:8px; }
.admin-track-message p { margin:8px 0 0; color:#536b6f; font-size:11px; line-height:1.6; white-space:pre-wrap; }
.admin-track-empty { padding:18px; border:1px dashed #d7e1df; border-radius:12px; background:#fbfcfc; color:#869497; font-size:11px; }
.admin-track-empty.small { padding:13px; }

/* Unified live journey board used by Admin + Nurse case details */
.case-page-title { margin-bottom:17px; }
.case-page-eyebrow { display:block; margin-bottom:5px; color:#b2862c; font-size:9px; font-weight:900; letter-spacing:.15em; }
.case-live-board { margin-bottom:18px; overflow:hidden; border:1px solid #d9e4e1; border-radius:20px; background:#fff; box-shadow:0 14px 36px rgba(4,63,70,.055); }
.case-live-main { padding:24px 26px 22px; background:linear-gradient(135deg,#fff,#fbfdfc); }
.case-live-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:19px; border-bottom:1px solid #edf1f0; }
.case-live-patient { display:flex; align-items:center; gap:10px; }
.case-live-avatar { width:39px; height:39px; flex:0 0 39px; border-radius:50%; display:grid; place-items:center; background:#073f47; color:#fff; font-weight:900; }
.case-live-patient div { display:grid; gap:2px; }
.case-live-patient div span { color:#8b999c; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.case-live-patient strong { color:#17464b; font-size:14px; }
.case-live-stage { display:flex; align-items:center; gap:10px; min-width:0; padding:9px 12px; border-radius:12px; background:#f2f8f6; }
.case-live-pulse { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:#0a766d; box-shadow:0 0 0 5px rgba(10,118,109,.09); }
.case-live-stage div { display:grid; gap:2px; }
.case-live-stage small { color:#859598; font-size:7px; font-weight:900; letter-spacing:.08em; }
.case-live-stage strong { color:#0b5c61; font-size:12px; }
.case-live-route { display:grid; grid-template-columns:minmax(150px,1fr) minmax(100px,.7fr) minmax(150px,1fr); gap:14px; align-items:center; padding-top:21px; }
.case-live-place.end { text-align:right; }
.case-live-place span { display:block; color:#98a5a7; font-size:8px; font-weight:900; letter-spacing:.12em; }
.case-live-place strong { display:block; margin-top:4px; overflow-wrap:anywhere; color:#0c454c; font-size:17px; }
.case-live-place small { display:block; margin-top:3px; color:#75898c; font-size:10px; }
.case-live-route-line { display:grid; grid-template-columns:1fr 29px 1fr; gap:6px; align-items:center; color:#bd902f; }
.case-live-route-line i { height:1px; background:#d9e2e0; }
.case-live-route-line b { width:29px; height:29px; border-radius:50%; display:grid; place-items:center; border:1px solid #e4d5ad; background:#fffaf1; font-size:12px; }
.case-live-progress-wrap { padding:19px 25px 22px; background:#f8faf9; border-top:1px solid #e6ecea; }
.case-live-progress-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-end; margin-bottom:15px; }
.case-live-progress-head div { display:grid; gap:3px; }
.case-live-progress-head div span { color:#af8125; font-size:8px; font-weight:900; letter-spacing:.12em; }
.case-live-progress-head div strong { color:#17464b; font-size:13px; }
.case-live-progress-head small { color:#667d80; font-size:9px; font-weight:800; }
.case-live-progress { display:grid; grid-template-columns:repeat(9,minmax(78px,1fr)); overflow-x:auto; padding:5px 1px 2px; }
.case-live-step { position:relative; min-width:78px; padding-right:8px; }
.case-live-step:not(:last-child):before { content:""; position:absolute; left:27px; right:0; top:13px; height:2px; background:#dce5e3; }
.case-live-step.done:not(:last-child):before { background:#719690; }
.case-live-step.current:not(:last-child):before { background:linear-gradient(90deg,#c9972d 0 30%,#dce5e3 30%); }
.case-live-node { position:relative; z-index:1; width:27px; height:27px; border-radius:50%; display:grid; place-items:center; border:2px solid #d7e1df; background:#fff; color:#9aa7a9; font-size:8px; font-weight:900; }
.case-live-step.done .case-live-node { border-color:#6c938d; background:#6c938d; color:#fff; }
.case-live-step.current .case-live-node { border-color:#c9972d; background:#c9972d; color:#fff; box-shadow:0 0 0 5px rgba(201,151,45,.10); }
.case-live-step strong { display:block; margin-top:8px; padding-right:5px; color:#6e8184; font-size:8px; line-height:1.3; }
.case-live-step.current strong { color:#a47820; }
.case-live-step.done strong { color:#365f5b; }

@media (max-width: 980px) {
    .admin-track-hero { grid-template-columns:1fr; gap:27px; }
    .admin-track-case-head { grid-template-columns:1fr; }
    .admin-track-code-panel { min-height:190px; }
    .admin-track-current-card { margin-top:28px; }
    .admin-track-main-grid { grid-template-columns:1fr; }
    .admin-track-facts { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 700px) {
    .tracking-admin-main { padding-top:16px; }
    .admin-track-hero { padding:26px 20px; border-radius:17px; }
    .admin-track-search { padding:15px; }
    .admin-track-search-label { align-items:flex-start; flex-direction:column; gap:3px; }
    .admin-track-search-row { flex-direction:column; }
    .admin-track-case-main,.admin-track-code-panel { padding:21px 18px; }
    .admin-track-case-topline,.admin-track-section-head,.admin-track-timeline-top,.admin-track-message-top { flex-direction:column; align-items:flex-start; }
    .admin-track-head-actions { justify-content:flex-start; width:100%; }
    .admin-track-soft-btn,.admin-track-primary-btn { flex:1; min-width:130px; }
    .admin-track-route { grid-template-columns:1fr; }
    .admin-track-place.end { text-align:left; }
    .admin-track-route-visual { grid-template-columns:1fr 30px 1fr; }
    .admin-track-facts { grid-template-columns:1fr 1fr; }
    .admin-track-panel,.admin-track-progress-card { padding:18px 15px; }
    .admin-track-message-list { grid-template-columns:1fr; }
    .admin-track-timeline-meta { align-items:flex-start; }
    .admin-track-detail-list div { grid-template-columns:1fr; gap:3px; }
    .admin-track-detail-list dd { text-align:left; }
    .case-live-main { padding:19px 17px; }
    .case-live-top { align-items:flex-start; flex-direction:column; }
    .case-live-stage { width:100%; }
    .case-live-route { grid-template-columns:1fr; }
    .case-live-place.end { text-align:left; }
    .case-live-progress-wrap { padding:17px; }
    .case-live-progress-head { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 430px) {
    .admin-track-facts { grid-template-columns:1fr; }
    .admin-track-case-number-row h2 { font-size:23px; }
    .admin-track-current-card strong { font-size:20px; }
}

/* Public tracking: stronger one-page live status hierarchy */
.tracking-results { padding-bottom:42px; }
.tracking-summary-card { border-radius:20px; box-shadow:0 18px 50px rgba(5,56,63,.10); }
.tracking-live-status {
    display:grid;
    grid-template-columns:54px minmax(0,1fr) minmax(260px,.72fr);
    gap:17px;
    align-items:center;
    margin:18px 0;
    padding:20px 22px;
    border:1px solid #d8e6e2;
    border-radius:17px;
    background:linear-gradient(110deg,#edf8f5 0%,#fbfdfc 60%,#fffaf0 100%);
}
.tracking-live-status-icon { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:#fff; border:1px solid #d2e2de; box-shadow:0 8px 22px rgba(4,63,70,.07); }
.tracking-live-status-icon span { width:13px; height:13px; border-radius:50%; background:#0a766d; box-shadow:0 0 0 7px rgba(10,118,109,.10); }
.tracking-live-status-copy { min-width:0; }
.tracking-live-status-copy .tracking-label { color:#0b6765; }
.tracking-live-status-copy strong { display:block; margin-top:4px; color:#0a4349; font-size:22px; line-height:1.2; }
.tracking-live-status-copy p { margin:5px 0 0; color:#61777a; font-size:12px; line-height:1.55; }
.tracking-live-status-meta { display:grid; grid-template-columns:1fr 1fr; border-left:1px solid #dce7e4; }
.tracking-live-status-meta div { min-width:0; padding:2px 16px; }
.tracking-live-status-meta div + div { border-left:1px solid #dce7e4; }
.tracking-live-status-meta span { display:block; color:#8a9a9d; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.tracking-live-status-meta strong { display:block; margin-top:5px; overflow-wrap:anywhere; color:#31585c; font-size:10px; line-height:1.45; }
.tracking-progress-card-v2 { overflow:hidden; }
.tracking-progress-card-v2 .tracking-progress-rail { padding-top:6px; }
@media (max-width:800px) {
    .tracking-live-status { grid-template-columns:48px minmax(0,1fr); }
    .tracking-live-status-icon { width:48px; height:48px; }
    .tracking-live-status-meta { grid-column:1 / -1; border-left:0; border-top:1px solid #dce7e4; padding-top:14px; }
}
@media (max-width:520px) {
    .tracking-live-status { grid-template-columns:1fr; padding:18px 16px; }
    .tracking-live-status-meta { grid-template-columns:1fr; gap:0; }
    .tracking-live-status-meta div { padding:10px 0; }
    .tracking-live-status-meta div + div { border-left:0; border-top:1px solid #dce7e4; }
}
