:root{
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --bg:#f2f7f7;--bg-2:#eaf2f2;--surface:#ffffff;--surface-2:#f8fbfb;--surface-3:#edf5f4;
  --ink:#102b32;--ink-2:#24454c;--muted:#6b8185;--line:#d8e5e3;--line-strong:#bfd3d0;
  --navy:#0b2f38;--navy-2:#123f49;--teal:#08796f;--teal-2:#0a9d8c;--mint:#6de2cf;--mint-soft:#dff8f3;
  --cyan:#39c6dc;--blue:#4a83e7;--violet:#866eea;--green:#2db984;--amber:#e6a338;--red:#dc6267;
  --shadow-xs:0 2px 8px rgba(13,47,56,.05);--shadow:0 16px 42px rgba(13,47,56,.10);--shadow-lg:0 28px 80px rgba(8,35,45,.18);
  --radius:16px;--radius-lg:24px;--topbar-h:72px;--rail-w:292px;
}
html[data-theme="dark"]{
  --bg:#08181d;--bg-2:#0d2229;--surface:#10272e;--surface-2:#132e35;--surface-3:#17383f;
  --ink:#ecfbf9;--ink-2:#c4dedb;--muted:#8eaaa7;--line:#23444a;--line-strong:#31565c;
  --navy:#e8fbf8;--navy-2:#cbebe7;--mint-soft:#163e3b;--shadow:0 18px 48px rgba(0,0,0,.28);--shadow-lg:0 30px 90px rgba(0,0,0,.42);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}img,svg{max-width:100%}button{cursor:pointer}.ui-icon{display:inline-block;vertical-align:middle;flex:0 0 auto}.app-body{min-height:100vh;overflow-x:hidden}.app-main{min-height:calc(100vh - var(--topbar-h));position:relative;z-index:1}.ambient-grid{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(11,80,82,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(11,80,82,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000 0%,transparent 70%)}

/* Header */
.topbar{height:var(--topbar-h);position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:rgba(8,39,47,.96);color:#eafffd;border-bottom:1px solid rgba(164,241,231,.12);backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(4,24,30,.14)}.topbar-start,.topnav,.brand,.topnav a,.user-menu-trigger{display:flex;align-items:center}.topbar-start{gap:14px}.brand{gap:11px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#6fe7d2,#2ebca8);box-shadow:inset 0 1px rgba(255,255,255,.35),0 8px 22px rgba(39,200,177,.25);color:#073a36;font-weight:900}.brand-mark span{font-size:20px}.brand-copy{display:flex;flex-direction:column;line-height:1.12}.brand-copy strong{font-size:16px;letter-spacing:.01em}.brand-copy small{font-size:10px;color:#a9ceca;margin-top:4px}.environment-pill{padding:5px 9px;border-radius:999px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:rgba(95,218,197,.1);border:1px solid rgba(95,218,197,.18);color:#90e8d9}.topnav{gap:6px}.topnav>a{gap:8px;padding:9px 11px;border-radius:10px;color:#bcd8d5;font-size:12px;font-weight:650}.topnav>a:hover,.topnav>a.active{background:rgba(103,223,205,.11);color:#fff}.topnav-divider{width:1px;height:24px;background:rgba(255,255,255,.12);margin:0 6px}.mode-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em}.mode-badge.mock{background:rgba(230,163,56,.16);color:#ffd38d;border:1px solid rgba(230,163,56,.22)}.mode-badge.live{background:rgba(45,185,132,.15);color:#8ef1c7;border:1px solid rgba(45,185,132,.22)}.mode-pulse,.live-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:currentColor;box-shadow:0 0 0 4px rgba(255,255,255,.06);animation:pulse 2s infinite}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink-2);display:inline-grid;place-items:center;padding:0}.topbar .icon-button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#d9efec}.icon-button:hover{transform:translateY(-1px);border-color:var(--teal-2);color:var(--teal)}.mobile-menu-toggle{display:none}.theme-icon-dark{display:none}html[data-theme="dark"] .theme-icon-light{display:none}html[data-theme="dark"] .theme-icon-dark{display:block}.user-menu{position:relative;margin-left:3px}.user-menu-trigger{gap:9px;padding:5px 7px 5px 5px;background:transparent;border:0;color:#fff;border-radius:12px}.user-menu-trigger:hover{background:rgba(255,255,255,.07)}.user-avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#77e9d6,#39b9a6);color:#073832;font-weight:900}.user-avatar.large{width:44px;height:44px;border-radius:14px}.user-meta{display:flex;flex-direction:column;text-align:left;line-height:1.15}.user-meta strong{font-size:11px}.user-meta small{font-size:9px;color:#9fc2be;margin-top:3px}.chevron{color:#91b9b4}.user-dropdown{display:none;position:absolute;right:0;top:calc(100% + 12px);width:285px;padding:12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg)}.user-menu.open .user-dropdown{display:block;animation:drop .18s ease}.user-dropdown-head{display:flex;gap:11px;align-items:center;padding:7px}.user-dropdown-head div{display:flex;flex-direction:column}.user-dropdown-head small{color:var(--muted);font-size:10px;margin-top:3px}.user-dropdown-status{display:flex;gap:9px;align-items:flex-start;margin:10px 0;padding:10px;border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:10px}.dropdown-action{width:100%;border:0;background:transparent;border-radius:10px;padding:10px;display:flex;gap:9px;align-items:center;color:var(--ink-2)}.dropdown-action:hover{background:var(--surface-2)}.dropdown-action.danger{color:var(--red)}

/* General */
.page-wrap{position:relative;z-index:1;max-width:1540px;margin:0 auto;padding:30px 30px 65px}.command-page{max-width:1620px}.eyebrow,.panel-kicker{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850;color:var(--teal)}.eyebrow.inverse{color:#72e5d2}.muted{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.smart-panel{box-shadow:var(--shadow)}.panel-head-v2{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head-v2.compact{padding:17px 18px}.panel-head-v2 h2,.panel-head-v2 h3{margin:3px 0 2px;color:var(--ink);font-size:19px}.panel-head-v2 p{margin:0;color:var(--muted);font-size:11px}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);padding:9px 14px;border-radius:11px;font-weight:750;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s}.btn:hover{transform:translateY(-1px);border-color:var(--teal-2);color:var(--teal)}.btn-primary{background:linear-gradient(135deg,#0b8a7d,#087265);border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(8,121,111,.19)}.btn-primary:hover{color:#fff;box-shadow:0 14px 30px rgba(8,121,111,.28)}.btn-dark{background:var(--navy);border-color:var(--navy);color:var(--bg)}html[data-theme="dark"] .btn-dark{background:#d9f5f1;color:#0c292f}.btn-mint{background:linear-gradient(135deg,#72ead5,#40c5b1);color:#073c36;border:0}.btn-ghost-light{background:rgba(255,255,255,.07);color:#eafffd;border-color:rgba(255,255,255,.16)}.btn-small{padding:7px 10px;border-radius:9px;font-size:10px}.btn-lg{padding:12px 17px;font-size:12px}.btn-block{width:100%}.link-button{border:0;background:none;color:inherit}.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:var(--mint-soft);color:var(--teal);font-size:9px;font-weight:850;letter-spacing:.04em}.light-tag{background:rgba(255,255,255,.12);color:#dffffa;border:1px solid rgba(255,255,255,.14)}.status-dot{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:9px;font-weight:800;text-transform:capitalize}.status-dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-dot.active,.status-dot.approved,.status-dot.completed{background:rgba(45,185,132,.12);color:var(--green)}.status-dot.failed,.status-dot.rejected{background:rgba(220,98,103,.12);color:var(--red)}.status-dot.queued,.status-dot.pending,.status-dot.generating,.status-dot.in_progress{background:rgba(230,163,56,.13);color:var(--amber)}.progress{height:7px;background:var(--surface-3);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--mint));transition:width .35s}.flash{position:fixed;right:20px;top:86px;z-index:300;display:flex;gap:9px;align-items:center;padding:12px 15px;border-radius:12px;box-shadow:var(--shadow);font-size:11px}.flash.success{background:#e6f8f2;color:#17614f;border:1px solid #bde4d8}.flash.danger{background:#fff0f0;color:#8e3034;border:1px solid #efc2c4}.toast{position:fixed;right:22px;bottom:22px;background:#123b42;color:#fff;padding:13px 16px;border-radius:12px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:400;font-size:11px;max-width:420px;box-shadow:var(--shadow-lg)}.toast.show{opacity:1;transform:none}.toast.error{background:#7d3034}.empty-state-v2{text-align:center;padding:55px 25px;color:var(--muted)}.empty-state-v2.wide{grid-column:1/-1}.empty-visual{width:76px;height:76px;margin:0 auto 15px;border-radius:24px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.empty-state-v2 strong{display:block;color:var(--ink);font-size:16px}.empty-state-v2 p{max-width:480px;margin:7px auto 17px;font-size:11px}.mini-empty{padding:20px;text-align:center;color:var(--muted);font-size:11px}.no-search-result{text-align:center;color:var(--muted);padding:25px}

/* Form */
label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:750;color:var(--ink-2)}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);color:var(--ink);padding:10px 11px;outline:none;transition:.16s}input:focus,select:focus,textarea:focus{border-color:var(--teal-2);box-shadow:0 0 0 3px rgba(10,157,140,.10)}textarea{resize:vertical}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.form-stack{display:flex;flex-direction:column;gap:13px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.checkbox-row{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600}.checkbox-row input,.confirm-check input{width:auto}.field-error{color:var(--red);font-size:10px}.field-error.boxed{display:flex;gap:8px;align-items:center;padding:10px;border-radius:10px;background:rgba(220,98,103,.09)}.form-section-title{display:flex;justify-content:space-between;align-items:center;margin:4px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--line)}.form-section-title span{font-size:12px;font-weight:850}.form-section-title small{color:var(--muted);font-size:9px}

