*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* ORIGINAL NEPHROPLUS COLOR CODING — preserved exactly */
  --np-blue:#01486F;--np-blue-dark:#013050;--np-blue-light:#1a6a96;
  --np-red:#DD4D40;--np-red-light:#e86c61;
  --np-teal:#47BEA4;--np-teal-light:#6ecfbb;
  --np-white:#ffffff;--np-bg:#f4f6f8;--np-bg2:#eef1f4;
  --np-text:#1a2332;--np-text2:#4a5568;--np-text3:#718096;
  --np-border:#d1d9e0;--np-border2:#e2e8f0;
  /* Group accent colors (unchanged from original) */
  --grp-guest:#01486F;--grp-billing:#DD4D40;--grp-mis:#47BEA4;
  --grp-admin:#6B7280;--grp-rr:#8B5CF6;--grp-bme:#F59E0B;--grp-scm:#10B981;
  --sidebar-w:280px;--header-h:64px;
  --radius:10px;--radius-lg:16px;--radius-xl:20px;
  --shadow-sm:0 1px 2px rgba(1,72,111,0.06);
  --shadow:0 2px 8px rgba(1,72,111,0.08);
  --shadow-md:0 8px 24px rgba(1,72,111,0.12);
  --shadow-lg:0 16px 40px rgba(1,72,111,0.16);
  --font-display:'Libre Franklin',sans-serif;
  --font-body:'Inter',-apple-system,sans-serif;
}
html{font-size:15px;scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--np-bg);color:var(--np-text);line-height:1.6;min-height:100vh;overflow-x:hidden}

/* ── LOGIN SCREEN ── */
.login-screen{position:fixed;inset:0;background:var(--np-blue);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.hidden{display:none !important}
.login-screen.hidden{display:none}
.login-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.login-card{position:relative;z-index:2;background:#fff;border-radius:var(--radius-xl);padding:44px 40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.login-logo img{width:40px;height:40px;border-radius:50%}
.login-logo-text{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--np-blue)}
.login-subtitle{font-size:13px;color:var(--np-text3);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:32px;font-weight:600}
.login-field{margin-bottom:18px}
.pw-wrap{position:relative}
.pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--np-text3);font-size:15px;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}
.pw-toggle:hover{color:var(--np-blue)}
.pw-wrap .login-input{padding-right:42px}
.login-label{display:block;font-size:12.5px;font-weight:600;color:var(--np-text2);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.5px}
.login-input{width:100%;padding:12px 16px;border:1.5px solid var(--np-border);border-radius:var(--radius);font-size:14.5px;font-family:inherit;outline:none;transition:border-color .2s;color:var(--np-text)}
.login-input:focus{border-color:var(--np-blue)}
.login-btn{width:100%;padding:13px;background:var(--np-blue);color:#fff;border:none;border-radius:var(--radius);font-size:14.5px;font-weight:700;cursor:pointer;margin-top:8px;transition:background .2s}
.login-btn:hover{background:var(--np-blue-light)}
.login-btn:disabled{background:var(--np-border);cursor:not-allowed}
.login-forgot{text-align:center;margin-top:16px;font-size:13px}
.login-admin-link{text-align:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--np-border2)}
.login-admin-link a{color:var(--np-text3);font-size:11.5px;text-decoration:none;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px}
.login-admin-link a:hover{color:var(--np-blue)}
.login-forgot a{color:var(--np-blue);text-decoration:none;font-weight:600;cursor:pointer}
.login-forgot a:hover{text-decoration:underline}
.login-error{background:rgba(221,77,64,0.08);border:1px solid rgba(221,77,64,0.25);color:var(--np-red);border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:16px;display:none}
.login-error.show{display:block}
.login-success{background:rgba(71,190,164,0.08);border:1px solid rgba(71,190,164,0.25);color:#1a7d68;border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:16px;display:none}
.login-success.show{display:block}
.login-form{display:block}
.login-form.hidden{display:none}

/* ── APP SHELL ── */
.app{display:none}
.app.visible{display:block}

/* ── HEADER ── */
.header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:var(--np-blue);display:flex;align-items:center;padding:0 24px;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,0.15)}
.header-logo{display:flex;align-items:center;gap:10px;color:#fff;cursor:pointer;user-select:none}
.header-logo img{width:32px;height:32px;border-radius:50%}
.logo-text{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:-0.3px}
.logo-sep{width:1px;height:20px;background:rgba(255,255,255,0.2);margin:0 14px}
.logo-subtitle{font-size:11.5px;color:rgba(255,255,255,0.55);text-transform:uppercase;letter-spacing:1px;font-weight:600}
.header-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.search-wrap{position:relative}
.header-search{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-radius:24px;padding:8px 16px 8px 38px;color:#fff;font-size:13.5px;width:240px;outline:none;transition:all .25s;font-family:inherit}
.header-search::placeholder{color:rgba(255,255,255,0.45)}
.header-search:focus{background:rgba(255,255,255,0.18);border-color:rgba(255,255,255,0.3);width:280px}
.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,0.5);font-size:14px;pointer-events:none}
.menu-btn{display:none;background:rgba(255,255,255,0.1);border:none;color:#fff;font-size:20px;cursor:pointer;padding:8px;border-radius:8px;width:38px;height:38px;align-items:center;justify-content:center}
.user-menu{position:relative}
.user-avatar-btn{width:38px;height:38px;border-radius:50%;background:var(--np-teal);color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;cursor:pointer;transition:opacity .2s}
.user-avatar-btn:hover{opacity:0.85}
.user-dropdown{position:absolute;top:50px;right:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);min-width:220px;display:none;overflow:hidden;border:1px solid var(--np-border2)}
.user-dropdown.open{display:block}
.user-dropdown-header{padding:14px 16px;border-bottom:1px solid var(--np-border2);background:var(--np-bg)}
.user-dropdown-name{font-weight:700;font-size:13.5px;color:var(--np-blue)}
.user-dropdown-code{font-size:11.5px;color:var(--np-text3);font-family:monospace;margin-top:2px}
.user-dropdown-item{padding:11px 16px;font-size:13px;color:var(--np-text2);cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .15s}
.user-dropdown-item:hover{background:var(--np-bg)}
.user-dropdown-item.danger{color:var(--np-red)}

