:root{--portal-primary: var(--accent, #2322F0);--portal-ink: var(--nav, #020A50);--portal-bg: var(--bg, #f5f7fb)}*{box-sizing:border-box}body.portal-body{margin:0;min-height:100vh;background:var(--portal-bg);color:var(--text, #172033);font-family:var(--font-body, system-ui, sans-serif);-webkit-font-smoothing:antialiased}.portal-shell{width:100%;min-height:100vh}.portal-login-card{width:min(100% - 32px,400px);margin:0 auto;padding:48px 44px 44px;background:var(--surface, #fff);border:1px solid var(--border, #dce1ed);border-radius:16px;box-shadow:0 8px 40px #0000001a;display:flex;flex-direction:column;align-items:center;gap:24px;animation:portal-fade-up .35s cubic-bezier(.16,1,.3,1) both}.portal-login-card[hidden],.portal-login-form[hidden]{display:none!important}.portal-body:has(#login:not([hidden])) .portal-shell,.portal-body:has(.portal-activation-card) .portal-shell{display:flex;align-items:center;justify-content:center;padding:16px}.portal-login-logo{display:flex;flex-direction:column;align-items:center;gap:10px}.portal-login-logo-mark{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--portal-primary);color:#fff}.portal-login-brand{margin:0;color:var(--text, #172033);font-family:var(--font-display, system-ui, sans-serif);font-size:26px;font-weight:400}.portal-login-intro{text-align:center}.portal-login-intro h1{margin:0 0 8px;color:var(--text, #172033);font-family:var(--font-display, system-ui, sans-serif);font-size:22px;font-weight:500}.portal-login-intro p,.portal-login-footer{margin:0;color:var(--text-2, #667085);font-size:13px;line-height:1.5;text-align:center}.portal-login-form{width:100%;display:flex;flex-direction:column;gap:14px}.portal-login-form .form-group{display:grid;gap:6px}.portal-login-form .form-label{color:var(--text, #172033);font-size:13px;font-weight:600}.portal-login-form .form-input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--border-strong, #bfc7d8);border-radius:8px;background:var(--surface, #fff);color:var(--text, #172033);font:inherit}.portal-login-form .form-input:focus{outline:2px solid color-mix(in srgb,var(--portal-primary) 30%,transparent);border-color:var(--portal-primary)}.portal-login-btn{width:100%;min-height:44px;padding:12px 20px;border:0;border-radius:8px;background:var(--portal-primary);color:#fff;cursor:pointer;font:inherit;font-size:14px;font-weight:600;transition:opacity .15s}.portal-login-btn:hover{opacity:.88}.portal-login-btn:active{opacity:.76}.portal-login-btn-secondary{background:var(--surface, #fff);border:1.5px solid var(--border-strong, #bfc7d8);color:var(--text, #172033)}.portal-login-btn-secondary:hover{background:var(--accent-dim, #EBF4FF);border-color:var(--portal-primary);color:var(--portal-primary);opacity:1}.portal-form-error{display:none;margin:0;padding:10px 12px;border-left:3px solid #B2002C;border-radius:6px;background:#fdedf0;color:#b2002c;font-size:12px;line-height:1.4}.portal-form-error:not(:empty){display:block}.portal-form-error.portal-form-success{border-left-color:#117c00;background:#edf7ee;color:#117c00}.portal-quick-login{width:100%;display:grid;gap:10px}.portal-quick-login[hidden]{display:none}.portal-quick-login-title{margin:0;color:var(--text, #172033);font-family:var(--font-display, system-ui, sans-serif);font-size:18px;font-weight:500;text-align:center}.portal-quick-login-help{margin:0 0 4px;color:var(--text-2, #667085);font-size:13px;line-height:1.5;text-align:center}.portal-quick-login-divider{display:flex;align-items:center;gap:10px;margin:0;color:var(--text-2, #667085);font-size:12px}.portal-quick-login-divider:before,.portal-quick-login-divider:after{content:"";height:1px;flex:1;background:var(--border, #dce1ed)}.portal-quick-login .form-label{color:var(--text, #172033);font-size:13px;font-weight:600}.portal-quick-login .form-input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--border-strong, #bfc7d8);border-radius:8px;background:var(--surface, #fff);color:var(--text, #172033);font:inherit}.portal-activation-card{gap:22px}.portal-activation-reset{width:100%;display:grid;gap:14px}.portal-access-link{color:var(--portal-primary);font-size:13px;font-weight:600;text-align:center;text-decoration:none}.portal-access-link:hover{text-decoration:underline}@keyframes portal-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.portal-app{max-width:1000px;margin:auto;padding:32px 16px}.portal-app-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;color:var(--portal-ink)}.portal-app-header strong{font-size:20px}.portal-app-header span{flex:1}.portal-app-header button{background:#fff;color:var(--portal-ink);border:1px solid #bfc7d8}.card{margin:16px 0;padding:22px;background:#fff;border:1px solid #dce1ed;border-radius:10px;box-shadow:0 2px 10px #020a5010}.card form{display:grid;max-width:560px;gap:12px}.card label{display:grid;gap:5px;font-weight:600}.card input,.card select,.card textarea{padding:9px;border:1px solid #bfc7d8;border-radius:5px;font:inherit}.card textarea{min-height:110px}button{padding:10px 14px;border:0;border-radius:5px;background:var(--portal-primary);color:#fff;cursor:pointer;font:inherit;font-weight:700}.toolbar{display:flex;align-items:center;justify-content:space-between}.item{padding:14px 2px;border-bottom:1px solid #e4e7ef;cursor:pointer}.item:hover{background:#f7f8ff}.muted{color:#667085;font-size:13px}.badge{padding:3px 8px;border-radius:99px;color:#fff;font-size:12px}.event{margin:10px 0;padding:8px 12px;border-left:3px solid var(--portal-primary);background:#f8f9ff;white-space:pre-wrap}@media(max-width:600px){.portal-login-card{width:calc(100% - 32px);padding:36px 24px 32px}.portal-app{padding:18px 12px}.toolbar{align-items:flex-start;gap:8px}.portal-app-header{align-items:flex-start;flex-wrap:wrap}.portal-app-header span{min-width:65%}}.portal-home,.portal-form-page{max-width:760px;margin:48px auto}.portal-home h1,.portal-form-page h1{margin:4px 0 8px}.portal-home-actions{display:flex;gap:12px;margin:28px 0}.portal-home-actions .portal-login-btn{width:auto;text-decoration:none}.portal-stat{font-size:15px}.portal-stat strong{font-size:28px;color:var(--portal-primary)}.portal-create-form{display:grid;gap:14px}.grid-wrap{margin-top:20px;background:#fff;border:1px solid var(--border,#dce1ed);border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #020a500d}.gf-table{width:100%;border-collapse:collapse;font-size:13px}.gf-table th{height:36px;padding:0 14px;text-align:left;background:var(--surface2,#f5f7fb);color:var(--text-2,#667085);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.gf-table td{height:48px;padding:0 14px;border-top:1px solid var(--border,#dce1ed)}.gf-table tbody tr{cursor:pointer}.gf-table tbody tr:hover{background:var(--accent-dim,#EBF4FF)}.state-row td{text-align:center;color:var(--text-2);cursor:default}.eyebrow{margin:0;color:var(--portal-primary);font-size:10px;font-weight:700;letter-spacing:.12em}@media(max-width:600px){.portal-home,.portal-form-page{margin:24px 0}.portal-home-actions{flex-direction:column}.gf-table th:nth-child(3),.gf-table td:nth-child(3){display:none}}
