/* Private management panel styles. */
.np-management-body{--np-bg:#f4f7f6;--np-ink:#111817;--np-soft:#6b7673;--np-line:#dfe7e4;--np-teal:#087a78;--np-mint:#8af2c7;--np-panel:#fff;margin:0;background:var(--np-bg);color:var(--np-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.np-management-body *{box-sizing:border-box}
.np-management-body a{color:inherit;text-decoration:none}
.np-management-app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.np-management-sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:28px;height:100vh;padding:28px;background:#07100f;color:#fff}
.np-management-brand{display:flex;align-items:center;gap:12px}
.np-management-brand span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--np-mint);color:#07100f;font-weight:900}
.np-management-brand strong{font-size:.92rem;letter-spacing:.08em}
.np-management-sidebar nav{display:grid;gap:8px}
.np-management-sidebar nav a{padding:13px 14px;border-radius:8px;color:rgba(255,255,255,.7);font-weight:800}
.np-management-sidebar nav a:hover,.np-management-sidebar nav a.active{background:rgba(138,242,199,.14);color:#fff}
.np-management-main{display:grid;gap:24px;align-content:start;padding:34px;min-width:0}
.np-management-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.np-management-topbar h1{margin:0;font-size:2.6rem;line-height:1;letter-spacing:0}
.np-management-user{display:flex;align-items:center;gap:12px;color:var(--np-soft);font-size:.9rem}
.np-management-user a{padding:10px 14px;border:1px solid var(--np-line);border-radius:8px;background:#fff;color:var(--np-teal);font-weight:800}
.np-management-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.np-management-card{display:grid;gap:18px;min-height:150px;padding:22px;border:1px solid var(--np-line);border-radius:8px;background:var(--np-panel);box-shadow:0 14px 40px rgba(12,35,32,.06)}
.np-management-card span{color:var(--np-soft);font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.np-management-card strong{align-self:end;color:var(--np-teal);font-size:2.8rem;line-height:1}
.np-management-panel{padding:24px;border:1px solid var(--np-line);border-radius:8px;background:var(--np-panel);box-shadow:0 14px 40px rgba(12,35,32,.05)}
.np-management-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.np-management-panel-head h2{margin:0 0 6px;font-size:1.35rem;line-height:1.2}
.np-management-panel-head p{margin:0;color:var(--np-soft)}
.np-management-panel-head>a{padding:10px 13px;border-radius:8px;background:#e9f8f3;color:var(--np-teal);font-weight:850}
.np-management-table-wrap{width:100%;overflow:auto}
.np-management-table{width:100%;border-collapse:collapse;min-width:760px}
.np-management-table th,.np-management-table td{padding:14px 12px;border-bottom:1px solid var(--np-line);text-align:left;vertical-align:top}
.np-management-table th{color:var(--np-soft);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.np-management-table td{font-size:.92rem}
.np-management-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:850}
.np-management-status.pending{background:#fff5df;color:#8a5900}
.np-management-status.read{background:#e5f7ef;color:#17613d}
.np-management-action,.np-management-actions button{display:inline-flex;align-items:center;justify-content:center;padding:9px 11px;border:0;border-radius:8px;background:var(--np-teal);color:#fff;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}
.np-management-actions{display:flex;flex-wrap:wrap;gap:8px}
.np-management-actions button.danger{background:#fff0ef;color:#972f28}
.np-management-tabs{display:flex;gap:8px;flex-wrap:wrap}
.np-management-tabs a{padding:10px 14px;border:1px solid var(--np-line);border-radius:8px;background:#fff;color:var(--np-soft);font-weight:850}
.np-management-tabs a.active{border-color:var(--np-teal);background:#e9f8f3;color:var(--np-teal)}
.np-management-calendar{width:100%;overflow:auto}
.np-management-calendar table{width:100%;min-width:860px;border-collapse:collapse}
.np-management-calendar th,.np-management-calendar td{padding:14px;border:1px solid var(--np-line);vertical-align:top}
.np-management-calendar thead th{background:#07100f;color:#fff}
.np-management-calendar tbody th{width:84px;background:#f8faf9}
.np-management-empty{color:#9aa4a1;font-size:.82rem}
.np-management-student-pill{display:block;margin-bottom:7px;padding:8px;border-left:4px solid var(--np-mint);border-radius:6px;background:#eff7f5;font-weight:800}
.np-management-auth{display:grid;min-height:100vh;place-items:center;padding:24px}
.np-management-auth section{width:min(100%,560px);padding:36px;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(12,35,32,.12)}
.np-management-auth h1{margin:0 0 12px;font-size:2.4rem;line-height:1}
.np-management-auth p:not(.np-kicker){margin:0 0 24px;color:var(--np-soft)}
@media(max-width:1050px){.np-management-app{grid-template-columns:1fr}}
@media(max-width:1050px){.np-management-sidebar{position:static;height:auto}}
@media(max-width:1050px){.np-management-sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.np-management-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.np-management-main{padding:22px 16px}}
@media(max-width:680px){.np-management-topbar{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.np-management-topbar h1{font-size:2.1rem}}
@media(max-width:680px){.np-management-user{width:100%;justify-content:space-between}}
@media(max-width:680px){.np-management-sidebar{padding:22px 16px}}
@media(max-width:680px){.np-management-sidebar nav{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.np-management-cards{grid-template-columns:1fr}}
@media(max-width:680px){.np-management-panel{padding:18px}}
@media(max-width:680px){.np-management-panel-head{flex-direction:column}}
@media(max-width:680px){.np-management-card{min-height:126px}}
.np-management-body{--np-bg:#f3f7f6;--np-ink:#101817;--np-soft:#687572;--np-line:#dfe8e5;--np-teal:#087a78;--np-mint:#8af2c7;--np-panel:#fff;background:var(--np-bg)!important;color:var(--np-ink)!important}
.np-management-app{grid-template-columns:292px minmax(0,1fr)!important;min-height:100vh;background:var(--np-bg)!important}
.np-management-sidebar{gap:24px!important;padding:28px!important;background:#fff!important;color:var(--np-ink)!important;border-right:1px solid var(--np-line)!important;box-shadow:8px 0 30px rgba(15,39,36,.05)!important}
.np-management-logo{display:block!important;width:100%;max-width:180px}
.np-management-logo img{display:block;width:100%;max-width:180px;height:auto}
.np-management-logo span,.np-management-logo strong{display:none!important}
.np-management-sidebar nav{gap:8px!important;margin-top:6px}
.np-management-sidebar nav a{padding:13px 14px!important;border-radius:12px!important;color:var(--np-soft)!important;font-weight:850!important}
.np-management-sidebar nav a:hover,.np-management-sidebar nav a.active{background:#e9f8f3!important;color:var(--np-teal)!important}
.np-management-logout{margin-top:auto;padding:13px 14px;border:1px solid #b9eadd;border-radius:12px;background:#e9f8f3;color:var(--np-teal)!important;font-weight:900;text-align:center}
.np-management-main{gap:22px!important;padding:34px!important;background:var(--np-bg)!important}
.np-management-topbar{padding:24px 26px;border:1px solid var(--np-line);border-radius:18px;background:#fff;box-shadow:0 16px 44px rgba(15,39,36,.06)}
.np-management-topbar h1{font-size:clamp(2rem,4vw,3.2rem)!important;letter-spacing:0!important}
.np-management-topbar .np-kicker{color:var(--np-teal)!important}
.np-management-user a{border-radius:12px!important;background:#e9f8f3!important;color:var(--np-teal)!important}
.np-management-cards{gap:16px!important}
.np-management-card{min-height:142px!important;padding:22px!important;border-color:var(--np-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 16px 44px rgba(15,39,36,.06)!important}
.np-management-card span{color:var(--np-soft)!important;font-size:.72rem!important;font-weight:900!important;letter-spacing:.11em!important}
.np-management-card strong{color:var(--np-teal)!important;font-size:clamp(2.2rem,4vw,3rem)!important}
.np-management-panel{padding:26px!important;border-color:var(--np-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 16px 44px rgba(15,39,36,.06)!important}
.np-management-panel-head h2{font-size:1.45rem!important;letter-spacing:0!important}
.np-management-panel-head p{color:var(--np-soft)!important}
.np-management-panel-head>a,.np-management-action,.np-management-actions button{border-radius:12px!important;background:var(--np-teal)!important;color:#fff!important;font-weight:900!important}
.np-management-panel-head>a{padding:12px 15px!important}
.np-management-table-wrap{border:1px solid var(--np-line);border-radius:16px;background:#fff;overflow:auto}
.np-management-table{min-width:760px;border-collapse:separate!important;border-spacing:0}
.np-management-table th{background:#f2f8f6;color:var(--np-teal)!important;font-weight:900!important}
.np-management-table th,.np-management-table td{padding:15px 14px!important;border-bottom:1px solid var(--np-line)!important}
.np-management-table tbody tr:last-child td{border-bottom:0!important}
.np-management-tabs a{border-radius:12px!important;background:#fff!important;color:var(--np-soft)!important}
.np-management-tabs a.active{border-color:var(--np-teal)!important;background:#e9f8f3!important;color:var(--np-teal)!important}
.np-management-status{border-radius:999px!important;font-weight:900!important}
.np-management-actions button.danger{border:1px solid #ffd5d2!important;background:#fff0ef!important;color:#972f28!important}
.np-management-request-actions{align-items:center!important;gap:6px!important}
.np-management-request-actions button{min-height:28px!important;padding:5px 8px!important;border-radius:7px!important;font-size:.72rem!important;line-height:1!important;font-weight:800!important}
.np-management-calendar table{border-collapse:separate!important;border-spacing:0;min-width:860px;background:#fff}
.np-management-calendar th,.np-management-calendar td{border-color:var(--np-line)!important}
.np-management-calendar thead th{background:#07100f!important;color:#fff!important}
.np-management-calendar tbody th{background:#f2f8f6!important;color:var(--np-teal)!important}
.np-management-student-pill{border-left-color:var(--np-mint)!important;border-radius:10px!important;background:#eff7f5!important;color:#111817!important}
.np-management-empty{color:#9aa4a1!important;font-weight:750}
@media(max-width:1050px){.np-management-app{display:block!important}}
@media(max-width:1050px){.np-management-sidebar{position:relative!important;height:auto!important}}
@media(max-width:1050px){.np-management-sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:1050px){.np-management-logout{margin-top:0}}
@media(max-width:1050px){.np-management-main{padding:22px 16px!important}}
@media(max-width:680px){.np-management-topbar{align-items:flex-start;flex-direction:column;padding:20px!important}}
@media(max-width:680px){.np-management-user{width:100%;justify-content:space-between}}
@media(max-width:680px){.np-management-sidebar nav{grid-template-columns:1fr 1fr!important}}
@media(max-width:680px){.np-management-logo,.np-management-logo img{max-width:150px}}
@media(max-width:680px){.np-management-panel{padding:20px!important}}
.np-management-login{display:grid;min-height:100vh;place-items:center;padding:28px;background:linear-gradient(135deg,#f3f7f6,#e8f6f1)}
.np-management-login-card{width:min(100%,460px);padding:34px;border:1px solid var(--np-line);border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(15,39,36,.12)}
.np-management-login-logo{display:block;width:min(190px,70%);height:auto;margin:0 0 28px}
.np-management-login-card h1{margin:0 0 10px;font-size:clamp(2rem,6vw,3.4rem);line-height:1;letter-spacing:0}
.np-management-login-card>p:not(.np-kicker):not(.np-management-login-error){margin:0 0 24px;color:var(--np-soft);line-height:1.5}
.np-management-login-error{margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#fff0ef;color:#972f28;font-weight:800}
.np-management-login-form{display:grid;gap:15px}
.np-management-login-form label{display:grid;gap:7px;color:#263432;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.np-management-login-form input[type=text],.np-management-login-form input[type=password]{width:100%;padding:14px;border:1px solid var(--np-line);border-radius:12px;background:#fff;font:inherit;outline:none}
.np-management-login-form input:focus{border-color:var(--np-teal);box-shadow:0 0 0 3px rgba(8,122,120,.1)}
.np-management-login-remember{display:flex!important;align-items:center;gap:8px!important;color:var(--np-soft)!important;font-size:.9rem!important;letter-spacing:0!important;text-transform:none!important}
.np-management-login-form button{padding:15px 18px;border:0;border-radius:12px;background:var(--np-teal);color:#fff;font:inherit;font-weight:900;cursor:pointer}
.np-management-body{font-size:14px}
.np-management-app{grid-template-columns:230px minmax(0,1fr)!important}
.np-management-sidebar{gap:16px!important;padding:20px 18px!important}
.np-management-logo,.np-management-logo img{max-width:142px!important}
.np-management-sidebar nav{gap:5px!important;margin-top:2px!important}
.np-management-sidebar nav a{padding:10px 11px!important;border-radius:10px!important;font-size:.86rem!important;font-weight:760!important}
.np-management-logout{padding:10px 11px!important;border-radius:10px!important;font-size:.86rem!important;font-weight:820!important}
.np-management-main{gap:16px!important;padding:24px!important}
.np-management-topbar{padding:18px 20px!important;border-radius:14px!important}
.np-management-topbar h1{font-size:clamp(1.65rem,3vw,2.45rem)!important}
.np-management-panel{padding:20px!important;border-radius:14px!important}
.np-management-panel-head{margin-bottom:14px!important}
.np-management-panel-head h2{font-size:1.22rem!important}
.np-management-panel-head p{font-size:.88rem!important}
.np-management-card{min-height:112px!important;padding:16px!important;border-radius:14px!important}
.np-management-card span{font-size:.66rem!important}
.np-management-card strong{font-size:clamp(1.7rem,3vw,2.35rem)!important}
@media(max-width:1050px){.np-management-app{grid-template-columns:1fr!important}}
@media(max-width:1050px){.np-management-sidebar{padding:16px!important}}
@media(max-width:1050px){.np-management-logo,.np-management-logo img{max-width:126px!important}}
@media(max-width:1050px){.np-management-main{padding:18px 14px!important}}
@media(max-width:720px){.np-management-body{font-size:13px}}
@media(max-width:720px){.np-management-panel{padding:16px!important}}
.np-management-groups-panel{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
@media(max-width:720px){.np-management-groups-panel{padding:0!important}}
.np-management-tabs .np-management-tab{font-size:.84rem;padding:9px 12px}
.np-management-nav a,.np-management-logout{display:flex!important;align-items:center;gap:9px}
.np-management-nav-icon{display:inline-grid;width:16px;min-width:16px;height:16px;place-items:center;color:#087a78;font-size:15px;line-height:1}
.np-management-logout .np-management-nav-icon{font-size:16px}
.np-management-app{grid-template-columns:185px minmax(0,1fr)!important}
.np-management-sidebar{padding:16px 12px!important;gap:12px!important}
.np-management-logo,.np-management-logo img{max-width:112px!important}
.np-management-nav{gap:3px!important}
.np-management-nav a,.np-management-logout{gap:7px!important;padding:8px 9px!important;font-size:12px!important;line-height:1.15!important;border-radius:8px!important}
.np-management-nav-icon{width:14px;min-width:14px;height:14px;font-size:13px}
.np-management-logout .np-management-nav-icon{font-size:14px}
.np-management-main{padding:18px!important;gap:12px!important}
@media(max-width:1050px){.np-management-app{grid-template-columns:1fr!important}}
@media(max-width:1050px){.np-management-sidebar{padding:14px!important}}
@media(max-width:1050px){.np-management-logo,.np-management-logo img{max-width:108px!important}}
@media(max-width:1050px){.np-management-main{padding:16px 12px!important}}
.np-management-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.np-pending-toggle{margin:16px 0 10px}
.np-pending-toggle label{display:inline-flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #b9eadd;border-radius:10px;background:#e9f8f3;color:#087a78;font-size:.82rem;font-weight:850;cursor:pointer}
.np-pending-toggle input{accent-color:#087a78}
.np-pending-list{display:grid;gap:8px;margin-top:10px}
.np-pending-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--np-line);border-radius:10px;background:#fff}
.np-pending-name{display:block;color:#101817;font-size:.9rem}
.np-pending-detail{margin:3px 0 0;color:#687572;font-size:.78rem;line-height:1.35}
.np-pending-amount{color:#087a78;font-size:.95rem;white-space:nowrap}
@media(max-width:720px){.np-management-summary-grid{grid-template-columns:1fr!important}}
@media(max-width:720px){.np-pending-item{grid-template-columns:1fr}}