/* ── BREADCRUMBS ── */
.breadcrumb-bar{position:fixed;top:var(--header-h);left:var(--sidebar-w);right:0;height:44px;background:#fff;border-bottom:1px solid var(--np-border2);display:flex;align-items:center;padding:0 28px;z-index:80;gap:8px;font-size:13px;transition:height .15s,border-color .15s}
.breadcrumb-bar.empty{height:0;border-bottom:none;padding:0;overflow:hidden}
.breadcrumb-item{color:var(--np-text3);cursor:pointer;transition:color .15s;display:flex;align-items:center;gap:6px}
.breadcrumb-item:hover{color:var(--np-blue)}
.breadcrumb-item.active{color:var(--np-blue);font-weight:600;cursor:default}
.breadcrumb-sep{color:var(--np-border);font-size:11px}

/* ── SIDEBAR ── */
.sidebar{position:fixed;top:var(--header-h);left:0;bottom:0;width:var(--sidebar-w);background:var(--np-blue-dark);overflow-y:auto;z-index:90;transition:transform .3s;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.12) transparent}
.sidebar::-webkit-scrollbar{width:5px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12);border-radius:3px}
.sidebar-inner{padding:16px 0 80px}
.nav-ai-btn{display:flex;align-items:center;gap:10px;width:calc(100% - 24px);margin:0 12px 16px;background:rgba(71,190,164,0.14);border:1px solid rgba(71,190,164,0.28);border-radius:var(--radius);padding:12px 16px;color:var(--np-teal);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}
.nav-ai-btn:hover{background:rgba(71,190,164,0.22)}
.nav-ai-dot{width:7px;height:7px;border-radius:50%;background:var(--np-teal);animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.6;transform:scale(0.85)}}
.nav-group{margin-bottom:2px}
.nav-group-btn{width:100%;background:none;border:none;padding:11px 16px;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,0.68);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;cursor:pointer;transition:color .2s;text-align:left}
.nav-group-btn:hover{color:rgba(255,255,255,0.92)}
.nav-group-icon{width:8px;height:8px;border-radius:2px;flex-shrink:0}
.nav-group-arrow{margin-left:auto;font-size:10px;transition:transform .2s;opacity:0.5}
.nav-group-btn.open .nav-group-arrow{transform:rotate(90deg)}
.nav-group-items{display:none;padding:0 0 6px}
.nav-group-items.open{display:block}
.nav-item{display:block;width:100%;background:none;border:none;padding:9px 16px 9px 38px;color:rgba(255,255,255,0.52);font-size:12.5px;cursor:pointer;text-align:left;transition:all .15s;border-left:3px solid transparent;line-height:1.4;position:relative}
.nav-item:hover{color:rgba(255,255,255,0.88);background:rgba(255,255,255,0.05)}
.nav-item.active{color:#fff;background:rgba(255,255,255,0.09);border-left-color:var(--np-teal)}
.nav-item-code{font-size:10px;color:rgba(255,255,255,0.32);display:block;font-family:monospace;margin-bottom:1px}
.nav-item.active .nav-item-code{color:rgba(255,255,255,0.55)}
.nav-item-check{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--np-teal);display:none;align-items:center;justify-content:center;font-size:9px;color:#fff}
.nav-item.done .nav-item-check{display:flex}
.nav-divider{height:1px;background:rgba(255,255,255,0.06);margin:10px 16px}
.nav-flat-link{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;padding:10px 16px;color:rgba(255,255,255,0.6);font-size:12.5px;cursor:pointer;text-align:left;transition:all .15s}
.nav-flat-link:hover{color:#fff;background:rgba(255,255,255,0.05)}

/* ── MAIN ── */
.main{margin-left:var(--sidebar-w);padding-top:calc(var(--header-h) + 44px);min-height:100vh;overflow-x:hidden;transition:padding-top .15s}
body.no-breadcrumb .main{padding-top:var(--header-h)}
.content{max-width:920px;margin:0 auto;padding:28px 32px 80px;min-width:0}
.page-view{display:block}
.page-view.hidden{display:none}
/* ── HERO (Stitch-inspired, original colors) ── */
.hero{background:linear-gradient(135deg,var(--np-blue) 0%,#012f4a 100%);border-radius:var(--radius-xl);padding:48px;position:relative;overflow:hidden;margin-bottom:28px;min-height:380px;display:flex;flex-direction:column;justify-content:space-between}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}
.hero-glow{position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(71,190,164,0.12) 0%,transparent 70%);pointer-events:none}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative;z-index:2;flex-wrap:wrap}
.hero-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,0.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.12);border-radius:24px;padding:7px 16px}
.hero-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--np-red);animation:pulse 2s infinite}
.hero-pill-text{font-size:11px;color:rgba(255,255,255,0.85);text-transform:uppercase;letter-spacing:1.2px;font-weight:600}
.hero-conf{display:flex;align-items:center;gap:6px}
.hero-conf-text{font-size:11px;color:var(--np-red-light);text-transform:uppercase;letter-spacing:1px;font-weight:700}
.hero-body{position:relative;z-index:2;margin:32px 0}
.hero-title{font-family:var(--font-display);font-size:46px;line-height:1.08;color:#fff;letter-spacing:-0.02em}
.hero-title .light{font-weight:300;color:rgba(255,255,255,0.85);display:block;margin-top:2px}
.hero-title .bold{font-weight:800}
.hero-desc{font-size:15px;color:rgba(255,255,255,0.6);max-width:560px;margin-top:18px;line-height:1.7}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.hero-tag{padding:6px 16px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:0.2px}
.hero-tag.active{background:var(--np-teal);color:#013025;box-shadow:0 2px 8px rgba(71,190,164,0.3)}
.hero-tag.inactive{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.1)}
.hero-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid rgba(255,255,255,0.1);padding-top:22px;position:relative;z-index:2}
.hero-footer-item .label{font-size:10.5px;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-weight:600}
.hero-footer-item .value{font-size:13.5px;color:rgba(255,255,255,0.85);font-weight:500}
.hero-footer-item .value.teal{color:var(--np-teal-light)}

