/* Hallmark · pre-emit critique: P5 H4 E5 S5 R5 V5 · macrostructure: Workbench · genre: modern-minimal · theme: studied-DNA (source: Teachbase structure + original УНИКА palette) · palette: aubergine/plum/terracotta · nav: N3 · footer: none · contrast: pass (46–50) · slop: pass (51–60) · mobile: pass (36, 59, 61–69) */
html,body{overflow-x:clip}
.app-shell-page{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body)}
.app-shell-page>.site-header,.app-shell-page>.site-footer{display:none}
.app-shell-page>.site-main{min-height:100dvh;padding:0}
.workbench{display:grid;grid-template-columns:1fr;min-height:100dvh;background:radial-gradient(circle at 92% 5%,var(--color-accent-2),transparent 28rem),var(--color-paper)}
.work-rail{display:none}
.work-main,.main-content.work-main{min-width:0;margin:0;padding:0;background:transparent}
.work-topbar{height:var(--topbar-height);display:flex;align-items:center;gap:var(--space-sm);padding-inline:var(--space-sm);background:var(--color-surface);color:var(--color-ink);border-block-end:var(--rule-hair) solid var(--color-rule);position:sticky;inset-block-start:0;z-index:20}
.work-search{display:flex;align-items:center;gap:var(--space-2xs);flex:1;max-width:42rem;height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-muted)}
.work-search input{width:100%;border:0;outline:0;background:transparent;color:var(--color-ink);font:inherit}
.work-search:focus-within{outline:2px solid var(--color-focus);outline-offset:1px}
.work-topbar__actions{display:flex;align-items:center;gap:var(--space-2xs);margin-inline-start:auto}
.work-icon-button,.work-avatar{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-pill);text-decoration:none;white-space:nowrap}
.work-icon-button{background:var(--color-paper-2);color:var(--color-ink);border:var(--rule-hair) solid var(--color-rule)}
.work-avatar{background:var(--color-action);color:var(--color-action-ink);font-weight:800;overflow:hidden}
.work-avatar img{width:100%;height:100%;object-fit:cover}
.work-content{width:min(100%,86rem);margin-inline:auto;padding:var(--space-md) var(--space-sm) calc(6rem + env(safe-area-inset-bottom))}
.work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);margin-block-end:var(--space-lg);min-width:0}
.work-heading>div{min-width:0}.work-heading p{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:var(--text-sm)}
.work-heading h1{min-width:0;margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}
.quiet-link{color:var(--color-accent);font-weight:700;text-decoration:none;white-space:nowrap;min-height:2.75rem;display:inline-flex;align-items:center}
.continue-strip{display:grid;gap:var(--space-md);padding:var(--space-md);margin-block-end:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-3);color:var(--color-ink);box-shadow:var(--shadow-card)}
.continue-strip h2{margin:.3rem 0 .2rem;font-size:clamp(1.2rem,3vw,1.7rem);line-height:1.15}.continue-strip p{margin:0;opacity:.78}
.continue-strip .status-label{color:var(--color-accent)}.continue-strip__action{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);font-variant-numeric:tabular-nums;font-size:var(--text-lg);font-weight:800}
.continue-strip .btn{background:var(--color-action)!important;color:var(--color-action-ink)!important;border-color:transparent!important}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-md);margin-block-end:var(--space-md)}
.section-head h2{margin:0 0 .2rem;font-size:var(--text-xl);letter-spacing:-.025em}.section-head p{margin:0;color:var(--color-muted)}
.learning-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}
.learning-card{min-width:0;overflow:hidden;background:var(--color-surface);color:var(--color-ink);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);text-decoration:none;box-shadow:0 1px 0 var(--color-rule);transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}
.learning-card__cover{height:9rem;display:grid;place-items:center;background:var(--color-accent-2);color:var(--color-accent);overflow:hidden}.learning-card__cover img{width:100%;height:100%;object-fit:cover}.learning-card__cover>span{font-family:var(--font-display);font-size:3.75rem;font-weight:800;opacity:.55}
.learning-card__body{padding:var(--space-sm)}.status-label{font-size:var(--text-xs);font-weight:800;color:var(--color-accent)}
.learning-card h3{margin:.35rem 0 .8rem;font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}.learning-card p{margin:.55rem 0 0;color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}
.progress-track{height:.3rem;border-radius:var(--radius-pill);background:var(--color-rule);overflow:hidden}.progress-track span{display:block;width:var(--progress);height:100%;background:var(--color-success);border-radius:inherit}
.work-empty{display:grid;justify-items:start;gap:var(--space-2xs);padding:var(--space-xl);background:var(--color-surface);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card)}
.work-empty>span{display:grid;place-items:center;width:3rem;height:3rem;background:var(--color-accent-2);color:var(--color-accent);border-radius:var(--radius-pill);font-weight:900}.work-empty>span .ui-icon{width:1.4rem;height:1.4rem}.work-empty h2,.work-empty p{margin:0}.work-empty p{color:var(--color-muted)}
.course-tabs{display:flex;gap:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);margin-block-end:var(--space-lg);overflow-x:auto}
.course-tabs button{min-height:2.75rem;padding:0;background:transparent;border:0;border-block-end:2px solid transparent;color:var(--color-muted);font:700 var(--text-sm)/1 var(--font-body);cursor:pointer;white-space:nowrap}
.course-tabs button[aria-selected="true"]{color:var(--color-accent);border-block-end-color:var(--color-accent)}.course-tabs button span{font-variant-numeric:tabular-nums;margin-inline-start:.25rem}
.course-panel[hidden]{display:none}
.month-controls{display:flex;align-items:center;gap:var(--space-xs);white-space:nowrap}.month-controls a{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);color:var(--color-ink);text-decoration:none}.month-controls a .ui-icon{width:.95rem;height:.95rem}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:.5rem;text-align:center;color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.calendar-days{border-block-start:var(--rule-hair) solid var(--color-rule);border-inline-start:var(--rule-hair) solid var(--color-rule);background:var(--color-surface)}
.calendar-day{min-width:0;min-height:7.5rem;padding:.45rem;border-inline-end:var(--rule-hair) solid var(--color-rule);border-block-end:var(--rule-hair) solid var(--color-rule)}.calendar-day.is-empty{background:var(--color-paper-2)}.calendar-number{display:block;margin-block-end:.4rem;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-muted)}
.calendar-event{display:block;padding:.45rem;margin-block-end:.35rem;border-radius:.55rem;background:var(--color-accent-2);color:var(--color-ink);font-size:.72rem;line-height:1.25;text-decoration:none;overflow-wrap:anywhere}.calendar-event time{display:block;color:var(--color-accent);font-weight:800}.calendar-event small{display:block;margin-block-start:.2rem;color:var(--color-neutral)}
.resource-count{color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap}.resource-list{background:var(--color-surface);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);overflow:hidden}.resource-row{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:4.75rem;padding:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);text-decoration:none}.resource-row:last-child{border:0}.resource-type{font:700 .7rem/1 var(--font-outlier);color:var(--color-accent)}.resource-row strong,.resource-row small{display:block}.resource-row small{margin-block-start:.2rem;color:var(--color-muted)}.resource-open{color:var(--color-accent);font-weight:700;white-space:nowrap}
.mobile-tabs{position:fixed;inset-inline:0;inset-block-end:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:.45rem max(.4rem,env(safe-area-inset-right)) max(.45rem,env(safe-area-inset-bottom)) max(.4rem,env(safe-area-inset-left));background:var(--color-surface);border-block-start:var(--rule-hair) solid var(--color-rule)}
.mobile-tabs a{display:grid;justify-items:center;gap:.15rem;min-width:0;color:var(--color-muted);font-size:.62rem;text-decoration:none;white-space:nowrap}.mobile-tabs a .ui-icon{width:1.3rem;height:1.3rem}.mobile-tabs a.active{color:var(--color-accent);font-weight:800}
.ui-icon{display:inline-block;flex:0 0 auto;width:1.2rem;height:1.2rem;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ui-tooltip{position:fixed;z-index:9999;box-sizing:border-box;width:max-content;max-width:min(18rem,calc(100vw - 2rem));padding:.48rem .68rem;border:var(--rule-hair) solid var(--color-sidebar-active);border-radius:.55rem;background:var(--color-sidebar);color:var(--color-sidebar-ink);box-shadow:var(--shadow-card);font:700 var(--text-xs)/1.25 var(--font-body);text-align:center;white-space:normal;overflow-wrap:anywhere;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(.25rem);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),visibility 0s linear var(--dur-short)}
.ui-tooltip.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0ms}
[data-tooltip]{--tooltip-anchor:1}
.workbench :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
.workbench a:active,.workbench button:active{transform:translateY(1px)}.workbench button:disabled,.workbench input:disabled,.workbench a[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}
@media (hover:hover) and (pointer:fine){.learning-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.quiet-link:hover,.resource-row:hover{color:var(--color-ink)}.work-nav a:hover{background:var(--color-sidebar-active);color:var(--color-accent-ink)}.continue-strip .btn:hover{background:var(--color-action-hover)!important}}
@media (min-width:40rem){.work-content{padding:var(--space-lg)}.continue-strip{grid-template-columns:minmax(0,1fr) auto;align-items:center}.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:60rem){.workbench{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.work-rail{position:sticky;inset-block-start:0;height:100dvh;display:flex;flex-direction:column;padding:var(--space-md) var(--space-sm);background:var(--color-sidebar);color:var(--color-sidebar-ink);border-inline-end:0;z-index:30}.work-brand{display:flex;align-items:center;gap:.7rem;min-height:2.75rem;padding-inline:.65rem;margin-block-end:var(--space-lg);color:var(--color-sidebar-ink);font-weight:900;text-decoration:none;letter-spacing:.06em}.work-brand__mark{display:grid;place-items:center;width:2rem;height:2rem;background:var(--color-action);color:var(--color-action-ink);border-radius:var(--radius-pill)}.work-nav{display:flex;flex-direction:column;gap:.2rem}.work-nav__label{padding:.5rem .75rem;color:var(--color-rule-2);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.work-nav a{position:relative;display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.65rem .75rem;border-radius:.7rem;color:var(--color-rule-2);font-size:.9rem;font-weight:600;text-decoration:none;white-space:nowrap}.work-nav a>.ui-icon{width:1.25rem;height:1.25rem;color:inherit}.work-nav a.active{background:var(--color-sidebar-active);color:var(--color-accent-ink)}.work-nav a.active::before{content:"";position:absolute;inset-inline-start:0;width:.2rem;height:1.35rem;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--color-action)}.work-rail__footer{display:flex;flex-direction:column;gap:.45rem;margin-block-start:auto;padding:.75rem;border-block-start:var(--rule-hair) solid var(--color-sidebar-active)}.work-switch,.work-logout{display:flex;align-items:center;gap:.5rem;color:var(--color-rule-2);font-size:.82rem;font-weight:700;text-decoration:none}.work-logout .ui-icon{width:1rem;height:1rem}.work-user{overflow:hidden;color:var(--color-rule-2);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.mobile-tabs{display:none}.work-content{padding:var(--space-xl)}.learning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.work-brand.work-brand--logo{justify-content:center;min-height:8.5rem;margin-block-end:var(--space-sm);padding:1.15rem .2rem .2rem}.work-brand__logo{display:block;width:auto;max-width:10.5rem;height:6.8rem;object-fit:contain}
@media (min-width:90rem){.learning-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:39.99rem){.work-heading{align-items:flex-start;flex-direction:column}.work-heading>.quiet-link{display:none}.calendar-weekdays span{font-size:.62rem}.calendar-day{min-height:4.2rem;padding:.2rem}.calendar-event{font-size:0;width:.55rem;height:.55rem;padding:0;border-radius:50%;overflow:hidden}.calendar-event time,.calendar-event small{display:none}.resource-row{grid-template-columns:2.75rem minmax(0,1fr)}.resource-open{display:none}.work-search{max-width:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.chat-work-main{height:100dvh;overflow:hidden}.chat-page-title{justify-content:space-between}.chat-page-title>div{display:flex;flex-direction:column}.chat-page-title span{color:var(--color-muted);font-size:var(--text-xs)}.chat-work-main .chat-layout{height:calc(100dvh - var(--topbar-height));grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);background:var(--color-paper)}.chat-work-main .chat-sidebar,.chat-work-main .chat-header{background:var(--color-surface)}
@media (max-width:59.99rem){.chat-work-main{padding-block-end:4.5rem}.chat-work-main .chat-layout{height:calc(100dvh - var(--topbar-height) - 4.5rem)}}
.admin-topbar-title{display:flex;flex-direction:column}.admin-topbar-title span{color:var(--color-muted);font-size:var(--text-xs)}.admin-learning-stats{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);margin-block-end:var(--space-xl)}.admin-learning-stats article{padding:var(--space-md);background:var(--color-surface);color:var(--color-ink);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card)}.admin-learning-stats span,.admin-learning-stats small{display:block;color:var(--color-muted)}.admin-learning-stats strong{display:block;margin:.3rem 0;font-size:2rem;font-variant-numeric:tabular-nums}.admin-learning-links{background:var(--color-surface);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);overflow:hidden}.admin-learning-links a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:4.75rem;padding:var(--space-sm) var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);text-decoration:none}.admin-learning-links a:last-child{border:0}.admin-learning-links strong,.admin-learning-links small{display:block}.admin-learning-links small{margin-block-start:.2rem;color:var(--color-muted)}.admin-learning-links b{color:var(--color-accent)}
@media (min-width:40rem){.admin-learning-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.unika-shell .work-brand{color:var(--color-sidebar-ink)}.unika-shell .work-logout,.unika-shell .work-switch{color:var(--color-rule-2)}
.unika-shell .dashboard-layout>.main-content.work-main{min-width:0;margin:0;padding:0;background:transparent}

/* 2026-08 · refined student workspace */
.work-topbar{height:5rem;padding-inline:var(--space-sm);background:transparent;border:0;position:relative;z-index:50}
.work-search{flex:0 1 48rem;max-width:none;height:2.75rem;padding-inline:var(--space-sm);border-color:var(--color-rule);background:var(--color-surface);box-shadow:0 1px 0 var(--color-rule)}
.work-search .ui-icon{width:1.05rem;height:1.05rem;color:var(--color-neutral)}
.work-search input::placeholder{color:var(--color-muted)}
.unika-shell .work-search input#work-search-input{flex:1;min-width:0;width:100%!important;min-height:0!important;height:auto;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0}
.work-icon-button{position:relative;padding:0;cursor:pointer;font:inherit}
.notification-shell{position:relative}
.notification-button{overflow:visible}
.notification-badge{position:absolute;inset-block-start:-.2rem;inset-inline-end:-.25rem;display:grid;place-items:center;min-width:1.15rem;height:1.15rem;padding-inline:.25rem;border:2px solid var(--color-paper);border-radius:var(--radius-pill);background:var(--color-action);color:var(--color-action-ink);font-size:.62rem;font-weight:900;line-height:1}
.notification-badge[hidden]{display:none}
.notification-popover{position:absolute;inset-block-start:calc(100% + .6rem);inset-inline-end:0;width:min(23rem,calc(100vw - 2rem));overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-ink);box-shadow:0 1.4rem 3.5rem color-mix(in oklch,var(--color-sidebar) 18%,transparent)}
.notification-popover[hidden]{display:none}
.notification-popover>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule)}
.notification-popover>header div{display:flex;flex-direction:column}.notification-popover>header strong{font-family:var(--font-display);font-size:1.05rem;font-weight:400}.notification-popover>header span{color:var(--color-muted);font-size:var(--text-xs)}
.notification-popover>header a{font-size:var(--text-xs);font-weight:800}
.notification-preview{position:relative;display:grid;grid-template-columns:.55rem minmax(0,1fr);gap:var(--space-xs);padding:.85rem var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);text-decoration:none}
.notification-preview:hover{background:var(--color-paper-3)}.notification-preview__mark{width:.45rem;height:.45rem;margin-block-start:.35rem;border-radius:var(--radius-pill);background:var(--color-rule-2)}.notification-preview.is-unread .notification-preview__mark{background:var(--color-action)}
.notification-preview strong,.notification-preview small{display:block}.notification-preview strong{font-size:var(--text-sm)}.notification-preview small{margin-block-start:.12rem;overflow:hidden;color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}
.notification-popover__empty{padding:var(--space-lg) var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);text-align:center}
.notification-popover__all{display:flex;align-items:center;justify-content:center;min-height:2.9rem;color:var(--color-accent);font-size:var(--text-sm);font-weight:800;text-decoration:none}

