/*
 * NOUN Student Portal 6.13.1 — Dashboard Typography & Card Hierarchy Polish
 * Clear system typography, larger desktop cards and one visible title per panel.
 */
.nsp-workspace #nsp-p-overview{max-width:none!important}
.nsw-dashboard-6131{
  width:100%;max-width:none;margin:0 auto;display:flex;flex-direction:column;gap:22px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:16px;
}
.nsw-dashboard-6131 :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,button,a){font-family:inherit!important}

/* The dashboard opens with context, not another page title. */
.nsw-dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:2px 2px 0}
.nsw-dashboard-welcome-copy{display:flex;align-items:baseline;gap:10px 14px;min-width:0;flex-wrap:wrap}
.nsw-dashboard-welcome-copy strong{color:var(--nsw-text)!important;font-size:1.18rem;line-height:1.35;font-weight:800;letter-spacing:-.015em}
.nsw-dashboard-welcome-copy span{color:var(--nsw-muted)!important;font-size:.95rem;line-height:1.5;font-weight:500}
.nsw-dashboard-welcome>.nsw-link-button{flex:0 0 auto;min-height:42px!important;font-size:.82rem!important}

/* Bigger summary cards on desktop: one label, one value, one supporting state. */
.nsw-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.nsw-dashboard-metric{position:relative;display:grid!important;grid-template-columns:56px minmax(0,1fr) 20px;align-items:center;gap:15px;min-width:0;min-height:158px;padding:24px 22px!important;border:1px solid var(--nsw-border)!important;border-radius:18px!important;background:var(--nsw-white)!important;color:var(--nsw-text)!important;box-shadow:0 7px 22px rgba(14,27,37,.045)!important;text-align:left!important;cursor:pointer!important;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease!important}
.nsw-dashboard-metric:hover{border-color:#9fc5b3!important;box-shadow:0 12px 28px rgba(14,27,37,.08)!important;transform:translateY(-1px)}
.nsw-dashboard-metric-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:15px;background:var(--nsw-green-100)!important;color:var(--nsw-green-700)!important}
.nsw-dashboard-metric-icon svg{width:25px;height:25px}
.nsw-dashboard-metric-copy{display:block;min-width:0}
.nsw-dashboard-metric-copy>span{display:block;color:var(--nsw-text)!important;font-size:.98rem;line-height:1.25;font-weight:800}
.nsw-dashboard-metric-copy strong{display:block;margin:6px 0 4px;color:var(--nsw-green-700)!important;font-size:2.45rem;line-height:.95;font-weight:850;letter-spacing:-.045em}
.nsw-dashboard-metric-copy small{display:block;color:var(--nsw-muted)!important;font-size:.79rem;line-height:1.4;font-weight:520}
.nsw-dashboard-metric-arrow{display:grid;place-items:center;color:var(--nsw-muted)!important;opacity:.8}
.nsw-dashboard-metric-arrow svg{width:18px;height:18px}

.nsw-dashboard-6131 .nsw-panel{margin:0!important}
.nsw-dashboard-6131 .nsw-section-heading{align-items:center;margin-bottom:16px!important}
.nsw-dashboard-6131 .nsw-section-heading h2{margin:0!important;color:var(--nsw-text)!important;font-family:inherit!important;font-size:1.28rem!important;line-height:1.3!important;font-weight:800!important;letter-spacing:-.02em!important}
.nsw-dashboard-6131 .nsw-section-heading .nsw-eyebrow{display:none!important}

/* Next actions */
.nsw-dashboard-6131 .nsw-action-queue{padding:23px 24px!important;border-radius:18px!important;box-shadow:0 7px 22px rgba(14,27,37,.04)!important}
.nsw-dashboard-6131 .nsw-action-item{grid-template-columns:30px 44px minmax(0,1fr) auto;gap:13px;min-height:74px;padding:15px 16px;border-radius:14px}
.nsw-dashboard-6131 .nsw-action-number{width:28px;height:28px;font-size:.72rem}
.nsw-dashboard-6131 .nsw-action-icon{width:44px;height:44px;border-radius:12px}
.nsw-dashboard-6131 .nsw-action-icon svg{width:20px;height:20px}
.nsw-dashboard-6131 .nsw-action-copy h3{font-family:inherit!important;font-size:1rem!important;line-height:1.35!important;font-weight:780!important}
.nsw-dashboard-6131 .nsw-action-copy p{font-size:.82rem!important;line-height:1.5!important}
.nsw-dashboard-6131 .nsw-action-button{min-height:42px!important;padding:9px 14px!important;font-size:.82rem!important;border-radius:10px!important}
.nsw-dashboard-6131 .nsw-action-dismiss{width:40px;height:40px;min-width:40px}
.nsw-dashboard-6131 .nsw-action-hidden-note{font-size:.8rem!important}
.nsw-dashboard-6131 .nsw-action-hidden-note button{font-size:.78rem!important;min-height:38px!important}
.nsw-dashboard-6131 .nsw-count-badge{min-width:34px!important;height:34px!important;font-size:.78rem!important}

