/* 360 Degrees — shared product theme. Injected after page-level styles by serveHtml(). */
:root{
  --koru:#0f6f74 !important;
  --koru-light:#15989b !important;
  --earth:#102a35 !important;
  --sand:#f4f8f7 !important;
  --sand-dark:#dfe9e6 !important;
  --white:#ffffff !important;
  --text:#10242d !important;
  --text-muted:#5c6e73 !important;
  --accent:#e86f51 !important;
  --brand-360-navy:#102a35;
  --brand-360-teal:#0f6f74;
  --brand-360-aqua:#65d4cb;
  --brand-360-lime:#d9ef79;
  --brand-360-coral:#e86f51;
  --brand-360-paper:#f4f8f7;
}
html,body{background:var(--brand-360-paper);color:var(--brand-360-navy)}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
h1,h2,h3,h4,.logo,.brand,.sidebar-brand{font-family:"Source Serif 4",Georgia,serif}
nav,.topbar,.top-nav,.app-header,.portal-header,.site-header{border-color:rgba(16,42,53,.1)!important}
nav{background:rgba(244,248,247,.92)!important}
.brand-360-lockup{display:inline-flex!important;align-items:center!important;gap:.72rem!important;text-decoration:none!important;color:var(--brand-360-navy)!important;line-height:1!important}
.brand-360-mark{width:42px;height:42px;border-radius:50%;display:inline-grid;place-items:center;flex:0 0 auto;background:var(--brand-360-navy);color:#fff;font:700 15px/1 Inter,sans-serif;letter-spacing:-.06em;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.brand-360-mark:before,.brand-360-mark:after{content:"";position:absolute;border-radius:50%;border:1.5px solid var(--brand-360-aqua)}
.brand-360-mark:before{inset:5px}.brand-360-mark:after{inset:10px;border-color:var(--brand-360-lime);border-left-color:transparent}
.brand-360-mark b{position:relative;z-index:2;font-weight:800}
.brand-360-copy{display:grid;gap:.18rem}.brand-360-copy strong{font:650 1.05rem/1 "Source Serif 4",Georgia,serif;letter-spacing:-.025em}.brand-360-copy small{font:700 .58rem/1.1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-360-teal)}
.card,.panel,.feature-card,.stat-card,.metric-card,.dashboard-card,.form-card,.content-card{border-color:rgba(16,42,53,.10)!important;box-shadow:0 12px 36px rgba(16,42,53,.055)!important}
button,.btn,.button,[class*="btn-primary"]{border-radius:10px}
.btn-primary,.primary,.nav-cta,button[type="submit"]{background:var(--brand-360-teal)!important;border-color:var(--brand-360-teal)!important;color:#fff!important}
.btn-primary:hover,.nav-cta:hover,button[type="submit"]:hover{background:var(--brand-360-navy)!important;border-color:var(--brand-360-navy)!important}
input:focus,select:focus,textarea:focus{border-color:var(--brand-360-teal)!important;outline-color:var(--brand-360-aqua)!important}
#__sidebar{background:var(--brand-360-navy)!important;border-right:1px solid rgba(101,212,203,.18)!important}
#__sidebar .sb-header,#__sidebar .sb-footer{border-color:rgba(101,212,203,.16)!important}
#__sidebar .sb-logo{display:flex!important;align-items:center!important;text-decoration:none!important;color:#fff!important}
#__sidebar .sb-logo .brand-360-lockup{color:#fff!important}
#__sidebar .sb-logo .brand-360-mark{width:36px;height:36px;background:var(--brand-360-teal)!important}
#__sidebar .sb-logo .brand-360-copy strong{color:#fff!important;font-size:.92rem}
#__sidebar .sb-logo .brand-360-copy small{color:var(--brand-360-aqua)!important;font-size:.51rem}
#__sidebar .sb-nav a,#__sidebar .sb-nav button{color:rgba(255,255,255,.72)!important}
#__sidebar .sb-nav a:hover{background:rgba(101,212,203,.10)!important;color:#fff!important}
#__sidebar .sb-nav a.active{background:rgba(101,212,203,.14)!important;color:var(--brand-360-aqua)!important;font-weight:650!important}
#__sidebar .sb-avatar{background:var(--brand-360-teal)!important;color:#fff!important}
#__sidebar .sb-signout{border-color:rgba(232,111,81,.32)!important;color:#ffb29f!important;background:rgba(232,111,81,.08)!important}
#__notif-dropdown .nn-all-link{color:var(--brand-360-teal)!important}
.sidebar,.side-nav,.portal-sidebar,[class*="sidebar"]{--sidebar-accent:var(--brand-360-aqua)}
.sidebar a.active,.side-nav a.active,[class*="sidebar"] a.active{background:rgba(15,111,116,.09)!important;color:var(--brand-360-teal)!important}
.hero:after,.auth-page main:after{content:"";position:absolute;pointer-events:none;border-radius:50%;border:1px solid rgba(15,111,116,.10);width:34vw;height:34vw;max-width:520px;max-height:520px;min-width:240px;min-height:240px;right:-12vw;top:12vh;box-shadow:0 0 0 48px rgba(101,212,203,.035),0 0 0 96px rgba(217,239,121,.025);z-index:0}
.hero>*{position:relative;z-index:1}
.badge-success,.status-success,.success{--status-color:#23866f}.badge-warning,.status-warning,.warning{--status-color:#b97a24}.badge-danger,.status-danger,.danger{--status-color:#b84f4f}

/* ROLE-SPECIFIC HOME EXPERIENCES */
.role-experience{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:34px;margin:0 0 28px;padding:28px 30px;border-radius:22px;border:1px solid rgba(16,42,53,.09);min-height:176px}
.role-exp-copy{position:relative;z-index:2;max-width:780px}.role-exp-kicker{display:block;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}.role-experience h1{font-size:clamp(2rem,4vw,3.4rem)!important;line-height:.98!important;letter-spacing:-.04em!important;margin:0 0 12px!important}.role-experience p{font-size:.96rem;line-height:1.6;max-width:690px;margin:0!important}.role-exp-orbit{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}.role-exp-orbit:before,.role-exp-orbit:after{content:"";position:absolute;border-radius:50%;inset:12px;border:1px solid currentColor;opacity:.35}.role-exp-orbit:after{inset:27px;opacity:.55;border-left-color:transparent}.role-exp-orbit b{font:700 1.85rem/1 "Source Serif 4",serif;letter-spacing:-.06em;position:relative;z-index:2}.role-exp-orbit span{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.56rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}

/* SUPER ADMIN — control room: dark, dense, system/risk focused */
html[data-role="admin"] body{background:#edf2f3!important}html[data-role="admin"] .role-experience{background:linear-gradient(135deg,#081a21,#102a35 72%,#18434c);color:#fff;border-color:rgba(101,212,203,.18);box-shadow:0 24px 60px rgba(8,26,33,.14)}html[data-role="admin"] .role-exp-kicker{color:var(--brand-360-aqua)}html[data-role="admin"] .role-experience p{color:rgba(255,255,255,.68)}html[data-role="admin"] .role-exp-orbit{background:rgba(255,255,255,.05);color:var(--brand-360-aqua);box-shadow:0 0 0 22px rgba(101,212,203,.035)}html[data-role="admin"] .role-exp-orbit b{color:#fff}html[data-role="admin"] .kpi-card,html[data-role="admin"] .section-card,html[data-role="admin"] .action-card,html[data-role="admin"] .activity-list{border-radius:14px!important;border-color:rgba(16,42,53,.11)!important}html[data-role="admin"] .kpi-card.amber-highlight{border-left:4px solid var(--brand-360-coral)!important}

/* ORGANISATION ADMIN — command centre: teal operational dashboard */
html[data-role="organisation"] body{background:#f0f7f5!important}html[data-role="organisation"] .role-experience{background:linear-gradient(135deg,#dff1ed,#eef8f5);color:var(--brand-360-navy);border-color:rgba(15,111,116,.15)}html[data-role="organisation"] .role-exp-kicker{color:var(--brand-360-teal)}html[data-role="organisation"] .role-experience p{color:#536e72}html[data-role="organisation"] .role-exp-orbit{background:var(--brand-360-teal);color:var(--brand-360-aqua);box-shadow:0 0 0 20px rgba(15,111,116,.05)}html[data-role="organisation"] .role-exp-orbit b{color:white}html[data-role="organisation"] .kpi-card{border-radius:16px!important;border-top:3px solid rgba(15,111,116,.28)!important}html[data-role="organisation"] .section-card{border-radius:16px!important;box-shadow:0 10px 30px rgba(15,111,116,.055)!important}

/* CASE MANAGER — my practice: warmer/lighter, task-and-day focused */
html[data-role="practitioner"] body{background:#f8faf3!important}html[data-role="practitioner"] .role-experience{background:linear-gradient(135deg,#f2f8db,#edf8ef 62%,#e1f5f1);color:var(--brand-360-navy);border-color:rgba(120,153,73,.16)}html[data-role="practitioner"] .role-exp-kicker{color:#647f2d}html[data-role="practitioner"] .role-experience p{color:#566a65}html[data-role="practitioner"] .role-exp-orbit{background:#d9ef79;color:#466428;box-shadow:0 0 0 20px rgba(217,239,121,.22)}html[data-role="practitioner"] .role-exp-orbit b{color:var(--brand-360-navy)}html[data-role="practitioner"] .kpi-card,html[data-role="practitioner"] .section-card{border-radius:18px!important}html[data-role="practitioner"] .quick-link-btn{border-radius:999px!important;background:white!important}html[data-role="practitioner"] .kpi-urgent{border-color:rgba(232,111,81,.24)!important;background:#fff8f5!important}

/* WHĀNAU — support journey: calm, spacious, human-first */
html[data-role="whanau"] body{background:#fbf7f1!important}html[data-role="whanau"] #__sidebar{background:#153841!important}html[data-role="whanau"] .role-experience{background:linear-gradient(145deg,#fffaf3,#f7efe5);color:var(--brand-360-navy);border-color:rgba(232,111,81,.15);padding:34px;min-height:205px}html[data-role="whanau"] .role-exp-kicker{color:#b85840}html[data-role="whanau"] .role-experience p{font-size:1.02rem;color:#6b655f;max-width:620px}html[data-role="whanau"] .role-exp-orbit{background:#f4c7b8;color:#a74b36;box-shadow:0 0 0 22px rgba(232,111,81,.07)}html[data-role="whanau"] .role-exp-orbit b{color:var(--brand-360-navy)}html[data-role="whanau"] .page-body{max-width:860px!important}html[data-role="whanau"] .case-hero,html[data-role="whanau"] .section-card,html[data-role="whanau"] .card{border-radius:20px!important;box-shadow:0 12px 34px rgba(72,55,41,.055)!important}html[data-role="whanau"] .status-badge{border-radius:999px!important}

@media(max-width:720px){.brand-360-mark{width:36px;height:36px}.brand-360-copy small{display:none}.hero:after,.auth-page main:after{opacity:.6}.role-experience{padding:24px 20px;min-height:auto}.role-exp-orbit{width:90px;height:90px}.role-exp-orbit span{display:none}.role-exp-orbit b{font-size:1.4rem}.role-experience h1{font-size:2.2rem!important}}
@media(max-width:520px){.role-experience{align-items:flex-start}.role-exp-orbit{position:absolute;right:-24px;top:-22px;opacity:.48}.role-exp-copy{padding-right:18px}}
