/* Administrative surfaces consume the common visual-system tokens. */
body {overflow:auto;}
.admin-main {max-width:1160px;margin:48px auto;padding:0 32px;min-width:0;}
.admin-auth {width:min(480px,calc(100% - 32px));margin:64px auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-floating);box-shadow:var(--shadow-panel);}
.auth-brand {display:flex;align-items:center;gap:12px;margin-bottom:32px;font-size:var(--font-label);font-weight:650;letter-spacing:.08em;color:var(--muted);}
.admin-auth > a {display:inline-block;font-size:var(--font-secondary);margin:0 0 24px;}
.admin-auth form + p {margin:16px 0;}
.admin-auth h1 {margin-top:12px;}
.admin-main > header,.section-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;}
.admin-page-header {padding-bottom:24px;}
.back-link {display:inline-block;margin-bottom:24px;font-size:var(--font-secondary);text-decoration:none;}
.admin-main p,.admin-auth p {color:var(--muted);line-height:1.6;max-width:720px;}
.admin-main h1 {margin-bottom:12px;}
.admin-main h2 {margin:0 0 8px;}
.admin-main nav {display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);}
.admin-main nav a {padding:10px 16px;border-radius:var(--radius-control);text-decoration:none;font-size:var(--font-secondary);color:var(--muted);}
.admin-main nav a:hover {background:var(--primary-soft);color:var(--text);}
.admin-main section {padding:24px 0;border-bottom:1px solid var(--border);}
.section-heading {margin-bottom:16px;}
.section-heading p {margin:0;font-size:var(--font-secondary);}
.societies-heading {margin-top:48px;}
.admin-main form,.admin-auth form,dialog form {display:grid;gap:24px;}
label {display:grid;gap:8px;font-size:var(--font-secondary);font-weight:550;min-width:0;}
input,select,textarea {width:100%;max-width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--border-strong);background:var(--surface-inset);color:var(--text);font:inherit;line-height:1.5;}
textarea {resize:vertical;}
button {padding:10px 16px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;min-height:44px;}
fieldset {min-width:0;margin:0;padding:24px;border:1px solid var(--border);border-radius:var(--radius-panel);}
legend {padding:0 8px;color:var(--text);font-size:var(--font-subsection);font-weight:650;}
.field-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
fieldset > label {margin-bottom:24px;max-width:340px;}
.company-fields {display:grid;gap:24px;}
.record-selector {max-width:400px;margin:0 0 24px;}
.editor {border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);}
.editor > summary {display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 24px;cursor:pointer;font-size:var(--font-subsection);font-weight:650;}
.editor > summary span {color:var(--muted);font-size:var(--font-secondary);font-weight:400;}
.editor-content {padding:0 24px 24px;}
.section-actions {display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 24px;}
.form-footer {display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:16px;border-top:1px solid var(--border);}
.form-footer span {font-size:var(--font-meta);color:var(--muted);}
.table-wrap {width:100%;max-width:100%;overflow-x:auto;margin:16px 0 24px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);}
table {width:100%;border-collapse:collapse;font-size:var(--font-body);}
th,td {padding:16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);overflow-wrap:anywhere;}
th {color:var(--muted);font-weight:650;background:var(--surface-subtle);font-size:var(--font-label);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
tr:last-child td {border-bottom:0;} tbody tr:hover {background:var(--surface-subtle);}
td:last-child {min-width:120px;}
.row-actions {display:flex;gap:8px;align-items:center;flex-wrap:nowrap;}
.row-actions > button {border:0;background:transparent;color:var(--primary-hover);padding:8px 12px;}
.row-actions > button:hover {background:var(--primary-soft);}
.row-actions summary {min-width:44px;padding:8px;}
.table-wrap td .status-badge {white-space:nowrap;}
.notice:empty {display:none;}
.notice {color:var(--text);background:var(--primary-soft);border-radius:var(--radius-control);padding:12px 16px;font-size:var(--font-secondary);overflow-wrap:anywhere;}
.notice.error {background:var(--danger-soft);color:var(--danger);}
#notice {color:var(--text);}
small {color:var(--muted);font-size:var(--font-meta);overflow-wrap:anywhere;font-weight:400;}
#import-preview {display:grid;gap:16px;}
.import-field {display:grid;gap:12px;padding:20px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-panel);font-size:var(--font-secondary);}
.import-field > strong {font-size:var(--font-body);font-weight:650;}
.import-field small {padding:12px;background:var(--surface);border-radius:var(--radius-control);white-space:pre-wrap;}
.import-decision {display:flex;align-items:flex-start;gap:12px;font-weight:400;}
.import-decision input {width:20px;height:20px;min-height:20px;accent-color:var(--primary);flex:0 0 20px;}
.pending-changes {padding:24px;border-radius:var(--radius-panel);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 22%,var(--border));}
.dialog-actions {justify-content:flex-end;margin:24px 0 0;padding-top:16px;border-top:1px solid var(--border);}
dialog {width:min(640px,calc(100% - 32px));}
dialog p {color:var(--muted);}
#profile-delete-dialog {width:min(520px,calc(100% - 32px));}
#settings {grid-template-columns:1fr 1fr;align-items:start;}
#settings fieldset p {font-size:var(--font-secondary);}
#settings fieldset label + label {margin-top:16px;}
#settings > button {justify-self:start;}
dl {display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:12px 24px;}
dt {color:var(--muted);font-size:var(--font-secondary);}
dd {margin:0;overflow-wrap:anywhere;}
pre {white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-subtle);padding:20px;border-radius:var(--radius-panel);font-size:var(--font-meta);line-height:1.6;max-height:440px;overflow:auto;}
.orphan-session {padding:16px 0;border-bottom:1px solid var(--border);}
.orphan-session button {margin:0 8px 8px 0;}
@media(max-width:800px) {
 .admin-main {padding:0 24px;margin:32px auto;}
 .field-grid,#settings {grid-template-columns:1fr;}
 .table-wrap {border:0;background:transparent;overflow:visible;}
 .table-wrap table,.table-wrap tbody {display:block;}
 .table-wrap thead {display:none;}
 .table-wrap tr {display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);padding:16px;margin-bottom:16px;}
 .table-wrap td,.table-wrap td:last-child {display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;min-width:0;padding:8px 0;border:0;}
 .table-wrap td::before {content:attr(data-label);color:var(--muted);font-size:var(--font-meta);}
 .table-wrap td[colspan] {display:block;} .table-wrap td[colspan]::before {display:none;}
}
@media(max-width:600px) {
 .admin-main {padding:0 16px;margin:24px auto;}
 .admin-auth {margin:24px auto;padding:24px;}
 .admin-main > header,.section-heading {align-items:start;flex-direction:column;gap:16px;}
 .editor > summary {padding:20px;} .editor-content {padding:0 16px 20px;}
 fieldset {padding:16px;} .field-grid {gap:20px;}
 .form-footer {align-items:stretch;flex-direction:column;gap:16px;}
 .table-wrap td,.table-wrap td:last-child {grid-template-columns:88px minmax(0,1fr);gap:12px;}
 .dialog-actions {flex-wrap:wrap;} .dialog-actions button {flex:1;}
 dl {grid-template-columns:1fr;} dd {margin-bottom:12px;}
}
