:root{--bg:#f6f7f9;--panel:#fff;--panel-muted:#f9fafb;--text:#111827;--muted:#5f6b7a;--border:#d9dee7;--accent:#2563eb;--accent-strong:#1d4ed8;--danger:#b42318;--warning:#b54708;--success:#047857;--shadow:0 1px 2px #10182814}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--border);background:var(--panel);height:100vh;padding:18px;position:sticky;top:0;overflow-y:auto}.admin-brand{flex-direction:column;gap:2px;padding-bottom:12px;display:flex}.admin-brand__name{font-size:19px;font-weight:700}.admin-brand__meta{color:var(--muted);font-size:11px}.admin-nav{flex-direction:column;gap:6px;padding-top:12px;display:flex}.workspace-switcher{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:0 0 14px;display:flex}.workspace-switcher__label{color:var(--muted);font-size:11px;font-weight:700}.workspace-switcher__control{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:7px;width:100%;min-height:40px;padding:8px 9px}.workspace-switcher__control:focus-visible{border-color:var(--accent);outline-offset:1px;outline:2px solid #dbeafe}.workspace-switcher__context{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.admin-nav__link,.admin-nav__planned{color:var(--text);border-radius:7px;justify-content:space-between;align-items:center;min-height:38px;padding:10px;font-size:12px;display:flex}.admin-nav__link:hover,.admin-nav__link:focus-visible,.admin-nav__link--active{color:var(--accent);background:#eef4ff;outline:none}.admin-nav__link--active{font-weight:700}.admin-nav__planned{color:var(--muted)}.admin-nav__planned-label{font-size:10px}.admin-main{flex-direction:column;min-width:0;display:flex}.admin-header{border-bottom:1px solid var(--border);z-index:2;background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:12px 24px;display:flex;position:sticky;top:0}.admin-header__title{font-weight:700}.admin-header__meta{color:var(--muted);font-size:12px}.admin-header__actions{align-items:center;gap:10px;display:flex}.admin-header__account{flex-direction:column;align-items:flex-end;font-size:12px;display:flex}.admin-content{width:100%;max-width:1200px;padding:28px 24px 48px}.page-stack{flex-direction:column;gap:18px;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header__body{min-width:0}.page-header__eyebrow{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:700}.page-header__title{margin:0;font-size:26px;line-height:1.2}.page-header__description{color:var(--muted);max-width:760px;margin:8px 0 0}.page-header__actions{flex-wrap:wrap;gap:8px;display:flex}.page-section{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.page-section__header{border-bottom:1px solid var(--border);padding:14px 16px}.page-section__title{margin:0;font-size:16px}.page-section__description{color:var(--muted);margin:4px 0 0}.page-section__body{padding:16px}.state-box{background:var(--panel-muted);border:1px dashed var(--border);border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:132px;padding:18px;display:flex}.state-box__title{font-weight:700}.state-box__description{color:var(--muted);margin:0}.state-box--error{background:#fff7f7;border-color:#f4c7c3}.state-box--error .state-box__title{color:var(--danger)}.state-box--forbidden{background:#fff8eb;border-color:#fedf89}.state-box--forbidden .state-box__title{color:var(--warning)}.state-box--success{background:#ecfdf3;border-color:#abefc6}.state-box--success .state-box__title{color:var(--success)}.state-box--loading .state-box__title{color:var(--accent-strong)}.data-shell{border:1px solid var(--border);border-radius:8px;overflow:hidden}.data-shell__header{background:var(--panel-muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.data-shell__title{font-weight:700}.data-shell__meta{color:var(--muted);font-size:12px}.data-shell__body{overflow-x:auto}.foundation-table{border-collapse:collapse;width:100%}.foundation-table th,.foundation-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 12px}.foundation-table th{color:var(--muted);background:#fbfcfe;font-size:12px;font-weight:700}.foundation-table tr:last-child td{border-bottom:0}.table-link{color:var(--accent-strong);font-weight:700}.table-link:hover,.table-link:focus-visible{text-decoration:underline}.detail-list{border:1px solid var(--border);border-radius:8px;margin:0;overflow:hidden}.detail-list__row{grid-template-columns:minmax(160px,240px) minmax(0,1fr);display:grid}.detail-list__row+.detail-list__row{border-top:1px solid var(--border)}.detail-list dt,.detail-list dd{margin:0;padding:11px 12px}.detail-list dt{background:var(--panel-muted);color:var(--muted);font-weight:700}.detail-list dd{overflow-wrap:anywhere}.status-pill{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.status-pill--ready{color:var(--success);background:#ecfdf3}.status-pill--planned{color:var(--warning);background:#fff8eb}.button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;align-items:center;gap:8px;min-height:36px;padding:7px 11px;font-weight:700;display:inline-flex}.button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.button--danger{background:var(--danger);border-color:var(--danger);color:#fff}.detail-content,.inline-action{flex-direction:column;gap:12px;display:flex}.record-actions{align-items:flex-start;display:flex}.inline-message{color:var(--muted)}.inline-message--error{color:var(--danger)}.inline-message--warning{color:var(--warning);font-weight:600}.button:disabled{cursor:not-allowed;opacity:.65}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:20px;width:100%;max-width:440px;padding:24px;display:flex}.auth-panel__title{margin:0;font-size:26px;line-height:1.2}.auth-panel__description{color:var(--muted);margin:8px 0 0}.auth-panel__meta{border-top:1px solid var(--border);color:var(--muted);padding-top:14px;font-size:12px}.auth-form,.entity-form{flex-direction:column;gap:14px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-actions__primary{justify-content:center;max-width:280px}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.directory-filters{grid-template-columns:minmax(240px,2fr) repeat(2,minmax(180px,1fr)) auto;align-items:end;gap:14px;display:grid}.directory-filters__actions{padding-bottom:1px}.profile-toolbar,.identity-candidate{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.profile-person-id,.identity-phone-field{flex:320px}.student-directory-filters{grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) auto}.identity-candidate,.student-parent-create{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.student-record-actions{margin-top:14px}.account-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.lifecycle-row,.logo-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.organization-logo{border:1px solid var(--border);object-fit:contain;border-radius:8px;max-width:220px;max-height:120px}.organization-logo__upload{cursor:pointer}.organization-logo__upload input{display:none}.license-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.license-list__item{background:var(--panel);border:1px solid var(--border);color:var(--text);font:inherit;text-align:left;border-radius:8px;grid-template-columns:minmax(120px,160px) minmax(180px,1fr) minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;display:grid}.license-list__item:not(:disabled){cursor:pointer}.form-field__control--textarea{resize:vertical;min-height:92px}.auth-form__submit{justify-content:center;width:100%}.form-field{flex-direction:column;gap:6px;display:flex}.form-field--checkbox{flex-direction:row;align-items:center;min-height:40px}.form-field__label{color:#253041;font-weight:700}.form-field__control{border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;min-height:40px;padding:8px 10px}.auth-mode-tabs{border:1px solid var(--border);background:#edf1f7;border-radius:6px;grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid}.auth-mode-tabs__button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:4px;min-height:36px;padding:7px 8px;font-weight:700}.auth-mode-tabs__button[aria-selected=true]{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0f172a1f}.file-library-toolbar{grid-template-columns:minmax(220px,300px) minmax(240px,1fr) minmax(240px,1fr);align-items:end;gap:14px;display:grid}.file-library-toolbar__organization,.file-library-toolbar__search{min-width:0}.scope-tabs{border:1px solid var(--border);background:#edf1f7;border-radius:6px;grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid}.scope-tabs__button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:4px;min-height:36px;padding:7px 8px;font-weight:700}.scope-tabs__button[aria-selected=true]{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0f172a1f}.scope-tabs__button:disabled{cursor:not-allowed;opacity:.65}.file-library-workspace{grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(220px,280px);align-items:start;gap:16px;display:grid}.file-library-workspace--dragging .file-panel{outline:2px solid var(--accent);outline-offset:3px}.folder-panel,.file-panel,.preview-panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.folder-panel,.preview-panel{padding:12px}.file-panel{min-width:0;padding:14px}.folder-panel__actions,.folder-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.folder-actions{align-items:center}.folder-actions__select{max-width:260px}.folder-tree{flex-direction:column;gap:4px;margin-top:4px;display:flex}.folder-tree__item{color:var(--text);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;width:100%;min-height:34px;padding:7px 10px;overflow:hidden}.folder-tree__item:hover,.folder-tree__item:focus-visible,.folder-tree__item--active{color:var(--accent-strong);background:#eef4ff;outline:none}.breadcrumb-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;margin:-2px 0 12px;padding-bottom:10px;display:flex}.breadcrumb-link,.file-name-button{color:var(--accent-strong);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.file-name-button:disabled{color:var(--text);cursor:default}.folder-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:14px;display:grid}.folder-card{background:var(--panel-muted);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:4px;min-height:70px;padding:10px;display:flex}.folder-card:hover,.folder-card:focus-visible{border-color:var(--accent);outline:2px solid #dbeafe}.folder-card__name{overflow-wrap:anywhere;font-weight:700}.folder-card__meta,.file-original-name,.preview-panel__empty{color:var(--muted);font-size:12px}.file-upload-button{cursor:pointer}.file-upload-button input{display:none}.file-table-shell{margin-top:10px}.usage-list{flex-direction:column;gap:4px;min-width:180px;display:flex}.file-actions{flex-wrap:wrap;align-items:center;gap:6px;min-width:340px;display:flex}.file-actions__select{width:auto;min-width:140px}.preview-panel{min-height:180px}.file-preview-image{border:1px solid var(--border);object-fit:contain;border-radius:8px;width:100%;max-width:100%;max-height:260px;display:block}.phone-login-control{grid-template-columns:minmax(160px,190px) 1fr;gap:8px;display:grid}.phone-login-control__country{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;min-height:40px;padding:8px 10px}.phone-login-control__number{min-width:0}.password-control{grid-template-columns:1fr 42px;gap:8px;display:grid}.password-control__input{min-width:0}.password-control__toggle{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;min-height:40px;padding:0;font-size:18px;display:inline-flex}.password-control__toggle:disabled,.auth-mode-tabs__button:disabled{cursor:not-allowed;opacity:.65}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:520px){.phone-login-control{grid-template-columns:1fr}}.form-field__control:focus{border-color:var(--accent);outline:2px solid #dbeafe}.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.workspace-role-chip{background:var(--panel-muted);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.workspace-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.workspace-fact{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;min-height:104px;padding:16px;display:flex}.workspace-fact__label{color:var(--muted);font-size:11px}.workspace-fact strong{overflow-wrap:anywhere;font-size:16px}.workspace-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.workspace-link-list,.workspace-planned-list{flex-direction:column;margin:-16px;display:flex}.workspace-link-row,.workspace-planned-row{justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:13px;display:flex}.workspace-link-row+.workspace-link-row,.workspace-planned-row+.workspace-planned-row{border-top:1px solid var(--border)}.workspace-link-row{color:var(--text);font-weight:600}.workspace-link-row span:last-child{color:var(--accent);font-size:11px}.workspace-link-row:hover,.workspace-link-row:focus-visible{background:var(--panel-muted);outline:none}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-header{padding:12px 16px;position:static}.admin-content{padding:20px 16px 36px}.page-header{flex-direction:column}.two-column-grid{grid-template-columns:1fr}.workspace-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-sections,.file-library-toolbar,.file-library-workspace{grid-template-columns:1fr}.file-actions{min-width:0}.folder-actions__select,.file-actions__select{width:100%;max-width:none}.form-grid,.directory-filters,.license-list__item,.detail-list__row{grid-template-columns:1fr}}@media (max-width:560px){.admin-nav,.workspace-facts{grid-template-columns:1fr}}.legal-fields{border:1px solid var(--border-color,#d9e0e9);border-radius:12px;min-width:0;margin:1rem 0;padding:1rem}.linked-people__toolbar,.linked-person{justify-content:space-between;align-items:center;gap:1rem;display:flex}.linked-people__list{margin:1rem 0;padding:0;list-style:none}.linked-person{border-bottom:1px solid var(--border-color,#d9e0e9);align-items:flex-start;padding:1rem 0}.linked-person__identity{overflow-wrap:anywhere;min-width:0}.linked-person__identity p{margin:.4rem 0}.linked-person__actions{flex-shrink:0;max-width:280px}.linked-person__actions summary{cursor:pointer;border-radius:6px;padding:.5rem}.linked-person__menu{gap:.5rem;margin-top:.5rem;display:grid}.linked-person__actions summary:focus-visible{outline-offset:2px;outline:2px solid}@media (max-width:640px){.linked-person,.linked-people__toolbar{flex-direction:column;align-items:stretch}.linked-person__actions{max-width:none}}