/* Login */
.login-body{min-height:100vh;background:#071c22;overflow:hidden}.login-grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(92,226,207,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(92,226,207,.04) 1px,transparent 1px);background-size:36px 36px}.login-shell-v2{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(430px,.8fr);position:relative}.login-visual{position:relative;padding:36px 56px 30px;background:radial-gradient(circle at 28% 28%,rgba(49,201,179,.24),transparent 30%),radial-gradient(circle at 80% 70%,rgba(61,151,187,.14),transparent 34%),linear-gradient(145deg,#08272f,#0d4648 68%,#0b3c3e);color:#f0fffd;display:flex;flex-direction:column}.login-brandbar,.login-visual-footer{display:flex;align-items:center;justify-content:space-between}.light-brand .brand-copy small{color:#a9d4cf}.secure-chip{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(103,231,210,.09);border:1px solid rgba(103,231,210,.18);color:#a8eee2;font-size:10px;font-weight:750}.login-visual-content{max-width:900px;margin:auto 0}.login-orbit{width:220px;height:220px;position:relative;margin-bottom:18px}.orbit-ring{position:absolute;border:1px solid rgba(110,232,214,.18);border-radius:50%;inset:0;animation:spin 22s linear infinite}.ring-2{inset:25px;animation-direction:reverse;animation-duration:16s}.ring-3{inset:50px;animation-duration:12s}.orbit-core{position:absolute;inset:73px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(145deg,#62e5d1,#189f91);color:#073c38;box-shadow:0 20px 46px rgba(26,204,181,.27)}.orbit-node{position:absolute;width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:rgba(8,44,52,.92);border:1px solid rgba(102,226,208,.28);color:#bff8ef;font-size:10px;font-weight:900}.node-a{left:-8px;top:86px}.node-b{right:7px;top:14px}.node-c{right:-10px;bottom:35px}.node-d{left:33px;bottom:-6px}.login-visual h1{font-size:45px;line-height:1.06;max-width:820px;margin:12px 0 16px}.login-lead{max-width:760px;color:#b9d9d5;font-size:14px;line-height:1.75}.login-flow-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px}.login-flow-v2 article{position:relative;padding:15px;border-radius:15px;background:rgba(7,37,44,.36);border:1px solid rgba(132,226,212,.13)}.login-flow-v2 article>span{position:absolute;right:10px;top:9px;font-size:9px;color:#73d9ca}.login-flow-v2 svg{color:#66dfcc}.login-flow-v2 strong,.login-flow-v2 small{display:block}.login-flow-v2 strong{font-size:11px;margin:10px 0 5px}.login-flow-v2 small{font-size:9px;color:#a8cbc7;line-height:1.5}.login-visual-footer{font-size:9px;color:#92bcb7;letter-spacing:.04em}.login-visual-footer span:first-child{display:flex;gap:7px;align-items:center}.login-access{position:relative;background:var(--bg);display:grid;place-items:center;padding:36px}.login-theme-toggle{position:absolute;right:25px;top:25px}.login-card-v2{width:min(450px,100%);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow-lg)}.login-card-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal);margin-bottom:16px}.login-card-v2 h2{font-size:28px;margin:6px 0}.login-card-v2>p.muted{margin:0 0 24px;line-height:1.6}.input-icon-wrap{position:relative;display:block}.input-icon-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.input-icon-wrap input{padding-left:40px;height:45px}.login-form-row{display:flex;justify-content:space-between;align-items:center}.session-note{font-size:9px;color:var(--muted)}.login-security-note,.approval-guidance{display:flex;gap:11px;align-items:flex-start;margin-top:22px;padding:13px;border-radius:13px;background:var(--surface-2);color:var(--muted)}.login-security-note svg,.approval-guidance svg{color:var(--teal);margin-top:2px}.login-security-note strong,.approval-guidance strong{display:block;color:var(--ink);font-size:10px}.login-security-note p,.approval-guidance p{margin:4px 0 0;font-size:9px;line-height:1.5}.login-version{position:absolute;bottom:16px;color:var(--muted);font-size:9px}

/* Dashboard */
.command-hero{min-height:280px;border-radius:28px;padding:32px 38px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);align-items:center;overflow:hidden;position:relative;color:#efffff;background:radial-gradient(circle at 76% 30%,rgba(80,225,205,.22),transparent 28%),linear-gradient(135deg,#092b34,#0b5454 65%,#0a7064);box-shadow:var(--shadow-lg)}.command-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px;opacity:.35}.command-hero>*{position:relative;z-index:1}.hero-status-line{display:flex;gap:14px;align-items:center}.hero-live-chip{display:inline-flex;gap:7px;align-items:center;color:#b9e7e1;font-size:10px}.command-hero h1{font-size:39px;line-height:1.07;margin:12px 0 11px}.command-hero-copy>p{max-width:760px;color:#b9dad6;line-height:1.7;margin:0}.command-hero-actions{display:flex;gap:10px;margin-top:23px}.command-hero-orb{width:300px;height:230px;justify-self:center;position:relative}.command-orb-ring{position:absolute;border:1px solid rgba(104,235,215,.22);border-radius:50%;inset:15px 45px;animation:spin 20s linear infinite}.command-orb-ring.ring-b{inset:45px 75px;animation-direction:reverse;animation-duration:14s}.command-orb-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:104px;height:104px;border-radius:32px;display:grid;place-items:center;background:linear-gradient(145deg,#6be9d5,#1caf9d);color:#073e38;box-shadow:0 18px 45px rgba(45,220,193,.28)}.command-orb-node{position:absolute;display:flex;gap:7px;align-items:center;padding:8px 10px;border-radius:12px;background:rgba(7,38,46,.78);border:1px solid rgba(132,234,218,.2);font-size:10px;color:#c8f2ed}.command-orb-node.node-1{left:5px;top:70px}.command-orb-node.node-2{right:-20px;top:28px}.command-orb-node.node-3{right:10px;bottom:25px}.metric-grid-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metric-card-v2{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:var(--shadow-xs)}.metric-card-v2::before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-50px;top:-50px;background:currentColor;opacity:.05}.metric-card-v2.teal{color:var(--teal)}.metric-card-v2.blue{color:var(--blue)}.metric-card-v2.violet{color:var(--violet)}.metric-card-v2.amber{color:var(--amber)}.metric-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,currentColor 12%,transparent)}.metric-card-v2>div:nth-child(2){display:flex;flex-direction:column}.metric-card-v2 span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:750}.metric-card-v2 strong{font-size:23px;color:var(--ink);margin:2px 0}.metric-card-v2 small{font-size:9px;color:var(--muted)}.metric-spark{height:40px;display:flex;gap:3px;align-items:flex-end}.metric-spark b{width:4px;border-radius:4px;background:currentColor;opacity:.55}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:18px}.dashboard-aside{display:flex;flex-direction:column;gap:18px}.panel-actions-v2{display:flex;gap:8px;align-items:center}.search-compact,.search-field-large,.table-filter-bar{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);padding:0 9px}.search-compact input,.search-field-large input,.table-filter-bar input{border:0;background:transparent;box-shadow:none;padding:8px 2px}.project-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.project-card-v2{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;padding:17px;background:var(--surface-2);transition:.2s}.project-card-v2:hover{transform:translateY(-3px);border-color:rgba(10,157,140,.45);box-shadow:var(--shadow)}.project-card-glow{position:absolute;width:120px;height:120px;border-radius:50%;right:-50px;top:-60px;background:var(--mint);opacity:.08}.project-card-head,.project-card-badges,.project-card-v2 footer,.project-progress-block>div,.project-mini-stats{display:flex;align-items:center}.project-card-head{justify-content:space-between}.project-card-badges{gap:6px}.project-hospital-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.project-card-v2 h3{margin:15px 0 4px;font-size:15px;color:var(--ink);line-height:1.35}.project-hospital-name{margin:0;color:var(--muted);font-size:10px}.project-progress-block{margin:16px 0 12px}.project-progress-block>div{justify-content:space-between;margin-bottom:6px;font-size:9px;color:var(--muted)}.project-progress-block b{color:var(--teal)}.project-mini-stats{gap:13px;flex-wrap:wrap}.project-mini-stats div{display:flex;gap:5px;align-items:center;font-size:9px;color:var(--muted)}.project-card-v2 footer{justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:9px;color:var(--muted)}.system-health-list{padding:8px 17px}.system-health-list>div{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:10px}.system-health-list span{display:flex;gap:8px;align-items:center;color:var(--muted)}.green-text{color:var(--green)}.amber-text{color:var(--amber)}.system-readiness{display:grid;grid-template-columns:95px 1fr;gap:13px;align-items:center;padding:15px 17px 18px}.ring-meter,.knowledge-ring,.workspace-readiness-ring{--value:0;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--teal) calc(var(--value)*1%),var(--surface-3) 0)}.ring-meter::after,.knowledge-ring::after,.workspace-readiness-ring::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.ring-meter strong,.ring-meter small,.knowledge-ring strong,.knowledge-ring small,.workspace-readiness-ring strong,.workspace-readiness-ring small{position:relative;z-index:1;display:block;text-align:center}.ring-meter strong,.knowledge-ring strong{font-size:18px}.ring-meter small,.knowledge-ring small{font-size:8px;color:var(--muted)}.system-readiness p{font-size:9px;color:var(--muted);line-height:1.5}.activity-list-v2{padding:8px 17px 15px}.activity-list-v2 article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.activity-marker{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--surface-3);color:var(--muted)}.activity-marker.completed{background:rgba(45,185,132,.12);color:var(--green)}.activity-marker.failed{background:rgba(220,98,103,.12);color:var(--red)}.activity-list-v2 strong,.activity-list-v2 p,.activity-list-v2 small{display:block}.activity-list-v2 strong{font-size:10px}.activity-list-v2 p{font-size:9px;color:var(--muted);margin:2px 0}.activity-list-v2 small{font-size:8px;color:var(--muted)}

/* Project wizard */
.wizard-page{max-width:1420px}.wizard-hero{border-radius:24px;padding:28px 32px;display:flex;justify-content:space-between;gap:25px;align-items:center;background:linear-gradient(135deg,#0a3039,#0c615d);color:#eafffd;box-shadow:var(--shadow)}.wizard-hero h1{margin:6px 0 7px;font-size:31px}.wizard-hero p{margin:0;color:#bcded9}.wizard-hero-status{display:flex;gap:10px;align-items:center;max-width:280px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:10px}.project-wizard{display:grid;grid-template-columns:300px 1fr;gap:18px;margin-top:18px}.wizard-steps,.wizard-content{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.wizard-steps{padding:20px;height:max-content;position:sticky;top:calc(var(--topbar-h) + 18px)}.wizard-steps-head{display:flex;justify-content:space-between;align-items:center}.wizard-label{font-size:9px;letter-spacing:.1em;color:var(--muted)}.wizard-progress-track{height:5px;background:var(--surface-3);border-radius:999px;margin:10px 0 18px;overflow:hidden}.wizard-progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--mint));transition:.3s}.wizard-step{width:100%;border:0;background:transparent;display:grid;grid-template-columns:38px 1fr 22px;gap:10px;text-align:left;align-items:center;padding:11px 8px;border-radius:12px;color:var(--muted)}.wizard-step.active{background:var(--mint-soft);color:var(--teal)}.wizard-step.completed i{display:grid}.wizard-step b{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--surface-3);font-size:9px}.wizard-step.active b{background:var(--teal);color:#fff}.wizard-step span{display:flex;flex-direction:column}.wizard-step strong{font-size:10px;color:var(--ink)}.wizard-step small{font-size:8px;margin-top:2px}.wizard-step i{display:none;width:18px;height:18px;border-radius:50%;place-items:center;background:var(--green);color:#fff;font-size:9px;font-style:normal}.wizard-help-card{display:flex;gap:10px;margin-top:20px;padding:13px;border-radius:14px;background:linear-gradient(145deg,var(--surface-2),var(--surface-3));color:var(--teal)}.wizard-help-card strong{font-size:9px;color:var(--ink)}.wizard-help-card p{font-size:8px;color:var(--muted);line-height:1.5;margin:4px 0}.wizard-content{min-height:650px;display:flex;flex-direction:column}.wizard-panel{display:none;padding:28px;flex:1}.wizard-panel.active{display:block;animation:fade .2s ease}.wizard-panel-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:25px}.wizard-panel-icon{width:49px;height:49px;border-radius:16px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.wizard-panel-head h2{font-size:23px;margin:3px 0}.wizard-panel-head p{margin:0;color:var(--muted);font-size:11px}.search-select-box{max-width:860px}.search-field-large{padding:3px 11px;margin-bottom:14px}.search-field-large input{font-size:13px;padding:12px 3px}.search-select-box select[size]{height:290px;padding:7px}.search-select-box option{padding:10px;border-radius:8px}.selection-preview{margin-top:14px;display:flex;gap:12px;align-items:center;padding:14px;border-radius:15px;background:var(--surface-2);border:1px solid var(--line)}.selection-preview-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.selection-preview span,.selection-preview strong,.selection-preview small{display:block}.selection-preview span{font-size:8px;text-transform:uppercase;color:var(--muted)}.selection-preview strong{font-size:12px;margin:2px 0}.selection-preview small{font-size:9px;color:var(--muted)}.document-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:20px}.document-type-option{position:relative;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2);cursor:pointer}.document-type-option input{position:absolute;opacity:0}.document-type-option.selected,.document-type-option:has(input:checked){border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,121,111,.08);background:linear-gradient(180deg,var(--surface),var(--mint-soft))}.option-icon{height:54px;display:flex;gap:6px;align-items:center}.option-icon b{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:var(--teal);color:#fff;font-size:12px}.option-icon.dual b:last-child{background:var(--violet)}.option-icon.proposal b{background:var(--violet)}.option-icon.triple b:nth-child(2){background:var(--violet)}.option-icon.triple b:nth-child(3){background:var(--amber)}.document-type-option.featured{background:linear-gradient(180deg,var(--surface),rgba(109,226,207,.06))}.document-type-option strong{font-size:12px}.document-type-option p{font-size:9px;color:var(--muted);line-height:1.55}.document-type-option small{font-size:8px;color:var(--teal)}.field-large input{height:47px}.timeline-config{padding:19px;border-radius:17px;background:var(--surface-2);margin-bottom:18px}.timeline-line{height:25px;display:flex;align-items:center}.timeline-line span{height:3px;background:var(--teal);flex:1}.timeline-line i{width:20px;height:20px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 6px rgba(109,226,207,.15)}.capacity-config-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}.capacity-card{padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}.capacity-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.capacity-card>span:nth-child(2){font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:14px}.capacity-card strong{display:flex;align-items:center;gap:7px;margin:8px 0}.capacity-card input{font-size:28px;font-weight:850;border:0;padding:0;background:transparent;box-shadow:none}.capacity-card em{font-style:normal;color:var(--muted)}.capacity-card small{color:var(--muted);font-size:9px}.capacity-card.future .capacity-icon{background:rgba(134,110,234,.12);color:var(--violet)}.capacity-arrow{color:var(--teal)}.smart-notice{display:flex;gap:11px;align-items:flex-start;margin-top:18px;padding:13px;border-radius:14px;background:rgba(230,163,56,.09);color:var(--amber)}.smart-notice strong{color:var(--ink);font-size:10px}.smart-notice p{margin:4px 0 0;color:var(--muted);font-size:9px}.project-summary-v2{display:grid;grid-template-columns:240px 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden}.summary-visual{min-height:280px;padding:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;background:linear-gradient(145deg,#0a3540,#0c6b62);color:#dffffa}.summary-hospital-orb{width:90px;height:90px;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,#72ead5,#20ae9c);color:#073c36}.summary-visual span{font-size:9px;letter-spacing:.1em}.project-summary-v2 dl{margin:0;padding:20px}.project-summary-v2 dl div{display:grid;grid-template-columns:145px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.project-summary-v2 dt{color:var(--muted);font-size:9px}.project-summary-v2 dd{margin:0;font-weight:750;font-size:11px}.confirm-check{display:flex;flex-direction:row;align-items:flex-start;gap:11px;padding:14px;margin-top:17px;border-radius:14px;background:var(--surface-2)}.confirm-check span{display:flex;flex-direction:column}.confirm-check small{color:var(--muted);font-weight:400}.wizard-footer{display:flex;justify-content:space-between;align-items:center;padding:17px 28px;border-top:1px solid var(--line)}.wizard-footer>div{display:flex;gap:8px}

/* Workspace */
.workspace-v2{min-height:calc(100vh - var(--topbar-h));display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);position:relative}.workspace-rail{position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow:auto;background:linear-gradient(180deg,#0b3038,#0d3e43);color:#d9f0ed;padding:18px 15px;z-index:20}.rail-project-card{padding:6px 5px 17px;border-bottom:1px solid rgba(255,255,255,.10)}.rail-back{display:inline-flex;gap:6px;align-items:center;color:#88c8bf;font-size:9px;margin-bottom:16px}.rail-hospital-mark{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#62e4d0,#20ae9b);color:#073b37;margin-bottom:12px}.rail-project-card h2{font-size:14px;line-height:1.3;margin:9px 0 5px;color:#fff}.rail-project-card>p{font-size:9px;color:#9fc1bd;line-height:1.5}.rail-project-meta{display:flex;gap:6px;flex-wrap:wrap}.rail-project-meta span{padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.06);font-size:8px}.rail-readiness{margin-top:14px}.rail-readiness>div:first-child{display:flex;justify-content:space-between;font-size:8px;color:#9dc9c2;margin-bottom:6px}.workflow-nav-v2{margin-top:12px}.workflow-nav-v2>p{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:#6da6a0;margin:17px 8px 7px}.workflow-tab{width:100%;display:grid;grid-template-columns:34px 1fr 20px;gap:8px;align-items:center;border:0;background:transparent;color:#b8d4d0;padding:8px;border-radius:11px;text-align:left}.workflow-tab:hover,.workflow-tab.active{background:rgba(83,214,195,.13);color:#fff}.workflow-tab b{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:8px}.workflow-tab.active b{background:#55d6c1;color:#073b37}.workflow-tab>span{display:flex;flex-direction:column}.workflow-tab strong{font-size:9px}.workflow-tab small{font-size:7.5px;color:#80aaa5;margin-top:2px}.step-state{font-style:normal;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:8px}.step-state.done{background:rgba(45,185,132,.2);color:#86e8bd}.step-state.warning{background:rgba(230,163,56,.18);color:#ffd181}.step-state.pending{color:#6c9893}.rail-footer-status{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08)}.rail-footer-status small{font-size:8px;color:#6d9f99}.workspace-stage{min-width:0;padding:0 27px 60px}.workspace-commandbar{height:55px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.workspace-breadcrumb{display:flex;gap:7px;color:var(--muted);font-size:9px}.workspace-command-actions{display:flex;gap:7px}.workspace-titlebar{display:flex;justify-content:space-between;align-items:center;padding:23px 0 15px}.workspace-titlebar h1{font-size:27px;margin:4px 0 2px}.workspace-titlebar>div:first-child>p:last-child{margin:0;color:var(--muted);font-size:10px}.workspace-title-status{display:flex;gap:12px;align-items:center}.workspace-readiness-ring{width:66px}.workspace-readiness-ring::after{inset:6px}.workspace-readiness-ring strong{font-size:13px}.workspace-readiness-ring small{font-size:7px;color:var(--muted)}.workspace-title-status>div:last-child{display:flex;flex-direction:column}.workspace-title-status span{font-size:8px;text-transform:uppercase;color:var(--muted)}.workspace-title-status strong{font-size:12px}.workspace-title-status small{font-size:8px;color:var(--muted)}.workspace-metric-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:18px}.workspace-metric-strip article{display:flex;gap:9px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.metric-strip-icon{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.metric-strip-icon.cyan{background:rgba(57,198,220,.12);color:var(--cyan)}.metric-strip-icon.green{background:rgba(45,185,132,.12);color:var(--green)}.metric-strip-icon.violet{background:rgba(134,110,234,.12);color:var(--violet)}.metric-strip-icon.amber{background:rgba(230,163,56,.12);color:var(--amber)}.workspace-metric-strip small,.workspace-metric-strip strong{display:block}.workspace-metric-strip small{font-size:8px;color:var(--muted)}.workspace-metric-strip strong{font-size:13px}.workspace-view{display:none}.workspace-view.active{display:block;animation:fade .2s ease}.section-hero{margin-bottom:15px}.compact-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface),var(--surface-2))}.compact-hero>div:first-child{display:flex;gap:13px;align-items:center}.section-icon{width:49px;height:49px;border-radius:16px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.compact-hero h2{margin:2px 0;font-size:20px}.compact-hero p{margin:0;color:var(--muted);font-size:10px}.section-readiness{min-width:185px}.section-readiness span,.section-readiness strong{display:inline-block;font-size:9px}.section-readiness strong{float:right;color:var(--teal)}.section-readiness .progress{margin-top:7px}.section-status-chip{padding:8px 10px;border-radius:999px;background:var(--mint-soft);color:var(--teal);font-size:9px;font-weight:750}.form-panel-v2{padding:21px}.development-visual-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.development-roadmap{padding:20px;border-radius:18px;background:linear-gradient(145deg,#0b3038,#0d5c57);color:#e8fffc}.development-roadmap h3{font-size:22px}.roadmap-timeline{position:relative;padding-left:24px}.roadmap-timeline::before{content:"";position:absolute;left:7px;top:5px;bottom:10px;width:2px;background:rgba(105,230,211,.25)}.roadmap-timeline article{position:relative;padding:8px 0 15px}.roadmap-timeline article::before{content:"";position:absolute;left:-21px;top:13px;width:10px;height:10px;border-radius:50%;background:#61dfcb;box-shadow:0 0 0 5px rgba(97,223,203,.12)}.roadmap-timeline b,.roadmap-timeline span{display:block}.roadmap-timeline b{font-size:12px}.roadmap-timeline span{font-size:8px;color:#acd1cc}.upload-zone-v2{border:1.5px dashed var(--line-strong);border-radius:20px;padding:28px;text-align:center;background:linear-gradient(180deg,var(--surface),var(--surface-2));transition:.2s}.upload-zone-v2.dragging{border-color:var(--teal);background:var(--mint-soft);transform:scale(1.005)}.dropzone-visual{width:70px;height:70px;margin:0 auto 13px;border-radius:22px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.upload-zone-v2 h3{margin:0;font-size:16px}.upload-zone-v2>p{color:var(--muted);font-size:10px;max-width:650px;margin:7px auto 17px}.dropzone-controls{display:flex;gap:9px;justify-content:center;align-items:end;flex-wrap:wrap}.dropzone-controls label{min-width:190px}.file-picker-button{display:inline-flex;justify-content:center;align-items:center;height:39px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);cursor:pointer}.file-picker-button input{display:none}.selected-files{font-size:9px;color:var(--muted);margin-top:12px}.dropzone-hints{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:13px}.dropzone-hints span{font-size:8px;color:var(--muted)}.smart-table-panel{margin-top:15px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);font-size:10px;vertical-align:top}th{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2);position:sticky;top:0}td strong{font-size:10px}.table-input,.table-select{min-width:120px;padding:7px;font-size:9px}.table-filter-bar{max-width:230px}.knowledge-principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.knowledge-principle-grid article{display:flex;gap:11px;padding:14px;border-radius:15px;border:1px solid var(--line);background:var(--surface)}.knowledge-principle-grid svg{color:var(--teal)}.knowledge-principle-grid strong{font-size:10px}.knowledge-principle-grid p{font-size:8px;color:var(--muted);margin:4px 0}.reference-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:15px}.reference-collection-list{padding:14px;display:grid;gap:9px}.reference-selector{display:grid;grid-template-columns:auto 38px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);cursor:pointer}.reference-selector.attached{border-color:rgba(45,185,132,.35);background:rgba(45,185,132,.05)}.reference-selector input{width:auto}.reference-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.reference-selector span:nth-child(3){display:flex;flex-direction:column}.reference-selector strong{font-size:10px}.reference-selector small{font-size:8px;color:var(--muted)}.reference-selector i{font-style:normal;font-size:8px;color:var(--teal)}.knowledge-status-panel{padding-bottom:17px}.knowledge-ring{width:110px;margin:18px auto}.knowledge-ring::after{inset:10px}.knowledge-checklist{list-style:none;padding:0 20px;margin:0}.knowledge-checklist li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid var(--line);font-size:9px;color:var(--muted)}.knowledge-checklist li span{position:absolute;left:0;top:10px;width:12px;height:12px;border-radius:50%;border:2px solid var(--line-strong)}.knowledge-checklist li.done{color:var(--ink)}.knowledge-checklist li.done span{background:var(--green);border-color:var(--green)}.reference-upload-panel{margin-top:15px;padding-bottom:20px}.reference-upload-panel form{padding:0 20px}.reference-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.reference-card-v2{padding:17px;border-radius:17px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-xs)}.reference-card-v2 header,.reference-card-v2 footer{display:flex;justify-content:space-between;align-items:center}.reference-card-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal)}.reference-card-v2 h3{font-size:13px;margin:9px 0 4px}.reference-card-v2 p{font-size:9px;color:var(--muted);line-height:1.5}.reference-card-v2 footer{font-size:8px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:12px}.extract-hero-shell{display:grid;grid-template-columns:minmax(0,1.45fr) 330px;gap:16px;margin-bottom:15px}.extract-hero-card{position:relative;overflow:hidden;border-radius:22px;padding:25px 28px;background:radial-gradient(circle at 50% 20%,rgba(83,241,224,.18),transparent 180px),linear-gradient(135deg,#0d3340 0%,#0a525f 60%,#08735d 100%);color:#e6fffb;box-shadow:0 20px 55px rgba(6,27,40,.22)}.extract-hero-card::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;opacity:.35}.extract-hero-card>*{position:relative}.extract-kicker{font-size:10px;line-height:1.6;color:#caece9;margin:0}.ai-orb-cluster{display:flex;justify-content:center;padding:8px 0}.ai-orb-core{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:850;background:radial-gradient(circle at 35% 30%,#74fff1,#26d1c6 45%,#0ca695);box-shadow:0 0 0 14px rgba(108,245,232,.08),0 0 0 28px rgba(108,245,232,.045),0 24px 45px rgba(3,20,31,.25)}.extract-hero-card h2{text-align:center;font-size:30px;margin:8px 0 5px}.extract-hero-card>p:not(.extract-kicker){max-width:720px;margin:0 auto 15px;text-align:center;color:#d8f5f2;font-size:10px;line-height:1.6}.extract-console{border:1px solid rgba(153,244,236,.18);background:rgba(7,36,46,.42);border-radius:16px;padding:13px 16px;font-family:var(--mono);font-size:9px;line-height:1.8;color:#99f6e7}.hero-actions{display:flex;gap:8px;justify-content:center;margin-top:13px}.btn-glow{box-shadow:0 0 0 1px rgba(142,255,247,.14),0 12px 32px rgba(34,211,197,.28)}.extract-sidepanel{display:grid;gap:12px}.sidepanel-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:var(--shadow-xs)}.sidepanel-card.tinted{background:linear-gradient(180deg,var(--surface),var(--surface-2))}.sidepanel-card h3{margin:0 0 5px;font-size:13px}.sidepanel-card>p{font-size:9px;color:var(--muted);line-height:1.5}.metric-stack{display:grid;gap:8px}.metric-mini{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.metric-mini span{font-size:8px;color:var(--muted)}.metric-mini strong{font-size:18px;color:var(--teal)}.mini-progress{margin-top:12px}.mini-progress label{font-size:8px;text-transform:uppercase;color:var(--muted)}.progress.dark{margin-top:6px;background:var(--surface-3)}.progress-meta{display:flex;justify-content:space-between;font-size:8px;margin-top:6px}.smart-tags{display:flex;flex-wrap:wrap;gap:6px}.smart-tags span{padding:5px 7px;border-radius:999px;background:var(--mint-soft);color:var(--teal);font-size:8px}.process-panel{padding:17px;margin-bottom:14px}.process-head{display:flex;gap:10px;align-items:center}.process-head>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal);font-weight:850}.process-head>div{flex:1;display:flex;flex-direction:column}.process-head small{font-size:8px;color:var(--muted)}.process-head>b{font-size:11px;color:var(--teal)}.process-panel>.progress{margin:11px 0 7px}.process-panel>p{font-size:8px;color:var(--muted);margin:0}.validation-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}.validation-summary-grid article{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.validation-summary-grid span{font-size:8px;color:var(--muted);text-transform:uppercase}.validation-summary-grid strong{display:block;font-size:20px;margin-top:3px}.readiness-dashboard{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:13px;margin-bottom:13px}.score-card-v2{display:flex;gap:18px;align-items:center;padding:19px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.score-ring-v2{--value:0;width:105px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--teal) calc(var(--value)*1%),var(--surface-3) 0)}.score-ring-v2::after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--surface)}.score-ring-v2 strong,.score-ring-v2 span{position:relative;z-index:1}.score-ring-v2 strong{font-size:25px}.score-ring-v2 span{font-size:9px;color:var(--muted)}.score-card-v2 h3{margin:3px 0}.score-card-v2 p{font-size:9px;color:var(--muted)}.readiness-guidance{display:flex;gap:11px;align-items:flex-start;padding:18px;border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--mint-soft));color:var(--teal)}.readiness-guidance strong{font-size:10px;color:var(--ink)}.readiness-guidance p{font-size:9px;color:var(--muted)}.gap-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.gap-card-v2{padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.gap-card-v2 header{display:flex;justify-content:space-between}.gap-card-v2 h3{font-size:11px}.gap-card-v2 p{font-size:8px;color:var(--muted);min-height:36px}.estimate-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.95fr);gap:14px;margin-bottom:14px}.estimate-panel{padding:0 0 18px}.estimate-panel .form-grid,.estimate-panel .form-actions{padding:0 20px}.estimate-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow-xs)}.summary-card.deep{background:linear-gradient(135deg,#103340,#0f5f62);color:#eafffe;border:0}.summary-card span{display:block;font-size:8px;text-transform:uppercase;color:inherit;opacity:.7}.summary-card strong{display:block;font-size:18px;margin:6px 0 3px}.summary-card small{font-size:8px;color:inherit;opacity:.68}.generation-grid-v2{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:14px 0}.generation-card-v2{display:grid;grid-template-columns:130px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow-xs)}.generation-card-visual{position:relative;display:grid;place-items:center;overflow:hidden;color:#eafffe;background:linear-gradient(145deg,#0b3440,#0c7468)}.generation-card-visual.fs{background:linear-gradient(145deg,#272b5c,#6a53bf)}.generation-card-visual>span{font-size:30px;font-weight:900;position:relative;z-index:1}.generation-wave{position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 22px rgba(255,255,255,.04),0 0 0 44px rgba(255,255,255,.025)}.generation-card-v2>div:last-child{padding:18px}.generation-card-v2 h3{margin:3px 0 5px}.generation-card-v2 p{font-size:9px;color:var(--muted);line-height:1.5}.generation-readiness>span,.generation-readiness>b{font-size:8px}.generation-readiness b{float:right;color:var(--teal)}.generation-readiness .progress{margin:5px 0 9px}.inline-meta{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:8px;margin-bottom:10px}.inline-meta.ready{background:var(--mint-soft);color:var(--teal)}.document-list-v2{display:flex;flex-direction:column;gap:10px}.document-item-v2{display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.document-type-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#0c6d65,#59d9c4);color:#fff;font-weight:900}.document-type-mark.fs{background:linear-gradient(145deg,#4a3f9b,#917beb)}.document-item-copy>div{display:flex;gap:6px}.document-item-copy h3{font-size:13px;margin:7px 0 3px}.document-item-copy p{font-size:8px;color:var(--muted)}.document-item-actions{display:flex;gap:7px;align-items:center}

/* Document review */
.document-review-page{min-height:calc(100vh - var(--topbar-h))}.document-review-commandbar{position:sticky;top:var(--topbar-h);z-index:40;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 22px;background:rgba(242,247,247,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}html[data-theme="dark"] .document-review-commandbar{background:rgba(8,24,29,.94)}.document-review-title{display:flex;gap:11px;align-items:center}.document-review-title h1{font-size:17px;margin:2px 0}.document-review-title p{font-size:8px;color:var(--muted);margin:0}.document-review-actions{display:flex;gap:7px;align-items:center}.document-review-grid{display:grid;grid-template-columns:250px minmax(0,1fr) 340px;max-width:1800px;margin:0 auto}.document-toc-panel,.review-panel-v2{position:sticky;top:calc(var(--topbar-h) + 65px);height:calc(100vh - var(--topbar-h) - 65px);overflow:auto;background:var(--surface);border-right:1px solid var(--line)}.review-panel-v2{border-right:0;border-left:1px solid var(--line)}.toc-head{padding:19px;border-bottom:1px solid var(--line)}.toc-head h3{margin:3px 0}.toc-head p{font-size:8px;color:var(--muted)}.document-toc{padding:10px}.document-toc a{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:9px;border-radius:10px;color:var(--muted);font-size:9px}.document-toc a.active,.document-toc a:hover{background:var(--mint-soft);color:var(--teal)}.document-toc b{font-size:8px}.document-version-card{display:flex;gap:9px;margin:12px;padding:12px;border-radius:13px;background:var(--surface-2);color:var(--teal)}.document-version-card div{display:flex;flex-direction:column}.document-version-card span,.document-version-card small{font-size:8px;color:var(--muted)}.document-canvas{padding:26px;background:var(--bg-2)}.paper-preview-v2{max-width:960px;margin:0 auto;background:#fff;color:#203634;box-shadow:0 22px 70px rgba(10,39,47,.16)}.paper-cover-v2{min-height:700px;padding:58px;position:relative;overflow:hidden;color:#efffff;background:linear-gradient(145deg,#0a303a,#0c6c63)}.paper-cover-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:35px 35px}.paper-cover-brand,.paper-cover-content,.paper-cover-meta,.paper-cover-foot{position:relative}.paper-cover-brand{display:flex;gap:10px;align-items:center}.paper-cover-brand>div{display:flex;flex-direction:column}.paper-cover-brand small{font-size:8px;color:#acd3ce}.paper-cover-content{margin-top:160px}.paper-cover-content h1{font-size:40px;line-height:1.15;max-width:760px;margin:15px 0}.paper-cover-content p{font-size:16px;color:#b9dad6}.paper-cover-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:70px}.paper-cover-meta div{padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.05)}.paper-cover-meta span,.paper-cover-meta strong{display:block}.paper-cover-meta span{font-size:8px;color:#afd1cd}.paper-cover-meta strong{font-size:11px;margin-top:4px}.paper-cover-foot{position:absolute;bottom:30px;font-size:8px;color:#9ec9c3}.document-disclaimer{display:flex;gap:12px;margin:35px 48px 0;padding:14px;border-left:4px solid #e6a338;background:#fff8e9;color:#8b692c}.document-disclaimer strong{font-size:10px}.document-disclaimer p{font-size:8px;margin:4px 0}.generated-section-v2{padding:35px 52px;font-family:Georgia,serif;line-height:1.72}.generated-section-v2 h2,.generated-section-v2 h3,.generated-section-v2 h4{font-family:var(--font);color:#0b6658}.generated-section-v2 h2{font-size:23px;border-bottom:2px solid #d9e9e5;padding-bottom:9px}.generated-section-v2 h3{font-size:17px}.generated-section-v2 p,.generated-section-v2 li{font-size:12px}.generated-section-v2 table{font-family:var(--font);font-size:9px}.section-anchor-label{display:flex;justify-content:space-between;font-family:var(--font);font-size:8px;color:#6d8581;text-transform:uppercase;letter-spacing:.08em}.section-review-footer{display:flex;justify-content:space-between;gap:10px;margin-top:25px;padding-top:10px;border-top:1px dashed #c9d8d5;font-family:var(--font);font-size:8px;color:#758b87}.review-tabs{display:grid;grid-template-columns:1fr 1fr;padding:10px;border-bottom:1px solid var(--line)}.review-tabs button{border:0;background:transparent;padding:9px;border-radius:9px;color:var(--muted);font-size:9px;font-weight:750}.review-tabs button.active{background:var(--mint-soft);color:var(--teal)}.review-tab-panel{display:none;padding:18px}.review-tab-panel.active{display:block}.review-panel-head h3,.review-panel-head h4{margin:3px 0}.review-panel-head p{font-size:8px;color:var(--muted)}.review-divider{height:1px;background:var(--line);margin:20px 0}.comment-list-v2{display:flex;flex-direction:column;gap:10px}.comment-v2{display:grid;grid-template-columns:32px 1fr;gap:9px;padding:10px;border-radius:12px;background:var(--surface-2)}.comment-avatar{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--mint-soft);color:var(--teal);font-size:9px;font-weight:850}.comment-v2 header{display:flex;justify-content:space-between}.comment-v2 strong{font-size:9px}.comment-v2 small{font-size:7px;color:var(--muted)}.comment-v2 p{font-size:8px;color:var(--muted);line-height:1.5}.severity-chip{font-size:7px;padding:3px 6px;border-radius:999px;background:var(--surface-3)}.severity-chip.high{background:rgba(230,163,56,.13);color:var(--amber)}.severity-chip.critical{background:rgba(220,98,103,.12);color:var(--red)}

/* Export */
.export-watermark{position:fixed;right:12mm;bottom:9mm;color:#839590;font-size:7pt}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

@media(max-width:1280px){:root{--rail-w:255px}.metric-grid-v2{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 320px}.workspace-metric-strip{grid-template-columns:repeat(3,1fr)}.reference-admin-grid,.estimate-layout,.readiness-dashboard{grid-template-columns:1fr}.reference-grid-v2,.gap-grid-v2{grid-template-columns:repeat(2,1fr)}.document-review-grid{grid-template-columns:210px minmax(0,1fr) 310px}.login-flow-v2{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.topnav>a span,.environment-pill,.user-meta{display:none}.command-hero{grid-template-columns:1fr}.command-hero-orb{display:none}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr}.project-wizard{grid-template-columns:240px 1fr}.document-type-grid{grid-template-columns:1fr}.workspace-v2{display:block}.workspace-rail{position:relative;top:0;height:auto}.workflow-nav-v2{display:grid;grid-template-columns:repeat(2,1fr)}.workflow-nav-v2>p{grid-column:1/-1}.rail-footer-status{display:none}.workspace-stage{padding:0 18px 50px}.development-visual-grid,.extract-hero-shell{grid-template-columns:1fr}.document-review-grid{grid-template-columns:190px minmax(0,1fr)}.review-panel-v2{position:relative;top:0;height:auto;grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.review-panel-v2{display:grid;grid-template-columns:120px 1fr}.review-tabs{display:flex;flex-direction:column;border-bottom:0;border-right:1px solid var(--line)}}
@media(max-width:760px){:root{--topbar-h:64px}.topbar{height:var(--topbar-h);padding:0 12px}.mobile-menu-toggle{display:grid}.brand-copy small{display:none}.topnav{display:none;position:absolute;left:10px;right:10px;top:calc(100% + 6px);padding:10px;flex-wrap:wrap;background:#0c343d;border:1px solid rgba(255,255,255,.12);border-radius:15px;box-shadow:var(--shadow-lg)}.topnav.open{display:flex}.topnav>a span{display:inline}.topnav-divider{display:none}.user-menu{margin-left:auto}.page-wrap{padding:18px 13px 45px}.login-shell-v2{grid-template-columns:1fr}.login-visual{display:none}.login-access{min-height:100vh;padding:20px}.login-card-v2{padding:25px}.command-hero{padding:25px 20px;min-height:260px}.command-hero h1{font-size:30px}.command-hero-actions{flex-direction:column;align-items:flex-start}.metric-grid-v2{grid-template-columns:1fr}.dashboard-aside{grid-template-columns:1fr}.project-grid-v2{grid-template-columns:1fr;padding:12px}.panel-head-v2{align-items:flex-start;flex-direction:column}.panel-actions-v2{width:100%}.search-compact{flex:1}.wizard-hero{padding:23px 18px;flex-direction:column;align-items:flex-start}.project-wizard{display:block}.wizard-steps{position:relative;top:0;margin-bottom:12px}.wizard-step span small,.wizard-help-card{display:none}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.wizard-steps-head,.wizard-progress-track{grid-column:1/-1}.wizard-step{grid-template-columns:1fr;text-align:center;padding:7px}.wizard-step b{margin:auto}.wizard-step span strong{font-size:8px}.wizard-step i{display:none!important}.wizard-panel{padding:20px 15px}.wizard-panel-head h2{font-size:20px}.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.capacity-config-grid{grid-template-columns:1fr}.capacity-arrow{transform:rotate(90deg);text-align:center}.project-summary-v2{grid-template-columns:1fr}.summary-visual{min-height:180px}.wizard-footer{padding:14px}.workspace-stage{padding:0 12px 40px}.workspace-commandbar{display:none}.workspace-titlebar{align-items:flex-start;flex-direction:column;gap:12px}.workspace-title-status{width:100%}.workspace-metric-strip{grid-template-columns:repeat(2,1fr)}.compact-hero{align-items:flex-start;flex-direction:column}.section-readiness{width:100%}.workflow-nav-v2{grid-template-columns:1fr}.knowledge-principle-grid,.reference-grid-v2,.gap-grid-v2,.validation-summary-grid,.generation-grid-v2,.estimate-summary-grid{grid-template-columns:1fr}.reference-selector{grid-template-columns:auto 36px 1fr}.reference-selector i{display:none}.generation-card-v2{grid-template-columns:1fr}.generation-card-visual{height:120px}.dropzone-controls{flex-direction:column;align-items:stretch}.dropzone-controls label{min-width:0}.document-item-v2{grid-template-columns:50px 1fr}.document-item-actions{grid-column:1/-1;justify-content:flex-end}.document-review-commandbar{position:relative;top:0;flex-direction:column;align-items:flex-start}.document-review-actions{flex-wrap:wrap}.document-review-grid{display:block}.document-toc-panel{position:relative;top:0;height:auto;border-right:0;border-bottom:1px solid var(--line)}.document-toc{display:flex;overflow:auto}.document-toc a{min-width:150px}.document-version-card{display:none}.document-canvas{padding:10px}.paper-cover-v2{min-height:560px;padding:30px}.paper-cover-content{margin-top:110px}.paper-cover-content h1{font-size:30px}.paper-cover-meta{grid-template-columns:1fr}.generated-section-v2{padding:28px 25px}.document-disclaimer{margin:25px 25px 0}.review-panel-v2{display:block}.review-tabs{display:grid;grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:480px){.workspace-metric-strip{grid-template-columns:1fr}.metric-card-v2{grid-template-columns:auto 1fr}.metric-spark{display:none}.login-card-v2 h2{font-size:24px}.wizard-footer{flex-direction:column;gap:8px}.wizard-footer>div{width:100%}.wizard-footer .btn{flex:1}.project-summary-v2 dl div{grid-template-columns:1fr}.project-summary-v2 dd{margin-top:4px}.paper-cover-content h1{font-size:25px}}
.error-page-v2{min-height:100vh;display:grid;place-items:center;align-content:center;text-align:center;padding:25px;color:#eafffd;background:radial-gradient(circle at 50% 40%,rgba(56,216,193,.2),transparent 28%),linear-gradient(145deg,#071d24,#0c4d4b)}.error-orb{width:130px;height:130px;border-radius:40px;display:grid;place-items:center;margin-bottom:22px;background:linear-gradient(145deg,#6be5d2,#21aa99);color:#063b36;font-size:35px;font-weight:900;box-shadow:0 25px 60px rgba(35,211,184,.25)}.error-page-v2 h1{font-size:32px;margin:8px 0}.error-page-v2>p:not(.eyebrow){max-width:580px;color:#b7d9d5;margin:0 0 20px}

/* ASPAK AI UI V2.1 — admin segregation, larger workspace rail, analytics */
.workflow-tab{padding:11px 9px;grid-template-columns:38px 1fr 22px;gap:10px}
.workflow-tab b{width:35px;height:35px;font-size:10px}
.workflow-tab strong{font-size:12px;line-height:1.25}
.workflow-tab small{font-size:10px;line-height:1.3;margin-top:3px}
.workflow-nav-v2>p{font-size:9.5px;margin:20px 8px 8px}
.rail-project-card h2{font-size:16px}.rail-project-card>p{font-size:10.5px}.rail-project-meta span{font-size:9.5px}.rail-back{font-size:10px}

.login-role-hint{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;background:var(--mint-soft);border:1px solid rgba(18,140,126,.18);margin-top:-3px}
.login-role-hint strong{font-size:10px;color:var(--teal)}.login-role-hint span{font-size:8.5px;line-height:1.45;color:var(--muted)}
.login-role-hint.admin{background:rgba(92,76,190,.09);border-color:rgba(92,76,190,.2)}.login-role-hint.admin strong{color:#6653bd}
.input-icon-wrap select{width:100%;border:0;background:transparent;color:var(--ink);outline:0;padding:0}
.hospital-load-status{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:12px;background:var(--mint-soft);color:var(--teal);font-size:9px}.hospital-load-status strong{font-size:11px}

.admin-page-v3{max-width:1560px}.admin-hero-v3{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px 30px;margin-bottom:18px;border-radius:24px;color:#eafffe;background:radial-gradient(circle at 80% 10%,rgba(106,255,235,.2),transparent 240px),linear-gradient(135deg,#0b313b,#0d6d65);box-shadow:0 20px 55px rgba(6,30,39,.18)}
.admin-hero-v3 h1{font-size:31px;margin:7px 0}.admin-hero-v3>div:first-child>p:last-child{max-width:800px;color:#cfeeea;font-size:11px;line-height:1.65}.cost-hero-v3{background:radial-gradient(circle at 80% 10%,rgba(211,192,255,.22),transparent 250px),linear-gradient(135deg,#172c4c,#5d4eae)}
.admin-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:10px;min-width:390px}.admin-hero-metrics article{padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}.admin-hero-metrics span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#bfe5df}.admin-hero-metrics strong{display:block;margin-top:5px;font-size:21px;color:#fff}
.admin-grid-v3{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:15px;margin-bottom:16px}.admin-create-panel,.admin-guidance-panel{padding-bottom:20px}.admin-form-pad{padding:0 20px}.admin-guidance-list{padding:0 20px;display:grid;gap:10px}.admin-guidance-list>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.admin-guidance-list>div>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--mint-soft);color:var(--teal);font-size:9px;font-weight:800}.admin-guidance-list p{margin:0}.admin-guidance-list strong{font-size:10px}.admin-guidance-list small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.45}
.admin-collection-list{display:grid;gap:15px}.admin-collection-card{padding-bottom:18px}.admin-collection-head{display:flex;justify-content:space-between;gap:20px;padding:19px 20px;border-bottom:1px solid var(--line)}.admin-collection-identity{display:flex;gap:12px;align-items:flex-start}.admin-collection-identity h2{margin:4px 0;font-size:17px}.admin-collection-identity p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.admin-collection-status{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.admin-collection-status strong{font-size:11px}.admin-collection-status small{font-size:8px;color:var(--muted)}
.admin-edit-details{margin:12px 20px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.admin-edit-details>summary,.row-manage-details>summary{cursor:pointer;padding:10px 12px;display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;color:var(--teal)}.admin-edit-body{padding:12px;border-top:1px solid var(--line)}.admin-upload-box{margin:14px 20px;padding:15px;border-radius:15px;border:1px dashed var(--line-strong);background:linear-gradient(145deg,var(--surface-2),var(--mint-soft))}.admin-upload-box h3{margin:4px 0 13px}.admin-document-table{margin:0 20px}.admin-document-table td:last-child{min-width:170px}.row-manage-details{margin-bottom:6px;border:1px solid var(--line);border-radius:9px}.compact-form{padding:10px}.compact-form label{font-size:8.5px}.compact-form input,.compact-form select{padding:8px}
.admin-cost-grid{display:grid;grid-template-columns:minmax(0,1.35fr) 330px;gap:15px;margin-bottom:15px}.admin-cost-form-panel{padding-bottom:20px}.admin-cost-settings{display:grid;gap:15px}.admin-cost-settings .panel{padding-bottom:16px}.admin-estimate-history{padding-bottom:16px}
.admin-estimate-notice{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;margin-bottom:14px;border-radius:17px;border:1px solid var(--line);background:var(--surface-2)}.admin-estimate-notice.ready{border-color:rgba(45,185,132,.3);background:rgba(45,185,132,.07)}.admin-estimate-notice.pending{border-color:rgba(230,163,56,.3);background:rgba(230,163,56,.07)}.admin-estimate-notice strong{font-size:11px}.admin-estimate-notice p{margin:4px 0 0;font-size:9px;color:var(--muted);line-height:1.5}

.analytics-panel-v3{margin-top:15px;padding-bottom:18px}.analytics-grid-v3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:0 20px}.analytics-card-v3{padding:16px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(160deg,var(--surface),var(--surface-2));min-height:240px}.analytics-card-v3 header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:14px;color:var(--teal)}.analytics-card-v3 header span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.analytics-card-v3 h3{font-size:13px;margin:3px 0;color:var(--ink)}
.analytics-bars-v3{display:grid;gap:9px}.analytics-bars-v3 label{display:flex;justify-content:space-between;font-size:8.5px}.analytics-bars-v3 label span{max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-bars-v3 i{display:block;height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden}.analytics-bars-v3 em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#69dec9)}
.analytics-donut-v3{width:120px;height:120px;margin:7px auto 13px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal) 0 45%,#6457bf 45% 72%,#e7a43b 72% 100%);position:relative}.analytics-donut-v3::after{content:"";position:absolute;inset:15px;border-radius:50%;background:var(--surface)}.donut-core{position:relative;z-index:1;text-align:center}.donut-core strong{display:block;font-size:21px}.donut-core small{font-size:7.5px;color:var(--muted)}.analytics-legend-v3{display:grid;gap:7px}.analytics-legend-v3>div{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;font-size:8px}.analytics-legend-v3>div>span{width:8px;height:8px;border-radius:50%;background:var(--teal)}.analytics-legend-v3>div:nth-child(2)>span{background:#6457bf}.analytics-legend-v3>div:nth-child(3)>span{background:#e7a43b}.analytics-legend-v3 b{font-size:8px}
.ai-status-matrix-v3{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.ai-status-matrix-v3>div{padding:13px;border-radius:13px;background:var(--surface-3);border:1px solid var(--line)}.ai-status-matrix-v3 span{display:block;font-size:8px;color:var(--muted)}.ai-status-matrix-v3 strong{font-size:20px;display:inline-block;margin-top:4px}.ai-status-matrix-v3 small{float:right;margin-top:10px;font-size:8px}.ai-status-matrix-v3 .completed{background:rgba(45,185,132,.08)}.ai-status-matrix-v3 .failed{background:rgba(213,76,76,.07)}.ai-status-matrix-v3 .in_progress,.ai-status-matrix-v3 .queued{background:rgba(45,153,202,.08)}
.monthly-columns-v3{height:176px;display:flex;align-items:flex-end;justify-content:space-around;gap:9px;padding-top:15px}.monthly-columns-v3>div:not(.analytics-empty-v3){height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;flex:1}.monthly-columns-v3 span{display:block;width:min(32px,70%);min-height:8px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#65dbc8,var(--teal));box-shadow:0 6px 16px rgba(20,150,135,.18)}.monthly-columns-v3 b{font-size:8px;margin-top:5px}.monthly-columns-v3 small{font-size:8px;color:var(--muted);margin-top:3px}.analytics-empty-v3{margin:auto;color:var(--muted);font-size:9px}

@media(max-width:1180px){.admin-grid-v3,.admin-cost-grid{grid-template-columns:1fr}.admin-cost-settings{grid-template-columns:repeat(2,1fr)}.admin-hero-v3{align-items:flex-start;flex-direction:column}.admin-hero-metrics{min-width:0;width:100%}}
@media(max-width:850px){.analytics-grid-v3{grid-template-columns:1fr}.admin-hero-metrics{grid-template-columns:1fr 1fr 1fr}.admin-cost-settings{grid-template-columns:1fr}.admin-collection-head{flex-direction:column}.admin-collection-status{text-align:left;align-items:flex-start}}
@media(max-width:600px){.admin-hero-metrics{grid-template-columns:1fr}.admin-hero-v3{padding:22px 18px}.analytics-grid-v3{padding:0 12px}.admin-upload-box .form-grid{grid-template-columns:1fr}.admin-upload-box .span-2,.admin-upload-box .span-4{grid-column:span 1}}

/* ASPAK AI V2.2 — User management, invitations, roles, login audit */
.user-admin-page{max-width:1600px}.user-admin-hero{background:radial-gradient(circle at 86% 10%,rgba(122,255,238,.19),transparent 260px),linear-gradient(135deg,#0a303a,#0c6f68)}.user-admin-hero.compact-hero{min-height:165px}.invitation-hero{background:radial-gradient(circle at 86% 10%,rgba(255,213,135,.18),transparent 260px),linear-gradient(135deg,#403013,#8a6218)}.role-hero{background:radial-gradient(circle at 86% 10%,rgba(193,182,255,.2),transparent 260px),linear-gradient(135deg,#23254c,#6253b8)}.audit-hero{background:radial-gradient(circle at 86% 10%,rgba(132,210,255,.18),transparent 260px),linear-gradient(135deg,#122c49,#12627a)}.admin-hero-metrics.four{grid-template-columns:repeat(4,minmax(105px,1fr));min-width:500px}.hero-action-stack{display:flex;gap:10px;align-items:center}.btn.light{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}
.admin-subnav{display:flex;flex-wrap:wrap;gap:8px;padding:8px;margin-bottom:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-xs)}.admin-subnav a{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:11px;color:var(--muted);font-size:10px;font-weight:700}.admin-subnav a:hover,.admin-subnav a.active{background:var(--mint-soft);color:var(--teal)}
.user-directory-panel{padding-bottom:16px}.user-directory-head{align-items:center}.admin-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 180px 220px auto auto;gap:9px;align-items:center;padding:0 20px 15px}.search-field-large.compact{min-height:42px;padding:0 12px}.search-field-large.compact input{font-size:10px}.btn-ghost{background:transparent}.admin-user-table td{vertical-align:middle}.admin-user-table small,.assignment-table small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.user-cell{display:flex;align-items:center;gap:10px}.tiny-chip,.role-chip{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:var(--surface-3);color:var(--teal);font-size:8px;font-weight:700;margin:2px 3px 2px 0}.simple-pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 20px 0;font-size:9px;color:var(--muted)}.btn.disabled{opacity:.45;pointer-events:none}
.user-create-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.user-create-form-panel{padding-bottom:20px}.hospital-picker-admin{position:relative;padding:15px;border:1px dashed var(--line-strong);border-radius:15px;background:var(--surface-2)}.hospital-search-results{position:absolute;z-index:30;left:15px;right:15px;top:74px;max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 18px 40px rgba(4,28,35,.18)}.hospital-search-option{display:grid;grid-template-columns:38px 1fr;gap:10px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);cursor:pointer}.hospital-search-option:hover{background:var(--mint-soft)}.hospital-search-option-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#0e776d,#6ce4d1);color:#fff;font-size:9px;font-weight:800}.hospital-search-option strong{display:block;font-size:10px}.hospital-search-option small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.hospital-search-loading{padding:14px;color:var(--muted);font-size:9px}.admin-selection-preview{margin-top:10px}.admin-selection-preview.selected{border-color:rgba(27,169,139,.32);background:rgba(27,169,139,.07)}
.user-profile-hero-copy{display:flex;align-items:center;gap:18px}.hero-avatar{width:68px;height:68px;font-size:25px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25)}.user-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:15px}.user-detail-main,.user-detail-side{display:grid;align-content:start;gap:15px}.assignment-table{padding:0 20px}.assignment-add-details{margin-top:15px}.checkbox-panel{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.checkbox-panel input{width:auto;margin-top:2px}.checkbox-panel strong{display:block;font-size:9px}.checkbox-panel small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.security-actions-card{padding-bottom:17px}.security-action-list{display:grid;gap:9px;padding:0 18px 13px}.security-action-list>div{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.security-action-list p{margin:0}.security-action-list strong{display:block;font-size:9px}.security-action-list small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.security-actions-card form,.security-actions-card>a{margin:0 18px 8px}.compact-audit-list{display:grid;gap:8px;padding:0 18px 16px}.compact-audit-list>div{display:flex;gap:8px;align-items:flex-start;padding-bottom:8px;border-bottom:1px solid var(--line)}.compact-audit-list p{margin:0}.compact-audit-list strong{font-size:9px}.compact-audit-list small{display:block;color:var(--muted);font-size:8px}.danger-zone{border-color:rgba(214,75,75,.25)}.danger-zone form{padding:0 18px 17px}.btn-block{width:100%;justify-content:center}
.import-user-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.role-matrix-list{display:grid;gap:15px}.role-matrix-card{padding-bottom:18px}.role-matrix-head{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.role-matrix-head h2{margin:4px 0;font-size:17px}.role-matrix-head p{margin:0;color:var(--muted);font-size:9px}.role-permission-form{padding:16px 20px 0}.role-meta-fields{margin-bottom:14px}.permission-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.permission-module-card{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.permission-module-card legend{padding:0 6px;color:var(--teal);font-size:9px;font-weight:800}.permission-option{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.permission-option:last-child{border-bottom:0}.permission-option input{width:auto;margin-top:2px}.permission-option strong{display:block;font-size:8.5px}.permission-option small{display:block;margin-top:2px;color:var(--muted);font-size:7.5px;line-height:1.4}.login-audit-table .user-agent-text{display:block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.auth-flow-body{min-height:100vh;background:#edf6f5;color:var(--ink)}.auth-flow-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.7fr);position:relative;z-index:10;isolation:isolate}.auth-flow-visual{position:relative;overflow:hidden;padding:42px 54px;color:#eafffe;background:radial-gradient(circle at 32% 25%,rgba(91,245,222,.23),transparent 260px),linear-gradient(145deg,#092f39,#0d7067)}.auth-flow-visual h1{max-width:680px;font-size:42px;margin:12px 0}.auth-flow-visual>p:last-of-type{max-width:670px;color:#cdebe7;line-height:1.7}.auth-flow-orb{width:100px;height:100px;margin:80px 0 20px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#1ed0bc,#6bfae6);color:#08343b;box-shadow:0 0 0 18px rgba(95,242,224,.07),0 20px 45px rgba(0,0,0,.22)}.invitation-summary-card{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.invitation-summary-card>div{padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.07)}.invitation-summary-card span,.invitation-summary-card small{display:block;font-size:8px;color:#bfe6df}.invitation-summary-card strong{display:block;margin:5px 0;font-size:11px}.auth-flow-card-wrap{display:grid;place-items:center;padding:35px;background:var(--surface-2)}.auth-flow-card,.auth-simple-shell .auth-flow-card{width:min(100%,470px);padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 24px 60px rgba(5,32,40,.13)}.auth-flow-card h1,.auth-flow-card h2{margin:7px 0}.auth-simple-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-simple-shell .brand{margin-bottom:25px}.login-help-link{color:var(--teal);font-weight:700}
@media(max-width:1250px){.admin-hero-metrics.four{min-width:0}.admin-filter-bar{grid-template-columns:1fr 160px 190px auto}.admin-filter-bar .btn-ghost{display:none}.user-detail-layout{grid-template-columns:1fr}.permission-module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.admin-hero-metrics.four{grid-template-columns:repeat(2,1fr)}.user-create-grid,.import-user-grid{grid-template-columns:1fr}.auth-flow-shell{grid-template-columns:1fr}.auth-flow-visual{display:none}.permission-module-grid{grid-template-columns:1fr}.admin-filter-bar{grid-template-columns:1fr 1fr}.admin-filter-bar .search-field-large{grid-column:span 2}}
@media(max-width:600px){.admin-subnav{display:grid;grid-template-columns:1fr 1fr}.admin-hero-metrics.four{grid-template-columns:1fr 1fr}.admin-filter-bar{grid-template-columns:1fr}.admin-filter-bar .search-field-large{grid-column:span 1}.invitation-summary-card{grid-template-columns:1fr}.simple-pagination{gap:8px;flex-wrap:wrap}.auth-flow-card-wrap{padding:18px}.auth-flow-card{padding:22px}}

/* ASPAK AUTH POINTER HOTFIX 20260725-V2 */
.auth-flow-body>.login-grid-bg{pointer-events:none!important;z-index:0!important}.auth-flow-shell{position:relative!important;z-index:10!important;isolation:isolate!important}.auth-flow-card-wrap,.auth-flow-card,.auth-flow-card form,.auth-flow-card label,.auth-flow-card input,.auth-flow-card button{pointer-events:auto!important}

/* ==========================================================
   HOSPITAL-SCOPED DASHBOARD & PROJECT CREATION
   ========================================================== */
.hospital-command-hero{background:linear-gradient(135deg,#073941 0%,#086d63 54%,#0a8d7f 100%)}
.hospital-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 0}
.hospital-hero-meta span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#dcfffa;font-size:9px;font-weight:700}
.hospital-profile-panel{overflow:hidden}
.hospital-profile-list{margin:0;padding:4px 0}
.hospital-profile-list>div{display:grid;grid-template-columns:112px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.hospital-profile-list dt{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.hospital-profile-list dd{margin:0;color:var(--ink);font-size:9px;font-weight:750;text-align:right;overflow-wrap:anywhere}
.hospital-profile-note{display:flex;gap:8px;align-items:flex-start;margin:13px 0 0;padding:11px;border-radius:12px;background:var(--mint-soft);color:var(--teal);font-size:8px;line-height:1.5}
.hospital-assignment-empty{max-width:760px;margin:60px auto}

.locked-hospital-card{border:1px solid rgba(20,151,132,.28);border-radius:19px;overflow:hidden;background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:0 15px 35px rgba(5,55,61,.08)}
.locked-hospital-card>header{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;padding:19px 20px;background:linear-gradient(135deg,rgba(10,113,103,.12),rgba(86,215,194,.08));border-bottom:1px solid var(--line)}
.locked-hospital-mark{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#0a756b,#59ddc7);color:#fff;box-shadow:0 10px 24px rgba(7,117,107,.2)}
.locked-hospital-card header>div>span{display:block;color:var(--teal);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.locked-hospital-card h3{margin:4px 0 2px;font-size:18px;line-height:1.25;color:var(--ink)}
.locked-hospital-card header p{margin:0;color:var(--muted);font-size:9px}
.locked-hospital-card .status-dot{display:inline-flex;align-items:center;gap:5px}
.locked-hospital-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:16px 20px;gap:10px}
.locked-hospital-details>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.locked-hospital-details dt{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.locked-hospital-details dd{margin:6px 0 0;font-size:10px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.locked-hospital-address{display:flex;gap:9px;align-items:flex-start;margin:0 20px 15px;padding:12px;border-radius:13px;background:var(--surface);border:1px solid var(--line);color:var(--teal)}
.locked-hospital-address span{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:9px;line-height:1.45}
.locked-hospital-address strong{color:var(--ink);font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.hospital-lock-notice{display:flex;gap:10px;align-items:flex-start;margin:0;border-radius:0;border:0;border-top:1px solid var(--line);padding:14px 20px;background:rgba(27,169,139,.07);color:var(--teal)}
.hospital-lock-notice strong{display:block;color:var(--ink);font-size:9px}
.hospital-lock-notice p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.5}

@media(max-width:760px){
    .hospital-hero-meta{flex-direction:column;align-items:flex-start}
    .locked-hospital-card>header{grid-template-columns:52px 1fr}.locked-hospital-card>header>.status-dot{grid-column:1/-1;justify-self:start}
    .locked-hospital-details{grid-template-columns:1fr 1fr;padding:14px}
    .locked-hospital-address{margin:0 14px 14px}
    .hospital-profile-list>div{grid-template-columns:1fr}.hospital-profile-list dd{text-align:left}
}
@media(max-width:480px){.locked-hospital-details{grid-template-columns:1fr}.locked-hospital-card h3{font-size:16px}}

/* ==========================================================
   PATCH: Margin panel Identitas Rumah Sakit pada Dashboard RS
   Tanggal: 2026-07-26
   ========================================================== */

/*
 * Menyamakan jarak kiri/kanan daftar identitas dan kotak catatan
 * dengan header panel, sehingga tulisan tidak menempel pada border.
 */
.hospital-profile-panel .hospital-profile-list {
    box-sizing: border-box;
    padding: 4px 18px 0;
}

.hospital-profile-panel .hospital-profile-note {
    margin: 13px 18px 18px;
}

/* Jaga jarak internal setiap baris tetap konsisten. */
.hospital-profile-panel .hospital-profile-list > div {
    box-sizing: border-box;
}

/* Penyesuaian untuk layar yang sangat sempit. */
@media (max-width: 420px) {
    .hospital-profile-panel .hospital-profile-list {
        padding-right: 14px;
        padding-left: 14px;
    }

    .hospital-profile-panel .hospital-profile-note {
        margin-right: 14px;
        margin-left: 14px;
    }
}

/* ==========================================================
   PATCH: Orbit label & ambient pulse untuk Dashboard RS
   Tanggal: 2026-07-26
   ========================================================== */

/*
 * Patch ini aktif hanya ketika class .hospital-orb-enhanced
 * ditambahkan ke .command-hero oleh helper JS.
 */

.command-hero.hospital-orb-enhanced .command-hero-orb{
    width: 320px;
    height: 250px;
    isolation: isolate;
}

.command-hero.hospital-orb-enhanced .command-hero-orb::before,
.command-hero.hospital-orb-enhanced .command-hero-orb::after{
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 999px;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
}

.command-hero.hospital-orb-enhanced .command-hero-orb::before{
    width: 216px;
    height: 216px;
    background: radial-gradient(circle, rgba(103, 235, 214, .18) 0%, rgba(103, 235, 214, .08) 36%, rgba(103, 235, 214, 0) 72%);
    filter: blur(8px);
    opacity: .65;
    animation: hospitalOrbAuraPulse 4.8s ease-in-out infinite;
}

.command-hero.hospital-orb-enhanced .command-hero-orb::after{
    width: 276px;
    height: 276px;
    background: radial-gradient(circle, rgba(103, 235, 214, .10) 0%, rgba(103, 235, 214, .04) 42%, rgba(103, 235, 214, 0) 74%);
    filter: blur(14px);
    opacity: .42;
    animation: hospitalOrbAuraPulse 6.2s ease-in-out infinite reverse;
}

.command-hero.hospital-orb-enhanced .command-orb-core{
    z-index: 4;
    box-shadow:
        0 0 0 1px rgba(144, 244, 230, .18),
        0 18px 45px rgba(45, 220, 193, .28),
        0 0 34px rgba(77, 231, 206, .18);
}

.command-hero.hospital-orb-enhanced .command-orb-ring{
    inset: 18px 42px;
    border-color: rgba(118, 239, 221, .22);
    box-shadow:
        0 0 0 1px rgba(118, 239, 221, .05),
        0 0 14px rgba(118, 239, 221, .10),
        inset 0 0 16px rgba(118, 239, 221, .04);
    animation:
        hospitalOrbSpin 18s linear infinite,
        hospitalOrbRingPulse 4.8s ease-in-out infinite;
}

.command-hero.hospital-orb-enhanced .command-orb-ring.ring-b{
    inset: 50px 76px;
    border-color: rgba(118, 239, 221, .18);
    animation:
        hospitalOrbSpinReverse 14s linear infinite,
        hospitalOrbRingPulseAlt 5.6s ease-in-out infinite;
}

.command-hero.hospital-orb-enhanced .command-orb-node{
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 5;
    gap: 6px;
    min-width: 96px;
    justify-content: center;
    white-space: nowrap;
    padding: 9px 12px;
    border-radius: 14px;
    backdrop-filter: blur(8px);
    background: rgba(7, 38, 46, .74);
    border: 1px solid rgba(132, 234, 218, .22);
    box-shadow:
        0 8px 18px rgba(1, 16, 19, .24),
        0 0 0 1px rgba(129, 239, 221, .04);
    will-change: transform;
}

.command-hero.hospital-orb-enhanced .command-orb-node svg{
    flex: 0 0 auto;
}

.command-hero.hospital-orb-enhanced .command-orb-node.node-1{
    animation: hospitalOrbitNode1 18s linear infinite;
}

.command-hero.hospital-orb-enhanced .command-orb-node.node-2{
    animation: hospitalOrbitNode2 18s linear infinite;
}

.command-hero.hospital-orb-enhanced .command-orb-node.node-3{
    animation: hospitalOrbitNode3 18s linear infinite;
}

@keyframes hospitalOrbitNode1{
    from{transform: translate(-50%, -50%) rotate(208deg) translateX(124px) rotate(-208deg);}
    to{transform: translate(-50%, -50%) rotate(568deg) translateX(124px) rotate(-568deg);}
}

@keyframes hospitalOrbitNode2{
    from{transform: translate(-50%, -50%) rotate(326deg) translateX(138px) rotate(-326deg);}
    to{transform: translate(-50%, -50%) rotate(686deg) translateX(138px) rotate(-686deg);}
}

@keyframes hospitalOrbitNode3{
    from{transform: translate(-50%, -50%) rotate(34deg) translateX(136px) rotate(-34deg);}
    to{transform: translate(-50%, -50%) rotate(394deg) translateX(136px) rotate(-394deg);}
}

@keyframes hospitalOrbSpin{
    from{transform: rotate(0deg);}
    to{transform: rotate(360deg);}
}

@keyframes hospitalOrbSpinReverse{
    from{transform: rotate(360deg);}
    to{transform: rotate(0deg);}
}

@keyframes hospitalOrbRingPulse{
    0%, 100%{
        opacity: .58;
        box-shadow:
            0 0 0 1px rgba(118, 239, 221, .05),
            0 0 10px rgba(118, 239, 221, .08),
            inset 0 0 14px rgba(118, 239, 221, .03);
    }
    50%{
        opacity: .92;
        box-shadow:
            0 0 0 1px rgba(118, 239, 221, .10),
            0 0 24px rgba(118, 239, 221, .16),
            inset 0 0 18px rgba(118, 239, 221, .06);
    }
}

@keyframes hospitalOrbRingPulseAlt{
    0%, 100%{
        opacity: .42;
        box-shadow:
            0 0 0 1px rgba(118, 239, 221, .04),
            0 0 8px rgba(118, 239, 221, .06),
            inset 0 0 12px rgba(118, 239, 221, .02);
    }
    50%{
        opacity: .76;
        box-shadow:
            0 0 0 1px rgba(118, 239, 221, .08),
            0 0 20px rgba(118, 239, 221, .12),
            inset 0 0 16px rgba(118, 239, 221, .05);
    }
}

@keyframes hospitalOrbAuraPulse{
    0%, 100%{
        opacity: .42;
        transform: translate(-50%, -50%) scale(.96);
    }
    50%{
        opacity: .82;
        transform: translate(-50%, -50%) scale(1.04);
    }
}

@media (prefers-reduced-motion: reduce){
    .command-hero.hospital-orb-enhanced .command-orb-ring,
    .command-hero.hospital-orb-enhanced .command-orb-node,
    .command-hero.hospital-orb-enhanced .command-hero-orb::before,
    .command-hero.hospital-orb-enhanced .command-hero-orb::after{
        animation: none !important;
    }
}

@media (max-width: 980px){
    .command-hero.hospital-orb-enhanced .command-hero-orb{
        width: 290px;
        height: 230px;
    }

    .command-hero.hospital-orb-enhanced .command-orb-node{
        min-width: 88px;
        font-size: 9px;
        padding: 8px 10px;
    }

    @keyframes hospitalOrbitNode1{
        from{transform: translate(-50%, -50%) rotate(208deg) translateX(114px) rotate(-208deg);}
        to{transform: translate(-50%, -50%) rotate(568deg) translateX(114px) rotate(-568deg);}
    }

    @keyframes hospitalOrbitNode2{
        from{transform: translate(-50%, -50%) rotate(326deg) translateX(126px) rotate(-326deg);}
        to{transform: translate(-50%, -50%) rotate(686deg) translateX(126px) rotate(-686deg);}
    }

    @keyframes hospitalOrbitNode3{
        from{transform: translate(-50%, -50%) rotate(34deg) translateX(124px) rotate(-34deg);}
        to{transform: translate(-50%, -50%) rotate(394deg) translateX(124px) rotate(-394deg);}
    }
}

/* ==========================================================
   PATCH: Login SmartPlan Futuristik
   Tanggal: 2026-07-26
   ========================================================== */

.login-body{
    background:
        radial-gradient(circle at 18% 22%, rgba(73, 229, 206, .10), transparent 28%),
        radial-gradient(circle at 82% 14%, rgba(58, 154, 219, .10), transparent 22%),
        linear-gradient(180deg, #04141a 0%, #061f26 100%);
}

.login-grid-bg{
    opacity: .82;
    background-image:
        linear-gradient(rgba(92, 226, 207, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(92, 226, 207, .05) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: radial-gradient(circle at center, rgba(0,0,0,1), rgba(0,0,0,.74) 62%, rgba(0,0,0,.18) 100%);
}

.login-visual{
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 20% 24%, rgba(90, 236, 215, .24), transparent 24%),
        radial-gradient(circle at 76% 26%, rgba(48, 115, 240, .18), transparent 20%),
        radial-gradient(circle at 78% 70%, rgba(72, 222, 199, .14), transparent 28%),
        linear-gradient(145deg, #06252d 0%, #0a4048 48%, #0a2f3a 100%);
}

.login-visual::before,
.login-visual::after{
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 999px;
    z-index: 0;
}

.login-visual::before{
    width: 420px;
    height: 420px;
    left: -120px;
    bottom: -100px;
    background: radial-gradient(circle, rgba(77, 231, 206, .18) 0%, rgba(77, 231, 206, .07) 42%, rgba(77, 231, 206, 0) 72%);
    filter: blur(14px);
    animation: loginAmbientDrift 14s ease-in-out infinite alternate;
}

.login-visual::after{
    width: 360px;
    height: 360px;
    right: -90px;
    top: -80px;
    background: radial-gradient(circle, rgba(56, 132, 255, .14) 0%, rgba(56, 132, 255, .06) 42%, rgba(56, 132, 255, 0) 72%);
    filter: blur(16px);
    animation: loginAmbientDrift 18s ease-in-out infinite alternate-reverse;
}

.login-brandbar,
.login-visual-content,
.login-visual-footer{
    position: relative;
    z-index: 1;
}

.secure-chip{
    background: rgba(103, 231, 210, .10);
    border-color: rgba(103, 231, 210, .22);
    box-shadow: 0 0 0 1px rgba(103, 231, 210, .04), 0 0 20px rgba(103, 231, 210, .08);
}

.login-visual h1{
    text-wrap: balance;
    text-shadow: 0 8px 30px rgba(0, 0, 0, .25);
}

.login-lead{
    max-width: 780px;
}

.login-orbit{
    width: 280px;
    height: 280px;
    position: relative;
    margin-bottom: 26px;
    filter: drop-shadow(0 18px 44px rgba(0, 0, 0, .22));
}

.login-orbit::before,
.login-orbit::after{
    content: "";
    position: absolute;
    inset: 50%;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    pointer-events: none;
}

.login-orbit::before{
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(101, 236, 214, .14) 0%, rgba(101, 236, 214, .06) 40%, rgba(101, 236, 214, 0) 74%);
    filter: blur(10px);
    animation: loginAuraPulse 5.2s ease-in-out infinite;
}

.login-orbit::after{
    width: 306px;
    height: 306px;
    background: radial-gradient(circle, rgba(61, 153, 234, .10) 0%, rgba(61, 153, 234, .04) 38%, rgba(61, 153, 234, 0) 70%);
    filter: blur(18px);
    animation: loginAuraPulse 7s ease-in-out infinite reverse;
}

.orbit-ring{
    position: absolute;
    border: 1px solid rgba(108, 238, 219, .22);
    border-radius: 50%;
    box-shadow:
        0 0 0 1px rgba(108, 238, 219, .03),
        0 0 16px rgba(108, 238, 219, .08),
        inset 0 0 12px rgba(108, 238, 219, .03);
    animation: loginOrbSpin 22s linear infinite, loginRingPulse 4.8s ease-in-out infinite;
}

.ring-1{ inset: 10px; }
.ring-2{
    inset: 46px;
    animation: loginOrbSpinReverse 16s linear infinite, loginRingPulseAlt 5.4s ease-in-out infinite;
}
.ring-3{
    inset: 82px;
    animation: loginOrbSpin 11s linear infinite, loginRingPulse 3.8s ease-in-out infinite;
}

.orbit-core{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 96px;
    height: 96px;
    inset: auto;
    transform: translate(-50%, -50%);
    border-radius: 30px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #71efda 0%, #1cae9d 72%);
    color: #063d39;
    box-shadow:
        0 0 0 1px rgba(155, 248, 235, .18),
        0 20px 48px rgba(28, 174, 157, .26),
        0 0 28px rgba(113, 239, 218, .16);
    animation: loginCoreFloat 5.8s ease-in-out infinite, loginCorePulse 4.6s ease-in-out infinite;
}

.orbit-core svg{
    animation: loginCoreIconPulse 4.4s ease-in-out infinite;
}

.orbit-node{
    position: absolute;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    min-width: 52px;
    height: 44px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: rgba(7, 38, 46, .86);
    border: 1px solid rgba(132, 234, 218, .24);
    color: #d7fffa;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    box-shadow:
        0 10px 24px rgba(1, 16, 19, .22),
        0 0 0 1px rgba(129, 239, 221, .04);
    backdrop-filter: blur(10px);
    will-change: transform;
}

.node-a{ animation: loginOrbitA 18s linear infinite; }
.node-b{ animation: loginOrbitB 17s linear infinite; }
.node-c{ animation: loginOrbitC 20s linear infinite; }
.node-d{ animation: loginOrbitD 19s linear infinite; }

.login-flow-v2 article{
    background: linear-gradient(180deg, rgba(7, 37, 44, .45), rgba(7, 37, 44, .28));
    border-color: rgba(132, 226, 212, .15);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .10);
}

.login-access{
    background:
        radial-gradient(circle at 10% 50%, rgba(56, 147, 241, .06), transparent 28%),
        radial-gradient(circle at 85% 15%, rgba(77, 231, 206, .06), transparent 22%),
        var(--bg);
}

.login-card-v2{
    background:
        linear-gradient(180deg, rgba(8, 39, 49, .92), rgba(8, 25, 34, .90));
    border: 1px solid rgba(119, 234, 219, .18);
    box-shadow:
        0 24px 60px rgba(0, 0, 0, .22),
        0 0 0 1px rgba(119, 234, 219, .03);
    backdrop-filter: blur(16px);
}

.login-card-v2 h2{
    font-size: 30px;
    margin-bottom: 8px;
}

.login-card-icon{
    box-shadow: 0 0 24px rgba(70, 230, 206, .14);
}

.login-role-hint{
    background: linear-gradient(180deg, rgba(19, 116, 112, .14), rgba(19, 116, 112, .08));
    border: 1px solid rgba(119, 234, 219, .14);
}

.login-form-v2 .input-icon-wrap{
    position: relative;
}

.login-form-v2 .input-icon-wrap svg{
    left: 14px;
    z-index: 2;
}

.login-form-v2 .input-icon-wrap input,
.login-form-v2 .input-icon-wrap select{
    height: 46px;
    padding-left: 42px !important;
    padding-right: 16px;
}

.login-form-v2 .input-icon-wrap select{
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(12, 39, 53, .42);
    color: var(--ink);
    outline: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.login-form-v2 .input-icon-wrap::after{
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(185, 231, 225, .92);
    border-bottom: 2px solid rgba(185, 231, 225, .92);
    transform: translateY(-65%) rotate(45deg);
    pointer-events: none;
}

.login-version{
    letter-spacing: .05em;
}

@keyframes loginOrbSpin{
    from{ transform: rotate(0deg); }
    to{ transform: rotate(360deg); }
}

@keyframes loginOrbSpinReverse{
    from{ transform: rotate(360deg); }
    to{ transform: rotate(0deg); }
}

@keyframes loginRingPulse{
    0%,100%{
        opacity: .54;
        box-shadow:
            0 0 0 1px rgba(108, 238, 219, .03),
            0 0 12px rgba(108, 238, 219, .08),
            inset 0 0 12px rgba(108, 238, 219, .03);
    }
    50%{
        opacity: .92;
        box-shadow:
            0 0 0 1px rgba(108, 238, 219, .08),
            0 0 24px rgba(108, 238, 219, .15),
            inset 0 0 18px rgba(108, 238, 219, .06);
    }
}

@keyframes loginRingPulseAlt{
    0%,100%{
        opacity: .38;
        box-shadow:
            0 0 0 1px rgba(108, 238, 219, .02),
            0 0 10px rgba(108, 238, 219, .06),
            inset 0 0 10px rgba(108, 238, 219, .02);
    }
    50%{
        opacity: .78;
        box-shadow:
            0 0 0 1px rgba(108, 238, 219, .06),
            0 0 20px rgba(108, 238, 219, .11),
            inset 0 0 16px rgba(108, 238, 219, .05);
    }
}

@keyframes loginCoreFloat{
    0%,100%{ transform: translate(-50%, -50%) translateY(0px); }
    50%{ transform: translate(-50%, -50%) translateY(-8px); }
}

@keyframes loginCorePulse{
    0%,100%{
        box-shadow:
            0 0 0 1px rgba(155, 248, 235, .18),
            0 20px 48px rgba(28, 174, 157, .26),
            0 0 22px rgba(113, 239, 218, .12);
    }
    50%{
        box-shadow:
            0 0 0 1px rgba(155, 248, 235, .24),
            0 24px 54px rgba(28, 174, 157, .34),
            0 0 34px rgba(113, 239, 218, .20);
    }
}

@keyframes loginCoreIconPulse{
    0%,100%{ transform: scale(1); }
    50%{ transform: scale(1.08); }
}

@keyframes loginAuraPulse{
    0%,100%{
        opacity: .42;
        transform: translate(-50%, -50%) scale(.96);
    }
    50%{
        opacity: .84;
        transform: translate(-50%, -50%) scale(1.04);
    }
}

@keyframes loginOrbitA{
    from{ transform: translate(-50%, -50%) rotate(0deg) translateX(126px) rotate(0deg); }
    to{ transform: translate(-50%, -50%) rotate(360deg) translateX(126px) rotate(-360deg); }
}

@keyframes loginOrbitB{
    from{ transform: translate(-50%, -50%) rotate(90deg) translateX(126px) rotate(-90deg); }
    to{ transform: translate(-50%, -50%) rotate(450deg) translateX(126px) rotate(-450deg); }
}

@keyframes loginOrbitC{
    from{ transform: translate(-50%, -50%) rotate(180deg) translateX(126px) rotate(-180deg); }
    to{ transform: translate(-50%, -50%) rotate(540deg) translateX(126px) rotate(-540deg); }
}

@keyframes loginOrbitD{
    from{ transform: translate(-50%, -50%) rotate(270deg) translateX(126px) rotate(-270deg); }
    to{ transform: translate(-50%, -50%) rotate(630deg) translateX(126px) rotate(-630deg); }
}

@keyframes loginAmbientDrift{
    0%{ transform: translate3d(0, 0, 0) scale(1); }
    50%{ transform: translate3d(10px, -12px, 0) scale(1.04); }
    100%{ transform: translate3d(-8px, 10px, 0) scale(.98); }
}

@media (prefers-reduced-motion: reduce){
    .login-visual::before,
    .login-visual::after,
    .login-orbit::before,
    .login-orbit::after,
    .orbit-ring,
    .orbit-core,
    .orbit-core svg,
    .orbit-node{
        animation: none !important;
    }
}

@media (max-width: 1100px){
    .login-shell-v2{
        grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr);
    }

    .login-visual h1{
        font-size: 40px;
    }
}

@media (max-width: 760px){
    .login-card-v2{
        background: linear-gradient(180deg, rgba(8, 39, 49, .96), rgba(8, 25, 34, .94));
    }
}


/* ==========================================================
   HOTFIX: Login SmartPlan layout, orbit center, dan tombol tampil
   Tanggal: 2026-07-26
   ========================================================== */

/* 1) Pastikan ikon RS berada tepat di tengah lingkaran */
.login-orbit{
    width: 268px;
    height: 268px;
    margin-bottom: 18px;
}

.login-orbit .orbit-core{
    inset: unset !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: 98px;
    height: 98px;
    z-index: 4;
}

/* 2) Ring dan ambient glow dibuat lebih terasa terang-redup */
.login-orbit::before{
    width: 246px;
    height: 246px;
    opacity: .62;
    animation: loginAuraPulseHotfix 4.8s ease-in-out infinite;
}

.login-orbit::after{
    width: 312px;
    height: 312px;
    opacity: .38;
    animation: loginAuraPulseHotfixAlt 6.4s ease-in-out infinite;
}

.login-orbit .orbit-ring{
    border-color: rgba(110, 236, 219, .24);
    box-shadow:
        0 0 0 1px rgba(110, 236, 219, .04),
        0 0 16px rgba(110, 236, 219, .10),
        inset 0 0 12px rgba(110, 236, 219, .03);
}

.login-orbit .ring-1{
    animation: loginOrbSpin 22s linear infinite, loginRingPulseHotfix 4.3s ease-in-out infinite;
}

.login-orbit .ring-2{
    animation: loginOrbSpinReverse 16s linear infinite, loginRingPulseHotfixAlt 5.2s ease-in-out infinite;
}

.login-orbit .ring-3{
    animation: loginOrbSpin 11s linear infinite, loginRingPulseHotfix 3.7s ease-in-out infinite;
}

@keyframes loginAuraPulseHotfix{
    0%,100%{
        opacity: .34;
        transform: translate(-50%, -50%) scale(.95);
        filter: blur(10px);
    }
    50%{
        opacity: .88;
        transform: translate(-50%, -50%) scale(1.05);
        filter: blur(13px);
    }
}

@keyframes loginAuraPulseHotfixAlt{
    0%,100%{
        opacity: .22;
        transform: translate(-50%, -50%) scale(.94);
        filter: blur(16px);
    }
    50%{
        opacity: .58;
        transform: translate(-50%, -50%) scale(1.07);
        filter: blur(19px);
    }
}

@keyframes loginRingPulseHotfix{
    0%,100%{
        opacity: .42;
        box-shadow:
            0 0 0 1px rgba(110, 236, 219, .03),
            0 0 12px rgba(110, 236, 219, .08),
            inset 0 0 10px rgba(110, 236, 219, .03);
    }
    50%{
        opacity: .96;
        box-shadow:
            0 0 0 1px rgba(110, 236, 219, .09),
            0 0 28px rgba(110, 236, 219, .18),
            inset 0 0 18px rgba(110, 236, 219, .06);
    }
}

@keyframes loginRingPulseHotfixAlt{
    0%,100%{
        opacity: .28;
        box-shadow:
            0 0 0 1px rgba(110, 236, 219, .02),
            0 0 10px rgba(110, 236, 219, .06),
            inset 0 0 9px rgba(110, 236, 219, .02);
    }
    50%{
        opacity: .78;
        box-shadow:
            0 0 0 1px rgba(110, 236, 219, .07),
            0 0 22px rgba(110, 236, 219, .14),
            inset 0 0 16px rgba(110, 236, 219, .05);
    }
}

/* 3) Rapatkan tinggi konten kanan agar tombol login langsung terlihat */
.login-body{
    overflow: auto;
}

.login-access{
    min-height: 100vh;
    align-content: center;
    padding: 20px 22px 16px;
}

.login-theme-toggle{
    top: 18px;
    right: 18px;
}

.login-card-v2{
    width: min(430px, 100%);
    padding: 24px 24px 18px;
    border-radius: 22px;
}

.login-card-icon{
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
}

.login-card-v2 h2{
    font-size: 27px;
    margin: 4px 0 6px;
    line-height: 1.12;
}

.login-card-v2 > p.muted{
    margin: 0 0 16px;
    line-height: 1.5;
}

.login-form-v2{
    gap: 10px;
}

.login-form-v2 label{
    gap: 5px;
    font-size: 10px;
}

.login-form-v2 .input-icon-wrap input,
.login-form-v2 .input-icon-wrap select{
    height: 44px;
}

.login-role-hint{
    padding: 10px 12px;
    font-size: 9px;
}

.login-role-hint strong{
    display: block;
    margin-bottom: 2px;
}

.login-form-row{
    margin-top: 2px;
}

.login-security-note{
    margin-top: 14px;
    padding: 10px 12px;
}

.login-security-note p{
    line-height: 1.45;
}

.login-version{
    bottom: 10px;
}

@media (max-height: 820px){
    .login-access{
        padding-top: 14px;
        padding-bottom: 10px;
    }

    .login-card-v2{
        padding: 22px 22px 16px;
    }

    .login-card-v2 h2{
        font-size: 25px;
    }

    .login-orbit{
        margin-bottom: 14px;
        transform: scale(.96);
        transform-origin: left top;
    }

    .login-visual h1{
        font-size: 42px;
        margin: 8px 0 12px;
    }

    .login-lead{
        line-height: 1.62;
    }

    .login-flow-v2{
        margin-top: 20px;
        gap: 8px;
    }

    .login-flow-v2 article{
        padding: 13px;
    }
}

@media (prefers-reduced-motion: reduce){
    .login-orbit::before,
    .login-orbit::after,
    .login-orbit .orbit-ring{
        animation: none !important;
    }
}

/* ==========================================================
   PATCH: Login SmartPlan responsif untuk laptop, tablet, dan ponsel
   Tanggal: 2026-07-26
   ========================================================== */

/*
 * Tujuan utama:
 * 1. Mencegah layout dua kolom tetap aktif pada layar kecil.
 * 2. Membuat panel login memakai lebar layar secara proporsional.
 * 3. Mencegah input, select, dan tombol terpotong.
 * 4. Menjaga tombol masuk tetap terlihat pada layar pendek.
 */

.login-body,
.login-shell-v2,
.login-access,
.login-card-v2,
.login-form-v2,
.login-form-v2 label,
.login-form-v2 .input-icon-wrap {
    min-width: 0;
    box-sizing: border-box;
}

.login-body {
    overflow-x: hidden;
}

.login-shell-v2 {
    width: 100%;
    max-width: 100vw;
}

.login-access {
    width: 100%;
}

.login-card-v2 {
    width: min(450px, 100%);
    max-width: 100%;
    margin-inline: auto;
}

.login-form-v2 input,
.login-form-v2 select,
.login-form-v2 button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.login-form-v2 .input-icon-wrap {
    width: 100%;
}

/* Laptop sedang dan tablet landscape */
@media (max-width: 1180px) and (min-width: 981px) {
    .login-shell-v2 {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 44%);
    }

    .login-visual {
        padding: 30px 38px 24px;
    }

    .login-visual h1 {
        font-size: clamp(34px, 4vw, 42px);
    }

    .login-flow-v2 {
        gap: 8px;
    }

    .login-access {
        padding: 22px;
    }
}

/*
 * Tablet portrait dan seluruh ponsel:
 * paksa layout satu kolom. Aturan ini diletakkan di bagian paling bawah
 * agar mengalahkan aturan max-width:1100px dari patch visual sebelumnya.
 */
@media (max-width: 980px) {
    .login-body {
        min-height: 100svh;
        overflow-y: auto;
    }

    .login-shell-v2 {
        display: block !important;
        grid-template-columns: none !important;
        min-height: 100svh;
    }

    .login-visual {
        display: none !important;
    }

    .login-access {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 100svh;
        padding:
            max(18px, env(safe-area-inset-top))
            max(18px, env(safe-area-inset-right))
            max(18px, env(safe-area-inset-bottom))
            max(18px, env(safe-area-inset-left));
    }

    .login-card-v2 {
        position: relative;
        width: min(460px, 100%) !important;
        max-width: 100%;
        margin: auto;
        padding: clamp(22px, 5vw, 30px);
        border-radius: 22px;
    }

    .login-theme-toggle {
        position: fixed;
        top: max(12px, env(safe-area-inset-top));
        right: max(12px, env(safe-area-inset-right));
        z-index: 30;
    }

    .login-version {
        position: static !important;
        display: block;
        width: 100%;
        margin: 12px 0 0;
        text-align: center;
        line-height: 1.4;
    }

    .login-card-v2 h2 {
        font-size: clamp(25px, 6vw, 31px);
        text-wrap: balance;
    }

    .login-card-v2 > p.muted {
        font-size: clamp(12px, 3.3vw, 14px);
    }

    .login-form-v2 label {
        width: 100%;
    }

    .login-form-v2 .input-icon-wrap input,
    .login-form-v2 .input-icon-wrap select {
        width: 100% !important;
        min-width: 0;
        height: 46px;
        font-size: 14px;
        padding-right: 42px;
    }

    .login-role-hint {
        width: 100%;
        box-sizing: border-box;
    }

    .login-form-row {
        width: 100%;
        gap: 12px;
        flex-wrap: wrap;
    }

    .login-form-row .checkbox-row {
        flex: 1 1 auto;
    }

    .login-help-link {
        margin-left: auto;
        white-space: nowrap;
    }

    .login-form-v2 .btn-block {
        min-height: 46px;
    }
}

/* Ponsel umum */
@media (max-width: 600px) {
    .login-access {
        justify-content: flex-start;
        padding-top: max(54px, env(safe-area-inset-top));
    }

    .login-card-v2 {
        width: 100% !important;
        padding: 22px 18px 18px;
        border-radius: 18px;
    }

    .login-card-icon {
        width: 46px;
        height: 46px;
        border-radius: 15px;
        margin-bottom: 10px;
    }

    .login-card-v2 h2 {
        margin-top: 4px;
        margin-bottom: 7px;
    }

    .login-card-v2 > p.muted {
        margin-bottom: 15px;
        line-height: 1.45;
    }

    .login-form-v2 {
        gap: 10px;
    }

    .login-role-hint {
        padding: 10px 11px;
        line-height: 1.4;
    }

    .login-security-note {
        margin-top: 13px;
    }
}

/* Ponsel kecil */
@media (max-width: 390px) {
    .login-access {
        padding-left: 12px;
        padding-right: 12px;
    }

    .login-card-v2 {
        padding: 19px 14px 15px;
        border-radius: 16px;
    }

    .login-card-v2 h2 {
        font-size: 24px;
    }

    .login-card-v2 > p.muted {
        font-size: 12px;
    }

    .login-form-v2 .input-icon-wrap input,
    .login-form-v2 .input-icon-wrap select {
        height: 44px;
        font-size: 13px;
    }

    .login-role-hint span,
    .login-security-note p {
        font-size: 8.5px;
    }

    .login-form-row {
        align-items: flex-start;
    }
}

/*
 * Layar pendek, misalnya ponsel landscape atau browser dengan toolbar tinggi:
 * ringkas elemen nonutama agar tombol Masuk tetap terlihat.
 */
@media (max-width: 980px) and (max-height: 760px) {
    .login-access {
        justify-content: flex-start;
        padding-top: max(44px, env(safe-area-inset-top));
        padding-bottom: 10px;
    }

    .login-card-v2 {
        padding-top: 18px;
        padding-bottom: 14px;
    }

    .login-card-icon {
        width: 42px;
        height: 42px;
        margin-bottom: 8px;
    }

    .login-card-v2 .eyebrow {
        margin-bottom: 3px;
    }

    .login-card-v2 h2 {
        font-size: 24px;
        margin: 3px 0 5px;
    }

    .login-card-v2 > p.muted {
        margin-bottom: 11px;
        font-size: 12px;
    }

    .login-form-v2 {
        gap: 8px;
    }

    .login-form-v2 label {
        gap: 4px;
        font-size: 9.5px;
    }

    .login-form-v2 .input-icon-wrap input,
    .login-form-v2 .input-icon-wrap select {
        height: 42px;
    }

    .login-role-hint {
        padding: 8px 10px;
    }

    .login-security-note {
        display: none;
    }

    .login-version {
        display: none;
    }
}

/* Ponsel landscape yang sangat pendek */
@media (max-width: 980px) and (max-height: 560px) and (orientation: landscape) {
    .login-access {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .login-card-v2 {
        width: min(520px, 100%) !important;
        padding: 14px 18px 12px;
    }

    .login-card-icon,
    .login-card-v2 > .eyebrow,
    .login-card-v2 > p.muted,
    .login-role-hint {
        display: none;
    }

    .login-card-v2 h2 {
        font-size: 22px;
        margin: 0 0 9px;
    }

    .login-form-v2 {
        gap: 7px;
    }

    .login-form-v2 .input-icon-wrap input,
    .login-form-v2 .input-icon-wrap select {
        height: 40px;
    }
}

/* ==========================================================
   PATCH: Paginasi 6 proyek pada panel Proyek Terbaru
   Tanggal: 2026-07-26
   ========================================================== */

.project-pagination-v2{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:15px 18px 18px;
    border-top:1px solid var(--line);
    background:linear-gradient(180deg,transparent,var(--surface-2));
}

.project-pagination-summary{
    color:var(--muted);
    font-size:9px;
    line-height:1.5;
}

.project-pagination-summary strong{
    color:var(--ink);
    font-weight:800;
}

.project-pagination-links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:wrap;
}

.project-page-link{
    min-width:34px;
    height:34px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    color:var(--muted);
    font-size:9px;
    font-weight:750;
    transition:.18s ease;
}

.project-page-link:hover{
    color:var(--teal);
    border-color:rgba(10,157,140,.42);
    background:var(--mint-soft);
    transform:translateY(-1px);
}

.project-page-link.active{
    color:#fff;
    border-color:var(--teal);
    background:linear-gradient(145deg,var(--teal),#18aa98);
    box-shadow:0 8px 18px rgba(10,157,140,.18);
    pointer-events:none;
}

.project-page-link.disabled{
    opacity:.38;
    pointer-events:none;
}

.project-page-ellipsis{
    min-width:24px;
    text-align:center;
    color:var(--muted);
    font-size:10px;
}

@media(max-width:760px){
    .project-pagination-v2{
        align-items:flex-start;
        flex-direction:column;
        padding:13px 12px 15px;
    }

    .project-pagination-links{
        width:100%;
        justify-content:flex-start;
    }

    .project-page-link{
        min-width:32px;
        height:32px;
        padding:0 9px;
    }
}

@media(max-width:390px){
    .project-pagination-links{
        gap:5px;
    }

    .project-page-link{
        min-width:30px;
        height:30px;
        padding:0 8px;
        border-radius:9px;
    }

    .project-page-link .page-link-label{
        display:none;
    }
}

/* ==========================================================
   PATCH: Registrasi dan Verifikasi Administrator Rumah Sakit
   Tanggal: 2026-07-26
   ========================================================== */

.login-register-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:14px;
    padding-top:13px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:9px;
}

.login-register-cta a{
    color:var(--teal);
    font-weight:800;
}

.registration-body{
    min-height:100vh;
    margin:0;
    overflow-x:hidden;
    background:#061a20;
}

.registration-shell{
    position:relative;
    z-index:1;
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(520px,.72fr);
}

.registration-intro{
    min-width:0;
    padding:34px 54px 28px;
    display:flex;
    flex-direction:column;
    color:#efffff;
    background:
        radial-gradient(circle at 18% 22%,rgba(86,233,211,.22),transparent 25%),
        radial-gradient(circle at 83% 70%,rgba(44,137,216,.15),transparent 30%),
        linear-gradient(145deg,#08272f,#0b4c50 66%,#0a3741);
}

.registration-brand{
    width:max-content;
}

.registration-intro-content{
    max-width:840px;
    margin:auto 0;
}

.registration-intro-content .secure-chip{
    margin-bottom:24px;
}

.registration-intro-content h1{
    max-width:740px;
    margin:10px 0 16px;
    font-size:clamp(38px,4.4vw,58px);
    line-height:1.03;
    text-wrap:balance;
}

.registration-intro-content>p:last-of-type{
    max-width:720px;
    color:#b8d9d5;
    font-size:14px;
    line-height:1.75;
}

.registration-flow{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:28px;
}

.registration-flow article{
    position:relative;
    min-width:0;
    padding:16px;
    border:1px solid rgba(151,237,224,.14);
    border-radius:16px;
    background:rgba(5,34,41,.36);
}

.registration-flow article>span{
    position:absolute;
    right:10px;
    top:9px;
    color:#6ddcca;
    font-size:8px;
}

.registration-flow strong,
.registration-flow small{
    display:block;
}

.registration-flow strong{
    margin:14px 0 6px;
    font-size:11px;
}

.registration-flow small{
    color:#a8cbc7;
    font-size:8.5px;
    line-height:1.5;
}

.registration-intro-footer{
    display:flex;
    justify-content:space-between;
    gap:14px;
    color:#93bdb8;
    font-size:9px;
}

.registration-intro-footer span:first-child{
    display:flex;
    align-items:center;
    gap:7px;
}

.registration-form-side{
    position:relative;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    background:
        radial-gradient(circle at 10% 55%,rgba(50,146,218,.07),transparent 30%),
        var(--bg);
}

.registration-theme-toggle{
    position:absolute;
    top:20px;
    right:20px;
}

.registration-card{
    width:min(610px,100%);
    padding:28px;
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--surface);
    box-shadow:var(--shadow-lg);
}

.registration-card-head{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:19px;
}

.registration-card-head .login-card-icon{
    flex:0 0 auto;
    margin:0;
}

.registration-card-head h2{
    margin:3px 0 5px;
    font-size:27px;
}

.registration-card-head>div:last-child>p:last-child{
    margin:0;
    color:var(--muted);
    font-size:10px;
    line-height:1.5;
}

.registration-error{
    margin-bottom:14px;
}

.registration-error div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.registration-error strong{
    color:var(--red);
}

.registration-form{
    gap:12px;
}

.registration-form-grid{
    gap:11px;
}

.registration-form textarea{
    min-height:74px;
}

.registration-form label{
    gap:5px;
    font-size:10px;
}

.optional-label{
    display:inline;
    margin-left:4px;
    color:var(--muted);
    font-size:8px;
    font-weight:500;
}

.registration-file-control{
    display:block;
    padding:9px;
    border:1px dashed var(--line-strong);
    border-radius:12px;
    background:var(--surface-2);
}

.registration-file-control input{
    padding:7px;
    background:var(--surface);
}

.registration-file-control small{
    display:block;
    margin:6px 3px 1px;
    color:var(--muted);
    font-size:8px;
}

.registration-declaration{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:9px;
    padding:11px 12px;
    border-radius:12px;
    background:var(--surface-2);
    color:var(--muted);
    font-size:9px;
    font-weight:600;
    line-height:1.5;
}

.registration-declaration input{
    width:auto;
    margin-top:2px;
}

.registration-security-note{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:var(--muted);
}

.registration-security-note svg{
    flex:0 0 auto;
    color:var(--teal);
}

.registration-security-note p{
    margin:0;
    font-size:8.5px;
    line-height:1.5;
}

.registration-honeypot{
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
}

.registration-login-link{
    display:flex;
    justify-content:center;
    gap:6px;
    margin-top:15px;
    color:var(--muted);
    font-size:9px;
}

.registration-login-link a{
    color:var(--teal);
    font-weight:800;
}

.registration-success-body{
    display:grid;
    place-items:center;
    padding:22px;
}

.registration-success-shell{
    position:relative;
    z-index:1;
    width:min(720px,100%);
}

.registration-success-card{
    padding:38px;
    text-align:center;
    border:1px solid rgba(114,233,216,.22);
    border-radius:28px;
    background:var(--surface);
    box-shadow:var(--shadow-lg);
}

.registration-success-icon{
    width:78px;
    height:78px;
    margin:0 auto 17px;
    display:grid;
    place-items:center;
    border-radius:26px;
    color:#073e38;
    background:linear-gradient(145deg,#72ead6,#21ad9b);
    box-shadow:0 18px 38px rgba(40,211,187,.22);
}

.registration-success-card h1{
    margin:6px 0 10px;
    font-size:34px;
}

.registration-success-card>p{
    margin:0 auto;
    max-width:570px;
    color:var(--muted);
    line-height:1.65;
}

.registration-receipt{
    margin:24px 0;
    padding:0;
    border:1px solid var(--line);
    border-radius:16px;
    text-align:left;
    overflow:hidden;
}

.registration-receipt div{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:14px;
    padding:11px 14px;
    border-bottom:1px solid var(--line);
}

.registration-receipt div:last-child{
    border-bottom:0;
}

.registration-receipt dt{
    color:var(--muted);
    font-size:9px;
}

.registration-receipt dd{
    margin:0;
    color:var(--ink);
    font-size:10px;
    font-weight:800;
}

.registration-next-steps{
    padding:16px 18px;
    text-align:left;
    border-radius:15px;
    background:var(--surface-2);
}

.registration-next-steps strong{
    font-size:11px;
}

.registration-next-steps ol{
    margin:10px 0 0;
    padding-left:20px;
    color:var(--muted);
    font-size:9px;
    line-height:1.7;
}

.registration-success-actions{
    display:flex;
    justify-content:center;
    gap:9px;
    margin:20px 0 13px;
}

.registration-success-card>small{
    color:var(--muted);
    font-size:8px;
}

.registration-status{
    display:inline-flex;
    align-items:center;
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    font-size:8px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.registration-status.pending{
    color:var(--amber);
    background:rgba(230,163,56,.13);
}

.registration-status.approved{
    color:var(--green);
    background:rgba(45,185,132,.13);
}

.registration-status.rejected{
    color:var(--red);
    background:rgba(220,98,103,.13);
}

.registration-status.large{
    padding:7px 10px;
    font-size:9px;
}

.registration-admin-table td{
    vertical-align:middle;
}

.registration-document-link{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--teal);
}

.registration-document-link span{
    display:flex;
    flex-direction:column;
}

.registration-document-link strong{
    color:var(--ink);
    font-size:9px;
}

.registration-document-link small{
    color:var(--muted);
    font-size:8px;
}

.registration-review-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 390px;
    gap:18px;
}

.registration-review-main,
.registration-review-aside{
    display:flex;
    flex-direction:column;
    gap:18px;
    min-width:0;
}

.registration-detail-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:0;
    padding:17px;
    gap:0 18px;
}

.registration-detail-list div{
    padding:11px 0;
    border-bottom:1px solid var(--line);
}

.registration-detail-list .wide{
    grid-column:1/-1;
}

.registration-detail-list dt{
    margin-bottom:4px;
    color:var(--muted);
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.registration-detail-list dd{
    margin:0;
    color:var(--ink);
    font-size:10px;
    font-weight:700;
    line-height:1.55;
    overflow-wrap:anywhere;
}

.registration-document-preview{
    min-height:620px;
    padding:14px;
    background:var(--surface-2);
}

.registration-document-preview iframe{
    width:100%;
    height:720px;
    border:0;
    border-radius:12px;
    background:#fff;
}

.registration-document-preview img{
    display:block;
    max-width:100%;
    max-height:760px;
    margin:auto;
    border-radius:12px;
    box-shadow:var(--shadow);
}

.registration-decision-form{
    padding:15px 17px 18px;
}

.registration-decision-form .hospital-picker-admin{
    margin:0;
}

.registration-approval-impact{
    display:flex;
    align-items:flex-start;
    gap:9px;
    padding:11px;
    color:var(--teal);
    border-radius:12px;
    background:var(--mint-soft);
}

.registration-approval-impact p{
    margin:0;
    color:var(--muted);
    font-size:8.5px;
    line-height:1.5;
}

.registration-reject-panel{
    border-color:rgba(220,98,103,.22);
}

.registration-review-result{
    margin:0;
    padding:13px 17px 18px;
}

.registration-review-result div{
    padding:10px 0;
    border-bottom:1px solid var(--line);
}

.registration-review-result dt{
    margin-bottom:4px;
    color:var(--muted);
    font-size:8px;
}

.registration-review-result dd{
    margin:0;
    color:var(--ink);
    font-size:10px;
    line-height:1.55;
    overflow-wrap:anywhere;
}

.admin-confirmation{
    background:var(--mint-soft);
}

@media(max-width:1100px){
    .registration-shell{
        grid-template-columns:1fr;
    }

    .registration-intro{
        min-height:auto;
        padding:28px 34px;
    }

    .registration-intro-content{
        margin:40px 0 25px;
    }

    .registration-intro-content h1{
        font-size:40px;
    }

    .registration-form-side{
        padding:28px 20px 45px;
    }

    .registration-review-grid{
        grid-template-columns:1fr;
    }

    .registration-review-aside{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .registration-review-aside>article:only-child{
        grid-column:1/-1;
    }
}

@media(max-width:760px){
    .login-register-cta{
        flex-wrap:wrap;
    }

    .registration-intro{
        display:none;
    }

    .registration-form-side{
        min-height:100svh;
        padding:56px 13px 20px;
    }

    .registration-card{
        width:100%;
        padding:20px 15px;
        border-radius:19px;
    }

    .registration-card-head{
        gap:10px;
    }

    .registration-card-head h2{
        font-size:24px;
    }

    .registration-form-grid{
        grid-template-columns:1fr!important;
    }

    .registration-form-grid .span-2{
        grid-column:1!important;
    }

    .registration-success-body{
        padding:12px;
    }

    .registration-success-card{
        padding:27px 16px;
        border-radius:21px;
    }

    .registration-success-card h1{
        font-size:27px;
    }

    .registration-receipt div{
        grid-template-columns:1fr;
        gap:4px;
    }

    .registration-success-actions{
        flex-direction:column;
    }

    .registration-review-aside{
        display:flex;
    }

    .registration-detail-list{
        grid-template-columns:1fr;
        padding:13px;
    }

    .registration-detail-list .wide{
        grid-column:1;
    }

    .registration-document-preview{
        min-height:420px;
        padding:8px;
    }

    .registration-document-preview iframe{
        height:520px;
    }

    .registration-admin-table{
        min-width:920px;
    }
}


/* ==========================================================
   PATCH: Tombol Registrasi Administrator RS pada Login
   Tanggal: 2026-07-26
   ========================================================== */

.login-register-button-wrap{
    margin-top:10px;
}

.login-register-button{
    width:100%;
    min-height:46px;
    border-color:rgba(87,224,204,.26);
    background:linear-gradient(180deg,rgba(79,221,201,.10),rgba(79,221,201,.04));
    color:var(--teal);
    box-shadow:inset 0 0 0 1px rgba(87,224,204,.03);
}

.login-register-button:hover{
    color:var(--teal);
    border-color:rgba(87,224,204,.52);
    background:linear-gradient(180deg,rgba(79,221,201,.16),rgba(79,221,201,.07));
    box-shadow:0 10px 24px rgba(10,157,140,.10);
}

.login-register-button-note{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-size:8px;
    line-height:1.45;
    text-align:center;
}

@media(max-width:600px){
    .login-register-button-wrap{
        margin-top:8px;
    }

    .login-register-button{
        min-height:44px;
        padding-right:12px;
        padding-left:12px;
        font-size:10.5px;
    }
}


/* ==========================================================
   PATCH: Super Admin Kelola Administrator Nasional
   Tanggal: 2026-07-26
   ========================================================== */

.national-admin-layout{
    display:grid;
    grid-template-columns:390px minmax(0,1fr);
    gap:18px;
    align-items:start;
}

.national-admin-create-panel{
    position:sticky;
    top:calc(var(--topbar-h) + 18px);
}

.national-admin-form{
    padding:17px 19px 20px;
}

.national-admin-form label{
    font-size:10px;
}

.national-admin-role-note,
.national-admin-security-note{
    padding:12px;
    border-radius:13px;
}

.national-admin-role-note{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:var(--teal);
    background:var(--mint-soft);
}

.national-admin-role-note svg{
    flex:0 0 auto;
}

.national-admin-role-note strong,
.national-admin-security-note strong{
    display:block;
    color:var(--ink);
    font-size:9px;
}

.national-admin-role-note p,
.national-admin-security-note p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:8.5px;
    line-height:1.55;
}

.national-admin-role-note code{
    color:var(--teal);
    font-weight:800;
}

.national-admin-security-note{
    border:1px solid var(--line);
    background:var(--surface-2);
}

.national-admin-filter{
    margin:0;
}

.national-admin-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:16px 18px 20px;
}

.national-admin-card{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr) auto;
    gap:14px;
    align-items:center;
    padding:14px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--surface-2);
}

.national-admin-identity{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.national-admin-identity>div{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.national-admin-identity strong{
    color:var(--ink);
    font-size:11px;
}

.national-admin-identity span:not(.user-avatar){
    overflow:hidden;
    color:var(--muted);
    font-size:9px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.national-admin-identity small{
    margin-top:2px;
    color:var(--muted);
    font-size:8px;
}

.national-admin-state{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
}

.password-state{
    display:inline-flex;
    padding:4px 7px;
    border-radius:999px;
    font-size:7.5px;
    font-weight:750;
}

.password-state.ready{
    color:var(--green);
    background:rgba(45,185,132,.12);
}

.password-state.pending{
    color:var(--amber);
    background:rgba(230,163,56,.12);
}

.national-admin-state small{
    color:var(--muted);
    font-size:7.5px;
}

.national-admin-actions{
    display:flex;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
}

.national-admin-actions form{
    margin:0;
}

.admin-subnav a.super-admin-only{
    border-color:rgba(230,163,56,.18);
}

@media(max-width:1120px){
    .national-admin-layout{
        grid-template-columns:1fr;
    }

    .national-admin-create-panel{
        position:relative;
        top:auto;
    }

    .national-admin-card{
        grid-template-columns:minmax(0,1fr) minmax(170px,.6fr);
    }

    .national-admin-actions{
        grid-column:1/-1;
        justify-content:flex-start;
    }
}

@media(max-width:760px){
    .national-admin-form{
        padding:14px;
    }

    .national-admin-list{
        padding:12px;
    }

    .national-admin-card{
        grid-template-columns:1fr;
    }

    .national-admin-actions{
        grid-column:1;
    }

    .national-admin-actions .btn{
        width:100%;
    }

    .national-admin-actions form{
        flex:1 1 160px;
    }
}


/* ==========================================================
   HOTFIX: Posisi "Ingat sesi masuk" dan tombol registrasi
   Tanggal: 2026-07-26
   ========================================================== */

/* Pastikan baris opsi login memakai seluruh lebar form. */
.login-form-v2 .login-form-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-width:0 !important;
    gap:12px !important;
    margin:0 !important;
    flex-wrap:nowrap !important;
}

/* Paksa checkbox dan teks selalu mulai dari sisi kiri. */
.login-form-v2 .login-form-row .checkbox-row{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    white-space:nowrap !important;
}

.login-form-v2 .login-form-row .checkbox-row input[type="checkbox"]{
    width:16px !important;
    min-width:16px !important;
    max-width:16px !important;
    height:16px !important;
    min-height:16px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 16px !important;
    accent-color:var(--teal);
}

.login-form-v2 .login-form-row .checkbox-row span{
    display:inline-block !important;
    width:auto !important;
    margin:0 !important;
    color:var(--muted) !important;
    font-size:9px !important;
    line-height:1.25 !important;
    text-align:left !important;
}

.login-form-v2 .login-form-row .login-help-link{
    flex:0 0 auto !important;
    width:auto !important;
    margin:0 0 0 auto !important;
    text-align:right !important;
    white-space:nowrap !important;
}

/* Tombol registrasi: oranye lembut, tetap futuristik dan tidak terlalu agresif. */
.login-register-button{
    position:relative;
    overflow:hidden;
    width:100% !important;
    min-height:46px;
    border:1px solid rgba(245,158,11,.58) !important;
    color:#ffc36b !important;
    background:
        linear-gradient(135deg,rgba(245,158,11,.22),rgba(249,115,22,.12)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 0 0 1px rgba(245,158,11,.04),
        0 10px 26px rgba(245,158,11,.08) !important;
    text-shadow:0 0 18px rgba(255,177,70,.22);
}

.login-register-button::before{
    content:"";
    position:absolute;
    inset:-1px;
    pointer-events:none;
    background:
        linear-gradient(
            110deg,
            transparent 15%,
            rgba(255,214,150,.16) 45%,
            transparent 75%
        );
    transform:translateX(-120%);
    transition:transform .65s ease;
}

.login-register-button:hover{
    color:#ffe1b0 !important;
    border-color:rgba(251,146,60,.82) !important;
    background:
        linear-gradient(135deg,rgba(245,158,11,.30),rgba(249,115,22,.18)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.11),
        0 0 22px rgba(245,158,11,.16),
        0 12px 28px rgba(245,158,11,.14) !important;
    transform:translateY(-1px);
}

.login-register-button:hover::before{
    transform:translateX(120%);
}

.login-register-button:focus-visible{
    outline:2px solid rgba(245,158,11,.72) !important;
    outline-offset:3px;
}

.login-register-button svg{
    color:#ffb84d !important;
}

/* Tema terang: pertahankan kontras yang jelas. */
html[data-theme="light"] .login-register-button{
    color:#9a4d00 !important;
    border-color:rgba(217,119,6,.46) !important;
    background:
        linear-gradient(135deg,rgba(251,191,36,.20),rgba(249,115,22,.10)) !important;
    text-shadow:none;
}

html[data-theme="light"] .login-register-button:hover{
    color:#7c3f00 !important;
    border-color:rgba(217,119,6,.68) !important;
    background:
        linear-gradient(135deg,rgba(251,191,36,.29),rgba(249,115,22,.15)) !important;
}

/* Mobile: tetap kiri dan tidak pecah ke posisi tengah. */
@media(max-width:600px){
    .login-form-v2 .login-form-row{
        gap:10px !important;
    }

    .login-form-v2 .login-form-row .checkbox-row{
        flex:1 1 auto !important;
        width:auto !important;
    }

    .login-form-v2 .login-form-row .checkbox-row span{
        font-size:8.7px !important;
    }

    .login-form-v2 .login-form-row .login-help-link{
        font-size:8.5px !important;
    }

    .login-register-button{
        min-height:45px;
    }
}

/* Ponsel sangat sempit: checkbox tetap di kiri, tautan turun dengan rapi. */
@media(max-width:350px){
    .login-form-v2 .login-form-row{
        align-items:flex-start !important;
        flex-wrap:wrap !important;
        row-gap:7px !important;
    }

    .login-form-v2 .login-form-row .checkbox-row{
        flex:0 0 100% !important;
        width:100% !important;
    }

    .login-form-v2 .login-form-row .login-help-link{
        margin-left:24px !important;
        text-align:left !important;
    }
}


/* SmartPlan Knowledge Base refactor — 2026-08-18 */
.flash.warning{background:#fff7df;color:#7a5511;border:1px solid #ebd49a}
.admin-hero-metrics-four{grid-template-columns:repeat(4,minmax(100px,1fr));min-width:500px}
.knowledge-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.knowledge-tabs a{display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--muted);box-shadow:var(--shadow-xs)}
.knowledge-tabs a>svg{color:var(--teal)}
.knowledge-tabs a span{display:flex;flex-direction:column;gap:2px}.knowledge-tabs a strong{font-size:12px;color:var(--ink)}.knowledge-tabs a small{font-size:9px;color:var(--muted)}
.knowledge-tabs a.active{border-color:var(--teal-2);background:linear-gradient(135deg,var(--mint-soft),var(--surface));box-shadow:var(--shadow)}
.knowledge-top-grid{align-items:start}.compact-create-form{max-width:760px}.compact-create-form label{font-size:10px}
.integration-health-card{padding:16px 20px 20px}.integration-health-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.integration-health-summary small{color:var(--muted);font-size:9px;margin-left:auto}
.integration-checks{display:grid;gap:7px;margin-bottom:14px}.integration-checks>div{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.integration-checks p{margin:0;display:flex;flex-direction:column;gap:2px}.integration-checks strong{font-size:10px;text-transform:capitalize}.integration-checks small{font-size:8.5px;color:var(--muted);line-height:1.4}
.health-mark{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:900;background:var(--surface-3);color:var(--muted)}.health-mark.ok{background:rgba(45,185,132,.12);color:var(--green)}.health-mark.bad{background:rgba(220,98,103,.12);color:var(--red)}
.knowledge-flow-strip{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin:14px 0 18px;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.knowledge-flow-strip span{display:flex;flex-direction:column;gap:2px;min-width:0}.knowledge-flow-strip strong{font-size:10px;color:var(--ink)}.knowledge-flow-strip small{font-size:8px;color:var(--muted)}.knowledge-flow-strip b{color:var(--teal);font-size:15px}
.upload-first-box{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(380px,1.3fr);gap:18px;align-items:center}.upload-first-box p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.single-file-upload{display:flex;align-items:center;gap:10px}.file-drop-zone{position:relative;display:flex;align-items:center;gap:10px;flex:1;padding:13px 14px;border:1px dashed var(--teal-2);border-radius:13px;background:var(--surface);cursor:pointer;color:var(--teal)}
.file-drop-zone span{display:flex;flex-direction:column;gap:2px}.file-drop-zone strong{font-size:10px;color:var(--ink)}.file-drop-zone small{font-size:8px;color:var(--muted)}.file-drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.document-actions-cell{min-width:205px}.row-action-stack{display:flex;flex-wrap:wrap;gap:5px}.row-action-stack form{margin:0}
@media(max-width:1100px){.admin-hero-metrics-four{min-width:0;width:100%;grid-template-columns:repeat(2,1fr)}.upload-first-box{grid-template-columns:1fr}.single-file-upload{align-items:stretch}}
@media(max-width:720px){.knowledge-tabs{grid-template-columns:1fr}.knowledge-flow-strip{grid-template-columns:1fr}.knowledge-flow-strip b{transform:rotate(90deg);justify-self:center}.single-file-upload{flex-direction:column}.single-file-upload .btn{width:100%}.admin-hero-metrics-four{grid-template-columns:1fr 1fr}}

/* Dual generation status: Masterplan + Feasibility Study */
.generation-process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:14px}.generation-process-grid .process-panel{margin-bottom:0}.generation-process-card[data-state="queued"],.generation-process-card[data-state="in_progress"]{box-shadow:var(--shadow-xs)}.generation-process-card[data-state="failed"] .process-head>b{color:var(--danger)}
@media(max-width:760px){.generation-process-grid{grid-template-columns:1fr}}

/* PATCH: DataTable Dokumen Keluaran */
.generated-datatable-panel{overflow:hidden}.generated-table-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 16px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,var(--surface),var(--surface-2))}.generated-status-filters{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.generated-filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.generated-filter-chip b{min-width:18px;padding:2px 5px;border-radius:999px;background:var(--surface-3);color:inherit;font-size:8px}.generated-filter-chip:hover,.generated-filter-chip.active{border-color:var(--teal-2);color:var(--teal);background:var(--mint-soft)}.generated-filter-chip.success.active{color:var(--green);background:rgba(45,185,132,.12);border-color:rgba(45,185,132,.3)}.generated-filter-chip.process.active{color:var(--amber);background:rgba(230,163,56,.13);border-color:rgba(230,163,56,.3)}.generated-filter-chip.failed.active{color:var(--red);background:rgba(220,98,103,.12);border-color:rgba(220,98,103,.3)}.generated-table-controls{display:flex;gap:8px;align-items:center}.generated-search-field{min-width:225px;height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted)}.generated-search-field input{width:100%;border:0;background:transparent;padding:0;outline:0;color:var(--ink);font-size:9px}.generated-select-field{height:36px;display:flex;align-items:center;gap:6px;padding:0 8px 0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.generated-select-field span{font-size:8px;color:var(--muted)}.generated-select-field select{border:0;background:transparent;color:var(--ink);font-size:9px;font-weight:700;outline:0;padding:0 18px 0 2px}.generated-table-scroll{overflow:auto}.generated-document-table{width:100%;border-collapse:collapse;min-width:920px}.generated-document-table th{padding:10px 12px;text-align:left;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.generated-document-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:9px;color:var(--ink-2)}.generated-document-table tbody tr:last-child td{border-bottom:0}.generated-document-table tbody tr[data-document-row]:hover td{background:var(--surface-2)}.generated-document-table .number-col{width:48px;text-align:center}.generated-document-table .action-col{text-align:right}.generated-row-number{text-align:center;color:var(--muted);font-weight:800}.generated-type-badge{width:34px;height:34px;border-radius:11px;display:inline-grid;place-items:center;background:linear-gradient(145deg,#0c6d65,#59d9c4);color:#fff;font-size:9px;font-weight:900}.generated-type-badge.fs{background:linear-gradient(145deg,#4a3f9b,#917beb)}.generated-title-cell{min-width:280px}.generated-title-cell strong{display:block;color:var(--ink);font-size:10px;line-height:1.35}.generated-title-cell small,.generated-technical-status{display:block;margin-top:3px;color:var(--muted);font-size:7.5px}.generated-updated{white-space:nowrap;color:var(--muted)}.generated-row-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;white-space:nowrap}.generated-table-empty-row td{padding:25px!important}.generated-table-footer{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.generated-table-length{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:8px}.generated-table-length select{height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:8px;padding:0 22px 0 8px}.generated-table-summary{text-align:center;color:var(--muted);font-size:8px}.generated-pagination{display:flex;justify-content:flex-end;gap:4px;align-items:center}.generated-page-button{min-width:30px;height:30px;padding:0 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2);font-size:8px;font-weight:800;cursor:pointer}.generated-page-button:hover:not(:disabled),.generated-page-button.active{border-color:var(--teal-2);background:var(--mint-soft);color:var(--teal)}.generated-page-button:disabled{opacity:.4;cursor:not-allowed}.generated-page-ellipsis{padding:0 3px;color:var(--muted);font-size:9px}
@media(max-width:980px){.generated-table-toolbar{align-items:stretch;flex-direction:column}.generated-table-controls{width:100%}.generated-search-field{flex:1;min-width:0}.generated-table-footer{grid-template-columns:1fr auto}.generated-table-summary{grid-column:1/-1;grid-row:1;text-align:left}.generated-table-length{grid-row:2}.generated-pagination{grid-row:2}}
@media(max-width:600px){.generated-table-controls{flex-direction:column;align-items:stretch}.generated-search-field,.generated-select-field{width:100%}.generated-table-footer{display:flex;flex-direction:column;align-items:stretch}.generated-table-summary{text-align:left}.generated-pagination{justify-content:flex-start;overflow:auto;padding-bottom:2px}}
