:root{--blue-black: #02070c;--warm-black: #090806;--lacquer: #062f4b;--lacquer-2: #0c4669;--ivory: #f1e4cb;--ivory-muted: #cdbd9f;--paper: #ead9b9;--walnut: #2a1710;--brass: #b88b4e;--nickel: #9db3b4;--line: rgba(241, 228, 203, .16);--line-strong: rgba(184, 139, 78, .48);--surface: rgba(7, 12, 15, .88);--surface-2: rgba(15, 26, 32, .94);--font-display: "iowan old style", "palatino linotype", palatino, georgia, serif;--font-body: ui-sans-serif, system-ui, -apple-system, blinkmacsystemfont, "segoe ui", sans-serif;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html{min-width:320px;min-height:100%;background:radial-gradient(circle at 20% 0%,rgba(12,70,105,.34),transparent 32rem),linear-gradient(135deg,var(--blue-black),var(--warm-black));color:var(--ivory);font-family:var(--font-body)}body{min-height:100svh;margin:0}a{color:inherit}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,2rem);border-bottom:1px solid var(--line);background:#02070cc7;backdrop-filter:blur(16px)}.portal-brand,.portal-header nav a{text-decoration:none}.portal-brand{display:inline-block;color:var(--paper);font-family:var(--font-display);font-size:1.05rem;font-weight:400;letter-spacing:0;white-space:nowrap}.portal-header nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem .75rem;color:var(--ivory-muted);font-size:.84rem;font-weight:800}.portal-nav-user{color:var(--paper)}.portal-header nav a:hover{color:var(--ivory)}.portal-shell{width:min(100% - 2rem,46rem);margin:0 auto;padding:clamp(2.5rem,8vw,5rem) 0}.portal-shell--wide{width:min(100% - 2rem,82rem)}.portal-kicker{margin:0 0 .5rem;color:var(--brass);font-size:.76rem;font-weight:900;letter-spacing:0}h1{max-width:14ch;margin:0 0 1.5rem;font-family:var(--font-display);font-size:clamp(2.25rem,7vw,4.4rem);line-height:.95;letter-spacing:0}h2,h3{margin:0;font-family:var(--font-display);letter-spacing:0}p{color:var(--ivory-muted);line-height:1.65}code{border:1px solid var(--line);border-radius:5px;background:#02070cb8;color:var(--paper);font-size:.9em;padding:.08rem .28rem}.portal-panel,.portal-table-wrap{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 24px 80px #00000052}.portal-panel{padding:clamp(1rem,4vw,1.5rem)}.portal-stack{display:grid;gap:1rem}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}.admin-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}form{display:grid;gap:1rem}label{display:grid;gap:.4rem;color:var(--paper);font-size:.78rem;font-weight:900}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background-color:#02070cb8;color:var(--ivory);font:inherit;padding:.75rem .85rem}input,select{min-height:2.85rem;line-height:1.2}select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--paper) 50%),linear-gradient(135deg,var(--paper) 50%,transparent 50%);background-position:calc(100% - 1.18rem) 50%,calc(100% - .88rem) 50%;background-repeat:no-repeat;background-size:.33rem .33rem,.33rem .33rem;padding-right:2.45rem}select::-ms-expand{display:none}option{background:var(--blue-black);color:var(--ivory)}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#b88b4ead;outline:2px solid rgba(184,139,78,.28);outline-offset:2px}button,.portal-button{display:inline-flex;width:fit-content;align-items:center;justify-content:center;border:1px solid rgba(184,139,78,.62);border-radius:999px;background:var(--paper);color:var(--warm-black);font:inherit;font-size:.82rem;font-weight:900;line-height:1;padding:.78rem 1rem;text-decoration:none}button.secondary,.portal-button.secondary{background:transparent;color:var(--paper)}.portal-icon-button{display:inline-grid;width:2.35rem;height:2.35rem;flex:0 0 auto;place-items:center;border:1px solid rgba(184,139,78,.5);border-radius:999px;background:transparent;color:var(--paper);font-size:1.45rem;font-weight:800;line-height:1;padding:0}.portal-icon-button:hover,.portal-icon-button:focus-visible{border-color:#b88b4eb8;background:#b88b4e1f}button:disabled{cursor:not-allowed;opacity:.45}button.danger,.portal-button.danger{border-color:#d25c46ad;background:#d25c4624;color:#ffd7ce}.portal-actions{display:flex;flex-wrap:wrap;gap:.7rem}.portal-intro{display:grid;gap:.75rem;margin-bottom:clamp(1.25rem,4vw,2rem)}.portal-intro h1,.portal-intro p{margin:0}.portal-intro h1{max-width:18ch;font-size:clamp(2rem,6vw,3.8rem)}.portal-intro p{max-width:42rem}.portal-action-card{display:grid;min-height:9.5rem;align-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#070c0ff0,#091216db);color:var(--ivory);padding:clamp(1rem,4vw,1.35rem);text-decoration:none;box-shadow:0 24px 80px #00000047;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.admin-home-grid .portal-action-card{min-height:11rem;padding:clamp(1.25rem,3vw,1.6rem)}.portal-action-card:hover,.portal-action-card:focus-visible{border-color:#b88b4e9e;background:linear-gradient(135deg,#0d1d22f5,#070c0fe6);box-shadow:0 28px 90px #0006;transform:translateY(-2px)}.portal-action-card:focus-visible{outline:2px solid rgba(184,139,78,.8);outline-offset:3px}.portal-action-card__top,.portal-action-card__meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.portal-action-card__top h2,.portal-action-card__top h3{font-size:clamp(1.35rem,4vw,1.75rem)}.portal-action-card__arrow{display:inline-grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border:1px solid rgba(184,139,78,.5);border-radius:999px;color:var(--paper);font-size:1.25rem;line-height:1}.portal-status-pills{display:flex;flex-wrap:wrap;gap:.45rem}.portal-status-pill{display:inline-flex;min-width:2rem;align-items:center;justify-content:center;gap:.28rem;border:1px solid rgba(184,139,78,.42);border-radius:999px;background:#b88b4e1f;color:var(--paper);font-size:.82rem;font-weight:900;line-height:1;padding:.5rem .72rem;white-space:nowrap}.portal-status-pill span{color:inherit;font-size:inherit;font-weight:inherit}.portal-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem}.portal-page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.portal-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem}.portal-page-head h1,.portal-title-row h1{margin:0}.portal-page-head>:last-child:not(h1){margin-left:auto}.portal-title-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem;margin-left:auto}.portal-back-button{display:inline-grid;position:relative;width:2.35rem;height:2.35rem;flex:0 0 auto;place-items:center;border:1px solid rgba(184,139,78,.5);border-radius:999px;color:var(--paper);font-size:0;text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}.portal-back-button:before{content:"";position:absolute;left:50%;top:50%;width:.78rem;height:.9rem;background:currentColor;clip-path:polygon(72% 10%,84% 22%,56% 50%,84% 78%,72% 90%,32% 50%);transform:translate(-50%,-50%)}.portal-back-button:hover,.portal-back-button:focus-visible{border-color:#b88b4eb8;background:#b88b4e1f;transform:translate(-2px)}.portal-back-button:focus-visible{outline:2px solid rgba(184,139,78,.8);outline-offset:3px}.portal-modal{width:min(100% - 2rem,34rem);border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ivory);padding:clamp(1rem,4vw,1.5rem);box-shadow:0 30px 90px #0000008f}.portal-modal::backdrop{background:#000000ad;backdrop-filter:blur(5px)}.portal-notice,.portal-error{position:fixed;left:50%;bottom:1.25rem;z-index:50;max-width:min(92vw,44rem);margin:0;transform:translate(-50%);border-radius:999px;padding:.85rem 1.1rem;box-shadow:0 18px 70px #0000006b;backdrop-filter:blur(18px) saturate(1.25);font-weight:800;pointer-events:none;animation:portal-toast 5s ease forwards}.portal-notice{border:1px solid rgba(157,179,180,.34);background:#9db3b41f}.portal-error{border:1px solid rgba(184,139,78,.42);background:#b88b4e1f;color:var(--paper)}@keyframes portal-toast{0%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,.5rem);visibility:hidden}}.portal-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{border-bottom:1px solid var(--line);padding:.8rem;text-align:left;vertical-align:top}th{color:var(--brass);font-size:.72rem;white-space:nowrap}td,.muted{color:var(--ivory-muted)}.compact-form{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem}.compact-form label{min-width:10rem}.account-actions{display:grid;gap:.75rem;min-width:min(100%,34rem)}.account-role-form{display:grid;grid-template-columns:minmax(9rem,.8fr) minmax(12rem,1fr) auto;align-items:end;gap:.65rem}.account-points-form{display:flex;align-items:end;gap:.55rem}.account-points-form label{max-width:5rem}.account-points-form input[name=allocation_points]{padding-left:.65rem;padding-right:.45rem;text-align:center}.account-save-status{min-width:5rem;color:var(--ivory-muted);font-size:.72rem;font-weight:900;line-height:1;padding-bottom:.9rem}.account-save-status[data-state=saved]{color:var(--nickel)}.account-save-status[data-state=error]{color:#ffd7ce}.account-button-row{display:flex;flex-wrap:wrap;gap:.55rem}.account-button-row form{display:inline-flex}@media(max-width:680px){.portal-header{align-items:flex-start}.portal-header nav{font-size:.72rem}.admin-home-grid{grid-template-columns:1fr}.admin-home-grid .portal-action-card{min-height:9.5rem}.portal-title-actions{width:100%;justify-content:flex-start;margin-left:0}.account-role-form{grid-template-columns:1fr}}@media(min-width:681px)and (max-width:1100px){.admin-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
