:root{--ui-radius:13px;--ui-radius-sm:8px;--ui-radius-pill:999px;--ui-font-xs:12px;--ui-font-sm:14px;--ui-font-md:15px;--ui-font-lg:17px;--ui-font-xl:22px;--ui-font-2xl:28px;--ui-space-1:5px;--ui-space-2:8px;--ui-space-3:13px;--ui-space-4:21px;--ui-space-5:21px;--ui-space-6:34px;--ui-shadow:0 1px 2px #1018140d, 0 1px 3px #1018140f;--ui-disabled:.55;--ui-shadow-raised:0 2px 6px #10181414, 0 8px 20px #10181412;--text:#5d635f;--text-h:#101512;--bg:#faf9f9;--surface:#fff;--border:#d9d9d9;--code-bg:#f1f0f0;--accent:#00461e;--accent-bg:#00461e14;--accent-border:#00461e73;--gold:#ffc600;--gold-bg:#ffc6002e;--gold-deep:#a87c00;--social-bg:#00461e0a;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9aa19d;--text-h:#f2f4f3;--bg:#121513;--surface:#1a1d1b;--border:#2c302e;--code-bg:#1f2320;--accent:#4f9d6f;--accent-bg:#4f9d6f29;--accent-border:#4f9d6f80;--gold:#ffc600;--gold-bg:#ffc60029;--gold-deep:#ffd54a;--social-bg:#4f9d6f12;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;width:100%;height:100svh;min-height:100svh;display:flex;overflow:hidden}body{margin:0;overflow:hidden}@media (width<=900px){body{overflow:auto}#root{height:auto;min-height:100svh;overflow:visible}}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:34px 0;font-size:56px}@media (width<=1024px){h1{margin:21px 0;font-size:36px}}h2{font-size:var(--ui-font-xl);letter-spacing:-.24px;margin:0 0 8px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);border-radius:var(--ui-radius-sm);color:var(--text-h);display:inline-flex}code{font-size:var(--ui-font-md);background:var(--code-bg);padding:5px 8px;line-height:135%}@supports (appearance:base-select){select{appearance:base-select}::picker(select){appearance:base-select}select{align-items:center}::picker(select){margin-block:var(--ui-space-1);padding:var(--ui-space-1);border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface);color:var(--text-h);box-shadow:var(--shadow);box-sizing:border-box;position-try-fallbacks:--picker-below-shrunk, flip-block;position-try-order:normal;overflow-y:auto}@position-try --picker-below-shrunk{position-area: block-end span-inline-end; max-block-size: stretch; min-block-size: 89px;}option{padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius-sm);color:var(--text-h)}option:hover,option:focus-visible{background:var(--accent-bg);outline:none}option:checked{background:var(--accent-bg);color:var(--accent);font-weight:600}option::checkmark{display:none}select::picker-icon{content:"";width:8px;height:8px;color:var(--text);border-bottom:1.5px solid;border-right:1.5px solid;margin-inline-start:auto;transition:transform .2s;transform:translateY(-3px)rotate(45deg)}select:open::picker-icon{transform:translateY(3px)rotate(225deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.login-page{min-height:100svh;max-height:100svh;padding:var(--ui-space-5);box-sizing:border-box;justify-content:center;align-items:center;display:flex;overflow-y:auto}.login-card{text-align:left;width:100%;max-width:420px;padding:var(--ui-space-6);border:1px solid var(--border);border-top:4px solid var(--gold,#ffc600);border-radius:var(--ui-radius);background:var(--surface);box-shadow:var(--shadow)}.login-header h1{color:var(--accent)}.login-header{margin-bottom:34px}.login-header h1{font-size:var(--ui-font-2xl);margin:var(--ui-space-3) 0 8px;letter-spacing:-.5px}.login-header p{color:var(--text);font-size:var(--ui-font-md)}.login-badge{font-size:var(--ui-font-xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--ui-space-1) 8px;border-radius:var(--ui-radius-pill);color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);font-weight:600;display:inline-block}.login-form{gap:var(--ui-space-2);flex-direction:column;display:flex}.login-form label{font-size:var(--ui-font-sm);color:var(--text-h);margin-top:var(--ui-space-2);font-weight:500}.login-form input{font:inherit;border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface);color:var(--text-h);padding:8px 13px;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.login-form input:disabled{opacity:var(--ui-disabled)}.login-forgot-link{width:100%;margin-top:var(--ui-space-3);padding:var(--ui-space-2);font:inherit;font-size:var(--ui-font-sm);color:var(--text);text-align:center;cursor:pointer;background:0 0;border:none}.login-forgot-link:hover:not(:disabled){text-decoration:underline}.login-forgot-link:disabled{opacity:var(--ui-disabled);cursor:not-allowed}.login-divider{align-items:center;gap:var(--ui-space-3);margin:var(--ui-space-4) 0 var(--ui-space-3);font-size:var(--ui-font-sm);color:var(--text);display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.login-google{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:0;display:inline-flex}.login-forgot-panel{border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--code-bg);margin-top:13px;padding:13px}.login-forgot-hint{font-size:var(--ui-font-sm);color:var(--text);margin:0}.login-forgot-actions{margin-top:var(--ui-space-3);gap:8px;display:flex}.login-forgot-actions .btn{flex:auto;width:auto;margin-top:0}.brand-mark{margin:0 0 var(--ui-space-3);object-fit:cover;box-shadow:var(--ui-shadow-raised,0 2px 6px #10181414, 0 8px 20px #10181412);background:#fff;border-radius:50%;display:block}.users-panel{gap:var(--ui-space-4);flex-direction:column;display:flex}.users-toolbar{justify-content:space-between;align-items:center;gap:var(--ui-space-4);flex-wrap:wrap;display:flex}.users-toolbar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.users-search{font:inherit;width:220px;padding:var(--ui-space-2) 13px;border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface);color:var(--text-h);transition:border-color .2s,box-shadow .2s}.users-search:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.users-filters{flex-wrap:wrap;flex:1;gap:5px;min-width:0;display:flex}.users-add-btn{padding:var(--ui-space-2) 21px;font:inherit;font-size:var(--ui-font-sm);color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--ui-radius);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-weight:600;line-height:1.2;transition:filter .2s,box-shadow .2s,transform .15s;display:inline-flex}.users-add-btn:hover{filter:brightness(1.06);box-shadow:0 2px 10px #00461e47}.users-add-btn:active{transform:translateY(1px)}.users-add-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.users-add-btn-icon{width:18px;height:18px;font-size:var(--ui-font-lg);border-radius:var(--ui-radius-sm);background:#fff3;justify-content:center;align-items:center;font-weight:400;line-height:1;display:inline-flex}.users-filter-btn{font:inherit;font-size:var(--ui-font-sm);padding:var(--ui-space-2) 13px;border:1px solid var(--border);border-radius:var(--ui-radius-pill);background:var(--code-bg);color:var(--text-h);cursor:pointer;font-weight:500;transition:background .2s,border-color .2s}.users-filter-btn:hover{border-color:var(--accent-border)}.users-filter-btn.is-active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.users-pagination-controls .btn{width:auto;margin-top:0}.users-pagination-controls .btn-secondary{padding:var(--ui-space-2) 13px;font-size:var(--ui-font-sm)}.users-table-wrap{border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--social-bg);overflow:hidden}.users-table{border-collapse:collapse;width:100%;font-size:var(--ui-font-sm)}.users-table th,.users-table td{padding:var(--ui-space-3) 21px;text-align:left;border-bottom:1px solid var(--border)}.users-table th{font-size:var(--ui-font-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text);background:var(--code-bg);font-weight:600}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover td{background:#00000005}@media (prefers-color-scheme:dark){.users-table tbody tr:hover td{background:#ffffff08}}.users-table-empty{text-align:center;color:var(--text);padding:var(--ui-space-6) 21px}.users-table-actions-col{text-align:right;width:140px}.users-row-actions{justify-content:flex-end;gap:var(--ui-space-2);display:flex}.users-action-btn{font:inherit;font-size:var(--ui-font-sm);border-radius:var(--ui-radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-h);cursor:pointer;padding:5px 8px;font-weight:500;transition:background .2s,border-color .2s,color .2s}.users-action-btn:hover:not(:disabled){border-color:var(--accent-border);background:var(--code-bg)}.users-action-btn:disabled{opacity:var(--ui-disabled);cursor:not-allowed}.users-action-delete{color:#991b1b;border-color:#dc262640}.users-action-delete:hover:not(:disabled){background:#dc262614;border-color:#dc262659}@media (prefers-color-scheme:dark){.users-action-delete{color:#fca5a5}.users-action-delete:hover:not(:disabled){background:#dc262626}}.users-table tbody tr.is-selected td{background:var(--accent-bg)}.users-view-details-btn{font:inherit;font-size:var(--ui-font-sm);border-radius:var(--ui-radius-sm);border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);cursor:pointer;padding:5px 13px;font-weight:500;transition:background .2s,border-color .2s,transform .15s}.users-view-details-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.users-view-details-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.users-detail-panel{padding:var(--ui-space-5);border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--social-bg);box-sizing:border-box}.modal-overlay--enter{animation:.25s both modal-overlay-fade-in}.modal-dialog--enter{animation:.35s cubic-bezier(.22,1,.36,1) both modal-dialog-enter}.users-details-modal .users-detail-header{margin-bottom:0}.users-details-modal-header{background:var(--surface);flex-shrink:0;margin-bottom:0;padding-bottom:21px}.users-details-modal .modal-close{width:36px;height:36px}@keyframes modal-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-dialog-enter{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.users-detail-panel--enter{animation:.4s cubic-bezier(.22,1,.36,1) both users-detail-slide-in}.users-detail-content--enter{animation:.45s .1s both users-detail-fade-in}@keyframes users-detail-slide-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes users-detail-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.users-detail-header{justify-content:space-between;align-items:flex-start;gap:var(--ui-space-4);margin-bottom:var(--ui-space-5);border-bottom:1px solid var(--border);padding-bottom:21px;display:flex}.users-detail-header h3{font-size:var(--ui-font-xl);color:var(--text-h);margin:0 0 5px;font-weight:500}.users-detail-subtitle{font-size:var(--ui-font-sm);color:var(--text);margin:0}.users-detail-empty{color:var(--text);font-size:var(--ui-font-md);margin:0;line-height:1.5}.users-detail-close{color:var(--text)}@media (prefers-color-scheme:dark){.status-pill.status-ok{color:#86efac;background:#86efac26}}.users-pagination{justify-content:space-between;align-items:center;gap:var(--ui-space-4);flex-wrap:wrap;display:flex}.users-pagination-summary{font-size:var(--ui-font-sm);color:var(--text)}.users-pagination-controls{align-items:center;gap:var(--ui-space-3);display:flex}.users-pagination-page{font-size:var(--ui-font-sm);color:var(--text-h);text-align:center;min-width:100px}.status-pill.status-pending{color:#92400e;background:#f59e0b1f}.status-pill.status-disabled{color:#991b1b;background:#dc26261a}@media (prefers-color-scheme:dark){.status-pill.status-pending{color:#fcd34d;background:#f59e0b1f}.status-pill.status-disabled{color:#fca5a5;background:#dc262626}}.modal-dialog-sm{max-width:400px}.modal-message{font-size:var(--ui-font-md);color:var(--text);margin:0 0 21px;line-height:1.55}.modal-message strong{color:var(--text-h);font-weight:600}.btn-danger{color:#fff;background:#dc2626;border:1px solid #dc2626}.btn-danger:hover:not(:disabled){filter:brightness(1.06)}.btn-danger:disabled{opacity:var(--ui-disabled)5;cursor:not-allowed}@media (prefers-color-scheme:dark){.btn-danger{background:#b91c1c;border-color:#b91c1c}}.modal-overlay{z-index:100;padding:var(--ui-space-5);box-sizing:border-box;background:#08060d73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{width:100%;max-width:440px;padding:var(--ui-space-5);border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface);box-shadow:var(--shadow);box-sizing:border-box;flex-direction:column;max-height:calc(100svh - 42px);display:flex;overflow:hidden}.modal-dialog>.modal-form{flex:1;min-height:0;padding-right:5px;overflow-y:auto}.modal-dialog>.modal-form>.modal-actions{background:var(--surface);padding-top:13px;padding-bottom:5px;position:sticky;bottom:0}.modal-dialog.modal-dialog-lg,.modal-dialog.users-details-modal{flex-direction:column;max-width:min(880px,94vw);max-height:min(90svh,820px);display:flex;overflow:hidden}.users-details-modal-body{flex:1;min-height:0;padding-top:5px;padding-right:5px;overflow-y:auto}.users-details-modal .detail-grid{gap:var(--ui-space-3) 34px;grid-template-columns:minmax(160px,220px) 1fr}.users-details-modal .profile-details{gap:34px}.modal-header{justify-content:space-between;align-items:center;gap:var(--ui-space-3);margin-bottom:21px;display:flex}.modal-header h3{font-size:var(--ui-font-xl);color:var(--text-h);margin:0;font-weight:500}.modal-close{font:inherit;border-radius:var(--ui-radius);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;line-height:1;display:flex}.modal-close:hover:not(:disabled){background:var(--code-bg);color:var(--text-h)}.modal-form{gap:var(--ui-space-2);flex-direction:column;display:flex}.modal-form label{font-size:var(--ui-font-sm);color:var(--text-h);margin-top:var(--ui-space-1);font-weight:500}.modal-form input,.modal-form select{font:inherit;border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface);color:var(--text-h);padding:8px 13px;transition:border-color .2s,box-shadow .2s}.modal-form input:focus,.modal-form select:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.modal-form input:disabled,.modal-form select:disabled{opacity:var(--ui-disabled)}.modal-form .field-hint{font-size:var(--ui-font-sm);color:var(--text-muted,#6b7280);margin:-5px 0 0}.inline-add-row{align-items:center;gap:var(--ui-space-2);margin-top:8px;display:flex}.inline-add-row select{flex:1;min-width:0}.inline-add-row .btn{white-space:nowrap;flex:none;width:auto;margin-top:0}.modal-actions{margin-top:var(--ui-space-4);justify-content:flex-end;gap:8px;display:flex}.modal-actions .btn{width:auto;margin-top:0}.modal-actions .btn-primary{padding:8px 21px}.modal-actions .btn-danger{width:auto;margin-top:0;padding:8px 21px}@media (width<=640px){.users-toolbar{align-items:flex-start}.users-add-btn{align-self:flex-end}.users-toolbar-right{width:100%}.users-search{flex:1;width:auto;min-width:0}.users-detail-header{flex-direction:column}.users-row-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.users-table-wrap{overflow-x:auto}.users-table{min-width:720px}}.users-select-col{text-align:center;width:40px}.users-select-col input{cursor:pointer;width:16px;height:16px;accent-color:var(--accent,#00461e)}.users-bulk-bar{justify-content:space-between;align-items:center;gap:var(--ui-space-2,8px);border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface);color:var(--text-h);flex-wrap:wrap;margin-bottom:13px;padding:8px 13px;font-weight:500;display:flex}.users-bulk-actions{flex-wrap:wrap;gap:8px;display:flex}.users-bulk-activate{color:var(--accent,#00461e);border-color:var(--accent-border,#00461e)}.users-notice{border:1px solid var(--accent-border,#9cc5ab);border-radius:var(--ui-radius);background:var(--accent-bg,#eaf4ee);color:var(--text-h);margin-bottom:13px;padding:8px 13px}.school-years-panel .users-toolbar{justify-content:space-between}.school-years-summary{font-size:var(--ui-font-sm);color:var(--text-muted,#6b7280);margin:0}.modal-checkbox-label{margin:var(--ui-space-1) 0 8px;font-size:var(--ui-font-sm);color:var(--text-h);cursor:pointer;align-items:center;gap:8px;font-weight:500;display:flex}.modal-checkbox-label input{width:16px;height:16px;accent-color:var(--accent);margin:0}.school-year-end-preview{width:100%;font-size:var(--ui-font-md);color:var(--text-h);background:var(--code-bg,#f3f4f6);border:1px solid var(--border);border-radius:var(--ui-radius);box-sizing:border-box;padding:8px 13px;font-weight:600;display:block}.school-year-end-hint{font-size:var(--ui-font-sm);color:var(--text-muted,#6b7280);margin:-5px 0 13px}.school-years-notice{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 21px;display:flex}.school-years-notice .btn{flex-shrink:0}.students-panel .users-toolbar{justify-content:flex-start}.students-enrollment-section{margin-bottom:21px}.students-details-footer{justify-content:flex-end;gap:var(--ui-space-3);padding:var(--ui-space-4) 21px 21px;border-top:1px solid var(--border);display:flex}.students-details-footer .btn{width:auto;min-width:120px;margin-top:0}.enroll-modal-overlay{z-index:1100}.enroll-student-name{font-size:var(--ui-font-sm);color:var(--text-muted,#6b7280);margin:0 21px 21px;line-height:1.5}.enroll-student-name strong{color:var(--text-h)}.enroll-modal-overlay .modal-form{padding:0 21px 21px}.enroll-modal-overlay .school-year-end-hint{margin-bottom:var(--ui-space-4)}.enroll-modal-overlay .school-year-end-preview{width:100%;font-size:var(--ui-font-md);color:var(--text-h);background:var(--code-bg,#f3f4f6);border:1px solid var(--border);border-radius:var(--ui-radius);box-sizing:border-box;padding:8px 13px;font-weight:600;display:block}.enroll-modal-overlay .school-year-end-hint{font-size:var(--ui-font-sm);color:var(--text-muted,#6b7280)}.students-year-filter{align-items:center;gap:var(--ui-space-2);font-size:var(--ui-font-sm);color:var(--text);display:inline-flex}.students-year-select{cursor:pointer;width:auto;min-width:180px}.dashboard-layout{text-align:left;width:100%;height:100svh;max-height:100svh;display:flex;overflow:hidden}.dashboard-sidebar{border-right:1px solid var(--accent);box-sizing:border-box;z-index:2;--text:#ffffffad;--text-h:#fff;--border:#ffffff2e;--bg:#ffffff12;--code-bg:#ffffff1c;--accent-bg:#ffc60029;--accent-border:#ffc6008c;background:linear-gradient(#00461e 0%,#003014 100%);flex-direction:column;flex:0 0 280px;height:100%;max-height:100svh;padding:34px 21px;display:flex;overflow-y:auto}.sidebar-brand{margin-bottom:var(--ui-space-6)}.sidebar-badge{font-size:var(--ui-font-xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--ui-space-1) 8px;border-radius:var(--ui-radius-pill);color:var(--gold,#ffc600);background:#ffc60024;border:1px solid #ffc60080;font-weight:600;display:inline-block}.sidebar-title{font-size:var(--ui-font-xl);letter-spacing:-.4px;margin:0 0 21px}.sidebar-user-card{border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--bg);flex-direction:column;align-items:flex-start;gap:5px;padding:13px;display:flex}.sidebar-user-edit{color:inherit;font:inherit;font-size:var(--ui-font-xs);opacity:.8;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.sidebar-user-edit:hover{opacity:1}.sidebar-user-name{font-size:var(--ui-font-md);color:var(--text-h);word-break:break-word;margin:0;font-weight:600;line-height:1.35}.sidebar-user-email,.sidebar-user{font-size:var(--ui-font-sm);color:var(--text);word-break:break-word;margin:0}.sidebar-nav{flex:1}.sidebar-nav ul{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.sidebar-nav-item{width:100%;padding:var(--ui-space-3) 13px;border-radius:var(--ui-radius);color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:3px;transition:background .2s,border-color .2s;display:flex}.sidebar-nav-item:hover{background:var(--code-bg)}.sidebar-nav-item.is-active{background:var(--accent-bg);border-color:var(--accent-border);box-shadow:inset 3px 0 0 var(--gold,#ffc600)}.sidebar-nav-label{font-size:var(--ui-font-md);font-weight:600}.sidebar-nav-desc{font-size:var(--ui-font-xs);color:var(--text);line-height:1.4}.sidebar-footer{margin-top:var(--ui-space-5);border-top:1px solid var(--border);padding-top:21px}.sidebar-signout{width:100%}.dashboard-main{min-width:0;min-height:0;padding:var(--ui-space-6) 34px 55px;box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.dashboard-main-header{border-bottom:1px solid var(--border);flex-shrink:0;margin-bottom:34px;padding-bottom:21px}.dashboard-main-header h2{font-size:var(--ui-font-2xl);letter-spacing:-.5px;margin:0 0 5px}.dashboard-main-content{flex-direction:column;flex:1;gap:21px;min-height:0;display:flex}.dashboard-subtitle{color:var(--text);font-size:var(--ui-font-md);margin:0}.dashboard-welcome-card h3,.dashboard-card h3{font-size:var(--ui-font-lg);color:var(--text-h);margin:0 0 13px;font-weight:500}.dashboard-name-card{gap:var(--ui-space-4);padding:var(--ui-space-5);border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--accent-bg);grid-template-columns:repeat(3,1fr);display:grid}.name-field{text-align:left;flex-direction:column;gap:5px;display:flex}.name-label{font-size:var(--ui-font-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text);font-weight:600}.name-value{font-size:var(--ui-font-xl);color:var(--text-h);letter-spacing:-.02em;font-weight:500}.dashboard-card-head{justify-content:space-between;align-items:center;gap:var(--ui-space-3);margin-bottom:var(--ui-space-4);display:flex}.dashboard-card-head h3{margin:0}.profile-details{gap:var(--ui-space-5);flex-direction:column;display:flex}.detail-section h3{font-size:var(--ui-font-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text);margin:0 0 13px;font-weight:600}.detail-grid{grid-template-columns:minmax(140px,auto) 1fr;gap:8px 21px;margin:0;display:grid}.detail-grid .detail-row{display:contents}.detail-row dt{font-size:var(--ui-font-sm);color:var(--text);font-weight:500}.detail-row dd{color:var(--text-h);font-size:var(--ui-font-md);margin:0}.detail-row dd.mono{font-family:var(--mono);font-size:var(--ui-font-sm);word-break:break-all}.dashboard-card{padding:var(--ui-space-5);border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--social-bg)}.dashboard-muted{font-size:var(--ui-font-sm);color:var(--text);margin:0;line-height:1.5}.status-pill{font-size:var(--ui-font-xs);padding:var(--ui-space-1) 8px;border-radius:var(--ui-radius-pill);text-transform:capitalize;background:var(--code-bg);color:var(--text-h);font-weight:600;display:inline-block}.status-pill.status-ok{color:#166534;background:#1665341f}@media (prefers-color-scheme:dark){.status-pill.status-ok{color:#86efac;background:#86efac26}}@media (width<=900px){.dashboard-layout{flex-direction:column;height:auto;max-height:none;overflow:visible}.dashboard-sidebar{border-right:none;border-bottom:1px solid var(--border);flex:none;width:100%;height:auto;max-height:none;padding:21px;overflow:visible}.dashboard-main{min-height:auto;overflow:visible}.sidebar-brand{margin-bottom:21px}.sidebar-nav ul{flex-flow:wrap}.sidebar-nav-item{flex:140px}.sidebar-nav-desc{display:none}.sidebar-footer{margin-top:var(--ui-space-4);padding-top:21px}.dashboard-main{padding:var(--ui-space-5) 21px 34px}.dashboard-name-card{grid-template-columns:1fr}.name-value{font-size:20px}}.btn{font:inherit;cursor:pointer;border-radius:var(--ui-radius);font-size:var(--ui-font-md);border:2px solid #0000;padding:8px 21px;font-weight:500;transition:border-color .2s,background .2s,opacity .2s}.btn:disabled{opacity:var(--ui-disabled)5;cursor:not-allowed}.btn-primary{margin-top:var(--ui-space-3);color:#fff;background:var(--accent);border-color:var(--accent);width:100%}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary{color:var(--text-h);background:var(--code-bg);border-color:var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent-border)}.btn-ghost{color:var(--accent);background:0 0;border-color:#0000;padding:5px 0}.btn-ghost:hover:not(:disabled){text-decoration:underline}.alert{padding:var(--ui-space-3) 13px;border-radius:var(--ui-radius);font-size:var(--ui-font-sm);margin:var(--ui-space-3) 0;line-height:1.45}.alert code{font-size:var(--ui-font-sm)}.alert-error{color:#991b1b;background:#dc26261a;border:1px solid #dc262640}.alert-warning{color:#92400e;background:#f59e0b1f;border:1px solid #f59e0b59}.alert-success{color:#14532d;background:#16a34a1a;border:1px solid #16a34a4d}@media (prefers-color-scheme:dark){.alert-error{color:#fca5a5;background:#dc262626}.alert-warning{color:#fcd34d;background:#f59e0b1f}.alert-success{color:#86efac;background:#16a34a26}}.auth-loading,.auth-denied{justify-content:center;align-items:center;gap:var(--ui-space-4);text-align:center;box-sizing:border-box;flex-direction:column;flex:1;min-height:0;max-height:100svh;padding:55px 21px;display:flex;overflow-y:auto}.auth-denied h1{font-size:var(--ui-font-2xl);margin:0}.auth-denied p{max-width:400px;color:var(--text)}
