@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

:root{--bg:#050b14;--panel:#0a1422;--panel-2:#0d1b2c;--line:rgba(142,190,226,.16);--muted:#7f94ab;--text:#ebeff7;--blue:#00b4ff;--blue-deep:#0a1b3d;--teal:#00e5b8;--gold:#f4c542;--shadow:0 24px 70px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;background:radial-gradient(circle at 72% -10%,rgba(0,180,255,.11),transparent 30%),var(--bg);color:var(--text);font-family:Poppins,Inter,system-ui,sans-serif;font-size:14px}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;flex:0 0 250px;min-height:100vh;background:linear-gradient(180deg,#081321 0%,#07101c 100%);border-right:1px solid var(--line);padding:28px 16px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 13px 34px}.brand-mark{font-size:28px;letter-spacing:-11px;font-weight:700;font-style:italic;background:linear-gradient(135deg,#1e68ff,#00e5b8);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(0,198,255,.6));width:47px}.brand-mark b{font-size:24px;color:#ecf6ff;font-style:normal;position:relative;top:-7px}.brand-copy{display:flex;flex-direction:column;margin-left:2px}.brand-copy strong{font-size:18px;letter-spacing:-.7px;line-height:1}.brand-copy strong span,.mobile-brand span{color:var(--blue)}.brand-copy small{font-size:6px;letter-spacing:1.5px;color:#9fb2c4;margin-top:5px;white-space:nowrap}.main-nav{display:flex;flex-direction:column;gap:6px}.nav-item{border:1px solid transparent;background:transparent;color:#a9b6c6;text-align:left;border-radius:10px;padding:12px 13px;display:flex;align-items:center;gap:13px;transition:.2s}.nav-item:hover{background:rgba(0,180,255,.07);color:#ecf7ff}.nav-item.active{background:linear-gradient(100deg,rgba(0,180,255,.28),rgba(12,42,74,.54));border-color:rgba(0,180,255,.38);color:#fff;box-shadow:0 0 22px rgba(0,180,255,.1)}.nav-icon{width:20px;text-align:center;color:#b7cce0;font-size:20px;line-height:1}.nav-item.active .nav-icon{color:var(--blue)}.sidebar-footer{margin-top:auto;padding:16px 11px 0;border-top:1px solid var(--line)}.status-dot{color:#93a8bb;font-size:11px;display:flex;align-items:center;gap:7px}.status-dot i,.live-chip i{width:7px;height:7px;border-radius:99px;background:var(--teal);box-shadow:0 0 12px var(--teal);display:inline-block}.version{color:#50667c;font-size:10px;margin-top:13px}.main-content{min-width:0;flex:1}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 clamp(24px,4vw,58px);background:rgba(5,11,20,.65);backdrop-filter:blur(18px);position:sticky;top:0;z-index:5}.mobile-brand{display:none;font-size:18px;font-weight:700}.search-box{width:min(470px,50vw);height:41px;background:rgba(18,35,54,.72);border:1px solid rgba(126,170,205,.2);border-radius:11px;display:flex;align-items:center;padding:0 13px;gap:10px;color:#7990a7}.search-box span{font-size:22px;line-height:0}.search-box input,.module-tools input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.search-box input::placeholder,.module-tools input::placeholder{color:#71869c}.top-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.icon-button{position:relative;color:#bbcee0;border:0;background:transparent;font-size:23px}.icon-button em{position:absolute;width:6px;height:6px;background:var(--teal);border-radius:50%;right:2px;top:1px}.profile{display:flex;align-items:center;gap:10px;color:#dce7f2}.profile strong{font-size:12px;display:block}.profile small{font-size:10px;color:#74899d;display:block}.profile>span{color:#7b91a5;margin-left:5px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:11px;background:linear-gradient(135deg,#0579c9,#00cda9);box-shadow:0 0 18px rgba(0,180,255,.25)}.content{padding:38px clamp(24px,4vw,58px) 56px;max-width:1480px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.eyebrow{margin:0 0 7px;color:#7290a9;font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase}.eyebrow.cyan{color:var(--blue)}h1,h2,p{margin-top:0}h1{font-size:clamp(24px,3vw,34px);letter-spacing:-1px;margin-bottom:7px}h1 span{color:var(--blue)}h2{font-size:18px;letter-spacing:-.3px;margin:0}.subtitle{color:var(--muted);font-size:12px;margin:0}.primary-button,.outline-button{border-radius:9px;padding:11px 17px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;transition:.2s}.primary-button{background:linear-gradient(110deg,#078ee0,#00bda4);box-shadow:0 8px 24px rgba(0,180,255,.18);font-size:12px;font-weight:600}.primary-button:hover{filter:brightness(1.15);transform:translateY(-1px)}.primary-button span{font-size:18px;line-height:0}.outline-button{background:rgba(0,180,255,.07);border-color:rgba(0,180,255,.4);font-size:11px}.outline-button:hover{background:rgba(0,180,255,.16)}.hero-card{min-height:230px;border:1px solid rgba(0,180,255,.23);border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(110deg,#08182b 0%,#07111e 61%,#0a1930 100%);padding:32px 35px;box-shadow:var(--shadow)}.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 35%,rgba(0,180,255,.08),transparent 80%);pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:410px}.hero-copy h2{font-size:30px;line-height:1.18;letter-spacing:-1.2px;margin-bottom:13px}.hero-copy h2 span{color:var(--teal)}.hero-copy>p:not(.eyebrow){color:#92a8ba;font-size:12px;max-width:330px;line-height:1.7;margin-bottom:18px}.hero-visual{position:absolute;right:10%;top:0;width:290px;height:100%;opacity:.82}.orb{position:absolute;border-radius:50%;filter:blur(20px)}.orb-one{width:150px;height:150px;right:50px;top:20px;background:rgba(0,180,255,.22)}.orb-two{width:100px;height:100px;right:0;bottom:5px;background:rgba(0,229,184,.2)}.human-line{position:absolute;right:83px;top:31px;font-size:128px;line-height:1;color:rgba(0,180,255,.18);text-shadow:0 0 26px #00b4ff}.wave-line{position:absolute;right:-7px;bottom:28px;color:#00e5b8;font-size:72px;transform:scaleX(2.4);text-shadow:0 0 14px rgba(0,229,184,.75)}.hero-glow{position:absolute;width:430px;height:160px;right:-90px;bottom:-94px;border-radius:50%;background:rgba(0,180,255,.23);filter:blur(45px)}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:36px 0 16px}.live-chip{color:#8ea8bc;font-size:10px;display:flex;gap:7px;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat-card{text-align:left;position:relative;padding:19px;background:linear-gradient(145deg,rgba(13,29,47,.96),rgba(7,16,28,.96));border:1px solid var(--line);border-radius:14px;color:var(--text);min-height:148px;transition:.2s;overflow:hidden}.stat-card:hover{transform:translateY(-3px);border-color:rgba(0,180,255,.4);box-shadow:0 14px 35px rgba(0,0,0,.2)}.stat-card:after{content:"";position:absolute;width:90px;height:90px;right:-28px;top:-25px;border-radius:50%;background:var(--accent);opacity:.1;filter:blur(8px)}.stat-card.blue{--accent:#168cff}.stat-card.teal{--accent:#00e5b8}.stat-card.cyan{--accent:#00b4ff}.stat-card.gold{--accent:#f4c542}.stat-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent);font-size:22px;margin-bottom:17px}.stat-label{font-size:11px;color:#aabac9;display:block}.stat-card strong{font-size:28px;display:block;margin-top:1px;letter-spacing:-1px}.stat-card small{display:block;color:#688198;font-size:9px;margin-top:7px}.stat-card small b{color:var(--accent);font-size:13px;margin-left:3px}.lower-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:15px;margin-top:15px}.panel{background:linear-gradient(145deg,rgba(11,24,39,.95),rgba(6,14,24,.95));border:1px solid var(--line);border-radius:14px;padding:21px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.text-button{border:0;background:transparent;color:var(--blue);font-size:11px;padding:5px}.empty-state{text-align:center;padding:34px 10px;color:#668099}.empty-state span{font-size:30px;color:#237ba4;display:block;margin-bottom:7px}.empty-state p{font-size:12px;color:#99adbe;margin-bottom:4px}.empty-state small{font-size:10px}.table-wrap{min-height:150px}.patient-row{display:grid;grid-template-columns:1.25fr 1fr .6fr;gap:15px;align-items:center;padding:12px 2px;border-top:1px solid rgba(142,190,226,.1)}.patient-row strong,.patient-row span{font-size:11px}.patient-row span{color:#91a6b8}.patient-row small{font-size:10px;color:#6d8499}.status-badge{color:var(--teal)!important;background:rgba(0,229,184,.09);border:1px solid rgba(0,229,184,.18);padding:4px 7px;border-radius:5px;text-align:center}.quick-list{display:flex;flex-direction:column;gap:6px}.quick-list button{display:flex;align-items:center;text-align:left;gap:11px;padding:10px 4px;border:0;background:transparent;color:var(--text);border-radius:8px}.quick-list button:hover{background:rgba(0,180,255,.06)}.quick-list button>span:nth-child(2){flex:1}.quick-list strong,.quick-list small{display:block}.quick-list strong{font-size:11px}.quick-list small{font-size:10px;color:#71879d;margin-top:2px}.quick-list button>b{color:#5c7f9b;font-size:17px}.quick-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;font-size:20px}.blue-icon{color:var(--blue);background:rgba(0,180,255,.1)}.cyan-icon{color:#45dfff;background:rgba(0,180,255,.1)}.teal-icon{color:var(--teal);background:rgba(0,229,184,.1)}.hidden{display:none!important}.module-tools{width:210px;background:#0a1727;border:1px solid var(--line);border-radius:8px;padding:9px 11px}.module-panel{min-height:420px}.module-table{width:100%;border-collapse:collapse}.module-table th{text-align:left;color:#6c849a;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;padding:10px;border-bottom:1px solid var(--line)}.module-table td{color:#c6d3df;font-size:11px;padding:14px 10px;border-bottom:1px solid rgba(142,190,226,.08)}.module-table td.muted{color:#71879b}.modal-backdrop{position:fixed;inset:0;background:rgba(1,5,10,.78);backdrop-filter:blur(8px);z-index:20;display:grid;place-items:center;padding:20px}.modal{position:relative;width:min(540px,100%);background:linear-gradient(145deg,#0d1e31,#07111e);border:1px solid rgba(0,180,255,.28);border-radius:16px;padding:29px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal h2{font-size:24px;margin-bottom:7px}.modal-intro{font-size:11px;color:#7d93a7;margin-bottom:24px}.modal-close{position:absolute;right:17px;top:13px;border:0;background:transparent;color:#8da3b5;font-size:24px}.modal form{display:flex;flex-direction:column;gap:15px}.modal label{font-size:11px;color:#9bb0c2;display:flex;flex-direction:column;gap:6px}.modal input{background:#071321;border:1px solid rgba(142,190,226,.18);border-radius:8px;color:#eaf2f9;outline:0;padding:11px 12px;font-size:12px}.modal input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,180,255,.09)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.form-message{font-size:11px;color:#ff8c8c;min-height:15px;margin:0}.toast{position:fixed;right:26px;bottom:25px;background:#0c2b32;border:1px solid rgba(0,229,184,.35);color:#a5ffeb;padding:12px 16px;border-radius:8px;font-size:12px;z-index:30;box-shadow:0 10px 28px rgba(0,0,0,.3)}
@media(max-width:1050px){.sidebar{width:215px;flex-basis:215px}.stats-grid{grid-template-columns:repeat(2,1fr)}.lower-grid{grid-template-columns:1fr}.hero-visual{right:0;opacity:.55}}
@media(max-width:700px){.sidebar{display:none}.topbar{height:70px;padding:0 18px;gap:14px}.mobile-brand{display:block}.search-box{flex:1;width:auto}.profile>div:not(.avatar),.profile>span{display:none}.top-actions{gap:5px}.content{padding:27px 18px 42px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.primary-button{align-self:stretch}.hero-card{padding:25px 22px;min-height:260px}.hero-copy h2{font-size:25px}.hero-visual{right:-80px;opacity:.4}.stats-grid{gap:10px}.stat-card{padding:14px;min-height:135px}.stat-card strong{font-size:24px}.panel{padding:16px}.module-tools{width:145px}.patient-row{grid-template-columns:1fr .6fr}.patient-row>span:nth-child(2){display:none}.form-row{grid-template-columns:1fr}.modal{padding:25px 19px}}


/* Responsive navigation and supplied RatesBook brand artwork */
.brand{justify-content:center;padding-left:8px;padding-right:8px}
.brand-logo{display:block;width:207px;max-width:100%;height:auto;object-fit:contain}
.mobile-logo{display:none;width:148px;height:auto;max-height:43px;object-fit:contain;border-radius:4px}
.sidebar{position:relative;z-index:20;transition:width .25s ease,flex-basis .25s ease,padding .25s ease,transform .25s ease,opacity .2s ease}
body.sidebar-collapsed .sidebar{width:0;flex-basis:0;padding-left:0;padding-right:0;overflow:hidden;opacity:0;pointer-events:none;border-right:0}
.sidebar-toggle{width:38px;height:38px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(142,190,226,.18);border-radius:9px;background:rgba(18,35,54,.72);color:#b8d2e7;flex:0 0 auto;transition:.2s}
.sidebar-toggle:hover{border-color:rgba(0,180,255,.55);background:rgba(0,180,255,.12)}
.sidebar-toggle span{width:16px;height:2px;border-radius:3px;background:currentColor;transition:.2s}
body.sidebar-collapsed .sidebar-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.sidebar-collapsed .sidebar-toggle span:nth-child(2){opacity:0}
body.sidebar-collapsed .sidebar-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.sidebar-backdrop{display:none}
@media(max-width:700px){
  .topbar{gap:10px}
  .mobile-logo{display:block}
  .sidebar-toggle{order:-1}
  .sidebar{display:flex;width:250px;flex-basis:250px;position:fixed;inset:0 auto 0 0;height:100vh;min-height:100vh;transform:translateX(-105%);box-shadow:20px 0 55px rgba(0,0,0,.55);overflow-y:auto;overflow-x:hidden;opacity:1;pointer-events:auto}
  body.sidebar-mobile-open #app-sidebar{transform:translateX(0)}
  body.sidebar-mobile-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(1,5,10,.68);backdrop-filter:blur(3px);z-index:15}
  body.sidebar-collapsed .sidebar{width:250px;flex-basis:250px;padding:28px 16px 20px;opacity:1;pointer-events:auto;border-right:1px solid var(--line)}
  body.sidebar-collapsed #app-sidebar{transform:translateX(-105%)}
  body.sidebar-collapsed.sidebar-mobile-open #app-sidebar{transform:translateX(0)}
  body.sidebar-mobile-open .sidebar-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  body.sidebar-mobile-open .sidebar-toggle span:nth-child(2){opacity:0}
  body.sidebar-mobile-open .sidebar-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .brand-logo{width:207px}
}


/* Collapsed sidebar: keep a narrow icon rail instead of hiding the whole menu. */
body.sidebar-collapsed .sidebar{
  width:72px;
  flex-basis:72px;
  padding:24px 10px 20px;
  overflow:visible;
  opacity:1;
  pointer-events:auto;
  border-right:1px solid var(--line);
}
body.sidebar-collapsed .brand{
  justify-content:center;
  padding:0 0 30px;
}
body.sidebar-collapsed .brand-logo{
  width:52px;
  max-width:none;
}
body.sidebar-collapsed .nav-item{
  justify-content:center;
  padding:12px 0;
  gap:0;
}
body.sidebar-collapsed .nav-label,
body.sidebar-collapsed .status-label,
body.sidebar-collapsed .version{
  display:none;
}
body.sidebar-collapsed .nav-icon{
  width:28px;
  font-size:22px;
}
body.sidebar-collapsed .sidebar-footer{
  padding-left:0;
  padding-right:0;
}
body.sidebar-collapsed .status-dot{
  justify-content:center;
}

/* Keep the mobile drawer full width even when the desktop rail class exists. */
@media(max-width:700px){
  body.sidebar-collapsed .sidebar{
    width:250px;
    flex-basis:250px;
    padding:28px 16px 20px;
    overflow-y:auto;
    opacity:1;
    pointer-events:auto;
    border-right:1px solid var(--line);
  }
  body.sidebar-collapsed .brand{
    justify-content:center;
    padding:0 8px 34px;
  }
  body.sidebar-collapsed .brand-logo{width:207px;max-width:100%}
  body.sidebar-collapsed .nav-item{justify-content:flex-start;padding:12px 13px;gap:13px}
  body.sidebar-collapsed .nav-label,
  body.sidebar-collapsed .status-label,
  body.sidebar-collapsed .version{display:block}
  body.sidebar-collapsed .nav-icon{width:20px;font-size:20px}
  body.sidebar-collapsed .status-dot{justify-content:flex-start}
}


/* Sidebar brand sizing: smaller and balanced inside the 250px navigation rail. */
.brand-logo{width:160px;max-width:100%;height:auto}
body.sidebar-collapsed .brand-logo{width:44px;max-width:none}
@media(max-width:700px){
  .brand-logo{width:160px;max-width:100%}
  body.sidebar-collapsed .brand-logo{width:160px;max-width:100%}
}


/* Layout density: use more of the available viewport without changing the mobile composition. */
.topbar{padding-left:24px;padding-right:24px}
.content{max-width:none;padding-left:clamp(16px,2.2vw,34px);padding-right:clamp(16px,2.2vw,34px)}
@media(max-width:700px){
  .topbar{padding-left:16px;padding-right:16px}
  .content{padding-left:16px;padding-right:16px}
}


/* Phase selector in the main dashboard heading. */
.heading-topline{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:7px}
.heading-topline .eyebrow{margin-bottom:0}
.phase-selector{display:inline-flex;align-items:center;gap:9px;color:#a6bacb;font-size:11px;font-weight:500;letter-spacing:.1px}
.phase-selector select{appearance:none;min-width:126px;border:1px solid rgba(0,180,255,.36);border-radius:8px;background:linear-gradient(135deg,rgba(10,36,61,.96),rgba(7,22,37,.96));color:#eaf5ff;padding:8px 29px 8px 11px;outline:0;font-size:11px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#72b6d8 50%),linear-gradient(135deg,#72b6d8 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.phase-selector select:hover,.phase-selector select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,180,255,.1)}
.phase-selector select option{background:#0b1b2d;color:#eaf5ff}
@media(max-width:700px){.heading-topline{gap:10px}.phase-selector{width:100%;justify-content:space-between}.phase-selector select{min-width:145px}}


/* Phase selector emphasis: the main control is intentionally larger and easier to read. */
.heading-topline{margin-bottom:13px}
.phase-selector{gap:12px;font-size:14px;font-weight:600}
.phase-selector select{min-width:165px;padding:11px 34px 11px 14px;font-size:13px;border-radius:9px}
@media(max-width:700px){
  .phase-selector{font-size:13px}
  .phase-selector select{min-width:165px;font-size:12px}
}


/* Accessibility emphasis for the primary phase control. */
.phase-selector{
  color:#ffffff;
  font-size:18px;
  font-weight:700;
  gap:14px;
  line-height:1.35;
}
.phase-selector select{
  min-width:220px;
  min-height:50px;
  padding:13px 40px 13px 16px;
  color:#ffffff;
  font-size:17px;
  font-weight:600;
  border-width:2px;
  border-radius:10px;
}
.phase-selector select option{color:#ffffff;background:#0b1b2d}
@media(max-width:700px){
  .phase-selector{font-size:16px;gap:10px}
  .phase-selector select{min-width:200px;min-height:48px;font-size:16px}
}


/* Main control panel split: 60% content and 40% visual area. */
.hero-card{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,2fr);
  gap:0;
  padding:0;
}
.hero-left-panel{
  position:relative;
  z-index:2;
  min-width:0;
  display:flex;
  align-items:center;
  padding:32px 35px;
  border-right:1px solid rgba(0,180,255,.18);
  background:linear-gradient(120deg,rgba(8,24,43,.98),rgba(7,17,30,.92));
}
.hero-right-panel{
  position:relative;
  min-width:0;
  min-height:230px;
  overflow:hidden;
  background:radial-gradient(circle at 48% 48%,rgba(0,180,255,.14),transparent 42%),linear-gradient(135deg,#07192d,#09182b 55%,#0a203a);
}
.hero-right-panel .hero-visual{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  right:auto;
  top:auto;
  opacity:.9;
}
.hero-right-panel .orb-one{right:28%;top:16px}
.hero-right-panel .orb-two{right:4%;bottom:5px}
.hero-right-panel .human-line{right:43%;top:31px}
.hero-right-panel .wave-line{right:18%;bottom:28px}
.hero-right-panel:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,11,20,.18),transparent 45%,rgba(0,229,184,.05));
  pointer-events:none;
}
@media(max-width:700px){
  .hero-card{grid-template-columns:1fr}
  .hero-left-panel{padding:25px 22px;border-right:0;border-bottom:1px solid rgba(0,180,255,.18)}
  .hero-right-panel{min-height:175px}
  .hero-right-panel .hero-visual{opacity:.7}
  .hero-right-panel .human-line{right:42%;top:18px}
  .hero-right-panel .wave-line{right:16%;bottom:18px}
}


/* Whole dashboard module: all existing content on the left 60%, clean reserved area on the right 40%. */
.dashboard-layout{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,2fr);
  gap:18px;
  align-items:stretch;
}
.dashboard-left-panel{min-width:0}
.dashboard-right-panel{
  min-width:0;
  min-height:100%;
  border:1px solid rgba(142,190,226,.10);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(6,14,24,.18),rgba(5,11,20,.05));
}

/* The former inner split is kept as one complete banner inside the left panel. */
.dashboard-left-panel .hero-card{
  display:block;
  padding:32px 35px;
}
.dashboard-left-panel .hero-left-panel{
  display:block;
  padding:0;
  border-right:0;
  background:transparent;
}
.dashboard-left-panel .hero-right-panel{
  position:static;
  min-height:0;
  overflow:visible;
  background:transparent;
}
.dashboard-left-panel .hero-right-panel .hero-visual{
  position:absolute;
  inset:auto;
  right:10%;
  top:0;
  width:290px;
  height:100%;
  opacity:.82;
}
.dashboard-left-panel .hero-right-panel .orb-one{right:50px;top:20px}
.dashboard-left-panel .hero-right-panel .orb-two{right:0;bottom:5px}
.dashboard-left-panel .hero-right-panel .human-line{right:83px;top:31px}
.dashboard-left-panel .hero-right-panel .wave-line{right:-7px;bottom:28px}
.dashboard-left-panel .hero-right-panel:after{display:none}

@media(max-width:900px){
  .dashboard-layout{grid-template-columns:1fr}
  .dashboard-right-panel{display:none}
}
@media(max-width:700px){
  .dashboard-left-panel .hero-card{padding:25px 22px}
  .dashboard-left-panel .hero-right-panel .hero-visual{position:absolute;right:-80px;top:0;width:290px;height:100%;opacity:.4}
}


/* Two-row launcher grid for the main dashboard. */
.dashboard-shortcuts{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin:0 0 22px;
}
.shortcut-card{
  min-width:0;
  min-height:112px;
  padding:16px 8px 13px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px solid rgba(142,190,226,.22);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(14,34,54,.98),rgba(7,17,29,.98));
  color:#f4f8fc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.16);
  transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;
}
.shortcut-card:hover,.shortcut-card:focus-visible{
  transform:translateY(-3px);
  border-color:var(--shortcut-color);
  background:linear-gradient(145deg,rgba(16,46,72,.98),rgba(7,23,39,.98));
  box-shadow:0 10px 28px color-mix(in srgb,var(--shortcut-color) 18%,transparent),inset 0 0 22px color-mix(in srgb,var(--shortcut-color) 8%,transparent);
  outline:none;
}
.shortcut-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--shortcut-color);
  border:1px solid color-mix(in srgb,var(--shortcut-color) 45%,transparent);
  background:color-mix(in srgb,var(--shortcut-color) 13%,transparent);
  box-shadow:0 0 18px color-mix(in srgb,var(--shortcut-color) 18%,transparent);
  font-size:29px;
  line-height:1;
}
.shortcut-card strong{
  color:#ffffff;
  font-size:13px;
  line-height:1.15;
  text-align:center;
  overflow-wrap:anywhere;
}
.shortcut-blue{--shortcut-color:#00b4ff}.shortcut-teal{--shortcut-color:#00e5b8}.shortcut-cyan{--shortcut-color:#28c8ff}.shortcut-gold{--shortcut-color:#f4c542}.shortcut-purple{--shortcut-color:#a78bfa}
@media(max-width:1200px){
  .dashboard-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
  .shortcut-card{min-height:104px;padding:13px 7px 11px}
  .shortcut-icon{width:42px;height:42px;font-size:26px}
  .shortcut-card strong{font-size:13px}
}


/* Gestionar FASES workspace. */
.phase-workspace{display:flex;flex-direction:column;gap:16px}
.phase-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.phase-tab{min-height:52px;border:1px solid rgba(0,180,255,.25);border-radius:10px;background:linear-gradient(145deg,#0d2136,#081523);color:#d8e8f4;font-size:14px;font-weight:700;transition:.2s}
.phase-tab:hover,.phase-tab:focus-visible{border-color:var(--blue);color:#fff;outline:none;box-shadow:0 0 18px rgba(0,180,255,.12)}
.phase-tab.active{background:linear-gradient(110deg,#087ec4,#008f8a);border-color:#49e4e0;color:#fff;box-shadow:0 0 22px rgba(0,229,184,.16)}
.phase-selection-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(0,229,184,.2);border-radius:11px;background:linear-gradient(100deg,rgba(0,229,184,.09),rgba(0,180,255,.06));color:#aac1d0}
.phase-selection-banner span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#72e8d2;font-weight:700}.phase-selection-banner strong{font-size:17px;color:#fff}.phase-selection-banner small{margin-left:auto;font-size:11px;color:#8fa6b8}
.phase-actions-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.phase-action{min-height:98px;padding:11px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(142,190,226,.18);border-radius:11px;background:linear-gradient(145deg,rgba(13,31,50,.98),rgba(7,17,29,.98));color:#fff;transition:.2s;--phase-color:#00b4ff}
.phase-action:hover,.phase-action:focus-visible,.phase-action.active{transform:translateY(-2px);border-color:var(--phase-color);box-shadow:0 0 18px color-mix(in srgb,var(--phase-color) 18%,transparent);outline:none}
.phase-action>span{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--phase-color);background:color-mix(in srgb,var(--phase-color) 13%,transparent);border:1px solid color-mix(in srgb,var(--phase-color) 36%,transparent);font-size:22px}.phase-action strong{font-size:11px;text-align:center;line-height:1.15;color:#f4f8fc;overflow-wrap:anywhere}
.phase-action-0{--phase-color:#00b4ff}.phase-action-1{--phase-color:#00e5b8}.phase-action-2{--phase-color:#28c8ff}.phase-action-3{--phase-color:#f4c542}.phase-action-4{--phase-color:#a78bfa}
.legacy-results{padding:18px;border:1px solid rgba(0,180,255,.2);border-radius:13px;background:linear-gradient(145deg,rgba(11,27,44,.96),rgba(6,14,24,.96))}.legacy-results-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.legacy-results-heading h3{margin:0;font-size:17px;color:#fff}.legacy-count{font-size:11px;color:#79a6bf;padding-top:4px}.legacy-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto;padding-right:3px}.indice-choice{min-width:0;display:grid;grid-template-columns:30px 1fr 18px;align-items:center;gap:7px;text-align:left;padding:10px;border:1px solid rgba(142,190,226,.13);border-radius:8px;background:#091827;color:#fff;transition:.2s}.indice-choice:hover,.indice-choice:focus-visible{border-color:var(--blue);background:#0c2439;outline:none}.indice-choice>span{font-size:10px;color:#6f8ca1}.indice-choice strong{font-size:11px;line-height:1.2;overflow-wrap:anywhere}.indice-choice b{font-size:16px;color:#47d8dd}.legacy-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:300px;overflow:auto}.legacy-detail-card{display:flex;align-items:flex-start;gap:10px;padding:11px;border-radius:8px;background:#091827;border:1px solid rgba(0,229,184,.15)}.legacy-detail-card span{font-size:10px;color:#6f8ca1}.legacy-detail-card strong{font-size:12px;color:#fff;line-height:1.35}.legacy-loading{padding:24px;text-align:center;color:#8ea7ba;font-size:12px}
@media(max-width:1100px){.phase-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.legacy-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.phase-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-selection-banner{align-items:flex-start;flex-wrap:wrap}.phase-selection-banner small{width:100%;margin-left:0}.phase-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-index-grid,.legacy-detail-list{grid-template-columns:1fr}.phase-tab{font-size:13px}}