/* Recent activity */
.nsw-dashboard-activity{padding:23px 24px!important;border-radius:18px!important;box-shadow:0 7px 22px rgba(14,27,37,.04)!important}
.nsw-dashboard-activity-list{display:flex;flex-direction:column}
.nsw-dashboard-activity-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 38px;align-items:center;gap:14px;min-height:79px;padding:14px 2px;border-bottom:1px solid var(--nsw-border)}
.nsw-dashboard-activity-row:last-child{border-bottom:0}
.nsw-dashboard-activity-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--nsw-green-50)!important;color:var(--nsw-green-700)!important}
.nsw-dashboard-activity-icon svg{width:20px;height:20px}
.nsw-dashboard-activity-copy{min-width:0}
.nsw-dashboard-activity-copy h3{margin:0;color:var(--nsw-text)!important;font-family:inherit!important;font-size:.98rem!important;line-height:1.4;font-weight:780!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nsw-dashboard-activity-copy p{margin:4px 0 0;color:var(--nsw-muted)!important;font-size:.8rem!important;line-height:1.4}
.nsw-dashboard-activity-row .nsw-status{white-space:nowrap;font-size:.75rem!important}
.nsw-dashboard-activity-open{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;padding:0!important;border:1px solid var(--nsw-border)!important;border-radius:10px!important;background:var(--nsw-white)!important;color:var(--nsw-green-700)!important;cursor:pointer!important}
.nsw-dashboard-activity-open:hover{border-color:var(--nsw-green-600)!important;background:var(--nsw-green-50)!important}
.nsw-dashboard-activity-open svg{width:16px;height:16px}
.nsw-dashboard-activity-empty{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px;border:1px dashed var(--nsw-border);border-radius:14px;background:var(--nsw-soft)}
.nsw-dashboard-activity-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--nsw-white);color:var(--nsw-green-700)}
.nsw-dashboard-activity-empty>span svg{width:21px;height:21px}
.nsw-dashboard-activity-empty strong{display:block;color:var(--nsw-text)!important;font-size:.96rem!important}
.nsw-dashboard-activity-empty p{margin:4px 0 0;color:var(--nsw-muted)!important;font-size:.82rem!important;line-height:1.5}
.nsw-dashboard-6131 .nsw-link-button{font-size:.82rem!important}

/* No permanent third rail on Today. */
.nsw-dashboard-6131 .nsw-today-grid,.nsw-dashboard-6131 .nsw-today-side{display:none!important}

[data-theme="dark"] .nsw-dashboard-metric,[data-theme="dark"] .nsw-dashboard-activity,[data-theme="dark"] .nsw-dashboard-6131 .nsw-action-queue{box-shadow:0 8px 24px rgba(0,0,0,.18)!important}
[data-theme="dark"] .nsw-dashboard-metric:hover{border-color:#477261!important}

@media(max-width:1100px){
  .nsw-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nsw-dashboard-metric{min-height:142px}
}
@media(max-width:720px){
  .nsw-dashboard-6131{gap:16px;font-size:15px}
  .nsw-dashboard-welcome{align-items:flex-start;flex-direction:column;gap:9px;padding:0}
  .nsw-dashboard-welcome-copy{display:grid;gap:3px}
  .nsw-dashboard-welcome-copy strong{font-size:1.05rem}
  .nsw-dashboard-welcome-copy span{font-size:.82rem}
  .nsw-dashboard-welcome>.nsw-link-button{width:100%;justify-content:center}
  .nsw-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .nsw-dashboard-metric{grid-template-columns:40px minmax(0,1fr);min-height:108px;padding:14px!important;gap:10px;border-radius:15px!important}
  .nsw-dashboard-metric-icon{width:40px;height:40px;border-radius:11px}
  .nsw-dashboard-metric-icon svg{width:19px;height:19px}
  .nsw-dashboard-metric-copy strong{font-size:1.7rem;margin:4px 0 2px}
  .nsw-dashboard-metric-copy>span{font-size:.8rem}
  .nsw-dashboard-metric-copy small{font-size:.68rem}
  .nsw-dashboard-metric-arrow{display:none}
  .nsw-dashboard-6131 .nsw-action-queue,.nsw-dashboard-activity{padding:17px!important}
  .nsw-dashboard-6131 .nsw-section-heading h2{font-size:1.12rem!important}
  .nsw-dashboard-6131 .nsw-action-item{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:13px}
  .nsw-dashboard-6131 .nsw-action-number{display:none}
  .nsw-dashboard-6131 .nsw-action-icon{width:40px;height:40px}
  .nsw-dashboard-6131 .nsw-action-copy h3{font-size:.92rem!important}
  .nsw-dashboard-6131 .nsw-action-copy p{font-size:.77rem!important}
  .nsw-dashboard-6131 .nsw-action-controls{grid-column:1/-1;justify-content:stretch}
  .nsw-dashboard-6131 .nsw-action-controls .nsw-action-button{flex:1}
  .nsw-dashboard-activity-row{grid-template-columns:40px minmax(0,1fr) 34px;gap:10px;min-height:72px}
  .nsw-dashboard-activity-row .nsw-status{grid-column:2;justify-self:start;margin-top:-3px}
  .nsw-dashboard-activity-open{grid-column:3;grid-row:1/3;width:34px!important;height:34px!important}
  .nsw-dashboard-activity-icon{width:40px;height:40px}
  .nsw-dashboard-activity-copy h3{white-space:normal;font-size:.9rem!important}
  .nsw-dashboard-activity-copy p{font-size:.74rem!important}
  .nsw-dashboard-activity-empty{grid-template-columns:40px minmax(0,1fr)}
  .nsw-dashboard-activity-empty>span{width:40px;height:40px}
  .nsw-dashboard-activity-empty .nsw-secondary-button{grid-column:1/-1;width:100%;justify-content:center}
}
@media(max-width:390px){
  .nsw-dashboard-metric{padding:12px!important;grid-template-columns:36px minmax(0,1fr)}
  .nsw-dashboard-metric-icon{width:36px;height:36px}
  .nsw-dashboard-metric-copy strong{font-size:1.55rem}
}