.dashboard-hero{position:relative;min-height:26rem;display:grid;align-items:center;overflow:hidden;margin-block-end:var(--space-xl);padding:clamp(2.25rem,4.5vw,3.75rem);border-radius:clamp(1.4rem,3vw,2.4rem);background:var(--purple-900);color:var(--color-accent-ink);box-shadow:0 1.8rem 4rem color-mix(in oklch,var(--color-sidebar) 18%,transparent)}
.dashboard-hero__content{position:relative;z-index:2;max-width:36rem}.dashboard-hero__label{display:inline-flex;padding:.48rem .8rem;border:var(--rule-hair) solid color-mix(in oklch,var(--color-accent-ink) 22%,transparent);border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-accent-ink) 7%,transparent);color:var(--color-rule-2);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dashboard-hero h1{max-width:36rem;margin:var(--space-md) 0 0;color:var(--color-accent-ink);font-family:var(--font-display);font-size:clamp(2.5rem,4.7vw,4.2rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;overflow-wrap:anywhere}
.dashboard-hero p{max-width:39rem;margin:var(--space-sm) 0 0;color:color-mix(in oklch,var(--color-accent-ink) 76%,transparent);font-size:var(--text-md);line-height:1.65}
.dashboard-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-block-start:var(--space-lg)}.dashboard-hero__secondary{background:transparent!important;border-color:color-mix(in oklch,var(--color-accent-ink) 32%,transparent)!important;color:var(--color-accent-ink)!important}
.dashboard-hero__empty{display:flex;align-items:center;gap:var(--space-sm);max-width:34rem;margin-block-start:var(--space-md);padding:var(--space-sm);border:var(--rule-hair) solid color-mix(in oklch,var(--color-accent-ink) 18%,transparent);border-radius:var(--radius-card);background:color-mix(in oklch,var(--color-sidebar) 74%,transparent)}
.dashboard-hero__empty>.ui-icon{width:2.6rem;height:2.6rem;color:var(--color-rule-2)}.dashboard-hero__empty strong,.dashboard-hero__empty span{display:block}.dashboard-hero__empty strong{font-size:var(--text-lg)}.dashboard-hero__empty span{margin-block-start:.15rem;color:color-mix(in oklch,var(--color-accent-ink) 72%,transparent);font-size:var(--text-sm)}
.dashboard-hero__heart{position:absolute;z-index:1;inset-inline-end:-8%;inset-block-start:52%;width:min(52vw,44rem);height:auto;transform:translateY(-50%);mix-blend-mode:screen;filter:saturate(1.08) contrast(1.05);opacity:.92;pointer-events:none;user-select:none}