/* ── BENTO GRID (home page) ── */
.bento-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:900px){.bento-grid{grid-template-columns:2fr 1fr}}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-title{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--np-text)}
.section-link{font-size:12.5px;color:var(--np-blue);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px}
.section-link:hover{text-decoration:underline}

.group-cards-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:540px){.group-cards-grid{grid-template-columns:repeat(2,1fr)}}
.group-card{background:#fff;border:1px solid var(--np-border2);border-radius:var(--radius);padding:18px;display:flex;gap:14px;align-items:flex-start;cursor:pointer;position:relative;overflow:hidden;transition:all .2s;box-shadow:var(--shadow-sm)}
.group-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.group-card-bar{position:absolute;left:0;top:0;bottom:0;width:4px;transition:width .2s}
.group-card:hover .group-card-bar{width:6px}
.group-card-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;margin-top:1px}
.group-card-body{flex:1;min-width:0}
.group-card-title{font-size:13.5px;font-weight:700;color:var(--np-text);margin-bottom:3px}
.group-card-desc{font-size:11.5px;color:var(--np-text3);line-height:1.5}
.group-card-progress-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.group-card-progress-bar{flex:1;height:4px;background:var(--np-bg2);border-radius:2px;overflow:hidden}
.group-card-progress-fill{height:100%;border-radius:2px;transition:width .3s}
.group-card-progress-label{font-size:10.5px;color:var(--np-text3);font-weight:600;white-space:nowrap}

