/* Connected workspace: compact navigation, readable surfaces and personal geometry. */
body { background-color: var(--bg); background-image: none; }
:root[data-background="aurora"] body { background-image: radial-gradient(ellipse at 0 0, color-mix(in srgb,var(--primary) 17%,transparent), transparent 55%), radial-gradient(ellipse at 100% 30%,color-mix(in srgb,var(--teal) 15%,transparent),transparent 55%); background-attachment: fixed; }
:root[data-background="sunrise"] body { background-image: radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--amber) 14%,transparent),transparent 58%),linear-gradient(135deg,transparent,color-mix(in srgb,var(--primary) 9%,transparent)); background-attachment: fixed; }
:root[data-background="paper"] body { background-image: repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in srgb,var(--text) 2%,transparent) 3px 4px); }
:root[data-background="grid"] body { background-image: linear-gradient(color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px); background-size:32px 32px; }
:root[data-background="waves"] body { background-image: repeating-radial-gradient(ellipse at -20% 100%,transparent 0 42px,color-mix(in srgb,var(--teal) 6%,transparent) 43px 46px,transparent 47px 80px); background-attachment:fixed; }
:root[data-high-contrast="true"] body { background-image:none; }
.sidebar { padding:14px 10px; box-shadow:none; border:1px solid var(--border); background:var(--surface); border-radius:var(--radius-lg); }
.navigation { gap:5px; }
.navigation a, .navigation-group-toggle { display:flex; align-items:center; gap:10px; min-height:44px; padding:10px 12px; color:var(--text); background:transparent; border:0; border-radius:var(--radius-sm); text-decoration:none; box-shadow:none; font-weight:600; text-align:left; }
.navigation a:hover, .navigation-group-toggle:hover { background:var(--surface-soft); }
.navigation a[aria-current="page"] { color:var(--primary-strong); background:var(--primary-soft); box-shadow:inset 3px 0 var(--primary); }
.navigation-link-main small { display:none; }
.navigation a strong { font-size:calc(14px * var(--font-scale)); }
.navigation-group { border:0; background:transparent; border-radius:var(--radius-md); }
.navigation-group-toggle { width:100%; font-size:calc(14px * var(--font-scale)); }
.navigation-submenu { margin:4px 0 8px 19px; padding:0 0 0 10px; border-left:1px solid var(--border); }
.navigation-submenu a { min-height:42px; padding:8px 10px; font-size:calc(13px * var(--font-scale)); }
.sidebar-theme-control { padding:10px 8px; border:0; }
.navigation-footer { gap:6px; }
.sidebar-heading { padding:5px 8px 12px; }
.portal-breadcrumbs { display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:0 0 20px; font-size:calc(13px * var(--font-scale)); min-width:0; }
.portal-breadcrumbs a { overflow-wrap:anywhere; }
.breadcrumb-divider { color:var(--muted); }
.breadcrumb-appearance { margin-left:auto; }
.internal-link { color:var(--primary-strong); text-decoration:underline; text-underline-offset:3px; cursor:pointer; border-radius:var(--radius-sm); }
a:focus-visible,summary:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
.section-menu { position:relative; max-width:450px; margin:0 0 20px; z-index:15; }
.section-menu > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:46px; padding:12px 16px; border:1px solid var(--border); background:var(--surface); border-radius:var(--radius-md); cursor:pointer; font-weight:700; list-style:none; }
.section-menu > summary::after { content:'⌄'; }
.section-menu[open] > summary::after { content:'⌃'; }
.section-menu > nav { position:absolute; top:calc(100% + 5px); left:0; right:0; display:flex; flex-direction:column; gap:3px; max-height:60vh; overflow:auto; z-index:25; padding:8px; background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow); border-radius:var(--radius-md); }
.section-menu > nav a { display:flex; align-items:center; gap:9px; min-height:44px; padding:9px 12px; color:var(--text); text-decoration:none; border-radius:var(--radius-sm); }
.section-menu > nav a:hover,.section-menu > nav a[aria-current="page"] { background:var(--primary-soft); color:var(--primary-strong); }
.admin-shortcuts a { display:flex; align-items:center; gap:10px; padding:12px 15px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); color:var(--text); text-decoration:none; }
.admin-shortcuts a span:first-of-type { flex:1; display:grid; }
.admin-shortcuts a small { color:var(--muted); }
.group-directory-panel { grid-column:1 / -1; }
.group-management-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.department-disclosure { position:relative; min-width:0; }
.department-disclosure > summary { cursor:pointer; display:flex; flex-direction:column; gap:6px; padding:18px; background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--radius-md); min-height:86px; list-style:none; }
.department-disclosure > summary::after { content:'Выбрать группу ↓'; color:var(--primary-strong); font-size:calc(13px * var(--font-scale)); }
.department-disclosure[open] { z-index:30; }
.department-menu { position:absolute; top:calc(100% + 5px); left:0; right:0; max-height:min(380px,55vh); overflow:auto; padding:6px; background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow); border-radius:var(--radius-md); }
.group-directory-link { display:flex; flex-direction:column; gap:4px; padding:10px 12px; min-height:44px; text-decoration:none; border-radius:var(--radius-sm); }
.group-directory-link:hover { background:var(--surface-soft); }
.group-directory-link small,.count-label { color:var(--muted); font-size:calc(12px * var(--font-scale)); }
.connected-group-view { margin-top:22px; border-top:1px solid var(--border); padding-top:22px; min-width:0; }
.connected-group-view[hidden] { display:none; }
.table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
.connected-roster { width:100%; border-collapse:collapse; font-size:calc(14px * var(--font-scale)); }
.connected-roster th { text-align:left; background:var(--surface-soft); color:var(--muted); font-size:calc(12px * var(--font-scale)); }
.connected-roster td,.connected-roster th { padding:12px; border-bottom:1px solid var(--border); vertical-align:middle; }
.connected-roster td:first-child { min-width:160px; }
.connected-roster progress { width:74px; display:block; height:7px; accent-color:var(--primary); }
.connected-roster tbody tr:hover { background:var(--surface-soft); }
.group-summary { padding:12px 14px; border-radius:var(--radius-md); background:var(--surface-soft); }
.group-settings { margin-top:16px; }
.compact-person-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; padding:12px 0; border-bottom:1px solid var(--border); }
.compact-person-row > div:first-child { display:flex; flex-direction:column; gap:4px; flex:1; min-width:min(220px,100%); }
.compact-person-row > a:first-child { flex:1; font-weight:650; }
.compact-person-row small { color:var(--muted); font-size:calc(13px * var(--font-scale)); }
.inline-links,.contact-line { display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; margin:8px 0; }
.curator-directory > input { max-width:440px; margin:15px 0 5px; }
.curator-list { max-height:420px; overflow:auto; }
.connected-dialog { width:min(720px,calc(100vw - 24px)); max-height:88dvh; max-height:min(88vh,900px); overflow:auto; padding:22px; border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:var(--radius-lg); box-shadow:var(--shadow); }
.connected-dialog::backdrop { background:rgba(5,20,35,.58); }
.connected-dialog > .panel-heading { position:sticky; top:-22px; background:var(--surface); padding:12px 0; z-index:2; }
.connected-dialog h2 { font-size:calc(22px * var(--font-scale)); }
.connected-dialog-body { display:grid; gap:14px; }
.connected-dialog .form-stack { padding:0; }
.form-disclosure { margin:12px 0 18px; }
.form-disclosure > form { padding:16px 0 0; }
.compact-disclosure > summary { cursor:pointer; padding:12px 16px; min-height:44px; color:var(--primary-strong); }
.action-menu { position:relative; width:max-content; max-width:100%; margin-top:8px; }
.action-menu > summary { cursor:pointer; border:1px solid var(--border); border-radius:var(--radius-sm); padding:9px 14px; min-height:42px; color:var(--text); background:var(--surface-soft); }
.action-menu[open] { z-index:20; }
.action-menu > .queue-actions,.action-menu > .resource-card-actions { position:absolute; right:0; left:auto; min-width:220px; width:max-content; max-width:min(320px,80vw); max-height:50vh; overflow:auto; margin-top:5px; padding:8px; display:flex; flex-direction:column; align-items:stretch; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow); z-index:30; }
.account-directory-card { padding:13px 16px; border-radius:var(--radius-md); }
.account-directory-card > .action-menu > .queue-actions { left:0; right:auto; }
.account-directory-card > .compact-disclosure { margin:4px 0; }
.account-directory-card .account-meta { padding:6px 0; }
.session-disclosure { padding:12px 16px; border-radius:var(--radius-md); }
.session-disclosure > summary { cursor:pointer; min-height:42px; }
.session-disclosure > .queue-meta { margin:10px 0; }
.session-disclosure:not([open]) > :not(summary) { display:none; }
.club-term-panel { margin:18px 0 24px; border-top:1px solid var(--border); padding-top:18px; }
.term-contact-list { max-height:400px; overflow:auto; }
.import-contact-preview { max-height:360px; overflow:auto; }
.criterion-canonical-select { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); }
#criterion-picker-open { justify-content:space-between; text-align:left; white-space:normal; min-height:48px; width:100%; padding:12px 14px; font-weight:600; }
.criterion-picker-results { display:grid; gap:10px; max-height:55vh; overflow:auto; }
.criterion-choice { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:7px 14px; padding:16px; background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--radius-md); }
.criterion-choice > small { grid-column:1/-1; color:var(--muted); }
.criterion-choice > strong { font-size:calc(15px * var(--font-scale)); }
.criterion-choice > details { grid-column:1/-1; }
.criterion-choice > button { grid-column:2; justify-self:end; }
.criterion-score { color:var(--primary-strong); font-size:calc(13px * var(--font-scale)); white-space:nowrap; }
.appearance-form { font-family:system-ui,sans-serif; }
.appearance-live-preview { font-family:var(--font-family); padding:22px; border:2px solid var(--border); background:var(--surface); border-radius:var(--radius-lg); box-shadow:var(--shadow); }
.appearance-live-preview h3 { margin:8px 0; font-size:calc(25px * var(--font-scale)); }
.appearance-live-preview p { font-size:calc(17px * var(--font-scale)); }
.appearance-control-grid input[type="range"] { accent-color:var(--primary); min-height:42px; padding:0; }
.my-curator-card { margin:12px 0; padding:16px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); }
.registration-steps { display:flex; flex-wrap:wrap; gap:6px 12px; padding:0 0 14px; list-style:none; counter-reset:registration-step; color:var(--muted); font-size:calc(12px * var(--font-scale)); }
.registration-steps li { counter-increment:registration-step; }
.registration-steps li::before { content:counter(registration-step) '. '; font-weight:700; color:var(--primary); }
.registration-steps li[aria-current="step"] { font-weight:700; color:var(--primary-strong); }
@media(max-width:1050px) { .group-management-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .portal-breadcrumbs { margin-top:5px; } }
@media(max-width:640px) { .group-management-list { grid-template-columns:minmax(0,1fr); } .department-disclosure > summary { min-height:68px; padding:14px; } .department-menu { position:static; margin-top:5px; box-shadow:none; } .connected-dialog { padding:16px; } .connected-dialog > .panel-heading { top:-16px; } .breadcrumb-appearance { margin-left:0; } .portal-breadcrumbs { font-size:calc(12px * var(--font-scale)); gap:7px; } .criterion-choice { grid-template-columns:minmax(0,1fr); } .criterion-choice > button { grid-column:1; justify-self:stretch; } .action-menu > .queue-actions,.action-menu > .resource-card-actions { left:0; right:auto; min-width:min(220px,75vw); } .section-menu { max-width:100%; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

.calendar-event, .resource-agenda a { text-decoration:none; color:var(--text); }
