/* NOUN Student Portal 6.0 — experience layer.
   Loaded after portal.css so it can modernise the shell without changing
   legacy tool, payment or fulfilment markup. */

:root{
  --nsp6-ink:#12210c;
  --nsp6-muted:#5d6b58;
  --nsp6-brand:#173404;
  --nsp6-brand-2:#2f6d15;
  --nsp6-brand-soft:#edf6e8;
  --nsp6-line:#dfe8da;
  --nsp6-card:#fff;
  --nsp6-bg:#f4f7f1;
  --nsp6-warning:#9a5d00;
  --nsp6-warning-bg:#fff7db;
  --nsp6-info:#075985;
  --nsp6-info-bg:#e9f6ff;
  --nsp6-success:#166534;
  --nsp6-success-bg:#e8f8ec;
  --nsp6-danger:#991b1b;
  --nsp6-shadow:0 14px 38px rgba(23,52,4,.08);
}

.nsp .nsp-site-hdr{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,52,4,.1)}
.nsp .nsp-site-hdr-w{max-width:1540px}
.nsp .nsp-hdr-search{border-radius:14px;background:#f5f8f2;border-color:#dfe8da;transition:border-color .18s,box-shadow .18s,background .18s}
.nsp .nsp-hdr-search:focus-within{background:#fff;border-color:#7ca660;box-shadow:0 0 0 4px rgba(82,132,49,.12)}
.nsp .nsp-user-btn,.nsp .nsp-theme-btn{border-radius:12px}
.nsp .nsp-dash{background:var(--nsp6-bg);max-width:1540px;margin-inline:auto}
.nsp .nsp-side{background:linear-gradient(180deg,#163207 0%,#102705 100%);box-shadow:10px 0 34px rgba(16,39,5,.08)}
.nsp .nsp-side-hdr{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;margin:12px;padding:12px}
.nsp .nsp-nav{padding:4px 10px 14px}
.nsp .nsp-nav-item{border-radius:11px;margin-bottom:3px;min-height:44px}
.nsp .nsp-nav-item:hover{background:rgba(255,255,255,.08)}
.nsp .nsp-nav-item.active{background:#fff;color:#173404;box-shadow:0 7px 20px rgba(0,0,0,.14)}
.nsp .nsp-nav-sub{margin:3px 0 8px 13px;padding-left:9px;border-left:1px solid rgba(255,255,255,.16)}
.nsp .nsp-main{padding:26px 28px 42px}
.nsp .nsp-card,.nsp .nsp-ov-card{border-color:var(--nsp6-line);border-radius:16px;box-shadow:0 6px 22px rgba(23,52,4,.04)}
.nsp .nsp-page-hdr{margin-bottom:20px}
.nsp .nsp-page-hdr h1{letter-spacing:-.025em;color:var(--nsp6-ink)!important}
.nsp .nsp-welcome{border-radius:20px;box-shadow:var(--nsp6-shadow)}
.nsp button:focus-visible,.nsp a:focus-visible,.nsp input:focus-visible,.nsp select:focus-visible,.nsp textarea:focus-visible{outline:3px solid rgba(78,137,42,.42);outline-offset:2px}

/* Priority action */
.nsp6-priority{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 16px;padding:22px 24px;border:1px solid #cfe0c7;border-radius:19px;background:linear-gradient(135deg,#fff 0%,#f4faef 100%);box-shadow:var(--nsp6-shadow)}
.nsp6-priority-warning{border-color:#f0d28a;background:linear-gradient(135deg,#fffdf5,#fff6d5)}
.nsp6-priority-active{border-color:#b8ddef;background:linear-gradient(135deg,#fff,#eaf7ff)}
.nsp6-priority-copy{min-width:0}
.nsp6-kicker{display:block;margin-bottom:5px;color:#52713e;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.105em}
.nsp6-priority-warning .nsp6-kicker{color:#8a5705}
.nsp6-priority-active .nsp6-kicker{color:#075985}
.nsp .nsp6-priority h2{margin:0 0 5px;color:var(--nsp6-ink)!important;font-size:1.22rem;line-height:1.25;letter-spacing:-.018em}
.nsp .nsp6-priority p{max-width:720px;margin:0;color:var(--nsp6-muted)!important;font-size:.86rem;line-height:1.55}
.nsp6-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;border:0;border-radius:11px;background:var(--nsp6-brand);color:#fff;padding:12px 15px;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer;box-shadow:0 7px 18px rgba(23,52,4,.18);transition:transform .16s,box-shadow .16s}
.nsp6-primary-action:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(23,52,4,.22)}
.nsp6-primary-action svg{width:16px;height:16px}
.nsp6-priority-warning .nsp6-primary-action{background:#8a5705}
.nsp6-priority-active .nsp6-primary-action{background:#075985}

/* Personalised recommendations */
.nsp6-recommendations{margin:0 0 22px;padding:22px;border:1px solid var(--nsp6-line);border-radius:20px;background:var(--nsp6-card);box-shadow:var(--nsp6-shadow)}
.nsp6-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.nsp .nsp6-section-head h2{margin:0;color:var(--nsp6-ink)!important;font-size:1.18rem;line-height:1.25}
.nsp .nsp6-section-head p{margin:5px 0 0;color:var(--nsp6-muted)!important;font-size:.82rem}
.nsp6-text-button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--nsp6-brand);padding:8px;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}
.nsp6-text-button svg{width:15px;height:15px}
.nsp6-rec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nsp6-rec-card{display:flex;text-decoration:none;color:inherit;align-items:center;gap:12px;min-width:0;text-align:left;border:1px solid #e3eadf;background:#fff;border-radius:15px;padding:15px;cursor:pointer;font:inherit;transition:transform .16s,box-shadow .16s,border-color .16s}
.nsp6-rec-card:hover{transform:translateY(-2px);border-color:#86ac6f;box-shadow:0 10px 24px rgba(23,52,4,.09)}
.nsp6-rec-icon{width:43px;height:43px;border-radius:12px;background:var(--nsp6-brand-soft);color:var(--nsp6-brand);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.nsp6-rec-icon svg{width:21px;height:21px}
.nsp6-rec-copy{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}
.nsp .nsp6-rec-copy strong{color:#101c0b!important;font-size:.9rem;line-height:1.25}
.nsp .nsp6-rec-copy small{color:#64705f!important;font-size:.74rem;line-height:1.4}
.nsp .nsp6-rec-copy b{color:#1e6510!important;font-size:.77rem;margin-top:3px}
.nsp6-rec-arrow{color:#52713e;flex:0 0 auto}
.nsp6-rec-arrow svg{width:16px;height:16px}
.nsp6-tma-callout{display:flex;align-items:center;gap:12px;margin-top:13px;padding:14px 15px;border-radius:14px;background:linear-gradient(135deg,#142b09,#1d430a);color:#fff}
.nsp6-tma-icon{width:39px;height:39px;border-radius:11px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.nsp6-tma-icon svg{width:20px;height:20px}
.nsp6-tma-callout>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1}
.nsp .nsp6-tma-callout strong{color:#fff!important;font-size:.86rem}
.nsp .nsp6-tma-callout small{color:#d9e8d0!important;font-size:.75rem;line-height:1.4}
.nsp6-tma-callout button{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:10px;background:#fff;color:#173404;padding:9px 12px;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}
.nsp6-tma-callout button svg{width:15px;height:15px}

/* Unified order centre */
.nsp6-order-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.nsp6-order-stats>div{display:flex;flex-direction:column;gap:4px;padding:16px 17px;border:1px solid var(--nsp6-line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(23,52,4,.04)}
.nsp .nsp6-order-stats span{color:#687363!important;font-size:.73rem;font-weight:750}
.nsp .nsp6-order-stats strong{color:var(--nsp6-ink)!important;font-size:1.48rem;line-height:1}
.nsp6-order-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 15px;padding:10px;border:1px solid var(--nsp6-line);border-radius:14px;background:#fff}
.nsp6-order-filters{display:flex;gap:5px;flex-wrap:wrap}
.nsp6-order-filters button{border:0;border-radius:9px;background:transparent;color:#556151;padding:8px 10px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}
.nsp6-order-filters button:hover{background:#f0f5ed}
.nsp6-order-filters button.is-active{background:var(--nsp6-brand);color:#fff}
.nsp6-new-order{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:10px;background:#eff6eb;color:var(--nsp6-brand);padding:9px 12px;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}
.nsp6-new-order svg{width:15px;height:15px}
.nsp6-order-list{display:grid;gap:11px}
.nsp6-order-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e0e6dd;border-left:4px solid #9aa894;border-radius:15px;background:#fff;padding:16px 17px;box-shadow:0 5px 17px rgba(23,52,4,.035);transition:transform .15s,box-shadow .15s}
.nsp6-order-card:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(23,52,4,.07)}
.nsp6-order-card[data-order-group="payment"]{border-left-color:#d7931b}
.nsp6-order-card[data-order-group="active"]{border-left-color:#2b8ab8}
.nsp6-order-card[data-order-group="completed"]{border-left-color:#3b9145}
.nsp6-order-card[hidden]{display:none!important}
.nsp6-order-main{min-width:0}
.nsp6-order-type{display:block;text-transform:uppercase;letter-spacing:.085em;font-size:.64rem!important;font-weight:900!important;color:#667361!important}
.nsp .nsp6-order-main h2{font-size:.93rem;color:#101d0b!important;margin:4px 0;white-space:normal}
.nsp .nsp6-order-main p{font-size:.74rem;color:#687363!important;margin:0}
.nsp6-order-meta{display:grid;grid-template-columns:minmax(105px,auto) minmax(90px,auto) auto;align-items:center;gap:14px}
.nsp6-order-status{border-radius:99px;padding:5px 9px;background:#eef2ec;color:#4b5746!important;text-align:center;font-size:.7rem!important;font-weight:800!important}
.nsp6-order-status.is-payment{background:var(--nsp6-warning-bg);color:var(--nsp6-warning)!important}
.nsp6-order-status.is-active{background:var(--nsp6-info-bg);color:var(--nsp6-info)!important}
.nsp6-order-status.is-completed{background:var(--nsp6-success-bg);color:var(--nsp6-success)!important}
.nsp6-order-status.is-cancelled{background:#f5eeee;color:var(--nsp6-danger)!important}
.nsp .nsp6-order-meta strong{color:var(--nsp6-brand)!important;font-size:.86rem;text-align:right}
.nsp6-order-meta button,.nsp6-order-empty button{border:1px solid #b9c9af;border-radius:9px;background:#f8fbf6;color:var(--nsp6-brand);padding:8px 10px;font:inherit;font-size:.74rem;font-weight:850;cursor:pointer}
.nsp6-order-empty{text-align:center;border:1px dashed #bac8b2;border-radius:18px;background:#fbfdf9;padding:46px 20px}
.nsp6-order-empty>span{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border-radius:16px;background:var(--nsp6-brand-soft);color:var(--nsp6-brand)}
.nsp6-order-empty>span svg{width:26px;height:26px}
.nsp .nsp6-order-empty h2{margin:13px 0 5px;color:var(--nsp6-ink)!important}
.nsp .nsp6-order-empty p{margin:0 auto 17px;max-width:480px;color:var(--nsp6-muted)!important}
.nsp6-order-no-results{padding:30px;text-align:center;border:1px dashed #cfd8ca;border-radius:14px;color:#687363;background:#fff}

/* Dark mode */
[data-theme="dark"]{
  --nsp6-ink:#effaf1;
  --nsp6-muted:#b8c6bd;
  --nsp6-card:#10201b;
  --nsp6-bg:#09130f;
  --nsp6-line:#263d34;
  --nsp6-shadow:0 14px 38px rgba(0,0,0,.28);
}
[data-theme="dark"] .nsp .nsp-site-hdr{background:rgba(8,18,14,.94);border-color:#22362f}
[data-theme="dark"] .nsp .nsp-hdr-search{background:#10201b;border-color:#294037}
[data-theme="dark"] .nsp .nsp-dash{background:var(--nsp6-bg)}
[data-theme="dark"] .nsp6-priority,[data-theme="dark"] .nsp6-recommendations,[data-theme="dark"] .nsp6-order-stats>div,[data-theme="dark"] .nsp6-order-toolbar,[data-theme="dark"] .nsp6-order-card,[data-theme="dark"] .nsp6-order-empty,[data-theme="dark"] .nsp6-order-no-results{background:#10201b;border-color:#294037}
[data-theme="dark"] .nsp6-priority{background:linear-gradient(135deg,#10201b,#13261c)}
[data-theme="dark"] .nsp6-priority-warning{background:linear-gradient(135deg,#201b0f,#2a210c);border-color:#665327}
[data-theme="dark"] .nsp6-priority-active{background:linear-gradient(135deg,#0d1d24,#102934);border-color:#2b5264}
[data-theme="dark"] .nsp6-rec-card{background:#0d1916;border-color:#263d34}
[data-theme="dark"] .nsp .nsp6-rec-copy strong,[data-theme="dark"] .nsp .nsp6-order-main h2,[data-theme="dark"] .nsp .nsp6-order-meta strong{color:#f0fdf4!important}
[data-theme="dark"] .nsp6-order-filters button{color:#c7d2cc}
[data-theme="dark"] .nsp6-order-filters button:hover{background:#1b3028}
[data-theme="dark"] .nsp6-new-order{background:#1a3025;color:#d9f5cd}

@media(max-width:1100px){
  .nsp6-rec-grid{grid-template-columns:1fr 1fr}
  .nsp6-rec-card:last-child{grid-column:1/-1}
}
@media(max-width:900px){
  .nsp .nsp-main{padding:20px 18px 92px}
  .nsp6-order-stats{grid-template-columns:repeat(2,1fr)}
  .nsp6-order-card{align-items:flex-start}
  .nsp6-order-meta{grid-template-columns:1fr;justify-items:end;gap:8px}
}
@media(max-width:680px){
  .nsp6-priority{display:block;padding:19px}
  .nsp6-primary-action{width:100%;margin-top:15px}
  .nsp6-section-head{display:block}
  .nsp6-text-button{padding-left:0;margin-top:7px}
  .nsp6-rec-grid{grid-template-columns:1fr}
  .nsp6-rec-card:last-child{grid-column:auto}
  .nsp6-tma-callout{align-items:flex-start;flex-wrap:wrap}
  .nsp6-tma-callout button{width:100%;justify-content:center}
  .nsp6-order-toolbar{display:block}
  .nsp6-new-order{width:100%;justify-content:center;margin-top:9px}
  .nsp6-order-card{display:block}
  .nsp6-order-meta{grid-template-columns:1fr 1fr;margin-top:14px;justify-items:start}
  .nsp6-order-meta button{grid-column:1/-1;width:100%}
  .nsp .nsp6-order-meta strong{text-align:left}
}
@media(max-width:430px){
  .nsp6-order-stats{gap:8px}
  .nsp6-order-stats>div{padding:13px}
  .nsp6-order-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}
}
