:root { --ink:#24384a; --muted:#607387; --accent:#326f9f; --line:#dce7ef; --canvas:#f5f9fc; --header:#315f86; --header-shadow:rgba(34,80,118,.12); --brand-bg:#dcecf8; --brand-ink:#285978; --header-subtle:#d6e7f3; --intro-start:#e1eff9; --intro-end:#f8fbfe; --intro-border:#d0e3f1; --intro-ink:#4d667a; --note-dot:#4682b4; --nav-ink:#526f85; --nav-hover-bg:#e3f0fa; --nav-hover-ink:#285d86; --nav-border:#c9dce9; --panel-shadow:rgba(34,80,118,.07); --track:#e7eff5; --section-border:#bbd4e6; --note-ink:#3d6480; --note-bg:#edf6fc; --note-border:#4682b4; --control-border:#cbd9e4; --focus:#397dad; --selected-bg:#e7f3fc; --selected-ink:#214d70; --group-border:#dce7ef; --group-bg:#fbfdff; --group-ink:#315f86; --bottom-bg:rgba(255,255,255,.96); --bottom-ink:#667d8d; }
:root[data-theme="green"] { --ink:#153840; --muted:#66777b; --accent:#136c74; --line:#dce6e5; --canvas:#f5f8f7; --header:#123f49; --header-shadow:rgba(8,42,47,.1); --brand-bg:#ddf3e8; --brand-ink:#10515a; --header-subtle:#bddbd7; --intro-start:#e0f0e9; --intro-end:#f5faf6; --intro-border:#d7e9df; --intro-ink:#52686a; --note-dot:#30a78d; --nav-ink:#557076; --nav-hover-bg:#dff0ea; --nav-hover-ink:#0d555d; --nav-border:#c7d9d5; --panel-shadow:rgba(22,60,61,.055); --track:#e7eeeb; --section-border:#b7d3d0; --note-ink:#426b66; --note-bg:#edf7f2; --note-border:#2f8b78; --control-border:#cbdad8; --focus:#1a8a84; --selected-bg:#eaf6f1; --selected-ink:#0e555c; --group-border:#e1eae8; --group-bg:#fbfdfc; --group-ink:#1c575d; --bottom-bg:rgba(255,255,255,.96); --bottom-ink:#708080; }
:root[data-theme="autumn"] { --ink:#352d30; --muted:#71686a; --accent:#8a3e2c; --line:#e9ddd5; --canvas:#faf7f2; --header:#4b2d38; --header-shadow:rgba(52,30,38,.12); --brand-bg:#f6d5a9; --brand-ink:#69352c; --header-subtle:#ebcfc5; --intro-start:#f9e7d1; --intro-end:#fffaf3; --intro-border:#ecd9c7; --intro-ink:#6a5554; --note-dot:#be733d; --nav-ink:#70565a; --nav-hover-bg:#f6e6d7; --nav-hover-ink:#783522; --nav-border:#dfcfc4; --panel-shadow:rgba(80,45,45,.06); --track:#f0e4da; --section-border:#e3c8b6; --note-ink:#714d3f; --note-bg:#fff1e2; --note-border:#b6653a; --control-border:#d9ccc5; --focus:#a75432; --selected-bg:#fff0df; --selected-ink:#6f311f; --group-border:#eee2d8; --group-bg:#fffcf8; --group-ink:#713c32; --bottom-bg:rgba(255,252,248,.96); --bottom-ink:#796c69; }
body { color:var(--ink); background:var(--canvas); padding-bottom:96px; }
.app-header { color:#fff; background:var(--header); box-shadow:0 3px 16px var(--header-shadow); }
.brand-mark { width:43px; height:43px; display:grid; place-items:center; flex:none; border-radius:13px; background:var(--brand-bg); color:var(--brand-ink); font-size:1.4rem; font-weight:800; }
.brand-name { font-weight:800; line-height:1.05; letter-spacing:.12em; }
.brand-caption { color:var(--header-subtle); font-size:.74rem; margin-top:3px; }
.environment-badge { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:.28rem .72rem; border:1px solid transparent; border-radius:999px; font-size:.72rem; font-weight:850; letter-spacing:.08em; white-space:nowrap; box-shadow:0 1px 5px rgba(0,0,0,.12); }
.environment-test { color:#5a3500; background:#ffd67a; border-color:#efb536; }
.environment-production { color:#0b4229; background:#bde8ce; border-color:#6fc094; }
.environment-badge-small { min-height:24px; padding:.18rem .5rem; font-size:.66rem; box-shadow:none; }
.delivery-status { display:inline-flex; align-items:center; min-height:26px; padding:.2rem .58rem; border:1px solid transparent; border-radius:999px; font-size:.72rem; font-weight:800; line-height:1.2; white-space:nowrap; }
.delivery-status-pending { color:#6a4300; background:#fff1bd; border-color:#e5bd43; }
.delivery-status-sending { color:#174a72; background:#dceeff; border-color:#8abce4; }
.delivery-status-confirmed { color:#15552e; background:#dff4e6; border-color:#8dcca4; }
.delivery-status-unknown,.delivery-status-rejected { color:#7f2525; background:#fde2e2; border-color:#e6a0a0; }
.delivery-status-unmapped { color:#654313; background:#f5e8d4; border-color:#d8b985; }
.delivery-status-draft { color:var(--muted); background:#edf2f6; border-color:#d3dee7; }
.delivery-row > td { transition:background-color .15s ease; }
.delivery-row-pending > td { background:#fffaf0 !important; }
.delivery-row-sending > td { background:#f3f9ff !important; }
.delivery-row-unknown > td,.delivery-row-rejected > td { background:#fff5f5 !important; }
.delivery-summary-pending { border-color:#e5bd43; background:#fffaf0; }
.delivery-summary-sending { border-color:#8abce4; background:#f3f9ff; }
.delivery-summary-confirmed { border-color:#8dcca4; background:#f3fbf6; }
.delivery-summary-unknown,.delivery-summary-rejected { border-color:#e6a0a0; background:#fff5f5; }
.theme-picker { display:flex; align-items:center; gap:.1rem; }
.theme-swatch { display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid transparent; border-radius:9px; background:transparent; cursor:pointer; }
.theme-swatch::before { content:""; display:block; width:22px; height:22px; border-radius:5px; background:var(--swatch); box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.15); }
.theme-swatch:hover { background:rgba(255,255,255,.12); }
.theme-swatch[aria-pressed="true"] { border-color:rgba(255,255,255,.85); background:rgba(255,255,255,.12); }
.theme-swatch:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.page-shell { padding-top:28px; padding-bottom:28px; max-width:1680px; }
.intro-card { padding:1.4rem; border-radius:22px; background:linear-gradient(155deg,var(--intro-start),var(--intro-end) 75%); border:1px solid var(--intro-border); }
.intro-card h1 { font-size:clamp(1.6rem,2.4vw,2.1rem); line-height:1.12; letter-spacing:-.035em; margin:.65rem 0; font-weight:750; }
.intro-card p { font-size:.91rem; color:var(--intro-ink); line-height:1.55; margin-bottom:1rem; }
.eyebrow { text-transform:uppercase; letter-spacing:.1em; color:var(--accent); font-size:.72rem; font-weight:800; }
.info-note { display:flex; align-items:center; gap:.5rem; font-size:.79rem; color:var(--intro-ink); font-weight:600; }
.dot { width:7px; height:7px; border-radius:50%; background:var(--note-dot); flex:none; }
.step-nav { display:flex; gap:.35rem; overflow-x:auto; padding:.8rem 0; scrollbar-width:thin; }
.step-link { border:0; background:transparent; color:var(--nav-ink); text-align:left; padding:.72rem .82rem; border-radius:12px; display:flex; align-items:center; gap:.7rem; flex:none; white-space:nowrap; font-size:.85rem; font-weight:600; }
.step-link:hover,.step-link:focus-visible { background:var(--nav-hover-bg); color:var(--nav-hover-ink); text-decoration:none; }
.step-number { display:grid; place-items:center; width:27px; height:27px; flex:none; border:1px solid var(--nav-border); border-radius:9px; background:#fff; font-size:.72rem; }
.step-link:hover .step-number { background:var(--accent); color:#fff; border-color:var(--accent); }
.form-panel { background:#fff; border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:0 12px 38px var(--panel-shadow); min-height:420px; }
.panel-top { border-bottom:1px solid var(--line); padding:1.4rem 1.4rem 1.2rem; }
.panel-top h2 { font-size:clamp(1.5rem,2.5vw,2rem); letter-spacing:-.03em; font-weight:750; }
.track { height:6px; background:var(--track); border-radius:50px; }
.progress-bar { background:var(--accent); border-radius:50px; transition:width .2s; }
.form-body { padding:0; }
.workflow-section { padding:1.5rem 1.4rem .5rem; border-bottom:1px solid var(--line); scroll-margin-top:1rem; }
.workflow-section:last-child { border-bottom:0; }
.workflow-section h2 { font-size:1.4rem; font-weight:750; letter-spacing:-.025em; margin:0 0 1.15rem; padding-bottom:.65rem; border-bottom:1px solid var(--section-border); }
.section-note { color:var(--note-ink); background:var(--note-bg); border-left:3px solid var(--note-border); border-radius:0 8px 8px 0; padding:.7rem .9rem; margin:-.25rem 0 1.1rem; font-size:.9rem; }
.field-row { margin-bottom:1.25rem; }
.form-label { font-weight:650; font-size:.92rem; line-height:1.35; margin-bottom:.45rem; }
.field-help { color:var(--muted); font-size:.78rem; line-height:1.35; margin-top:.4rem; }
.field-validation { color:#a32626; font-size:.8rem; font-weight:650; line-height:1.35; margin-top:.35rem; }
.field-row-invalid .form-control,.field-row-invalid .form-select,.field-row-invalid .choice-option { border-color:#cb4c4c; }
.field-row-invalid .form-label { color:#9f2b2b; }
.checkbox-row.field-row-invalid { flex-wrap:wrap; }
.checkbox-row .field-validation { flex-basis:100%; }
.required-star { color:#aa5740; margin-left:.2rem; }
.form-control,.form-select { border-color:var(--control-border); border-radius:11px; min-height:48px; color:var(--ink); }
.form-control:focus,.form-select:focus { border-color:var(--focus); box-shadow:0 0 0 .22rem color-mix(in srgb,var(--focus) 16%,transparent); }
.choice-group { display:flex; flex-wrap:wrap; gap:.45rem; }
.choice-option { display:inline-flex; align-items:center; gap:.48rem; min-height:42px; padding:.38rem .72rem; border:1px solid var(--control-border); border-radius:10px; background:#fff; cursor:pointer; font-size:.9rem; line-height:1.25; }
.choice-option:has(input:checked) { border-color:var(--accent); background:var(--selected-bg); color:var(--selected-ink); }
.choice-option:focus-within { outline:3px solid color-mix(in srgb,var(--focus) 20%,transparent); }
.choice-option input,.checkbox-option input { flex:none; margin:0; }
.form-check-input:checked { background-color:var(--accent); border-color:var(--accent); }
.form-check-input:focus { border-color:var(--focus); box-shadow:0 0 0 .22rem color-mix(in srgb,var(--focus) 16%,transparent); }
.checkbox-row { display:flex; align-items:center; }
.checkbox-option { display:inline-flex; align-items:flex-start; gap:.55rem; padding:.4rem 0; cursor:pointer; font-size:.92rem; line-height:1.35; }
.checkbox-option input { margin-top:.15rem; }
.field-group { border:1px solid var(--group-border); border-radius:16px; padding:1rem; margin:0 0 1.2rem; background:var(--group-bg); }
.field-group legend { float:none; width:auto; padding:0 .35rem; margin:0 0 .3rem; font-size:1rem; color:var(--group-ink); font-weight:750; }
.field-group .field-group { background:#fff; }
.field-group .field-row:last-child { margin-bottom:0; }
.workflow-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem 1.25rem; }
.workflow-group > legend { grid-column:1/-1; }
.workflow-group > .field-group { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem 1.25rem; }
.workflow-group > .field-group > legend { grid-column:1/-1; }
.workflow-group .field-row { min-width:0; }
.group-lead-row { grid-column:1/-1; }
.stable-lead-row { grid-column:1/-1; }
.workflow-group > .onset-timing-slot { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem 1.25rem; min-height:7rem; }
.onset-timing-slot .field-row { margin-bottom:.4rem; }
.field-branch { min-width:0; }
.field-branch > .field-row { margin-bottom:.2rem; }
.field-branch-children { display:block; margin:.2rem 0 1rem; padding:.7rem .85rem; }
.field-branch-children .field-row { margin-bottom:.25rem; }
.field-branch-admission > .field-row { margin-bottom:.35rem; }
.field-dependent-slot { min-height:8.5rem; }
.field-dependent-slot .field-row { margin-bottom:0; }
.field-branch-treatment { grid-column:1/-1; }
.field-branch-treatment .field-dependent-slot { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem 1.25rem; min-height:0; margin-top:.45rem; }
.empty-state { color:var(--muted); padding:2rem 0; }
.bottom-bar { position:fixed; bottom:0; left:0; right:0; background:var(--bottom-bg); border-top:1px solid var(--line); backdrop-filter:blur(12px); z-index:20; padding:.7rem 0 max(.7rem,env(safe-area-inset-bottom)); }
.bottom-caption { font-size:.78rem; color:var(--bottom-ink); }
.nav-button { min-width:112px; min-height:48px; border-radius:12px; font-weight:700; }
.btn-primary { background:var(--accent); border-color:var(--accent); }
.btn-primary:hover,.btn-primary:focus { background:var(--nav-hover-ink); border-color:var(--nav-hover-ink); }
@media (min-width:992px) { .step-nav { display:block; overflow:visible; padding:.7rem 0; position:sticky; top:1rem; } .step-link { width:100%; white-space:normal; } .workflow-section,.panel-top { padding-left:2rem; padding-right:2rem; } }
@media (min-width:1600px) { .workflow-group,.workflow-group > .field-group { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:575px) { .workflow-group,.workflow-group > .field-group { grid-template-columns:minmax(0,1fr); } }
@media (max-width:575px) { .workflow-group > .onset-timing-slot { grid-template-columns:minmax(0,1fr); min-height:0; } }
@media (max-width:575px) { .field-dependent-slot { min-height:0; } }
@media (max-width:575px) { .field-branch-treatment .field-dependent-slot { grid-template-columns:minmax(0,1fr); } }
@media (max-width:575px) { .page-shell { padding-top:15px; } .intro-card { padding:1rem 1.1rem; } .intro-card h1 { font-size:1.38rem; } .intro-card p { margin-bottom:.6rem; } .panel-top { padding:1.2rem; } .workflow-section { padding:1.15rem; } .header-badge { display:none; } }
@media (max-width:575px) {
  body { padding-bottom:176px; overflow-x:hidden; }
  .app-header-inner { flex-wrap:wrap; gap:.65rem !important; padding-top:.65rem !important; padding-bottom:.65rem !important; }
  .header-brand { gap:.65rem !important; }
  .brand-mark { width:36px; height:36px; border-radius:11px; font-size:1.15rem; }
  .brand-caption { display:none; }
  .theme-picker { margin-left:auto; }
  .theme-swatch { width:31px; height:31px; }
  .account-links { width:100%; display:flex; align-items:center; justify-content:flex-end; gap:.8rem; }
  .account-links #signedInUser { display:none; }
  .account-links a { margin-left:0 !important; }
  .bottom-bar .container-lg { display:grid !important; grid-template-columns:minmax(0,1fr); gap:.55rem !important; }
  .bottom-caption { display:block; min-height:1.1rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .bottom-actions { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .bottom-actions > * { width:100%; }
  .bottom-actions #pilotNavigation { display:contents; }
  .nav-button { min-width:0; min-height:43px; padding:.45rem .55rem; font-size:.82rem; }
}

.home-page { padding-bottom:0; }
.home-shell { max-width:1160px; padding-top:2.2rem; padding-bottom:4rem; }
.home-hero { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--intro-border); border-radius:24px; background:linear-gradient(120deg,var(--intro-start),var(--intro-end) 78%); }
.home-hero h1 { font-size:clamp(2rem,4vw,3.25rem); letter-spacing:-.04em; font-weight:760; margin:.55rem 0 .8rem; }
.home-hero p { color:var(--intro-ink); font-size:1.05rem; line-height:1.5; margin:0 0 1.4rem; max-width:40rem; }
.home-user { display:flex; flex-wrap:wrap; gap:.4rem; color:var(--intro-ink); font-size:.88rem; }
.home-user strong { color:var(--ink); }
.home-user-separator { margin:0 .25rem; }
.home-hero-mark { display:grid; place-items:center; width:125px; height:125px; border-radius:32px; flex:none; background:var(--brand-bg); color:var(--brand-ink); font-size:5rem; font-weight:800; box-shadow:0 10px 28px var(--panel-shadow); }
.home-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 2.5rem; }
.home-action { display:flex; align-items:flex-start; gap:1rem; min-height:150px; padding:1.5rem; border:1px solid var(--line); border-radius:20px; background:#fff; color:var(--ink); text-decoration:none; box-shadow:0 8px 24px var(--panel-shadow); transition:transform .15s,box-shadow .15s,border-color .15s; }
.home-action:hover,.home-action:focus-visible { transform:translateY(-2px); border-color:var(--accent); color:var(--ink); box-shadow:0 12px 30px var(--panel-shadow); }
.home-action-primary { border-color:var(--accent); }
.home-action-number { display:grid; place-items:center; width:2.5rem; height:2.5rem; flex:none; border-radius:10px; background:var(--selected-bg); color:var(--accent); font-weight:800; font-size:.82rem; }
.home-action-content { display:flex; flex-direction:column; gap:.5rem; }
.home-action-content strong { font-size:1.3rem; line-height:1.2; }
.home-action-content > span { color:var(--muted); font-size:.91rem; line-height:1.45; }
.home-action-arrow { margin-left:auto; color:var(--accent); font-size:1.6rem; line-height:1; }
.home-overview { padding:1.6rem; border:1px solid var(--line); border-radius:20px; background:#fff; }
.home-overview h2 { font-size:1.35rem; font-weight:750; margin:.25rem 0 0; }
.home-overview a { color:var(--accent); font-weight:650; }
.home-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.home-stat { display:flex; flex-direction:column; gap:.25rem; min-height:100px; padding:1rem 1.15rem; border:1px solid var(--line); border-radius:14px; background:var(--group-bg); color:var(--muted); font-size:.85rem; }
.home-stat-value { color:var(--accent); font-size:2rem; font-weight:780; line-height:1.1; }
.home-footnote { margin-top:1rem; color:var(--muted); font-size:.83rem; }
.home-workflow { margin-top:2.5rem; }
.home-workflow h2 { font-size:1.35rem; font-weight:750; margin:.3rem 0 1rem; }
.home-workflow-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.home-workflow-steps > div { padding:1.25rem; border:1px solid var(--line); border-radius:16px; background:#fff; }
.home-workflow-steps span { display:grid; place-items:center; width:1.9rem; height:1.9rem; margin-bottom:.9rem; border-radius:9px; background:var(--selected-bg); color:var(--accent); font-size:.8rem; font-weight:800; }
.home-workflow-steps strong { display:block; font-size:.97rem; margin-bottom:.4rem; }
.home-workflow-steps p { color:var(--muted); font-size:.85rem; line-height:1.45; margin:0; }
@media (max-width:767px) { .home-hero-mark { display:none; } .home-actions { grid-template-columns:1fr; } .home-action { min-height:120px; } }
@media (max-width:767px) { .home-workflow-steps { grid-template-columns:1fr; } }
@media (max-width:575px) { .home-shell { padding-top:1rem; } .home-hero { padding:1.4rem; } .home-stats { grid-template-columns:1fr; } .home-stat { min-height:0; } }

.public-page { padding-bottom:0; background:#fff; }
.public-header { background:#fff; border-bottom:1px solid var(--line); }
.public-brand { display:flex; align-items:center; gap:.7rem; color:var(--ink); text-decoration:none; }
.public-brand:hover { color:var(--ink); }
.public-brand .brand-mark { background:#e4f0f9; color:#285978; }
.public-brand strong { display:block; font-size:1.04rem; line-height:1; letter-spacing:.13em; }
.public-brand small { display:block; color:var(--muted); font-size:.69rem; margin-top:.25rem; }
.public-nav { display:flex; align-items:center; gap:clamp(.7rem,2vw,1.9rem); }
.public-nav a { color:var(--ink); font-weight:650; font-size:.87rem; text-decoration:none; }
.public-nav a:hover,.public-nav a:focus-visible { color:var(--accent); }
.public-nav .public-nav-login { display:inline-flex; align-items:center; min-height:40px; padding:.45rem 1rem; border:1px solid var(--accent); border-radius:10px; color:var(--accent); }
.public-nav .public-nav-login:hover,.public-nav .public-nav-login:focus-visible { background:var(--selected-bg); }
.public-hero { overflow:hidden; background:linear-gradient(115deg,#f0f7fc 4%,#f8fbfe 54%,#e8f3fa 100%); }
.public-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); align-items:center; gap:4rem; min-height:555px; padding-top:4.5rem; padding-bottom:4.5rem; }
.public-hero-copy { position:relative; z-index:1; }
.public-kicker { display:inline-flex; align-items:center; gap:.6rem; color:var(--accent); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.public-kicker span { width:8px; height:8px; border-radius:50%; background:#4682b4; }
.public-hero h1 { margin:1rem 0 1.3rem; color:var(--ink); font-size:clamp(2.8rem,5vw,4.8rem); line-height:1.06; letter-spacing:-.055em; font-weight:780; }
.public-hero h1 em { color:#397aa8; font-style:normal; }
.public-hero-copy > p { max-width:37rem; color:#4b6377; font-size:clamp(1rem,1.5vw,1.13rem); line-height:1.65; }
.public-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem; margin-top:2rem; }
.public-main-button { display:inline-flex; align-items:center; justify-content:center; gap:1.5rem; min-height:52px; border-radius:12px; padding:.7rem 1.25rem; font-weight:700; }
.public-main-button span { font-size:1.3rem; font-weight:400; line-height:1; }
.public-text-link { color:var(--accent); font-weight:700; text-decoration:none; }
.public-text-link:hover { text-decoration:underline; }
.public-access-note { color:var(--muted); font-size:.82rem; margin-top:1.6rem; }
.public-hero-art { position:relative; height:405px; }
.public-art-circle { position:absolute; border-radius:50%; }
.public-art-circle-one { width:330px; height:330px; right:35px; top:25px; background:#d7e9f6; }
.public-art-circle-two { width:235px; height:235px; right:-15px; top:130px; border:1px solid #b5d4e9; }
.public-art-card { position:absolute; background:#fff; border:1px solid #d4e5f0; box-shadow:0 20px 50px rgba(32,82,120,.12); }
.public-art-card-main { width:305px; height:275px; left:20px; top:70px; padding:1.5rem; border-radius:20px; transform:rotate(-5deg); }
.public-art-overline,.public-art-title,.public-art-line,.public-art-row b { display:block; border-radius:20px; background:#dbeaf5; }
.public-art-overline { width:72px; height:8px; background:#7daed0; }
.public-art-title { width:190px; height:16px; margin:1.25rem 0 1.5rem; background:#447fa9; }
.public-art-row { display:flex; align-items:center; gap:.8rem; margin:1rem 0; }
.public-art-row i { display:block; width:25px; height:25px; border:2px solid #9bc2dc; border-radius:8px; }
.public-art-row b { width:160px; height:10px; }
.public-art-row:nth-last-child(1) b { width:115px; }
.public-art-card-top { display:flex; align-items:center; gap:.5rem; width:180px; height:58px; right:0; top:28px; padding:.8rem; border-radius:14px; transform:rotate(8deg); }
.public-art-dot { width:16px; height:16px; flex:none; border-radius:50%; background:#69a8cd; }
.public-art-line { width:62px; height:8px; }
.public-art-line.short { width:28px; }
.public-art-card-bottom { display:flex; align-items:center; gap:.8rem; width:175px; height:65px; right:-10px; bottom:20px; padding:.85rem; border-radius:14px; transform:rotate(7deg); }
.public-art-check { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; background:#e4f0f9; color:#397aa8; font-weight:800; }
.public-resq { background:#fff; border-bottom:1px solid var(--line); }
.public-resq-inner { display:flex; align-items:center; gap:2rem; padding-top:1.55rem; padding-bottom:1.55rem; }
.public-resq-names { display:flex; align-items:center; gap:.75rem; flex:none; color:var(--accent); font-size:1.15rem; letter-spacing:.04em; }
.public-resq-names span { color:#8ba5b8; font-weight:400; }
.public-resq-inner > div:last-child { padding-left:2rem; border-left:1px solid var(--line); }
.public-resq-inner p { max-width:650px; margin:.2rem 0 0; color:var(--muted); font-size:.88rem; line-height:1.5; }
.public-stats { padding:4rem 0; background:#f4f9fc; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.public-stats-heading { margin-bottom:1.5rem; }
.public-stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.public-stat { display:flex; flex-direction:column; gap:.45rem; padding:1.5rem; border:1px solid #d4e5f0; border-radius:16px; background:#fff; box-shadow:0 6px 24px rgba(34,80,118,.04); }
.public-stat strong { color:var(--accent); font-size:clamp(2rem,3.5vw,3rem); line-height:1; font-weight:790; font-variant-numeric:tabular-nums; }
.public-stat span { color:var(--ink); font-size:.95rem; font-weight:650; }
.public-stats-note { margin:1.2rem 0 0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.public-stats-unavailable { margin:0; padding:1.2rem 1.5rem; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--muted); }
.public-section { padding-top:5rem; padding-bottom:5rem; }
.public-section-heading { max-width:650px; margin-bottom:2rem; }
.public-section-heading h2,.public-process h2 { font-size:clamp(1.9rem,3vw,2.6rem); font-weight:750; letter-spacing:-.035em; margin:.55rem 0 .7rem; }
.public-section-heading p,.public-process p { color:var(--muted); line-height:1.6; margin:0; }
.public-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.public-feature { padding:1.65rem; border:1px solid var(--line); border-radius:18px; background:#fff; }
.public-feature-index { color:var(--accent); font-size:.77rem; font-weight:800; letter-spacing:.1em; }
.public-feature h3 { font-size:1.12rem; font-weight:750; margin:1.2rem 0 .65rem; }
.public-feature p { margin:0; color:var(--muted); font-size:.91rem; line-height:1.55; }
.public-process { background:#edf5fa; border-top:1px solid #d9e9f3; }
.public-process-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding-top:3.5rem; padding-bottom:3.5rem; }
.public-process-inner > div { max-width:610px; }
.public-footer { padding:1.7rem 0; color:var(--muted); font-size:.82rem; }
.public-footer a { color:var(--accent); font-weight:650; text-decoration:none; }
.admin-role-list label { margin-left:.45rem; margin-right:1.5rem; }
.admin-role-list input { accent-color:var(--accent); }
.admin-stat-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.admin-stat-card { display:flex; min-height:145px; flex-direction:column; justify-content:center; padding:1.35rem; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 7px 24px rgba(28,61,86,.055); }
.admin-stat-card > span { color:var(--muted); font-size:.78rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.admin-stat-card strong { margin:.35rem 0; color:var(--accent); font-size:2.15rem; line-height:1; font-variant-numeric:tabular-nums; }
.admin-stat-card small { color:var(--muted); line-height:1.35; }
.admin-action-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; height:100%; padding:1.25rem; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--ink); text-decoration:none; box-shadow:0 7px 24px rgba(28,61,86,.045); }
.admin-action-card:hover,.admin-action-card:focus-visible { border-color:var(--accent); color:var(--ink); transform:translateY(-1px); }
.admin-action-icon { display:grid; width:46px; height:46px; place-items:center; border-radius:13px; background:var(--selected-bg); color:var(--accent); font-weight:800; }
.admin-action-card strong,.admin-action-card small { display:block; }
.admin-action-card small { margin-top:.25rem; color:var(--muted); line-height:1.4; }
.admin-action-card b { color:var(--accent); font-size:1.4rem; }
.portal-chart-card { margin-top:1.5rem; padding:1.5rem; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 7px 28px rgba(28,61,86,.045); }
.portal-chart-card h2 { margin:.35rem 0 1rem; font-size:1.35rem; }
.portal-month-chart { display:grid; grid-template-columns:repeat(12,minmax(42px,1fr)); align-items:end; gap:.65rem; min-height:245px; padding-top:1rem; overflow-x:auto; }
.portal-month { display:grid; grid-template-rows:1.5rem 160px auto; align-items:end; min-width:42px; text-align:center; }
.portal-month-value { color:var(--ink); font-size:.78rem; font-weight:750; }
.portal-month-track { display:flex; height:160px; align-items:end; justify-content:center; border-bottom:1px solid var(--line); }
.portal-month-track i { display:block; width:min(28px,70%); min-height:4px; border-radius:7px 7px 2px 2px; background:var(--accent); }
.portal-month small { padding-top:.55rem; color:var(--muted); font-size:.68rem; white-space:nowrap; }
.portal-comparison-chart { display:grid; gap:.7rem; margin-top:1rem; max-height:430px; overflow:auto; padding-right:.35rem; }
.portal-comparison-row { display:grid; grid-template-columns:minmax(130px,220px) minmax(120px,1fr) 65px; align-items:center; gap:.8rem; padding:.35rem .5rem; border-radius:9px; }
.portal-comparison-row > span { overflow:hidden; color:var(--ink); font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }
.portal-comparison-row > div { height:13px; overflow:hidden; border-radius:20px; background:var(--selected-bg); }
.portal-comparison-row i { display:block; height:100%; border-radius:20px; background:#8db7d2; }
.portal-comparison-row strong { color:var(--ink); font-size:.84rem; text-align:right; font-variant-numeric:tabular-nums; }
.portal-comparison-row.is-current { background:var(--selected-bg); }
.portal-comparison-row.is-current i { background:var(--accent); }
.history-panel { padding:1.35rem; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 7px 24px var(--panel-shadow); }
.history-list { gap:.55rem; }
.history-list .list-group-item { display:grid; gap:.15rem; border:1px solid var(--line); border-radius:11px; color:var(--ink); }
.history-list .list-group-item span,.history-list .list-group-item small { color:var(--muted); font-size:.78rem; }
.history-list .list-group-item.active { border-color:var(--accent); background:var(--selected-bg); color:var(--selected-ink); }
.history-list .list-group-item.active span,.history-list .list-group-item.active small { color:var(--selected-ink); }
.history-values td:first-child { width:58%; color:var(--muted); font-family:Consolas,monospace; font-size:.8rem; overflow-wrap:anywhere; }
.history-values td:last-child { color:var(--ink); font-weight:650; overflow-wrap:anywhere; }
.history-values .history-changed td { background:var(--selected-bg); }
.history-restore-panel { padding:1.35rem; border:1px solid #e3b8b8; border-radius:16px; background:#fff8f8; }
@media (max-width:991px) { .public-hero-grid { gap:1.5rem; grid-template-columns:minmax(0,1fr) 340px; } .public-hero-art { transform:scale(.85); transform-origin:center right; } }
@media (max-width:767px) { .public-hero-grid { grid-template-columns:1fr; min-height:0; padding-top:3.5rem; padding-bottom:3.5rem; } .public-hero-art { display:none; } .public-feature-grid { grid-template-columns:1fr; } .public-process-inner { display:block; } .public-process .public-main-button { margin-top:1.5rem; } }
@media (max-width:767px) { .public-resq-inner { align-items:flex-start; flex-direction:column; gap:.7rem; } .public-resq-inner > div:last-child { padding-left:0; border-left:0; } }
@media (max-width:767px) { .public-stats { padding:3rem 0; } .public-stats-grid { grid-template-columns:1fr; } }
@media (max-width:991px) { .admin-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:575px) { .admin-stat-grid { grid-template-columns:1fr 1fr; } .admin-stat-card { min-height:125px; padding:1rem; } }

/* Registry analytics */
.analytics-shell { max-width:1800px; }
.analytics-scope { padding:.65rem 1rem; font-size:.82rem; letter-spacing:.02em; }
.analytics-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1rem; }
.analytics-kpi { display:flex; min-height:132px; flex-direction:column; justify-content:center; padding:1.2rem; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 7px 24px var(--panel-shadow); }
.analytics-kpi > span { color:var(--muted); font-size:.76rem; font-weight:760; letter-spacing:.04em; text-transform:uppercase; }
.analytics-kpi strong { margin:.4rem 0; color:var(--accent); font-size:clamp(1.55rem,2vw,2.2rem); line-height:1; font-variant-numeric:tabular-nums; }
.analytics-kpi small { color:var(--muted); }
.analytics-panel { padding:1.5rem; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 7px 28px var(--panel-shadow); }
.analytics-panel h2 { margin:.3rem 0 1rem; font-size:1.35rem; }
.analytics-time-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1rem; }
.analytics-time-card { display:flex; min-height:220px; flex-direction:column; gap:.85rem; padding:1.15rem; border:1px solid var(--line); border-radius:14px; background:var(--group-bg); }
.analytics-time-card h3 { margin:.35rem 0 0; font-size:.95rem; line-height:1.35; }
.analytics-time-code { display:inline-flex; padding:.25rem .55rem; border-radius:999px; background:var(--selected-bg); color:var(--selected-ink); font-size:.75rem; font-weight:800; }
.analytics-time-card > strong { color:var(--accent); font-size:1.75rem; font-variant-numeric:tabular-nums; }
.analytics-time-card dl { display:grid; gap:.35rem; margin:auto 0 0; }
.analytics-time-card dl div { display:flex; justify-content:space-between; gap:.5rem; font-size:.78rem; }
.analytics-time-card dt { color:var(--muted); font-weight:500; }.analytics-time-card dd { margin:0; font-weight:700; }
.analytics-target { display:block; color:var(--selected-ink); font-weight:700; }
.analytics-insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.analytics-insight { display:flex; min-height:158px; flex-direction:column; gap:.45rem; padding:1.1rem; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:14px; background:var(--group-bg); }
.analytics-insight > span { color:var(--muted); font-size:.76rem; font-weight:760; letter-spacing:.04em; text-transform:uppercase; }
.analytics-insight > strong { color:var(--ink); font-size:1.15rem; line-height:1.3; }
.analytics-insight p { margin:auto 0 0; color:var(--muted); font-size:.88rem; }
.analytics-bars { display:grid; gap:1rem; }.analytics-bar-row { display:grid; gap:.35rem; }
.analytics-bar-heading { display:flex; justify-content:space-between; gap:1rem; align-items:end; font-size:.9rem; }
.analytics-bar-heading strong { color:var(--accent); white-space:nowrap; font-variant-numeric:tabular-nums; }.analytics-bar-heading small { color:var(--muted); font-weight:500; }
.analytics-bar-track { height:.65rem; overflow:hidden; border-radius:999px; background:var(--track); }.analytics-bar-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--focus)); }
.analytics-months { display:grid; grid-template-columns:repeat(auto-fit,minmax(50px,1fr)); align-items:end; gap:.65rem; min-height:250px; overflow-x:auto; padding-top:1rem; }
.analytics-month { display:grid; grid-template-rows:auto 180px auto; gap:.35rem; min-width:48px; text-align:center; }.analytics-month > strong { color:var(--accent); font-size:.8rem; }.analytics-month > div { display:flex; align-items:end; justify-content:center; border-bottom:1px solid var(--line); }.analytics-month i { width:70%; min-height:3px; border-radius:5px 5px 0 0; background:var(--accent); }.analytics-month small { color:var(--muted); font-size:.68rem; white-space:nowrap; }
.analytics-highlight { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border-radius:14px; background:var(--selected-bg); }.analytics-highlight span { color:var(--selected-ink); }.analytics-highlight strong { color:var(--accent); font-size:1.4rem; }
.analytics-quality-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.8rem; }.analytics-quality { display:flex; min-height:100px; flex-direction:column; justify-content:center; padding:1rem; border:1px solid var(--line); border-radius:14px; }.analytics-quality strong { font-size:1.65rem; }.analytics-quality span { color:var(--muted); font-size:.78rem; line-height:1.35; }.analytics-quality.is-good strong { color:#198754; }.analytics-quality.is-warning strong { color:#b25335; }
@media (max-width:1399px) { .analytics-kpi-grid,.analytics-time-grid,.analytics-quality-grid,.analytics-insight-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) { .analytics-kpi-grid,.analytics-time-grid,.analytics-quality-grid,.analytics-insight-grid { grid-template-columns:1fr 1fr; } .analytics-bar-heading { align-items:start; }.analytics-months { grid-template-columns:repeat(12,minmax(46px,1fr)); } }
@media (max-width:479px) { .analytics-kpi-grid,.analytics-time-grid,.analytics-quality-grid,.analytics-insight-grid { grid-template-columns:1fr; } }
@media (max-width:575px) { .public-nav a:not(.public-nav-login) { display:none; } .public-hero-grid { padding-top:2.8rem; padding-bottom:2.8rem; } .public-hero h1 { font-size:2.6rem; } .public-section { padding-top:3rem; padding-bottom:3rem; } }
.delivery-status-local_test {
  color: #6f42c1;
  background: #f1eafa;
  border-color: #d8c4ef;
}

.delivery-row-local_test > td {
  background-color: #fbf8ff;
}

.croatian-temporal-control {
  position: relative;
  display: grid;
  grid-template-columns: minmax(9.5rem, 1fr) minmax(5.5rem, .5fr) auto;
  gap: .45rem;
  align-items: center;
}
.croatian-temporal-control.temporal-format-date {
  grid-template-columns: minmax(9.5rem, 1fr) auto;
}
.croatian-temporal-control.temporal-format-time {
  display: block;
}
.temporal-date-text,.temporal-time-text { font-variant-numeric: tabular-nums; }
.temporal-native-picker {
  position: absolute;
  width: 1px;
  height: 1px;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
}
.temporal-calendar-button { white-space: nowrap; }
@media (max-width:575px) {
  .croatian-temporal-control { grid-template-columns: minmax(0,1fr) minmax(5.25rem,.55fr) auto; }
  .temporal-calendar-button { padding-left:.65rem; padding-right:.65rem; font-size:.82rem; }
}

/* Administration shell */
.app-brand-link { color:#fff; text-decoration:none; }
.app-brand-link:hover,.app-brand-link:focus-visible { color:#fff; }
.admin-workspace { display:grid; grid-template-columns:250px minmax(0,1fr); max-width:1600px; margin:0 auto; }
.admin-sidebar { padding:2rem 0 2rem 1.5rem; }
.admin-sidebar-inner { position:sticky; top:1rem; padding:1rem; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 7px 24px var(--panel-shadow); }
.admin-sidebar-title { display:block; padding:.25rem .65rem .8rem; color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.admin-side-nav { display:grid; gap:.25rem; }
.admin-side-nav a { padding:.7rem .75rem; border-radius:10px; color:var(--ink); font-size:.88rem; font-weight:650; text-decoration:none; }
.admin-side-nav a:hover,.admin-side-nav a:focus-visible { background:var(--group-bg); color:var(--accent); }
.admin-side-nav a.active { background:var(--selected-bg); color:var(--selected-ink); }
.admin-content { min-width:0; }
.admin-content > main,.admin-content > form > main { max-width:none; }
.admin-mobile-menu { display:none; }
@media (max-width:991.98px) {
  .admin-workspace { display:block; }
  .admin-sidebar { display:none; }
  .admin-mobile-menu { display:block; margin:1rem 1rem 0; padding:.85rem 1rem; border:1px solid var(--line); border-radius:12px; background:#fff; }
  .admin-mobile-menu summary { cursor:pointer; color:var(--accent); font-weight:750; }
  .admin-mobile-menu .admin-side-nav { margin-top:.75rem; }
}