.calendar-surface{overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:1.7rem;background:var(--color-surface);box-shadow:var(--shadow-card)}
.calendar-surface .calendar-weekdays{padding:.4rem .45rem;background:var(--color-paper-3)}
.calendar-surface .calendar-days{border:0;background:transparent}.calendar-surface .calendar-day{min-height:8.5rem;border-color:var(--color-rule);transition:background var(--dur-short) var(--ease-out)}.calendar-surface .calendar-day:nth-child(7n){border-inline-end:0}.calendar-surface .calendar-number{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%}
.calendar-surface .calendar-event{border:var(--rule-hair) solid color-mix(in oklch,var(--color-accent) 18%,var(--color-rule));border-radius:.75rem;background:var(--color-accent-2)}
@media (hover:hover) and (pointer:fine){.calendar-surface .calendar-day:not(.is-empty):hover{background:var(--color-paper-3)}}

.notifications-heading{align-items:center}.quiet-button{min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:transparent;color:var(--color-accent);font:800 var(--text-sm)/1 var(--font-body);cursor:pointer;white-space:nowrap}
.notification-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs);margin-block-end:var(--space-lg)}.notification-filters a{display:inline-flex;align-items:center;min-height:2.65rem;padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);color:var(--color-muted);font-size:var(--text-sm);font-weight:800;text-decoration:none;white-space:nowrap}.notification-filters a.active{border-color:var(--color-accent);background:var(--color-accent-2);color:var(--color-accent)}
.notification-panel{overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}.notification-panel__toolbar{display:flex;align-items:center;min-height:4.5rem;padding:.85rem var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule)}.notification-unread-toggle{display:inline-flex;align-items:center;min-height:2.5rem;padding:.55rem 1rem;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);color:var(--color-muted);font-size:var(--text-sm);font-weight:800;text-decoration:none}.notification-unread-toggle:hover,.notification-unread-toggle.active{border-color:var(--color-accent);background:var(--color-accent-2);color:var(--color-accent)}.notification-group+ .notification-group{border-block-start:var(--rule-hair) solid var(--color-rule)}.notification-group>h2{display:flex;align-items:center;gap:.55rem;margin:0;padding:.9rem var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink);font:800 var(--text-sm)/1.3 var(--font-body)}.notification-group>h2 span{display:inline-grid;place-items:center;min-width:1.45rem;height:1.45rem;padding:0 .3rem;border-radius:var(--radius-pill);background:var(--color-accent-2);color:var(--color-accent);font-size:var(--text-xs)}.notification-group__empty{padding:1rem var(--space-md);color:var(--color-muted);font-size:var(--text-sm)}.notification-panel .notification-timeline,.notification-panel .work-empty{border:0;border-radius:0}
.notification-timeline{overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}.notification-row{position:relative;display:grid;grid-template-columns:3rem minmax(0,1fr) auto .6rem;align-items:center;gap:var(--space-sm);min-height:6rem;padding:var(--space-sm) var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);text-decoration:none}.notification-row:last-child{border:0}.notification-row.is-unread{background:var(--color-paper-3)}.notification-row__icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--color-accent-2);color:var(--color-accent)}.notification-row__body strong,.notification-row__body span{display:block}.notification-row__body span{margin-block-start:.2rem;color:var(--color-muted);font-size:var(--text-sm)}.notification-row time{color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.notification-row__state{width:.55rem;height:.55rem;border-radius:50%;background:var(--color-action)}
.notification-row__icon .ui-icon{width:1.4rem;height:1.4rem;background-color:currentColor}.notification-row__icon--courses{background:#f0eafa;color:#5934a2}.notification-row__icon--meetings{background:#faeee9;color:#bd674a}.notification-row__icon--tests{background:#ebf1fb;color:#426aaf}.notification-row__icon--chats{background:#f1ecf8;color:#7652a3}.notification-row__icon--system{background:#f7eee7;color:#a36b45}

.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:start;gap:var(--space-lg);max-width:70rem}.profile-primary{display:flex;flex-direction:column;gap:var(--space-md)}.profile-study-card{position:sticky;inset-block-start:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-sidebar);color:var(--color-sidebar-ink);box-shadow:var(--shadow-card)}.profile-study-card__label{color:var(--color-rule-2);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.profile-study-card h2{margin:.55rem 0 var(--space-md);color:var(--color-sidebar-ink);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400}.profile-study-card dl{display:grid;gap:var(--space-sm)}.profile-study-card dl div{padding-block-end:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-sidebar-active)}.profile-study-card dt{color:var(--color-rule-2);font-size:var(--text-xs)}.profile-study-card dd{margin:.25rem 0 0;color:var(--color-sidebar-ink);font-size:var(--text-md);font-weight:800}.profile-study-card>p{margin:var(--space-md) 0 0;color:var(--color-rule-2);font-size:var(--text-xs)}

