/* =====================================================================
   Nadi / Genbestari-style admin shell  —  PREVIEW ONLY
   Original styling (not template code). Three-tone palette:
     Primary   = Indigo  #4338CA   Secondary = Teal #0D9488
     Tertiary  = Amber   #F59E0B   Accent    = Violet #7C3AED
   Coloured (dark indigo) sidebar, rounded cards, soft depth.
   Scoped under .nadi-body so it cannot affect the current design.
   ===================================================================== */
:root{
    --nadi-pri:#e6324f;     --nadi-pri-d:#c81e3c;   --nadi-pri-soft:#fdebee;
    --nadi-sec:#0d9488;     --nadi-sec-d:#0b7d73;   --nadi-sec-soft:#e4f5f3;
    --nadi-ter:#f59e0b;     --nadi-ter-d:#d98708;   --nadi-ter-soft:#fef3e2;
    --nadi-acc:#7c3aed;     --nadi-acc-soft:#f1eafe;
    /* aliases kept for backward compatibility */
    --nadi-red:var(--nadi-pri); --nadi-red-2:var(--nadi-sec); --nadi-red-soft:var(--nadi-pri-soft);

    --nadi-ink:#2b2f3a;     --nadi-muted:#8a909d;   --nadi-bg:#f3f4fb;
    --nadi-line:#e9ebf3;
    --nadi-sidew:220px;     --nadi-toph:64px;       --nadi-rad:14px;
}

