/* Student workspace: flat surfaces, legible controls and a single quiet accent. */
.portal-minimal.dense-ui {
 --ui-ground:#fff; --ui-surface:#fff; --ui-soft:#f7f7f5; --ui-ink:#292b29;
 --ui-secondary:#72746e; --ui-line:#eaeaea; --ui-accent:#880422;
 --ui-accent-soft:#f8edf0; --ui-gradient:#880422; --ui-gradient-soft:#f8edf0;
 --portal-bg:#f7f7f5; --portal-surface:#fff; --portal-border:#eaeaea;
 --portal-border-light:#efefec; --portal-text:#292b29; --portal-text-secondary:#585b55;
 --portal-text-muted:#72746e; --portal-accent:#880422; --portal-accent-hover:#71031c;
 --portal-radius:8px; --portal-radius-lg:8px; --portal-radius-xl:12px;
 font-family:'SF Pro Display',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
 color:var(--ui-ink); background:#fff; font-size:14px; line-height:1.55;
}
.portal-minimal :is(button,input,select,textarea) { font-family:inherit; }
.portal-minimal :focus-visible { outline:2px solid #880422; outline-offset:3px; box-shadow:none; }
.portal-minimal .portal-skip-link { position:fixed; top:8px; left:8px; transform:translateY(-150%); z-index:120; padding:10px 16px; background:#fff; border:1px solid #880422; border-radius:6px; }
.portal-minimal .portal-skip-link:focus { transform:none; }
.portal-minimal .portal-workspace-sidebar { width:238px; padding:26px 16px 16px; background:#fff; }
.portal-minimal .portal-workspace-brand { margin:0 10px 22px; }
.portal-minimal .portal-workspace-brand img { width:148px; height:30px; }
.portal-minimal .portal-workspace-brand span { font-size:12px; color:var(--ui-secondary); }
.portal-minimal .portal-sidebar-services { gap:3px; scrollbar-width:thin; }
.portal-minimal .portal-nav-group { padding:16px 12px 6px; color:var(--ui-secondary); font-size:11px; font-weight:500; letter-spacing:.04em; }
.portal-minimal .portal-nav-group:first-child { padding-top:0; }
.portal-minimal .portal-sidebar-services .sidebar-rail-item { min-height:42px; padding:10px 12px; border-radius:6px; color:#585b55; font-weight:500; }
.portal-minimal .portal-sidebar-services .rail-label { font-size:14px; line-height:1.45; }
.portal-minimal .portal-sidebar-services .rail-icon-box { position:relative; width:20px; height:22px; font-size:18px; color:inherit; }
.portal-minimal .portal-sidebar-services .sidebar-rail-item:hover { background:var(--ui-soft); }
.portal-minimal .portal-sidebar-services .sidebar-rail-item.active { background:var(--ui-accent-soft)!important; color:#880422!important; font-weight:600; box-shadow:inset 2px 0 #880422; }
.portal-minimal .portal-workspace-tools { gap:8px; padding-top:14px; }
.portal-minimal .bottom-utility-btn { width:38px; height:38px; border-radius:6px; background:var(--ui-soft); color:var(--ui-secondary); }
.portal-minimal .portal-workspace-topbar { min-height:72px; padding:14px 30px; gap:14px; background:#fff; }
.portal-minimal .portal-location { flex-direction:column; align-items:flex-start; gap:1px; }
.portal-minimal .portal-location > span { font-size:11px; }
.portal-minimal .portal-location > strong { font-size:15px; font-weight:600; }
.portal-minimal .portal-workspace-account { min-width:0; }
.portal-minimal .portal-workspace-account > div { flex-wrap:nowrap; }
.portal-minimal .portal-workspace-account .user-dropdown { max-width:calc(100vw - 32px); border:1px solid var(--ui-line); border-radius:8px; box-shadow:0 8px 30px #292b290a; }
.portal-minimal .content-area { padding:30px 32px 48px!important; background:#fff; }
.portal-minimal .content-area > [class] { max-width:1280px; margin-inline:auto; }
.portal-minimal .portal-layout-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
.portal-minimal .portal-view { min-width:0; }
.portal-minimal .portal-view :is(h1,h2) { letter-spacing:-.025em; line-height:1.25; }
.portal-minimal .portal-view h2 { font-size:24px; font-weight:650; text-transform:none; }
.portal-minimal .portal-view h3 { font-weight:600; text-transform:none; letter-spacing:0; }
.portal-minimal .portal-view :is(.font-black,.font-extrabold) { font-weight:600; }
.portal-minimal .portal-view .uppercase { text-transform:none; letter-spacing:0; }
.portal-minimal .portal-view :is(.text-\[8px\],.text-\[9px\],.text-\[10px\]) { font-size:11px; line-height:1.5; }
.portal-minimal .portal-view .text-\[11px\] { font-size:12px; }
.portal-minimal .portal-view :is(.text-slate-400,.text-zinc-400) { color:var(--ui-secondary); }
.portal-minimal .portal-view :is(.rounded-2xl,.rounded-3xl) { border-radius:8px; }
.portal-minimal .portal-view :is(.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl,.shadow-sm,.shadow-2xs) { box-shadow:none; }
.portal-minimal .portal-view .ui-panel { border:1px solid var(--ui-line); border-radius:8px; background:#fff; }
.portal-minimal .portal-view :is(.p-5,.p-6) { padding:24px; }
.portal-minimal .portal-view :is(.text-blue-500,.text-blue-600,.text-indigo-500,.text-indigo-600,.text-purple-600) { color:#880422; }
.portal-minimal .portal-view :is(.bg-blue-50,.bg-indigo-50,.bg-purple-50) { background:#f8edf0; }
.portal-minimal .portal-view :is(.bg-slate-50,.bg-zinc-50) { background:var(--ui-soft); }
.portal-minimal :is(.btn-primary,.auth-submit) { background:#880422!important; border-radius:6px; min-height:42px; padding:10px 18px; font-weight:600; box-shadow:none; }
.portal-minimal :is(.btn-primary,.auth-submit):hover:not(:disabled) { background:#71031c!important; }
.portal-minimal .portal-view button:not(.edit-field-btn) { line-height:1.45; }
.portal-minimal .portal-view :is(button,a) > iconify-icon { flex-shrink:0; }
.portal-minimal .portal-view button:disabled { cursor:not-allowed; opacity:.5; }
.portal-minimal :is(.form-input,.form-select,.form-textarea) { background:#fff; border:1px solid var(--ui-line); border-radius:6px; padding:10px 12px; font-size:14px; font-weight:400; }
.portal-minimal :is(.form-input,.form-select) { min-height:40px; }
.portal-minimal :is(.form-label,.biodata-label) { font-size:12px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--ui-secondary); }
.portal-minimal .biodata-value { font-size:14px; font-weight:500; }
.portal-minimal :is(.biodata-tabs,.finance-tabs,.opensea-tabs) { gap:4px; padding:4px; border:1px solid var(--ui-line); border-radius:8px; background:var(--ui-soft); margin-bottom:20px; overflow-x:auto; }
.portal-minimal :is(.biodata-tab,.finance-tab,.opensea-tab-item) { padding:8px 13px; min-height:36px; border:0; border-radius:5px; background:transparent; font-size:13px; font-weight:500; text-transform:none; letter-spacing:0; white-space:nowrap; }
.portal-minimal :is(.biodata-tab,.finance-tab,.opensea-tab-item).active { background:#fff; color:#880422; box-shadow:0 1px 3px #292b2908; font-weight:600; }
.portal-minimal .portal-table { font-size:13px; }
.portal-minimal .portal-table th { padding:12px 16px; font-size:12px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--ui-secondary); background:var(--ui-soft); }
.portal-minimal .portal-table td { padding:14px 16px; font-weight:400; color:var(--ui-ink); border-color:var(--ui-line); }
.portal-minimal :is(.summary-value,.stat-card-value,.portal-table) { font-variant-numeric:tabular-nums; }
.portal-minimal .summary-item { text-align:left; }
.portal-minimal .summary-label { font-size:12px; text-transform:none; letter-spacing:0; font-weight:500; }
.portal-minimal .empty-state { padding:32px 20px; }
.portal-minimal .empty-state p { font-size:13px; font-weight:400; text-transform:none; letter-spacing:0; }
/* Home: identity, meaningful numbers, shortcuts, then two independent content streams. */
.portal-minimal .student-home { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; }
.portal-minimal .student-home-heading { grid-column:1/-1; order:0; padding-bottom:20px; border-bottom:1px solid var(--ui-line); align-items:flex-start; }
.portal-minimal .student-home-heading h1 { font-size:30px; font-weight:650; letter-spacing:-.035em; margin-bottom:8px; }
.portal-minimal .student-home-heading p { font-size:13px; line-height:1.7; }
.portal-minimal .student-home-metrics { grid-column:1/-1; grid-row:auto; order:1; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:12px; }
.portal-minimal .student-home-metrics > .ui-panel { padding:20px; align-items:flex-start; gap:12px; }
.portal-minimal .student-home-metrics .text-xl { font-size:25px; font-weight:650; font-variant-numeric:tabular-nums; }
.portal-minimal .student-home-metrics .w-10 { width:32px; height:32px; border-radius:6px; }
.portal-minimal .student-home-actions { grid-column:1/-1; grid-row:auto; order:2; padding:0; border:0; }
.portal-minimal .student-home-actions h2 { font-size:14px; font-weight:600; margin-bottom:10px; }
.portal-minimal .student-home-actions .grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:10px; }
.portal-minimal .student-home-actions button { padding:12px 14px; min-height:56px; border:1px solid var(--ui-line); border-radius:8px; background:#fff!important; color:var(--ui-ink)!important; justify-content:flex-start; }
.portal-minimal .student-home-actions button:hover { border-color:#d4b2bc; background:#fcf8f9!important; }
.portal-minimal .student-home-actions button > div { background:#f8edf0; color:#880422; border-radius:6px; }
.portal-minimal .student-home-actions button > span { font-size:13px; font-weight:500; }
.portal-minimal .student-home-columns { display:contents; }
.portal-minimal .student-home-feed { grid-column:1; order:3; min-width:0; }
.portal-minimal .student-home-feed > .grid { grid-template-columns:minmax(0,1fr); gap:24px; }
.portal-minimal .student-home-context { grid-column:2; order:4; display:flex; flex-direction:column; gap:24px; min-width:0; }
.portal-minimal .student-home-context > * { width:100%; min-width:0; grid-column:auto; }
.portal-minimal .student-home-context .grid-cols-3 { grid-template-columns:repeat(auto-fit,minmax(min(100%,100px),1fr)); }
.portal-minimal .student-home :is(.student-home-feed,.student-home-context) h3 { font-size:14px; color:var(--ui-ink); }
/* Additional context stays reachable without taking a permanent table column. */
.portal-minimal .portal-right-sidebar { position:static; width:100%!important; min-width:0; }
.portal-minimal .portal-context-summary { border-top:1px solid var(--ui-line); }
.portal-minimal .portal-context-widgets { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); align-items:start; gap:20px; padding:0 0 20px; }
.portal-minimal .portal-context-widgets > div:not(.hidden) { padding:20px; border:1px solid var(--ui-line); border-radius:8px; margin:0; }
.portal-minimal .portal-context-widgets h4 { text-transform:none; font-size:12px; font-weight:600; letter-spacing:0; }
/* Sign-in uses the same calm white workspace language. */
.portal-minimal .auth-layout { max-width:1100px; margin:auto; padding:48px 32px; gap:64px; background:#fff; }
.portal-minimal .auth-story { background:#fff; color:var(--ui-ink); padding:36px 0; border-radius:0; justify-content:center; gap:40px; }
.portal-minimal .auth-story-brand { color:#880422; font-size:24px; font-weight:600; letter-spacing:-.04em; }
.portal-minimal .auth-story h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:46px; line-height:1.12; font-weight:800; letter-spacing:-.04em; max-width:12ch; }
.portal-minimal .auth-story p { color:var(--ui-secondary); max-width:36ch; font-size:15px; line-height:1.7; margin-top:18px; }
.portal-minimal .auth-story-footer { color:var(--ui-secondary); font-size:12px; }
.portal-minimal .auth-card { border:1px solid var(--ui-line); border-radius:12px; background:#fff; box-shadow:none; padding:32px; }
.portal-minimal .auth-card > div:first-child { text-align:left; margin-bottom:28px; }
.portal-minimal .auth-card > div:first-child > div { margin-left:0; width:44px; height:44px; border-radius:8px; transform:none; background:#f8edf0; color:#880422; }
.portal-minimal .auth-card > div:first-child iconify-icon { transform:none; font-size:24px; }
.portal-minimal .auth-card h1 { font-size:24px; text-transform:none; font-weight:650; }
.portal-minimal .auth-card .form-label { margin-bottom:8px; }
.portal-minimal .modal-card { border-radius:12px; padding:28px; box-shadow:none; }
.portal-minimal .modal-close { border-radius:6px; }
@media(min-width:1024px) { .portal-minimal .mobile-bottom-nav { display:none; } }
@media(max-width:1023px) {
 .portal-minimal .portal-workspace-sidebar { width:260px; }
 .portal-minimal .portal-workspace-topbar { padding:12px 20px; }
 .portal-minimal .content-area { padding:24px 20px 40px!important; }
}
@media(max-width:767px) {
 .portal-minimal .portal-workspace-topbar { min-height:64px; padding:10px 16px; gap:10px; }
 .portal-minimal .portal-location > span { display:none; }
 .portal-minimal .portal-location > strong { font-size:14px; }
 .portal-minimal .portal-workspace-account > div { gap:8px; }
 .portal-minimal .content-area { padding:24px 16px 80px!important; }
 .portal-minimal .student-home { grid-template-columns:minmax(0,1fr); gap:22px; }
 .portal-minimal .student-home-heading h1 { font-size:26px; }
 .portal-minimal .student-home-heading { flex-wrap:wrap; gap:12px; }
 .portal-minimal .student-home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .portal-minimal .student-home-metrics > .ui-panel { padding:14px; }
 .portal-minimal .student-home-metrics > .ui-panel > .w-10 { display:none; }
 .portal-minimal .student-home-metrics .text-xl { font-size:21px; overflow-wrap:anywhere; }
 .portal-minimal .student-home-actions .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .portal-minimal .student-home-actions button { padding:10px; gap:8px; }
 .portal-minimal .student-home-actions button > span { white-space:normal; }
 .portal-minimal .student-home-feed,.portal-minimal .student-home-context { grid-column:1; }
 .portal-minimal .portal-view :is(.p-5,.p-6) { padding:18px; }
 .portal-minimal .auth-layout { display:block; width:100%; padding:24px 16px; }
 .portal-minimal .auth-story { display:none; }
 .portal-minimal .auth-card { margin:auto; padding:28px 24px; }
 .portal-minimal .modal-card { padding:24px 18px; }
}
@media(prefers-reduced-motion:no-preference) {
 .portal-minimal .portal-view.animate-fade { animation:portal-appear .28s cubic-bezier(.16,1,.3,1) both; }
 .portal-minimal button:active:not(:disabled) { transform:scale(.99); }
 @keyframes portal-appear { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
}
@media(prefers-reduced-motion:reduce) {
 .portal-minimal *, .portal-minimal *::before, .portal-minimal *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
 .portal-minimal .portal-skip-link,.portal-minimal .portal-right-sidebar { display:none!important; }
 .portal-minimal .content-area { padding:0!important; max-width:none; }
}
.portal-minimal .portal-view button:is(.bg-blue-600,.bg-indigo-600,.bg-slate-900,.bg-zinc-900) { background:#880422!important; color:#fff; border-radius:6px; }
.portal-minimal .portal-view button:is(.bg-blue-600,.bg-indigo-600,.bg-slate-900,.bg-zinc-900):hover:not(:disabled) { background:#71031c!important; }
.portal-minimal .portal-progress-fill { background:#880422; }
.portal-minimal :is(.portal-deposit-panel,.portal-herreg-panel) { background:var(--ui-soft); border:1px solid var(--ui-line); color:var(--ui-ink); border-radius:8px; box-shadow:none; }
.portal-minimal .portal-deposit-panel h4 { color:#346538; font-variant-numeric:tabular-nums; }
.portal-minimal .portal-deposit-panel .text-emerald-400 { color:#346538; }
.portal-minimal .portal-herreg-panel :is(.text-blue-100,.text-blue-200) { color:var(--ui-secondary); }
.portal-minimal .portal-herreg-panel .backdrop-blur-md { backdrop-filter:none; background:#fff; border-color:var(--ui-line); }
.portal-minimal .portal-herreg-panel .text-amber-100 { background:#fbf3db; color:#956400; border-color:#e9d9b3; }
.portal-minimal .portal-herreg-panel .text-amber-300 { color:#956400; }
.portal-minimal .portal-herreg-panel > button { background:#880422; color:#fff; border-radius:6px; }
/* The light-only display control describes the current setting. */
.portal-minimal .portal-workspace-tools button[aria-label="Mode Tampilan"] { cursor:default; }
@media(max-width:767px) {
 .portal-minimal .portal-location { display:flex; }
 .portal-minimal .student-home { display:grid; }
 .portal-minimal .student-home-columns { display:contents; }
}