@media (min-width:60rem){.work-rail{padding:0 var(--space-sm) var(--space-md)}.work-brand{height:5rem;min-height:5rem;margin:0;padding-inline:.65rem}.work-nav{padding-block-start:var(--space-md)}.work-topbar{padding-inline:var(--space-xl)}}
@media (max-width:59.99rem){.dashboard-hero__content{max-width:35rem}.dashboard-hero__heart{width:38rem;inset-inline-end:-15rem;opacity:.42}.profile-layout{grid-template-columns:1fr}.profile-study-card{position:relative;inset-block-start:auto}}
@media (max-width:39.99rem){.work-topbar{height:4.5rem;padding-inline:var(--space-xs)}.work-search{min-width:0}.work-topbar__actions{gap:.3rem}.work-icon-button,.work-avatar{width:2.5rem;height:2.5rem}.dashboard-hero{min-height:25rem;padding:var(--space-lg) var(--space-md)}.dashboard-hero h1{font-size:2.55rem}.dashboard-hero__empty{align-items:flex-start}.dashboard-hero__empty>.ui-icon{width:2rem;height:2rem}.notification-filters{margin-inline:-.25rem}.notification-panel__toolbar,.notification-group>h2{padding-inline:var(--space-sm)}.notification-row{grid-template-columns:2.6rem minmax(0,1fr) .55rem;padding:var(--space-sm)}.notification-row__icon{width:2.6rem;height:2.6rem}.notification-row time{display:none}.calendar-surface{border-radius:1.1rem}.calendar-surface .calendar-day{min-height:4.7rem}.profile-study-card{padding:var(--space-md)}}