/* ── PROGRESS TRACKER PANEL ── */
.tracker-panel{background:#fff;border:1px solid var(--np-border2);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.tracker-header{padding:16px 18px;border-bottom:1px solid var(--np-border2);background:var(--np-bg);display:flex;justify-content:space-between;align-items:center}
.tracker-header-title{font-size:13px;font-weight:700;color:var(--np-text)}
.tracker-header-badge{background:var(--np-teal);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px}
.tracker-overall{padding:18px 18px 14px;border-bottom:1px solid var(--np-border2)}
.tracker-overall-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.tracker-overall-pct{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--np-blue)}
.tracker-overall-frac{font-size:12px;color:var(--np-text3)}
.tracker-overall-bar{height:8px;background:var(--np-bg2);border-radius:4px;overflow:hidden}
.tracker-overall-fill{height:100%;background:linear-gradient(90deg,var(--np-teal),var(--np-blue));border-radius:4px;transition:width .4s}
.tracker-list{padding:14px 18px;display:flex;flex-direction:column;gap:14px;max-height:280px;overflow-y:auto}
.tracker-item{display:flex;align-items:flex-start;gap:10px}
.tracker-item-num{width:22px;height:22px;border-radius:50%;background:var(--np-bg2);color:var(--np-text2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}
.tracker-item-body{flex:1;min-width:0}
.tracker-item-title{font-size:12.5px;font-weight:600;color:var(--np-text);margin-bottom:2px}
.tracker-item-sub{font-size:11px;color:var(--np-text3);margin-bottom:6px}
.tracker-item-bar-row{display:flex;align-items:center;gap:8px}
.tracker-item-bar{flex:1;height:5px;background:var(--np-bg2);border-radius:3px;overflow:hidden}
.tracker-item-fill{height:100%;border-radius:3px;transition:width .3s}
.tracker-item-pct{font-size:10.5px;color:var(--np-text3);font-weight:600;min-width:30px;text-align:right}
.tracker-footer{padding:12px 18px;border-top:1px solid var(--np-border2)}
.tracker-footer-btn{width:100%;padding:9px;border:1px solid var(--np-border);border-radius:var(--radius);background:#fff;color:var(--np-blue);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s}
.tracker-footer-btn:hover{background:var(--np-bg)}

/* ── MODULE PAGES ── */
.module-header{background:#fff;border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:20px;border:1px solid var(--np-border2);box-shadow:var(--shadow-sm)}
.module-code{font-size:11px;font-family:monospace;color:var(--np-red);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.module-code::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--np-red)}
.module-title{font-family:var(--font-display);font-size:27px;font-weight:800;color:var(--np-blue);margin-bottom:14px;line-height:1.25}
.module-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.module-badge{background:var(--np-bg);border:1px solid var(--np-border);border-radius:20px;padding:4px 13px;font-size:12px;color:var(--np-text2);font-weight:500}
.module-badge.group{background:rgba(1,72,111,0.07);border-color:rgba(1,72,111,0.15);color:var(--np-blue)}
.module-mark-done-btn{margin-left:auto;background:var(--np-teal);color:#fff;border:none;border-radius:20px;padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:opacity .2s}
.module-mark-done-btn:hover{opacity:0.88}
.module-mark-done-btn.done{background:var(--np-bg2);color:var(--np-text2)}
.module-body{display:grid;gap:16px;min-width:0}
.card{background:#fff;border-radius:var(--radius-lg);padding:24px 28px;border:1px solid var(--np-border2);box-shadow:var(--shadow-sm);min-width:0}
.card-title{font-size:12.5px;font-weight:700;color:var(--np-blue);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--np-bg2)}
.dt-scroll{width:100%;max-width:100%;min-width:0;overflow-x:scroll;-webkit-overflow-scrolling:touch;border:1px solid var(--np-border2);border-radius:var(--radius);display:block;box-sizing:border-box;margin-top:4px;cursor:grab}
.dt-scroll table{border-collapse:collapse;white-space:nowrap;font-size:13.5px;min-width:100%}
.dt-scroll th{background:var(--np-blue);color:#fff;padding:10px 14px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.5px}
.dt-scroll td{padding:10px 14px;border-bottom:1px solid var(--np-border2);color:var(--np-text);vertical-align:top}
.dt-scroll tr:hover td{background:var(--np-bg)}
.dt-scroll tr:last-child td{border-bottom:none}
.when-to-use{background:rgba(71,190,164,0.06);border:1px solid rgba(71,190,164,0.2);border-left:4px solid var(--np-teal);border-radius:var(--radius);padding:14px 18px}
.when-to-use p{font-size:14px;color:var(--np-text);line-height:1.6}
.note-box{background:rgba(1,72,111,0.05);border:1px solid rgba(1,72,111,0.15);border-left:4px solid var(--np-blue);border-radius:var(--radius);padding:12px 16px;margin:10px 0;font-size:13.5px;color:var(--np-text2);line-height:1.6}
.warn-box{background:rgba(221,77,64,0.05);border:1px solid rgba(221,77,64,0.2);border-left:4px solid var(--np-red);border-radius:var(--radius);padding:12px 16px;margin:10px 0;font-size:13.5px;color:var(--np-text);line-height:1.6}
.steps-list{list-style:none;display:grid;gap:10px;min-width:0}
.step-item{display:flex;gap:14px;align-items:flex-start;min-width:0}
.step-num{min-width:26px;height:26px;border-radius:50%;background:var(--np-blue);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px;flex-shrink:0}
.step-content{flex:1;min-width:0;font-size:14px;color:var(--np-text);line-height:1.6}
.step-content strong{color:var(--np-blue);font-weight:600}
.step-sub{margin-top:6px;padding-left:12px;border-left:2px solid var(--np-border2);font-size:13px;color:var(--np-text2);line-height:1.6}
.checklist{list-style:none;display:grid;gap:6px}
.check-item{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--np-text);line-height:1.5;padding:6px 0;border-bottom:1px solid var(--np-bg2)}
.check-item:last-child{border-bottom:none}
.check-box{width:18px;height:18px;border:2px solid var(--np-border);border-radius:5px;flex-shrink:0;margin-top:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.check-box:hover{border-color:var(--np-teal)}
.check-box.checked{background:var(--np-teal);border-color:var(--np-teal)}
.check-box.checked::after{content:'✓';color:#fff;font-size:11px;font-weight:700}
.part-header{font-size:14.5px;font-weight:700;color:var(--np-blue);margin:6px 0 12px;padding:11px 15px;background:rgba(1,72,111,0.05);border-radius:var(--radius);border-left:4px solid var(--np-blue)}
.pending-badge{display:inline-flex;align-items:center;gap:5px;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:3px 10px;font-size:11.5px;color:#9a3412;font-weight:500}
.pending-dot{width:6px;height:6px;border-radius:50%;background:#f97316}

/* ── DOWNLOADABLE FORMAT TABLE ── */
.fmt-table-wrap{margin:12px 0;border:1px solid var(--np-border2);border-radius:var(--radius);min-width:0;max-width:100%;width:100%;overflow:hidden}
.fmt-table-header{background:rgba(1,72,111,0.06);padding:9px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--np-border2);flex-wrap:wrap;gap:8px}
.fmt-table-label{font-size:11px;font-weight:700;color:var(--np-blue);text-transform:uppercase;letter-spacing:0.8px}
.fmt-download-btn{background:var(--np-blue);color:#fff;border:none;border-radius:7px;padding:6px 13px;font-size:11.5px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:5px;text-decoration:none;white-space:nowrap}
.fmt-download-btn:hover{background:var(--np-blue-light)}
.fmt-scroll{width:100%;max-width:100%;min-width:0;overflow-x:scroll;-webkit-overflow-scrolling:touch;display:block;box-sizing:border-box;cursor:grab}
.fmt-scroll table{border-collapse:collapse;white-space:nowrap;font-size:12.5px;min-width:100%}
.fmt-scroll th{background:var(--np-blue);color:#fff;padding:9px 16px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:0.4px}
.fmt-scroll td{padding:9px 16px;border-bottom:1px solid var(--np-border2);color:var(--np-text2)}
.fmt-scroll tr:last-child td{border-bottom:none}
.fmt-scroll tr:hover td{background:var(--np-bg)}
.dt-scroll,.fmt-scroll{scrollbar-width:auto;scrollbar-color:var(--np-blue) var(--np-bg2)}
.dt-scroll::-webkit-scrollbar,.fmt-scroll::-webkit-scrollbar{height:12px;-webkit-appearance:none}
.dt-scroll::-webkit-scrollbar-track,.fmt-scroll::-webkit-scrollbar-track{background:var(--np-bg2)}
.dt-scroll::-webkit-scrollbar-thumb,.fmt-scroll::-webkit-scrollbar-thumb{background:var(--np-blue);border-radius:6px;border:2px solid var(--np-bg2)}

/* ── CONTACT/GLOSSARY ── */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.contact-card{background:var(--np-bg);border:1px solid var(--np-border2);border-radius:var(--radius);padding:14px 16px}
.contact-name{font-weight:700;font-size:14px;color:var(--np-blue);margin-bottom:2px}
.contact-role{font-size:12px;color:var(--np-text3);margin-bottom:8px}
.contact-detail{font-size:12.5px;color:var(--np-text2);display:flex;align-items:center;gap:6px;margin-top:4px}
.glossary-grid{display:grid;gap:8px}
.glossary-item{background:var(--np-bg);border-radius:var(--radius);padding:12px 16px;border:1px solid var(--np-border2)}
.glossary-term{font-weight:700;color:var(--np-blue);font-size:14px;margin-bottom:3px}
.glossary-def{font-size:13.5px;color:var(--np-text2);line-height:1.5}
.section-placeholder{background:#fff;border-radius:var(--radius-lg);padding:32px;border:1px solid var(--np-border2);text-align:center;color:var(--np-text2)}
.section-placeholder h3{font-size:18px;color:var(--np-text);margin:12px 0 8px}

/* ── SEARCH RESULTS ── */
.search-results{display:none}
.search-results.active{display:block}
.search-result-item{background:#fff;border:1px solid var(--np-border2);border-radius:var(--radius);padding:16px 20px;margin-bottom:10px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-sm)}
.search-result-item:hover{border-color:var(--np-blue)}
.search-result-code{font-size:11px;color:var(--np-red);font-family:monospace;font-weight:600;margin-bottom:4px}
.search-result-title{font-size:15px;font-weight:600;color:var(--np-blue);margin-bottom:4px}
.search-result-group{font-size:12px;color:var(--np-text3)}
.search-result-snippet{font-size:13px;color:var(--np-text2);margin-top:6px;line-height:1.5}
mark{background:#fff3cd;color:inherit;border-radius:2px;padding:0 2px}
.no-results{text-align:center;padding:40px;color:var(--np-text3)}

/* ── AI PAGE ── */
.ai-page{display:flex;flex-direction:column;gap:20px}
.ai-header-card{background:linear-gradient(135deg,var(--np-blue) 0%,var(--np-blue-light) 100%);border-radius:var(--radius-lg);padding:28px 32px;color:#fff}
.ai-header-title{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.ai-header-desc{font-size:14px;color:rgba(255,255,255,0.65);line-height:1.6}
.ai-chat-area{background:#fff;border:1px solid var(--np-border2);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.ai-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;min-height:400px;max-height:560px}
.ai-msg{display:flex;gap:10px;align-items:flex-start}
.ai-msg.user{flex-direction:row-reverse}
.ai-bubble-wrap{display:flex;flex-direction:column;min-width:0;max-width:80%}
.ai-msg.user .ai-bubble-wrap{align-items:flex-end}
.ai-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;overflow:hidden}
.ai-avatar.bot{background:var(--np-blue);color:#fff}
.ai-avatar.user{background:var(--np-teal);color:#fff}
.ai-bubble{display:inline-block;padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.6}
.ai-bubble.bot{background:var(--np-bg);border:1px solid var(--np-border2);color:var(--np-text);border-radius:4px 14px 14px 14px}
.ai-bubble.user{background:var(--np-blue);color:#fff;border-radius:14px 4px 14px 14px}
.ai-sources{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}
.ai-source-tag{background:rgba(1,72,111,0.08);border:1px solid rgba(1,72,111,0.15);border-radius:10px;padding:2px 8px;font-size:11px;color:var(--np-blue);font-weight:500;font-family:monospace}
.ai-typing{display:flex;gap:4px;align-items:center;padding:4px 0}
.ai-typing span{width:7px;height:7px;border-radius:50%;background:var(--np-text3);animation:bounce 1.2s infinite}
.ai-typing span:nth-child(2){animation-delay:0.2s}
.ai-typing span:nth-child(3){animation-delay:0.4s}
@keyframes bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}
.ai-input-area{border-top:1px solid var(--np-border2);padding:16px 20px;display:flex;gap:10px;align-items:flex-end}
.ai-input{flex:1;border:1.5px solid var(--np-border);border-radius:var(--radius);padding:10px 14px;font-size:14px;font-family:inherit;resize:none;outline:none;max-height:120px;line-height:1.5;transition:border-color .2s;color:var(--np-text)}
.ai-input:focus{border-color:var(--np-blue)}
.ai-send{background:var(--np-blue);border:none;border-radius:var(--radius);padding:10px 18px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.ai-send:hover{background:var(--np-blue-light)}
.ai-send:disabled{background:var(--np-border);cursor:not-allowed}
.ai-config{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);padding:14px 18px;font-size:13.5px;color:#92400e;display:flex;align-items:flex-start;gap:10px}
.ai-config input{margin-top:8px;width:100%;border:1px solid #fcd34d;border-radius:6px;padding:8px 12px;font-size:13px;font-family:monospace;outline:none;background:#fff}
.ai-save-btn{margin-top:8px;background:var(--np-blue);color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer;font-weight:600}
.ai-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px}
.ai-quick-btn{background:var(--np-bg);border:1px solid var(--np-border);border-radius:20px;padding:6px 14px;font-size:12.5px;color:var(--np-text2);cursor:pointer;transition:all .15s}
.ai-quick-btn:hover{background:rgba(1,72,111,0.07);border-color:var(--np-blue);color:var(--np-blue)}

/* ── FLOATING CHAT ── */
.float-btn{position:fixed;bottom:28px;right:28px;width:54px;height:54px;border-radius:50%;background:var(--np-blue);border:none;color:#fff;font-size:22px;cursor:pointer;box-shadow:0 6px 20px rgba(1,72,111,0.35);z-index:200;transition:all .2s;display:flex;align-items:center;justify-content:center}
.float-btn:hover{background:var(--np-blue-light);transform:scale(1.05)}
.float-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--np-teal);border:2px solid #fff;animation:pulse 2s infinite}
.float-chat{position:fixed;bottom:92px;right:28px;width:360px;height:500px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:199;display:none;flex-direction:column;overflow:hidden;border:1px solid var(--np-border2)}
.float-chat.open{display:flex}
.float-chat-header{background:var(--np-blue);padding:14px 18px;display:flex;align-items:center;gap:10px;color:#fff}
.float-chat-title{font-size:14px;font-weight:700;flex:1}
.float-chat-close{background:none;border:none;color:rgba(255,255,255,0.7);cursor:pointer;font-size:18px;padding:2px;line-height:1}
.float-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.float-bubble{padding:10px 14px;border-radius:12px;font-size:13.5px;line-height:1.5;max-width:88%}
.float-bubble.bot{background:var(--np-bg);border:1px solid var(--np-border2);color:var(--np-text);align-self:flex-start;border-radius:4px 12px 12px 12px}
.float-bubble.user{background:var(--np-blue);color:#fff;align-self:flex-end;border-radius:12px 4px 12px 12px}
.float-input-area{border-top:1px solid var(--np-border2);padding:12px;display:flex;gap:8px}
.float-input{flex:1;border:1px solid var(--np-border);border-radius:var(--radius);padding:8px 12px;font-size:13px;outline:none;font-family:inherit;color:var(--np-text)}
.float-send{background:var(--np-blue);border:none;border-radius:var(--radius);padding:8px 14px;color:#fff;font-size:14px;cursor:pointer;font-weight:700}
.float-send:disabled{background:var(--np-border);cursor:not-allowed}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  :root{--sidebar-w:240px}
  .content{padding:24px 24px 80px;max-width:100%}
  .hero-title{font-size:36px}
  .hero{padding:36px}
  .ai-bubble-wrap{max-width:85%}
  .centers-layout{grid-template-columns:1fr !important}
  .centers-filter-toggle-mobile{display:flex !important;width:100%;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--np-border2);border-radius:10px;padding:12px 16px;font-size:13px;font-weight:600;color:var(--np-blue);margin-bottom:12px;cursor:pointer}
  .centers-filter-panel{display:none !important;position:static !important;max-height:none !important;margin-bottom:14px}
  .centers-filter-panel.mobile-open{display:flex !important}
  .centers-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important}
  .admin-content{padding:20px !important;max-width:100% !important}
}
@media(max-width:768px){
  .admin-header{padding:12px 16px}
  .admin-header-logo{font-size:13px}
  .admin-header-logo img{width:24px;height:24px}
  .admin-logout-btn{font-size:11px;padding:6px 10px}
  .admin-tabs{padding:12px 12px 0;gap:2px;overflow-x:auto;flex-wrap:nowrap}
  .admin-tab{padding:8px 12px;font-size:12.5px;white-space:nowrap}
  .admin-content{padding:16px}
  .admin-toolbar{flex-wrap:wrap;gap:10px}
  .admin-toolbar-title{font-size:14px}
  .admin-module-row{flex-wrap:wrap;padding:12px 14px}
  .admin-module-row-title{flex-basis:100%;order:1}
  .admin-module-row-group{order:2}
  .admin-module-row-actions{order:3;margin-left:auto}
  .centers-card-grid{grid-template-columns:1fr !important}
  .admin-editor-card-wide.modal-card{width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0}
  .modal-overlay:has(.admin-editor-card-wide){padding:0}
  .admin-editor-body{padding:16px 18px 24px}
  .admin-form-row{grid-template-columns:1fr}
  .person-tooltip{width:min(220px, calc(100vw - 24px))}
  :root{--header-h:58px}
  .sidebar{transform:translateX(-100%);width:85vw;max-width:300px;z-index:150}
  .sidebar.mobile-open{transform:translateX(0)}
  .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:140}
  .sidebar-overlay.active{display:block}
  .main{margin-left:0}
  .breadcrumb-bar{left:0;padding:0 16px}
  .menu-btn{display:flex}
  .header-search{width:0;padding:0;border:none;background:transparent;overflow:hidden}
  .header-search.expanded{width:150px;padding:7px 12px 7px 32px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15)}
  .logo-subtitle{display:none}
  .logo-sep{display:none}
  .content{padding:16px 12px 80px;max-width:100%}
  .hero{padding:24px 20px}
  .hero-title{font-size:26px}
  .hero-tags{gap:6px}
  .hero-tag{font-size:11px;padding:4px 11px}
  .hero-footer{grid-template-columns:1fr;gap:14px}
  .card{padding:18px 16px}
  .module-header{padding:20px 16px}
  .module-title{font-size:20px}
  .fmt-table-wrap{margin-left:-16px;margin-right:-16px;border-radius:0;border-left:none;border-right:none}
  .dt-scroll{margin-left:0}
  .ai-chat-area{margin:0 -12px;border-radius:0;border-left:none;border-right:none}
  .ai-messages{padding:14px 12px;min-height:340px}
  .ai-bubble-wrap{max-width:92%}
  .ai-input-area{padding:12px}
  .ai-header-card{margin:0 -12px;border-radius:0;padding:22px 16px}
  .float-chat{width:calc(100vw - 16px);right:8px;left:8px;bottom:80px;height:min(460px, calc(100vh - 160px));max-height:calc(100vh - 160px)}
  .float-btn{bottom:20px;right:16px;width:48px;height:48px;font-size:20px}
  .group-cards-grid{grid-template-columns:1fr}
}
/* ── PERSON MENTION TOOLTIP ── */
.person-mention{color:var(--np-blue);font-weight:600;cursor:pointer;border-bottom:1.5px dotted var(--np-blue);transition:all .15s;padding:0 1px}
.role-mention{color:#0d7a6a;font-weight:600;cursor:pointer;border-bottom:1.5px dotted #0d7a6a;transition:all .15s;padding:0 1px}
.role-mention:hover,.role-mention.active-mention{background:rgba(71,190,164,0.1);border-bottom-color:transparent;border-radius:3px}
.person-mention:hover,.person-mention.active-mention{background:rgba(1,72,111,0.08);border-bottom-color:transparent;border-radius:3px}
.person-tooltip{position:fixed;z-index:400;width:240px;background:var(--np-blue-dark);border-radius:10px;box-shadow:0 8px 24px rgba(1,72,111,0.3);overflow:visible;opacity:0;transform:translateY(2px) scale(0.98);transition:opacity .12s ease,transform .12s ease;pointer-events:none}
.person-tooltip.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.person-tooltip-arrow{position:absolute;width:10px;height:10px;background:var(--np-blue-dark);transform:rotate(45deg)}
.person-tooltip-arrow.top{top:-5px}
.person-tooltip-arrow.bottom{bottom:-5px}
.person-tooltip-header{display:flex;align-items:center;gap:10px;padding:12px 14px 10px}
.person-tooltip-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.15);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0;border:1.5px solid rgba(255,255,255,0.25)}
.person-tooltip-name{color:#fff;font-weight:700;font-size:13px;line-height:1.3}
.person-tooltip-role{color:rgba(255,255,255,0.6);font-size:10.5px;margin-top:1px;line-height:1.3}
.person-tooltip-body{padding:0 14px 12px;display:flex;flex-direction:column;gap:4px}
.person-tooltip-row{display:flex;align-items:center;gap:7px;font-size:11.5px;color:rgba(255,255,255,0.85);text-decoration:none;padding:4px 0;transition:color .15s}
.person-tooltip-row:hover{color:var(--np-teal-light)}
.person-tooltip-handles{margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.12);font-size:10.5px;color:var(--np-teal-light);line-height:1.5;font-weight:500}

/* ── ADMIN PANEL ── */
.admin-panel{display:none;position:fixed;inset:0;background:var(--np-bg);z-index:500;overflow-y:auto;overflow-x:hidden}
.admin-panel.visible{display:block}
.admin-header{position:sticky;top:0;background:var(--np-blue);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;z-index:10;box-shadow:0 2px 12px rgba(0,0,0,0.15)}
.admin-header-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:15px}
.admin-header-logo img{width:30px;height:30px;border-radius:50%}
.admin-logout-btn{background:rgba(255,255,255,0.12);color:#fff;border:1px solid rgba(255,255,255,0.2);border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:600;cursor:pointer}
.admin-logout-btn:hover{background:rgba(255,255,255,0.2)}
.admin-tabs{display:flex;gap:4px;padding:16px 28px 0;background:#fff;border-bottom:1px solid var(--np-border2)}
.admin-tab{background:none;border:none;padding:10px 18px;font-size:13.5px;font-weight:600;color:var(--np-text3);cursor:pointer;border-bottom:3px solid transparent;transition:all .15s}
.admin-tab:hover{color:var(--np-blue)}
.admin-tab.active{color:var(--np-blue);border-bottom-color:var(--np-blue)}
.admin-content{max-width:1100px;margin:0 auto;padding:28px}
.admin-tab-panel.hidden{display:none}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.admin-toolbar-title{font-size:16px;font-weight:700;color:var(--np-text)}
.admin-btn-primary{background:var(--np-blue);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer}
.admin-btn-primary:hover{background:var(--np-blue-light)}
.admin-btn-secondary{background:#fff;color:var(--np-blue);border:1px solid var(--np-border);border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer}
.admin-btn-secondary:hover{background:var(--np-bg)}
.admin-btn-small{background:var(--np-bg);color:var(--np-blue);border:1px solid var(--np-border);border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}
.admin-btn-small:hover{background:rgba(1,72,111,0.08)}
.admin-module-list{display:grid;gap:10px}
.admin-module-row{background:#fff;border:1px solid var(--np-border2);border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:14px}
.admin-module-row-code{font-family:monospace;font-size:11px;color:var(--np-red);font-weight:700;min-width:120px}
.admin-module-row-title{flex:1;font-size:13.5px;font-weight:600;color:var(--np-text)}
.admin-module-row-group{font-size:11.5px;color:var(--np-text3);background:var(--np-bg);padding:3px 10px;border-radius:10px}
.admin-module-row-actions{display:flex;gap:8px}
.admin-icon-btn{background:none;border:1px solid var(--np-border);border-radius:6px;width:32px;height:32px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}
.admin-icon-btn:hover{background:var(--np-bg)}
.admin-icon-btn.danger:hover{background:rgba(221,77,64,0.1);border-color:var(--np-red)}
.admin-table-wrap{background:#fff;border-radius:10px;border:1px solid var(--np-border2);overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:13px;min-width:600px}
.admin-table th{background:var(--np-blue);color:#fff;padding:10px 14px;text-align:left;font-size:11.5px;text-transform:uppercase}
.admin-table td{padding:10px 14px;border-bottom:1px solid var(--np-border2);color:var(--np-text2)}
.admin-empty-state{text-align:center;padding:40px;color:var(--np-text3);font-size:13.5px;background:#fff;border-radius:10px;border:1px dashed var(--np-border)}
.admin-status-badge{display:inline-block;border-radius:14px;padding:4px 12px;font-size:11.5px;font-weight:600}
.admin-status-badge.status-active{background:rgba(71,190,164,0.12);color:#1a7d68}
.admin-status-badge.status-inactive{background:rgba(245,158,11,0.12);color:#92400e}
.admin-status-badge.status-closed{background:rgba(221,77,64,0.1);color:var(--np-red)}
.admin-table-actions{display:flex;gap:6px}

/* ── CENTERS: FILTER SIDEBAR + CARD GRID ── */
.centers-layout{display:grid;grid-template-columns:230px 1fr;gap:20px;align-items:start}
.centers-filter-panel{background:#fff;border:1px solid var(--np-border2);border-radius:10px;padding:18px;position:sticky;top:76px;display:flex;flex-direction:column;max-height:calc(100vh - 96px);overflow-y:auto}
.centers-filter-title{font-size:11px;font-weight:700;color:var(--np-blue);text-transform:uppercase;letter-spacing:0.6px;margin:14px 0 6px}
.centers-filter-title:first-child{margin-top:0}
.centers-search-input{font-size:13px;padding:9px 12px}
.centers-filter-hint{font-size:10.5px;color:var(--np-text3);margin-top:4px;line-height:1.4}
.centers-filter-select{font-size:12.5px;padding:8px 10px}
.centers-clear-btn{margin-top:18px;font-size:12px;padding:8px}
.centers-filter-toggle-mobile{display:none}

.centers-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-content:start}
.center-card{background:#fff;border:1px solid var(--np-border2);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s}
.center-card:hover{box-shadow:var(--shadow)}
.center-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.center-card-code{font-family:monospace;font-size:11px;color:var(--np-red);font-weight:700}
.center-card-name{font-size:14px;font-weight:700;color:var(--np-text);margin-top:2px;line-height:1.3}
.center-card-status{flex-shrink:0}
.center-card-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--np-text2)}
.center-card-row .icon{flex-shrink:0;opacity:0.6;width:14px;text-align:center}
.center-card-managers{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--np-bg);border-radius:8px;padding:8px 10px}
.center-card-manager-label{font-size:9.5px;color:var(--np-text3);text-transform:uppercase;letter-spacing:0.4px;margin-bottom:2px}
.center-card-manager-value{font-size:12px;color:var(--np-text);font-weight:500}
.center-card-progress-row{display:flex;align-items:center;gap:8px}
.center-card-progress-bar{flex:1;height:5px;background:var(--np-bg2);border-radius:3px;overflow:hidden}
.center-card-progress-fill{height:100%;background:var(--np-teal);border-radius:3px}
.center-card-progress-pct{font-size:11px;color:var(--np-text3);font-weight:600;min-width:30px;text-align:right}
.center-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--np-border2);padding-top:10px;margin-top:2px}
.center-card-lastlogin{font-size:10.5px;color:var(--np-text3)}
.center-card-actions{display:flex;gap:6px}
.centers-no-results{grid-column:1/-1;text-align:center;padding:40px;color:var(--np-text3);font-size:13.5px}

/* ── MANAGERS TAB ── */
.managers-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:14px}
.manager-card{background:#fff;border:1px solid var(--np-border2);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.manager-card-top{display:flex;justify-content:space-between;align-items:flex-start}
.manager-card-name{font-size:14px;font-weight:700;color:var(--np-text)}
.manager-card-npid{font-size:10.5px;color:var(--np-text3);font-family:monospace;margin-top:1px}
.manager-card-detail{font-size:12px;color:var(--np-text2);display:flex;align-items:center;gap:6px}
.manager-card-zone{display:inline-block;background:var(--np-bg);border-radius:10px;padding:2px 10px;font-size:11px;color:var(--np-text2);margin-top:2px;width:fit-content}
.manager-card-actions{display:flex;gap:6px;margin-top:6px;justify-content:flex-end}

.admin-editor-card{max-height:92vh;display:flex;flex-direction:column}
.admin-editor-body{overflow-y:auto;flex:1;padding:20px 32px 28px}
.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}
.admin-form-field{margin-bottom:14px}
.admin-textarea{min-height:70px;resize:vertical;font-family:inherit}
.admin-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.admin-dynamic-list{display:flex;flex-direction:column;gap:8px}
.admin-dyn-row{display:flex;gap:8px;align-items:flex-start;background:var(--np-bg);border-radius:8px;padding:10px}
.admin-dyn-row textarea,.admin-dyn-row input{width:100%;box-sizing:border-box;border:1px solid var(--np-border);border-radius:6px;padding:7px 10px;font-size:13px;font-family:inherit}
.admin-dyn-row textarea{min-height:50px;resize:vertical}
.admin-dyn-row-remove{background:none;border:none;color:var(--np-red);cursor:pointer;font-size:16px;padding:4px;flex-shrink:0}
.admin-reorder-btns{display:flex;flex-direction:column;gap:2px;flex-shrink:0;margin-right:2px}
.admin-reorder-btn{background:#fff;border:1px solid var(--np-border);border-radius:4px;width:22px;height:18px;cursor:pointer;font-size:9px;color:var(--np-text2);display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
.admin-reorder-btn:hover{background:rgba(1,72,111,0.08);color:var(--np-blue);border-color:var(--np-blue)}
.admin-reorder-btn:active{transform:scale(0.92)}
.admin-step-title-input{margin-bottom:6px}
.admin-editor-card-wide.modal-card{width:min(94vw, 1100px);max-width:1100px}
.admin-section-label{font-size:11.5px;font-weight:700;color:var(--np-blue);text-transform:uppercase;letter-spacing:0.6px;margin:22px 0 12px;padding-top:16px;border-top:1px solid var(--np-border2)}
.admin-section-label:first-of-type{margin-top:0;padding-top:0;border-top:none}
.admin-section-hint{font-weight:400;text-transform:none;color:var(--np-text3);letter-spacing:0;font-size:11px}
.admin-mode-toggle{display:flex;gap:18px;margin-bottom:16px}
.admin-radio{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--np-text2);cursor:pointer}
.admin-radio input{accent-color:var(--np-blue)}
.admin-note-row{display:flex;gap:8px;align-items:flex-start;background:var(--np-bg);border-radius:8px;padding:10px}
.admin-note-row select{border:1px solid var(--np-border);border-radius:6px;padding:7px 8px;font-size:12.5px;background:#fff;width:110px;flex-shrink:0}
.admin-note-row textarea{flex:1;border:1px solid var(--np-border);border-radius:6px;padding:7px 10px;font-size:13px;font-family:inherit;min-height:50px;resize:vertical}
.admin-part-block{background:var(--np-bg);border:1px solid var(--np-border2);border-radius:10px;padding:14px;margin-bottom:4px}
.admin-part-block-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.admin-part-block-header input{flex:1;border:1px solid var(--np-border);border-radius:6px;padding:7px 10px;font-size:13px;font-weight:600}
.admin-part-steps-wrap{margin-top:8px;padding-left:12px;border-left:2px solid var(--np-border)}
.admin-step-extras{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.admin-step-extra-toggle{background:#fff;border:1px solid var(--np-border);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--np-text2);cursor:pointer}
.admin-step-extra-toggle.active{background:rgba(1,72,111,0.08);border-color:var(--np-blue);color:var(--np-blue)}
.admin-step-extra-box{margin-top:8px;padding:10px;border-radius:8px;background:#fff;border:1px solid var(--np-border2)}
.admin-step-extra-box textarea{width:100%;border:1px solid var(--np-border);border-radius:6px;padding:7px 10px;font-size:13px;font-family:inherit;min-height:44px;resize:vertical}
.admin-table-builder-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}
.admin-table-builder-row input{flex:1;border:1px solid var(--np-border);border-radius:6px;padding:5px 8px;font-size:12px}
.admin-table-builder-label{font-size:11px;color:var(--np-text3);font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:0.4px}
.admin-table-type-row{display:flex;gap:14px;margin-bottom:10px}
.admin-editor-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--np-border2)}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(1,72,111,0.55);z-index:600;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-card{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);overflow:hidden}
.modal-header{padding:18px 20px;border-bottom:1px solid var(--np-border2);display:flex;align-items:center;justify-content:space-between}
.modal-title{font-weight:700;font-size:15px;color:var(--np-blue)}
.modal-close{background:none;border:none;font-size:18px;color:var(--np-text3);cursor:pointer;padding:2px}
.modal-body{padding:20px}

@media(hover:none){
  .nav-item{padding-top:11px;padding-bottom:11px}
  .check-box{width:22px;height:22px}
}
.admin-link-btn{background:none;border:none;color:var(--np-blue);font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}
.admin-link-btn:hover{color:var(--np-blue-light)}
.zone-checklist{border:1px solid var(--np-border);border-radius:8px;max-height:220px;overflow-y:auto;padding:10px;background:var(--np-white);display:flex;flex-wrap:wrap;gap:4px 16px}
.zone-check-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:14px;color:var(--np-text);flex:0 0 auto}
.zone-check-row:hover{background:var(--np-bg2)}
.zone-check-row input[type="checkbox"]{width:16px;height:16px;accent-color:var(--np-blue);cursor:pointer;flex-shrink:0}
.zone-checklist:empty::after{content:'No zones yet — add one below.';display:block;padding:8px;color:var(--np-text3);font-size:13px}
@media(max-width:768px){
  .zone-checklist{flex-direction:column;flex-wrap:nowrap}
  .zone-check-row{flex:1 1 auto}
}