.nadi-body{
    margin:0;background:var(--nadi-bg);color:var(--nadi-ink);
    font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.nadi-body *{box-sizing:border-box;}
/* Display/headings use Poppins, matching NADI's identity */
.nadi-brand .t,.nadi-page-head h1,.nadi-card .hd,.nadi-stat .v,.cx-title,.nadi-context .cx-title{
    font-family:'Poppins','Inter',system-ui,sans-serif;
}

/* ---------- Sidebar (coloured, sits below the full-width header) ---------- */
.nadi-sidebar{
    position:fixed;top:var(--nadi-toph);left:0;bottom:0;width:var(--nadi-sidew);
    background:linear-gradient(195deg,#820d0d 0%,#bd4545 55%,#751515 100%);
    color:#fbeaea;display:flex;flex-direction:column;z-index:1020;transition:transform .25s ease;
    box-shadow:4px 0 24px rgba(80,10,10,.18);
}
.nadi-side-profile{display:flex;align-items:center;gap:11px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.16);}
.nadi-side-profile .av{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);}
.nadi-side-profile .who b{font-size:14px;color:#fff;}
.nadi-side-profile .who small{display:block;font-size:11px;color:rgba(255,255,255,.72);}
/* brand now lives in the header (left zone) */
.nadi-brand{width:var(--nadi-sidew);height:100%;flex:none;display:flex;align-items:center;gap:11px;padding:0 18px;border-right:1px solid var(--nadi-line);}
.nadi-brand img{width:38px;height:38px;background:none;padding:0;border-radius:0;}
.nadi-brand .t{font-weight:800;font-size:15px;line-height:1.05;letter-spacing:.3px;color:#1c1f2e;}
.nadi-brand .t small{display:block;font-weight:600;font-size:10px;color:var(--nadi-muted);letter-spacing:1px;text-transform:uppercase;}
.nadi-nav{flex:1;overflow-y:auto;padding:10px 0 30px;}
.nadi-nav::-webkit-scrollbar{width:6px;}
.nadi-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px;}
.nadi-cat{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45);padding:12px 16px 6px;}
.nadi-nav a,.nadi-nav button{
    display:flex;align-items:center;gap:9px;padding:7px 16px;margin:0;border-radius:0;border-left:2px solid transparent;line-height:1.35;
    color:rgba(255,255,255,.78);font-size:12.5px;font-weight:500;letter-spacing:0;text-decoration:none;transition:background .12s,color .12s;
    width:100%;background:none;border-top:none;border-right:none;border-bottom:none;font-family:inherit;cursor:pointer;text-align:left;
}
.nadi-nav a i,.nadi-nav button i{width:18px;text-align:center;font-size:14px;color:rgba(255,255,255,.7);opacity:.85;transition:color .12s,opacity .12s;}
.nadi-nav a svg,.nadi-nav button svg{width:17px;height:17px;flex-shrink:0;opacity:.82;transition:opacity .12s;}
.nadi-nav a:hover svg,.nadi-nav button:hover svg{opacity:1;}
.nadi-nav a.active svg{opacity:1;}
.nadi-nav a:hover,.nadi-nav button:hover{background:rgba(255,255,255,.10);color:rgba(255,255,255,.96);}
.nadi-nav a:hover i,.nadi-nav button:hover i{color:#fff;opacity:1;}
.nadi-nav a.active{background:rgba(255,255,255,.16);color:#fff;font-weight:600;border-left-color:#f7c948;}
.nadi-nav a.active i{color:#ffd76b;opacity:1;}
/* right-aligned count chip (e.g. "29", "81") */
.nadi-nav a .ct{margin-left:auto;flex-shrink:0;font-size:10px;font-weight:600;line-height:1;color:rgba(255,255,255,.6);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:2px 7px;}
/* orange notification badge */
.nadi-nav a .bdg{margin-left:auto;flex-shrink:0;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff;background:#f9982f;border-radius:999px;padding:0 5px;}
/* teal back-link (e.g. "‹ Back to current UI", the Log out button) */
.nadi-nav a.backlink,.nadi-nav button.backlink{color:#7fd4b8;font-weight:600;}
.nadi-nav a.backlink i{color:#7fd4b8;opacity:1;}
.nadi-nav a.backlink:hover,.nadi-nav button.backlink:hover{background:rgba(127,212,184,.10);color:#a8e6d0;}

/* ---------- Topbar ---------- */
.nadi-topbar{
    position:fixed;top:0;left:0;right:0;height:var(--nadi-toph);
    background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px);
    border-bottom:1px solid var(--nadi-line);
    display:flex;align-items:center;gap:16px;padding:0 22px 0 0;z-index:1050;
}
.nadi-burger{background:none;border:none;color:#5a6071;cursor:pointer;display:none;margin-left:14px;padding:0;}
.nadi-burger svg{width:22px;height:22px;}
.nadi-search{flex:1;max-width:430px;margin-left:20px;display:flex;align-items:center;gap:8px;background:#f5f6fb;border:1px solid var(--nadi-line);border-radius:22px;padding:0 16px;}
.nadi-search svg{width:16px;height:16px;color:#9aa0ad;flex-shrink:0;}
.nadi-search input{flex:1;border:none;background:none;padding:9px 0;font-size:13px;outline:none;color:var(--nadi-ink);}
.nadi-search:focus-within{border-color:var(--nadi-pri);background:#fff;box-shadow:0 0 0 3px rgba(230,50,79,.08);}
/* segmented term / semester control */
.nadi-term{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--nadi-line);border-radius:11px;padding:5px 7px 5px 12px;}
.nadi-term .yr{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:#3a3f4b;}
.nadi-term .yr svg{width:14px;height:14px;color:var(--nadi-pri);}
.nadi-term .sems{display:flex;background:var(--nadi-bg);border-radius:8px;padding:2px;}
.nadi-term .sems span{font-size:11px;font-weight:800;color:#8a909d;padding:3px 10px;border-radius:6px;cursor:pointer;transition:all .15s;}
.nadi-term .sems span.active{background:var(--nadi-pri);color:#fff;box-shadow:0 2px 7px rgba(230,50,79,.34);}
.nadi-top-right{margin-left:auto;display:flex;align-items:center;gap:16px;}
.nadi-ay{display:inline-flex;align-items:center;gap:8px;background:var(--nadi-pri-soft);color:var(--nadi-pri-d);border:1px solid #dcdffb;border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:800;}
.nadi-ay .led{width:7px;height:7px;border-radius:50%;background:var(--nadi-ter);}
.nadi-ico{position:relative;color:#6a7080;cursor:pointer;display:inline-flex;}
.nadi-ico svg{width:19px;height:19px;}
.nadi-ico .dot{position:absolute;top:-3px;right:-4px;width:8px;height:8px;border-radius:50%;background:var(--nadi-ter);border:2px solid #fff;}
.nadi-user{display:flex;align-items:center;gap:10px;cursor:pointer;padding-left:14px;border-left:1px solid var(--nadi-line);}
.nadi-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--nadi-pri),var(--nadi-acc));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;box-shadow:0 6px 14px rgba(79,70,229,.35);}
.nadi-user .who{line-height:1.15;text-align:right;}
.nadi-user .who b{font-size:13px;}
.nadi-user .who .role{display:inline-block;margin-top:2px;background:var(--nadi-ter-soft);color:var(--nadi-ter-d);font-size:9.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:2px 7px;border-radius:5px;}
.nadi-user .caret{color:#9aa0ad;display:inline-flex;}
.nadi-user .caret svg{width:13px;height:13px;}

/* ---------- Content ---------- */
.nadi-content{margin-left:var(--nadi-sidew);padding-top:var(--nadi-toph);min-height:100vh;}
.nadi-inner{padding:24px 28px 44px;}

/* ---------- Context sub-header band ---------- */
.nadi-context{display:flex;align-items:center;gap:16px;padding:18px 28px;
    background:linear-gradient(90deg,var(--nadi-pri-soft),#f6f7fe 60%);border-bottom:1px solid var(--nadi-line);}
.nadi-context .cx-ic{width:46px;height:46px;flex:none;border-radius:13px;display:flex;align-items:center;justify-content:center;color:var(--nadi-pri);background:#fff;border:1px solid #f1d4d9;box-shadow:0 4px 12px rgba(230,50,79,.12);}
.nadi-context .cx-ic svg{width:21px;height:21px;}
.nadi-context .cx-main{min-width:0;flex:1;}
.nadi-context .cx-kicker{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--nadi-pri);}
.nadi-context .cx-title{font-size:21px;font-weight:800;color:#1c1f2e;line-height:1.15;margin:1px 0 2px;}
.nadi-context .cx-sub{font-size:13px;color:var(--nadi-muted);}
.nadi-context .cx-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.nadi-context .cx-actions .nadi-btn.ghost{box-shadow:0 2px 6px rgba(30,27,75,.05);}
.nadi-page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
.nadi-page-head h1{font-size:23px;font-weight:800;margin:0;color:#1c1f2e;}
.nadi-crumb{font-size:12px;color:var(--nadi-muted);margin-top:3px;}
.nadi-crumb a{color:var(--nadi-pri);text-decoration:none;}

/* ---------- Cards ---------- */
.nadi-card{background:#fff;border:1px solid var(--nadi-line);border-bottom:3px solid var(--nadi-pri);border-radius:var(--nadi-rad);box-shadow:0 6px 22px rgba(30,27,75,.05);transition:transform .18s,box-shadow .18s;}
.nadi-card:hover{box-shadow:0 12px 30px rgba(30,27,75,.09);}
.nadi-card .hd{padding:17px 22px;border-bottom:1px solid var(--nadi-line);font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px;}
.nadi-card .hd i{color:var(--nadi-pri);}
.nadi-card .bd{padding:22px;}
.nadi-row{display:flex;flex-wrap:wrap;gap:20px;}
.nadi-col{flex:1;min-width:0;}

/* ---------- KPI stat cards ---------- */
.nadi-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px;}
.nadi-stat{position:relative;overflow:hidden;background:#fff;border:1px solid var(--nadi-line);border-bottom:3px solid var(--nadi-pri);border-radius:var(--nadi-rad);padding:20px;box-shadow:0 6px 22px rgba(30,27,75,.05);transition:transform .18s,box-shadow .18s;}
.nadi-stat:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(30,27,75,.12);}
.nadi-stat.g{border-bottom-color:var(--nadi-sec);}
.nadi-stat.b{border-bottom-color:var(--nadi-acc);}
.nadi-stat.o{border-bottom-color:var(--nadi-ter);}
.nadi-stat .ic{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--nadi-pri),var(--nadi-acc));margin-bottom:14px;box-shadow:0 8px 18px rgba(79,70,229,.32);}
.nadi-stat.g .ic{background:linear-gradient(135deg,#10b3a3,#0d9488);box-shadow:0 8px 18px rgba(13,148,136,.3);}
.nadi-stat.b .ic{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 8px 18px rgba(124,58,237,.3);}
.nadi-stat.o .ic{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 8px 18px rgba(245,158,11,.3);}
.nadi-stat .v{font-size:27px;font-weight:800;line-height:1;color:#1c1f2e;}
.nadi-stat .l{font-size:12px;color:var(--nadi-muted);font-weight:700;margin-top:5px;text-transform:uppercase;letter-spacing:.5px;}
.nadi-trend{position:absolute;top:20px;right:20px;font-size:12px;font-weight:800;padding:3px 9px;border-radius:20px;}
.nadi-trend.up{background:var(--nadi-sec-soft);color:var(--nadi-sec-d);}
.nadi-trend.down{background:#fdecec;color:#c0392b;}

/* ---------- Bits ---------- */
.nadi-btn{display:inline-flex;align-items:center;gap:7px;background:var(--nadi-pri);color:#fff;border:none;border-radius:10px;padding:9px 18px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;box-shadow:0 6px 16px rgba(79,70,229,.28);}
.nadi-btn:hover{background:var(--nadi-pri-d);color:#fff;}
.nadi-btn.ghost{background:#fff;color:var(--nadi-pri);border:1px solid var(--nadi-pri);box-shadow:none;}
.nadi-btn.sec{background:var(--nadi-sec);box-shadow:0 6px 16px rgba(13,148,136,.28);}.nadi-btn.sec:hover{background:var(--nadi-sec-d);}
.nadi-pill{display:inline-block;padding:3px 11px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:.3px;}
.nadi-pill.ok{background:var(--nadi-sec-soft);color:var(--nadi-sec-d);}
.nadi-pill.warn{background:#fdecec;color:#c0392b;}
.nadi-pill.info{background:var(--nadi-pri-soft);color:var(--nadi-pri);}
.nadi-pill.amber{background:var(--nadi-ter-soft);color:var(--nadi-ter-d);}

table.nadi-table{width:100%;border-collapse:collapse;background:#fff;}
table.nadi-table thead th{background:var(--nadi-pri-soft);color:var(--nadi-pri-d);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:13px 16px;border-bottom:1px solid var(--nadi-line);text-align:left;}
table.nadi-table thead th:first-child{border-left:2px solid #f6abab;}
table.nadi-table thead th:last-child{border-right:2px solid #f6abab;}
table.nadi-table tbody td{padding:13px 16px;border-bottom:1px solid #f1f2f7;font-size:13.5px;}
table.nadi-table tbody tr:last-child td{border-bottom:none;}
table.nadi-table tbody tr:hover{background:#fafaff;}

.nadi-field{margin-bottom:16px;}
.nadi-field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px;color:#3a3f4b;}
.nadi-field .req{color:var(--nadi-ter-d);}
.nadi-input,.nadi-select{width:100%;border:1px solid var(--nadi-line);border-radius:10px;padding:10px 13px;font-size:14px;outline:none;background:#fff;}
.nadi-input:focus,.nadi-select:focus{border-color:var(--nadi-pri);box-shadow:0 0 0 3px rgba(79,70,229,.10);}
.nadi-note{background:var(--nadi-pri-soft);border:1px solid #d8ddf9;color:var(--nadi-pri-d);border-radius:12px;padding:13px 15px;font-size:13.5px;display:flex;gap:10px;align-items:flex-start;}
.nadi-note i{color:var(--nadi-pri);}

.nadi-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12px;color:#6a7080;}
.nadi-legend span{display:flex;align-items:center;gap:6px;font-weight:600;}
.nadi-legend i{width:11px;height:11px;border-radius:3px;display:inline-block;}

/* ---------- Responsive ---------- */
@media (max-width:1100px){ .nadi-stats{grid-template-columns:repeat(2,1fr);} }
@media (max-width:820px){ .nadi-term{display:none;} }
@media (max-width:991px){
    .nadi-sidebar{transform:translateX(-100%);}
    .nadi-body.nadi-open .nadi-sidebar{transform:translateX(0);}
    .nadi-content{margin-left:0;}
    .nadi-burger{display:inline-block;}
    .nadi-brand{width:auto;border-right:none;padding-right:6px;}
    .nadi-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1015;}
    .nadi-body.nadi-open .nadi-backdrop{display:block;}
}
@media (max-width:560px){ .nadi-stats{grid-template-columns:1fr;} .nadi-search{display:none;} .nadi-brand .t{display:none;} }

/* ---------- Branded SweetAlert (.nadi-swal) ---------- */
.nadi-swal{border-radius:16px !important;padding:0 0 22px !important;font-family:'Inter',system-ui,sans-serif !important;box-shadow:0 24px 60px rgba(40,8,12,.22) !important;overflow:hidden;}
.nadi-swal .swal2-html-container{margin:0 !important;padding:0 26px !important;text-align:left !important;}
/* branded modal header: logo top-left + institution name (no background) */
.nadi-swal .nadi-swal-head{display:flex;align-items:center;gap:14px;padding:6px 0 12px;margin:0 0 12px;border-bottom:1px solid var(--nadi-line);text-align:left;}
.nadi-swal .nadi-swal-head img{height:52px;max-height:96px;width:auto;flex:none;}
.nadi-swal .nadi-swal-org{font-family:'Poppins','Inter',sans-serif;font-size:14px;font-weight:500;color:#3a3f4b;line-height:1.3;}
.nadi-swal .nadi-swal-title2{font-family:'Poppins','Inter',sans-serif;font-size:18px;font-weight:700;color:#1c1f2e;text-align:left;margin:0 0 10px;}
.nadi-swal .nadi-swal-text{font-size:14px;color:#5a6071;line-height:1.55;}
.nadi-swal-actions{margin-top:20px !important;gap:10px !important;padding:0 26px !important;justify-content:flex-end !important;}
.nadi-swal .swal2-validation-message{margin:10px 26px 0 !important;border-radius:8px;}
.nadi-swal-btn{display:inline-flex;align-items:center;gap:7px;background:var(--nadi-pri);color:#fff;border:none;border-radius:10px;padding:10px 22px;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 6px 16px rgba(230,50,79,.28);}
.nadi-swal-btn:hover{background:var(--nadi-pri-d);}
.nadi-swal-btn.ghost{background:#fff;color:#5a6071;border:1px solid var(--nadi-line);box-shadow:none;}
.nadi-swal-btn.ghost:hover{background:#f5f6fb;}
/* branded form fields inside swal */
.nadi-swal .nsf{display:block;width:100%;text-align:left;margin-bottom:12px;}
.nadi-swal .nsf label{display:block;font-size:12px;font-weight:700;color:#3a3f4b;margin-bottom:5px;}
.nadi-swal .nsf input,.nadi-swal .nsf select,.nadi-swal .nsf textarea{width:100%;border:1px solid var(--nadi-line);border-radius:9px;padding:9px 12px;font-size:14px;font-family:inherit;outline:none;background:#fff;}
.nadi-swal .nsf input:focus,.nadi-swal .nsf select:focus,.nadi-swal .nsf textarea:focus{border-color:var(--nadi-pri);box-shadow:0 0 0 3px rgba(230,50,79,.10);}
.nadi-swal .nsf-check{display:flex;align-items:center;gap:8px;font-size:13px;color:#3a3f4b;font-weight:600;}
.nadi-toast{border-radius:12px !important;font-family:'Inter',sans-serif !important;}

/* ---------- Sub-nav tabs (page-level secondary menu) ---------- */
.nadi-subnav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--nadi-line);padding-bottom:0;}
.nadi-subnav a{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;font-size:13px;font-weight:600;color:#6a7080;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;}
.nadi-subnav a:hover{color:var(--nadi-pri);}
.nadi-subnav a.active{color:var(--nadi-pri);border-bottom-color:var(--nadi-pri);}
.nadi-subnav a svg{width:15px;height:15px;}

/* ---------- Select2 theme (match nadi inputs) ---------- */
.select2-container{width:100% !important;}
.select2-container--default .select2-selection--single{height:40px;border:1px solid var(--nadi-line);border-radius:9px;background:#fff;display:flex;align-items:center;padding:0 10px;}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.4;color:var(--nadi-ink);font-size:14px;padding:0;}
.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#9aa0ad;}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:38px;right:6px;}
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single{border-color:var(--nadi-pri);box-shadow:0 0 0 3px rgba(230,50,79,.10);}
.select2-dropdown{border-color:var(--nadi-line);border-radius:10px;overflow:hidden;box-shadow:0 12px 30px rgba(30,27,75,.12);}
.select2-search--dropdown .select2-search__field{border:1px solid var(--nadi-line);border-radius:8px;padding:7px 9px;outline:none;}
.select2-container--default .select2-results__option{font-size:13.5px;padding:8px 12px;}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--nadi-pri);}
.select2-container--default .select2-results__option[aria-selected=true]{background:var(--nadi-pri-soft);color:var(--nadi-pri-d);}
/* inside SweetAlert popups */
.nadi-swal .select2-container{margin-bottom:0;}
.swal2-container .select2-dropdown{z-index:20000;}

/* ---------- Export toolbar ---------- */
.nadi-export{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.nadi-export-lbl{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a909d;margin-right:2px;}
.nadi-export-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--nadi-line);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;color:#5a6071;cursor:pointer;font-family:inherit;}
.nadi-export-btn:hover{border-color:var(--nadi-pri);color:var(--nadi-pri);background:var(--nadi-pri-soft);}
.nadi-export-btn svg{width:15px;height:15px;}

/* ---- notification bell dropdown ---- */
.nadi-bell{position:relative;cursor:pointer;}
.nadi-bell-panel{display:none;position:absolute;top:42px;right:0;width:340px;background:#fff;border:1px solid var(--nadi-line);border-radius:14px;box-shadow:0 18px 44px rgba(30,27,75,.18);z-index:1500;overflow:hidden;}
.nadi-bell.open .nadi-bell-panel{display:block;}
.nbp-head{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid var(--nadi-line);font-size:14px;color:#1c1f2e;}
.nbp-clear{background:none;border:none;color:var(--nadi-pri);font-size:12px;font-weight:700;cursor:pointer;}
.nbp-list{max-height:380px;overflow:auto;}
.nbp-item{display:block;padding:11px 15px;border-bottom:1px solid #f1f1f4;text-decoration:none;color:inherit;}
.nbp-item:hover{background:#faf8fb;}
.nbp-item.unread{background:var(--nadi-pri-soft);}
.nbp-item.unread:hover{background:#fbe2e6;}
.nbp-t{font-size:13px;font-weight:700;color:#1c1f2e;}
.nbp-b{font-size:12px;color:#6a7080;margin-top:2px;line-height:1.4;}
.nbp-time{font-size:11px;color:#9aa0ad;margin-top:3px;}
.nbp-empty{padding:24px 15px;text-align:center;color:#9aa0ad;font-size:13px;}

/* ---- user menu (top-right caret dropdown) ---- */
.nadi-user{position:relative;}
.nadi-user .caret{transition:transform .15s;}
.nadi-user.open .caret{transform:rotate(180deg);}
.nadi-user-panel{display:none;position:absolute;top:46px;right:0;width:220px;background:#fff;border:1px solid var(--nadi-line);border-radius:14px;box-shadow:0 18px 44px rgba(30,27,75,.18);z-index:1500;overflow:hidden;}
.nadi-user.open .nadi-user-panel{display:block;}
.nup-head{padding:13px 15px;border-bottom:1px solid var(--nadi-line);}
.nup-head b{display:block;font-size:13px;color:#1c1f2e;}
.nup-head small{font-size:11px;color:#9aa0ad;}
.nup-item{display:flex;align-items:center;gap:10px;padding:11px 15px;text-decoration:none;color:#1c1f2e;font-size:13px;font-weight:600;background:none;border:none;width:100%;text-align:left;cursor:pointer;}
.nup-item svg{width:16px;height:16px;}
.nup-item:hover{background:#faf8fb;}
.nup-item.danger{color:var(--nadi-pri);border-top:1px solid var(--nadi-line);}

/* ---- admin edit modal ---- */
.adm-overlay{display:none;position:fixed;inset:0;background:rgba(20,18,40,.5);z-index:2000;align-items:flex-start;justify-content:center;padding:50px 16px;overflow:auto;}
.adm-overlay.on{display:flex;}
.adm-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;box-shadow:0 24px 60px rgba(0,0,0,.3);overflow:hidden;}
.adm-head{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--nadi-line);font-weight:800;color:#1c1f2e;}
.adm-x{background:none;border:none;font-size:24px;color:#9aa0ad;cursor:pointer;line-height:1;}
.adm-body{padding:18px 20px;}
.adm-foot{display:flex;justify-content:flex-end;gap:10px;padding:13px 20px;border-top:1px solid var(--nadi-line);background:#faf8fb;}
.adm-act{white-space:nowrap;}
.adm-act .nadi-btn{padding:6px 12px;font-size:12px;}