/* Chat · rebuilt in the shared УНИКА workbench system */
.chat-work-main{height:100dvh;overflow:hidden;padding-block-end:var(--space-sm)}
.chat-work-main .work-topbar{height:5rem}
.chat-work-main .chat-layout{width:calc(100% - 2rem);height:calc(100dvh - 6rem);margin-inline:auto;overflow:hidden;grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);border:var(--rule-hair) solid var(--color-rule);border-radius:1.6rem;background:var(--color-surface);box-shadow:var(--shadow-card)}
.chat-work-main .chat-sidebar{min-width:0;border-inline-end:var(--rule-hair) solid var(--color-rule);background:#fff;color:var(--color-ink)}
.chat-work-main .sidebar-head{min-height:5.3rem;padding:var(--space-sm);border-block-end:0;font-family:var(--font-body)}.chat-work-main .sidebar-head>div:first-child{display:flex;flex-direction:column}.chat-work-main .sidebar-head>div:first-child>span{font-family:var(--font-display);font-size:1.35rem;font-weight:400}.chat-work-main .sidebar-head>div:first-child>small{color:var(--color-muted);font-size:var(--text-xs)}
.chat-work-main .sidebar-head-btns{align-items:center;gap:.35rem}.chat-work-main .sb-btn{display:inline-flex;align-items:center;gap:.35rem;min-height:2.5rem;padding:.4rem .75rem;border-color:var(--color-rule);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-accent);font-weight:800}.chat-work-main .sb-btn .ui-icon{width:1rem;height:1rem}.chat-work-main .sb-btn--icon{width:2.5rem;padding:0;justify-content:center}
.chat-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem;margin:0 var(--space-sm) var(--space-xs);padding:.25rem;border-radius:var(--radius-pill);background:var(--color-paper-2)}.chat-filters button{min-width:0;min-height:2.25rem;padding:.35rem .45rem;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);font:800 .7rem/1 var(--font-body);cursor:pointer;white-space:nowrap}.chat-filters button.active{background:var(--color-surface);color:var(--color-accent);box-shadow:0 1px 0 var(--color-rule)}
.chat-channel-list{min-height:0;overflow-y:auto;padding:.25rem .55rem var(--space-sm)}.chat-work-main .ch-item{position:relative;display:grid;grid-template-columns:2.7rem minmax(0,1fr) auto;gap:.7rem;min-height:4.4rem;margin-block-end:.25rem;padding:.65rem .7rem;border:0;border-radius:.9rem;color:var(--color-ink)}.chat-work-main .ch-item:hover{background:color-mix(in oklch,var(--color-surface) 66%,transparent)}.chat-work-main .ch-item.active{border:0;background:var(--color-surface);box-shadow:0 1px 0 var(--color-rule)}.chat-work-main .ch-item.active::before{content:"";position:absolute;inset-block:.8rem;inset-inline-start:0;width:.2rem;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--color-action)}.chat-work-main .ch-item[hidden]{display:none}.chat-work-main .ch-item time{align-self:start;margin-block-start:.2rem;color:var(--color-muted);font-size:.65rem}.chat-work-main .ch-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;background:var(--color-accent-2);color:var(--color-accent)}.chat-work-main .ch-icon .ui-icon{width:1.2rem;height:1.2rem}.chat-work-main .ch-name{font-size:.88rem;font-weight:800}.chat-work-main .ch-preview{max-width:none;margin-block-start:.2rem;font-size:.73rem}.chat-list-empty{display:grid;justify-items:start;gap:var(--space-sm);padding:var(--space-lg) var(--space-sm);color:var(--color-muted);font-size:var(--text-sm)}
.chat-work-main .chat-main{background:#fff}.chat-work-main .chat-header{min-height:5.3rem;padding:.8rem var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);background:color-mix(in oklch,var(--color-surface) 88%,transparent);backdrop-filter:blur(.8rem)}.chat-work-main .chat-header h2{font-family:var(--font-display);font-size:1.15rem;font-weight:400}.chat-work-main .hdr-menu-btn{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:var(--rule-hair) solid var(--color-rule);border-radius:50%;background:var(--color-surface);color:var(--color-accent)}.chat-work-main .hdr-menu-btn .ui-icon{width:1.15rem;height:1.15rem}
.chat-work-main #msg-list{gap:.35rem;padding:var(--space-md) clamp(1rem,3vw,2.5rem)}.chat-work-main .msg-row{max-width:min(78%,42rem);animation:none}.chat-work-main .msg-avatar{width:2rem;height:2rem}.chat-work-main .msg-text,.chat-work-main .audio-msg,.chat-work-main .file-card{padding:.65rem .9rem;border-color:var(--color-rule);border-radius:1.1rem 1.1rem 1.1rem .35rem;background:var(--color-surface);color:var(--color-ink);box-shadow:0 1px 0 var(--color-rule)}.chat-work-main .msg-row.mine .msg-text,.chat-work-main .msg-row.mine .audio-msg,.chat-work-main .msg-row.mine .file-card{border-color:transparent;border-radius:1.1rem 1.1rem .35rem 1.1rem;background:var(--color-accent);color:var(--color-accent-ink);box-shadow:none}.chat-work-main .msg-name{color:var(--color-neutral)}.chat-work-main .msg-more-btn{min-width:1.75rem;min-height:1.75rem}.chat-work-main .reaction{border-color:var(--color-rule);background:var(--color-surface)}
.chat-work-main .chat-input-area{padding:.65rem clamp(.75rem,2vw,1.5rem) var(--space-sm);border:0;background:transparent}.chat-work-main .input-row{align-items:center;gap:.35rem;padding:.35rem;border:var(--rule-hair) solid var(--color-rule);border-radius:1.45rem;background:var(--color-surface);box-shadow:0 .8rem 2.2rem color-mix(in oklch,var(--color-sidebar) 10%,transparent)}.chat-work-main #msg-input{min-height:2.75rem;padding:.65rem .75rem;border:0;border-radius:1rem;background:transparent;color:var(--color-ink)}.chat-work-main #msg-input:focus{border:0;outline:0}.chat-work-main .input-row:focus-within{outline:2px solid var(--color-focus);outline-offset:1px}.chat-work-main .inp-btn{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;background:transparent;color:var(--color-muted)}.chat-work-main .inp-btn .ui-icon{width:1.15rem;height:1.15rem}.chat-work-main #send-btn{background:var(--color-action);color:var(--color-action-ink)}.chat-work-main #file-btn:hover,.chat-work-main #voice-btn:hover,.chat-work-main #emoji-btn:hover,.chat-work-main #circle-btn:hover{border:0;background:var(--color-accent-2);color:var(--color-accent)}.chat-work-main #file-btn.is-loading .ui-icon{animation:chat-spin 1s linear infinite}.chat-work-main #voice-btn.rec{background:var(--color-danger);color:var(--color-accent-ink)}.chat-work-main #voice-btn.rec .ui-icon{width:.7rem;height:.7rem;border-radius:.1rem;background:currentColor;-webkit-mask:none;mask:none}.chat-work-main .audio-play-btn{display:grid;place-items:center}.chat-work-main .audio-play-btn::before{content:"";width:.9rem;height:.9rem;background:currentColor;-webkit-mask:url('/static/icons/ui/send.svg') center/contain no-repeat;mask:url('/static/icons/ui/send.svg') center/contain no-repeat;transform:rotate(180deg)}.chat-work-main .audio-play-btn.is-playing::before{width:.75rem;height:.85rem;background:linear-gradient(90deg,currentColor 0 30%,transparent 30% 68%,currentColor 68%);-webkit-mask:none;mask:none;transform:none}
.chat-work-main .empty-chat__icon{width:3rem;height:3rem;color:var(--color-rule-2)}
@keyframes chat-spin{to{transform:rotate(1turn)}}
.chat-work-main #emoji-picker,.chat-work-main #ctx-menu,.chat-work-main .modal-box{border-color:var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}
.chat-work-main #info-panel{background:var(--color-surface);box-shadow:0 0 3rem color-mix(in oklch,var(--color-sidebar) 18%,transparent)}

@media (max-width:59.99rem){.chat-work-main{padding-block-end:4.8rem}.chat-work-main .work-topbar{height:4.5rem}.chat-work-main .chat-layout{width:calc(100% - 1rem);height:calc(100dvh - 10.3rem)}}
@media (max-width:40rem){.chat-work-main .chat-layout{width:100%;height:calc(100dvh - 9.3rem);border-inline:0;border-radius:0}.chat-work-main .chat-sidebar{inset:4.5rem 0 4.8rem}.chat-work-main .chat-header{min-height:4.6rem;padding:.6rem .75rem}.chat-work-main #msg-list{padding:.75rem}.chat-work-main .msg-row{max-width:90%}.chat-work-main .input-row{gap:.1rem}.chat-work-main #emoji-btn,.chat-work-main #circle-btn{display:none}.chat-work-main .chat-input-area{padding:.5rem}.chat-work-main .inp-btn{width:2.5rem;height:2.5rem}}

.workbench .work-rail-toggle{position:relative;width:100%;flex-shrink:0;border:0;background:transparent;color:var(--color-sidebar-ink);cursor:pointer}
.work-rail-chevron{display:none;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid #ffffff80;border-radius:50%;color:var(--color-sidebar-ink)}
.work-rail-toggle:hover .work-rail-chevron{background:#ffffff22}
@media(min-width:60rem){
  .workbench.is-rail-collapsed{grid-template-columns:76px minmax(0,1fr)!important}
  .workbench.is-rail-collapsed .work-rail{padding-inline:8px}
  .workbench.is-rail-collapsed .work-brand{justify-content:center;align-items:center;padding:0;gap:0}
  .workbench.is-rail-collapsed .work-brand__logo{display:none}
  .workbench.is-rail-collapsed .work-rail-chevron{display:flex}
  .workbench.is-rail-collapsed .work-nav a{justify-content:center;padding-inline:0;gap:0}
  .workbench.is-rail-collapsed .work-nav a>span:not(.ui-icon),.workbench.is-rail-collapsed .work-logout>span:not(.ui-icon){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .workbench.is-rail-collapsed .work-nav__label,.workbench.is-rail-collapsed .work-user,.workbench.is-rail-collapsed .work-switch{display:none}
  .workbench.is-rail-collapsed .work-nav__divider{margin-inline:4px}
  .workbench.is-rail-collapsed .work-rail__footer{padding-inline:0;align-items:center}
  .workbench.is-rail-collapsed .work-logout{justify-content:center;padding:12px}
}

/* Mobile notification filters are a fixed-height flow, not a nested scroll area. */
@media (max-width:59.99rem){
  .notification-filters{flex-wrap:wrap;gap:.5rem;overflow:visible;margin-inline:0}
  .notification-filters a{flex:0 0 auto;max-width:100%;white-space:normal}
}

.notification-filters a{gap:.55rem}
.notification-filter-count{position:relative;display:inline-block;flex:0 0 1.65rem;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--color-paper-2);color:var(--color-accent);font-size:var(--text-xs);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;text-align:center}
.notification-filter-count>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap}
.notification-filters a.active .notification-filter-count{background:var(--color-accent);color:#fff}
.notification-panel__toolbar{flex-wrap:wrap;gap:.6rem}
.notification-read-all{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;margin-inline-start:auto;padding:.55rem 1rem;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-accent);font:800 var(--text-sm)/1 var(--font-body);white-space:nowrap;cursor:pointer}
.notification-read-all:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-2)}
.notification-read-all:disabled{opacity:.5;cursor:not-allowed}
