.module-page-header{align-items:end;gap:var(--space-4,18px);justify-content:space-between;margin-bottom:18px;display:flex}.module-label{color:var(--accent);text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:950;display:block}.module-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.module-tabs{border-bottom:1px solid var(--soft-line);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding-bottom:10px;display:flex}.module-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:999px;padding:10px 13px;font-weight:900}.module-tabs button:hover,.module-tabs button.active{background:var(--panel);border-color:var(--soft-line);color:var(--ink);box-shadow:0 8px 18px #8ca9ff12}.module-tabs button.active:after{display:none}.module-filter-bar{align-items:center;gap:12px;margin-bottom:18px;display:grid}.module-search-control,.module-date-control,.module-select-control{background:var(--panel);border:1px solid var(--soft-line);border-radius:18px;align-items:center;gap:9px;min-height:48px;padding:12px 14px;display:flex}.module-search-control input,.module-date-control input,.module-select-control select{appearance:none;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;font-weight:850}.module-pill-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.module-pill-filters button{background:var(--panel);border:1px solid var(--soft-line);color:var(--muted);cursor:pointer;font:inherit;border-radius:999px;padding:11px 13px;font-size:13px;font-weight:900}.module-pill-filters button.active,.module-pill-filters button:hover{background:var(--ink);border-color:var(--ink);color:var(--panel)}.app-modal{width:min(860px,100vw - 32px);max-width:860px}.app-modal-form{grid-template-columns:repeat(3,minmax(0,1fr))}.app-modal-form .wide{grid-column:1/-1}.registration-modal{max-width:680px}.registration-summary{gap:12px;display:grid}.registration-summary>strong{font-size:32px;line-height:1}.registration-summary>span,.registration-summary p{color:var(--muted);margin:0;font-weight:850}.engagement-header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.page-subtitle{color:var(--muted);margin:2px 0 0;font-size:16px;font-weight:850}.engagement-controls{grid-template-columns:190px minmax(260px,1fr) 190px 170px;align-items:center;gap:12px;margin-bottom:18px;display:grid}.engagement-controls label{background:var(--panel);border:1px solid var(--soft-line);border-radius:18px;align-items:center;gap:9px;padding:12px 14px;display:flex}.engagement-controls input,.engagement-controls select{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;font-weight:850}.engagement-map-layout{grid-template-columns:minmax(620px,1fr) minmax(320px,.36fr);align-items:stretch;gap:18px;display:grid}.campus-map-card{min-height:620px}.campus-map-topline{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.campus-map-canvas{background:radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--pastel-green) 42%, transparent), transparent 24%), radial-gradient(circle at 82% 74%, color-mix(in srgb, var(--pastel-blue) 36%, transparent), transparent 26%), linear-gradient(145deg, var(--panel-strong), color-mix(in srgb, var(--pastel-yellow) 22%, var(--panel)));border:1px solid var(--soft-line);border-radius:28px;height:540px;position:relative;overflow:hidden}.map-shape{border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);color:color-mix(in srgb, var(--ink) 62%, var(--muted));border-radius:22px;justify-content:center;align-items:center;font-size:12px;font-weight:950;display:flex;position:absolute}.map-block-a{background:color-mix(in srgb, var(--pastel-blue) 62%, var(--panel));width:210px;height:132px;top:12%;left:8%}.map-block-b{background:color-mix(in srgb, var(--pastel-green) 58%, var(--panel));width:190px;height:170px;top:25%;left:36%}.map-lab{background:color-mix(in srgb, #8ca9ff1a 72%, var(--panel));width:210px;height:150px;top:16%;right:14%}.map-ground{background:color-mix(in srgb, var(--pastel-green) 52%, var(--panel));border-radius:999px;width:270px;height:180px;bottom:12%;left:9%}.map-auditorium{background:color-mix(in srgb, var(--accent-soft) 54%, var(--panel));width:230px;height:150px;bottom:13%;right:13%}.map-path{border:1px solid var(--soft-line);background:#ffffffb8;border-radius:999px;position:absolute}.main-path{height:22px;top:52%;left:13%;right:12%;transform:rotate(-5deg)}.cross-path{width:22px;top:16%;bottom:16%;left:50%;transform:rotate(8deg)}.campus-event-pin{background:var(--ink);border:4px solid var(--panel);color:var(--panel);cursor:pointer;z-index:4;border-radius:999px 999px 999px 8px;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .16s,box-shadow .16s;display:flex;position:absolute;transform:translate(-50%,-100%)rotate(-45deg);box-shadow:0 14px 28px #8ca9ff38}.campus-event-pin .pin-count{font-size:12px;font-weight:950;transform:rotate(45deg)}.pin-label{background:var(--panel);border:1px solid var(--soft-line);color:var(--ink);opacity:0;pointer-events:none;border-radius:14px;gap:2px;min-width:142px;padding:9px 10px;font-size:12px;line-height:1.15;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:-8px;left:30px;transform:rotate(45deg)translateY(4px);box-shadow:0 14px 28px #8ca9ff24}.pin-label small{color:var(--muted);font-size:10px;font-weight:850}.campus-event-pin:hover .pin-label{opacity:1;transform:rotate(45deg)translateY(0)}.campus-event-pin.grouped{background:var(--accent)}.campus-event-pin:hover{transform:translate(-50%,-104%)rotate(-45deg);box-shadow:0 18px 34px #8ca9ff47}.engagement-side-panel{grid-template-rows:minmax(320px,auto);gap:18px;display:grid}.selected-event-card{align-content:start;gap:14px;display:grid}.selected-event-card h2{margin:0;font-size:clamp(28px,3vw,44px);line-height:.95}.selected-event-card p{color:var(--muted);margin:0;font-weight:800;line-height:1.5}.event-detail-grid{gap:8px;display:grid}.event-detail-grid span,.event-meta-strip span,.event-meta-strip a,.event-meta-strip button{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:900;display:flex}.event-meta-strip{flex-wrap:wrap;gap:8px;display:flex}.event-meta-strip span,.event-meta-strip a,.event-meta-strip button{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;font:inherit;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900;text-decoration:none}.conflict-note{background:color-mix(in srgb, var(--pastel-red) 54%, var(--panel));border:1px solid color-mix(in srgb, var(--warning) 28%, var(--soft-line));color:var(--warning);border-radius:16px;padding:12px;font-size:12px;font-weight:900}.event-actions,.tracker-actions{flex-wrap:wrap;gap:8px;display:flex}.event-actions button{background:var(--ink);color:var(--panel);cursor:pointer;border:0;border-radius:999px;padding:10px 14px;font-weight:900}.event-actions button+button{background:var(--warning)}.event-actions.club-actions button:first-child{background:var(--accent)}.event-list-compact{gap:8px;display:grid}.event-list-compact button,.upcoming-event-card{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;text-align:left;border-radius:17px;gap:4px;padding:12px;display:grid}.event-list-compact button.active,.event-list-compact button:hover,.upcoming-event-card:hover{background:var(--panel-strong);box-shadow:0 10px 22px #8ca9ff14}.event-list-compact span,.upcoming-event-card small,.upcoming-event-card em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.engagement-lower-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.34fr) minmax(300px,.34fr);gap:18px;margin-top:18px;display:grid}.upcoming-event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.upcoming-event-card{min-height:150px}.upcoming-event-card .status{justify-self:start}.approval-event-list,.club-activity-list{gap:8px;display:grid}.club-activity-list button{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;text-align:left;border-radius:17px;gap:5px;padding:12px;display:grid}.club-activity-list button:hover{background:var(--panel-strong);box-shadow:0 10px 22px #8ca9ff14}.club-activity-list .status{justify-self:start}.club-activity-list small,.club-activity-list em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.approval-event-row{border-bottom:1px solid var(--soft-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.approval-event-row:last-child{border-bottom:0}.engagement-modal{width:min(840px,100vw - 32px);max-width:840px}.engagement-form{grid-template-columns:repeat(3,minmax(0,1fr))}.engagement-form .wide{grid-column:1/-1}.engagement-controls{grid-template-columns:172px minmax(260px,1fr) minmax(420px,1.1fr) 170px 190px}.engagement-pill-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.engagement-pill-filters button{background:var(--panel);border:1px solid var(--soft-line);color:var(--muted);cursor:pointer;font:inherit;border-radius:999px;padding:11px 13px;font-size:13px;font-weight:900}.engagement-pill-filters button.active,.engagement-pill-filters button:hover{background:var(--ink);border-color:var(--ink);color:var(--panel)}.engagement-date-control,.engagement-select-control,.engagement-search{min-height:48px}.campus-map-canvas{aspect-ratio:16/10;background-position:50%;background-repeat:no-repeat;background-size:contain;height:auto;min-height:500px}.campus-map-canvas.has-image{background-color:var(--panel-strong)}.campus-map-canvas.fallback{background:radial-gradient(circle at 12% 20%, color-mix(in srgb, var(--pastel-green) 40%, transparent), transparent 20%), radial-gradient(circle at 82% 76%, color-mix(in srgb, var(--pastel-blue) 36%, transparent), transparent 24%), linear-gradient(145deg, color-mix(in srgb, var(--panel-strong) 90%, var(--pastel-yellow)), var(--panel))}.campus-map-canvas.placing{cursor:crosshair}.map-zone{border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);color:color-mix(in srgb, var(--ink) 62%, var(--muted));justify-content:center;align-items:center;font-size:12px;font-weight:950;display:flex;position:absolute}.zone-ground{background:color-mix(in srgb, var(--pastel-green) 56%, var(--panel));border-radius:999px;width:28%;height:32%;top:54%;left:8%}.zone-block{background:color-mix(in srgb, var(--pastel-blue) 62%, var(--panel));border-radius:24px;width:26%;height:28%;top:22%;left:30%}.zone-labs{background:color-mix(in srgb, #8ca9ff1a 72%, var(--panel));border-radius:24px;width:24%;height:26%;top:16%;right:12%}.zone-hall{background:color-mix(in srgb, var(--accent-soft) 54%, var(--panel));border-radius:24px;width:24%;height:27%;bottom:12%;right:12%}.map-route{border:1px solid var(--soft-line);background:#ffffffb8;border-radius:999px;position:absolute}:root[data-theme=dark] .map-path,:root[data-theme=dark] .map-route{background:#8ca9ff2e;border-color:#aac4f53d}.route-main{height:20px;top:52%;left:12%;right:11%;transform:rotate(-5deg)}.route-cross{width:20px;top:14%;bottom:14%;left:57%;transform:rotate(8deg)}.campus-event-pin{box-shadow:none;color:var(--ink);background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;width:auto;min-width:160px;height:auto;padding:0;display:flex;transform:translate(-16px,-28px)}.campus-event-pin:hover{box-shadow:none;transform:translate(-16px,-31px)}.pin-dot{background:var(--accent);border:4px solid var(--panel);color:var(--panel);border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:950;display:flex;box-shadow:0 12px 24px #8ca9ff38}.pin-name{background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--soft-line);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:170px;padding:8px 11px;font-size:12px;font-weight:950;overflow:hidden;box-shadow:0 10px 22px #8ca9ff1f}.pin-preview{background:var(--panel);border:1px solid var(--soft-line);color:var(--ink);opacity:0;pointer-events:none;z-index:8;border-radius:18px;gap:5px;min-width:230px;padding:13px;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:34px;left:34px;transform:translateY(5px);box-shadow:0 18px 36px #8ca9ff2e}.pin-preview strong{font-size:14px}.pin-preview small,.pin-preview em,.pin-preview b{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.campus-event-pin:hover .pin-preview{opacity:1;transform:translateY(0)}.draft-map-pin{z-index:7;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-14px,-28px)}.draft-map-pin i{background:var(--ink);border:4px solid var(--panel);border-radius:999px;width:28px;height:28px;box-shadow:0 12px 24px #8ca9ff38}.draft-map-pin strong{background:var(--ink);color:var(--panel);border-radius:999px;padding:8px 10px;font-size:12px}.today-flip-card{min-height:260px}.today-card-controls{gap:6px;display:flex}.today-card-controls button{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.today-flip-content{background:linear-gradient(135deg, color-mix(in srgb, var(--pastel-blue) 54%, var(--panel-strong)), transparent 58%), var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;text-align:left;border-radius:22px;gap:10px;width:100%;min-height:188px;padding:18px;display:grid}.today-flip-content strong{font-size:24px;line-height:1}.today-flip-content span,.today-flip-content p,.today-flip-content em,.today-flip-content b{color:var(--muted);margin:0;font-size:13px;font-style:normal;font-weight:850}.today-flip-content b{color:var(--accent)}.engagement-bottom-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);gap:18px;margin-top:18px;display:grid}.engagement-hero-grid{grid-template-columns:minmax(520px,1fr) minmax(260px,.38fr);align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.engagement-event-hero{color:#fff;background:radial-gradient(circle at 82% 16%,#ffffff2e,#0000 28%),linear-gradient(135deg,#aac4f5,#3f63d9);border-radius:32px;grid-template-rows:minmax(0,1fr) auto;height:320px;padding:38px 40px 26px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 48px #8ca9ff38}.engagement-event-slide{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-self:start;gap:0;min-height:0;padding:0;animation:.62s cubic-bezier(.22,1,.36,1) engagementSlideFade;display:grid}.event-hero-category{color:#ffffffc2;text-transform:uppercase;margin-bottom:20px;font-size:12px;font-weight:950}.engagement-event-hero h2{-webkit-line-clamp:2;line-clamp:2;letter-spacing:0;-webkit-box-orient:vertical;max-width:720px;margin:0 0 18px;font-size:clamp(34px,4vw,58px);line-height:1.02;display:-webkit-box;overflow:hidden}.engagement-event-hero p{color:#ffffffe0;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:720px;margin:0;font-weight:780;line-height:1.5;display:-webkit-box;overflow:hidden}.event-hero-meta{max-height:24px}.engagement-hero-controls{justify-content:space-between;align-items:end;gap:16px;display:flex}.engagement-hero-controls .carousel-dots{margin-top:0}.engagement-hero-controls .today-card-controls button{color:#fff;background:#ffffff38;border-color:#ffffff3d}.engagement-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.engagement-summary-card{align-content:center;min-height:154px;display:grid}.engagement-summary-card span{color:var(--muted);font-size:12px;font-weight:950}.engagement-summary-card strong{font-size:42px;line-height:1}.engagement-summary-card small{color:var(--muted);font-size:12px;font-weight:850}@keyframes engagementSlideFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.engagement-event-slide{animation:none}}.approval-queue-card{grid-column:1/-1}.upcoming-event-list{gap:8px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.upcoming-event-row{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;text-align:left;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:12px;display:grid}.upcoming-event-row:hover{background:var(--panel-strong)}.event-date-chip,.event-type-chip,.event-reg-dot{background:var(--panel);border:1px solid var(--soft-line);color:var(--muted);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900}.event-reg-dot{cursor:pointer;font:inherit;color:var(--accent)}.club-activity-strip{gap:8px;display:grid}.club-activity-strip button{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;text-align:left;border-radius:17px;gap:4px;padding:12px;display:grid}.club-activity-strip button:hover{background:var(--panel-strong)}.club-activity-strip span,.club-activity-strip small{color:var(--muted);font-size:12px;font-weight:850}.engagement-career-field{gap:8px;display:grid}.campus-map-canvas.mini{aspect-ratio:16/7;min-height:240px}.engagement-map-layout{background:#17233f;border:1px solid #8ca9ff57;border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(360px,.34fr);align-items:stretch;gap:0;min-height:700px;margin-top:8px;display:grid;overflow:hidden;box-shadow:0 28px 72px #506cb42e}.campus-map-card{box-shadow:none;color:#edf3ff;background:radial-gradient(circle at 32% 18%,#aac4f52e,#0000 28%),#17233f;border:0;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:700px;padding:26px;display:grid}.campus-map-card .card-title,.campus-map-card .title-with-icon{color:#edf3ff}.campus-map-card .meta-pill{color:#edf3ffc7;background:#edf3ff1a;border-color:#edf3ff2e}.campus-map-canvas{background:linear-gradient(135deg,#edf3ff14,#0000 42%),#111a30;border:1px solid #edf3ff1f;border-radius:28px;min-height:610px;box-shadow:inset 0 0 0 1px #edf3ff0a}.campus-map-canvas.has-image{background:radial-gradient(circle at 62% 42%,#8ca9ff29,#0000 24%),#101827}.campus-map-image{filter:grayscale()contrast(1.14)brightness(.5);object-fit:cover;object-position:center;opacity:.88;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.18)}.campus-map-canvas:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#111a3075,#0000 26% 72%,#111a305c),radial-gradient(circle at 50% 48%,#0000 0 42%,#111a302e 72%);position:absolute;inset:0}.campus-event-pin{color:#edf3ff;z-index:4;min-width:0;transform:translate(-18px,-18px)}.campus-event-pin:hover{transform:translate(-18px,-22px)}.pin-dot{color:#17233f;background:#8ca9ff;border:3px solid #edf3fff0;width:34px;height:34px;box-shadow:0 0 0 7px #8ca9ff2e,0 14px 30px #00000052}.campus-event-pin.grouped .pin-dot{background:#fff2c6}.campus-event-pin.active .pin-dot{background:#fff2c6;box-shadow:0 0 0 8px #fff2c638,0 18px 34px #00000061}.pin-name{color:#edf3ff;background:#111a30db;border-color:#edf3ff2e;max-width:190px;box-shadow:0 14px 34px #0000003d}.campus-event-pin:not(.active) .pin-name{opacity:0;transform:translate(-6px)}.campus-event-pin:hover .pin-name,.campus-event-pin.active .pin-name{opacity:1;transform:translate(0)}.pin-preview{color:#edf3ff;z-index:9;background:#111a30f5;border-color:#edf3ff24;min-width:260px;left:42px;box-shadow:0 24px 56px #00000057}.pin-preview small,.pin-preview em,.pin-preview b{color:#edf3ffad}.engagement-side-panel{background:#fcfdfff5;border-left:1px solid #8ca9ff3d;padding:24px;display:grid}.selected-event-card{box-shadow:none;background:0 0;border:0;align-content:center;min-height:100%;padding:0}.selected-event-card h2{font-size:clamp(34px,3.4vw,56px);line-height:1}.selected-event-card p{font-size:15px;line-height:1.6}.event-detail-grid{gap:10px;margin-top:8px}.event-detail-grid span{color:#17233fbd;font-size:14px}.event-meta-strip{margin-top:10px}.event-meta-strip span,.event-meta-strip a,.event-meta-strip button{color:#17233f;background:#8ca9ff1f;border-color:#8ca9ff47}.event-meta-strip button{color:#fff;background:#17233f;justify-content:center;min-width:132px}:root[data-theme=dark] .engagement-side-panel{background:#111a30f5;border-left-color:#8ca9ff3d}:root[data-theme=dark] .selected-event-card{background:0 0;border:0}:root[data-theme=dark] .event-detail-grid span{color:#edf3ffc2}:root[data-theme=dark] .event-meta-strip span,:root[data-theme=dark] .event-meta-strip a,:root[data-theme=dark] .event-meta-strip button{color:#edf3ff;background:#8ca9ff29;border-color:#aac4f547}:root[data-theme=dark] .event-meta-strip button{color:#101827;background:#8ca9ff}@media (max-width:1180px){.engagement-map-layout{grid-template-columns:1fr}.engagement-side-panel{border-top:1px solid #8ca9ff3d;border-left:0}.campus-map-card,.engagement-map-layout{min-height:0}.campus-map-canvas{min-height:520px}}@media (max-width:720px){.campus-map-card,.engagement-side-panel{padding:18px}.campus-map-canvas{border-radius:22px;min-height:420px}.campus-map-image{transform:scale(1.28)}.pin-name,.pin-preview{display:none}.selected-event-card h2{font-size:32px}}.academic-progress-line i{background:var(--accent);border-radius:inherit;height:100%;display:block}.faculty-review-actions{gap:6px;display:flex}.faculty-feed-grid{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px;display:grid}.mini-chart{grid-template-columns:repeat(8,1fr);align-items:end;gap:8px;height:188px;margin-top:12px;display:grid}.bar{background:repeating-linear-gradient(-45deg, var(--panel-strong), var(--panel-strong) 6px, var(--line) 6px, var(--line) 11px);border-radius:18px 18px 8px 8px;min-height:34px}.bar:nth-child(2n){background:var(--line)}.bar.accent{background:var(--accent)}
.chat-workspace{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(300px,.32fr) minmax(0,1fr);gap:18px;height:calc(100dvh + -1*clamp(132px,4.2vw + 92px,160px));min-height:0;display:grid;overflow:hidden}.chat-sidebar{background:color-mix(in srgb, var(--panel-strong) 94%, transparent);border:1px solid var(--soft-line);transform-origin:0;border-radius:22px;grid-template-rows:auto auto auto minmax(0,1fr);min-width:0;padding:20px 14px 14px;display:grid;overflow:hidden}.chat-list-head{justify-content:space-between;align-items:center;gap:12px;padding:0 6px 16px;display:flex}.chat-list-head h1{margin:0;font-size:28px;line-height:1}.chat-list-head p{color:var(--muted);margin:5px 0 0;font-size:11px;font-weight:800}.chat-list-actions{align-items:center;gap:6px;display:flex}.chat-icon-button,.chat-mobile-back,.chat-member-head button,.chat-search>button,.chat-send-button{appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background-color .16s,color .16s,transform .18s;display:inline-flex;position:relative}.chat-icon-button:hover,.chat-icon-button.active,.chat-mobile-back:hover,.chat-member-head button:hover,.chat-search>button:hover{background:var(--row);transform:translateY(-1px)}.chat-icon-button>span{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;font-size:10px;font-weight:950;display:flex;position:absolute;top:-1px;right:-1px}.chat-search{background:var(--row);border:1px solid var(--soft-line);border-radius:14px;align-items:center;gap:9px;min-height:46px;padding:0 8px 0 12px;transition:background-color .18s,border-color .18s,box-shadow .18s;display:flex}.chat-search:focus-within{background:color-mix(in srgb, var(--panel-strong) 80%, var(--row));border-color:color-mix(in srgb, var(--ui-icon) 50%, var(--soft-line));box-shadow:0 10px 26px #8ca9ff1f}.chat-search input,.chat-composer textarea{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;font-weight:750}.chat-filter-tabs{scrollbar-width:none;gap:6px;margin:10px -2px 0;padding:0 2px 4px;display:flex;overflow-x:auto}.chat-filter-tabs::-webkit-scrollbar{display:none}.chat-filter-tabs button{border:1px solid var(--soft-line);color:var(--muted);font:inherit;background:0 0;border-radius:999px;flex:none;align-items:center;gap:5px;min-height:34px;padding:0 11px;font-size:11px;font-weight:900;display:inline-flex}.chat-filter-tabs button.active{background:color-mix(in srgb, var(--palette-blue) 9%, var(--panel-strong));border-color:color-mix(in srgb, var(--palette-blue) 26%, var(--soft-line));color:var(--ink)}.chat-filter-tabs button span{background:var(--palette-blue);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;display:inline-flex}.chat-composer textarea{resize:none;min-height:22px;max-height:112px;line-height:1.4;overflow-y:auto}.chat-thread-list{grid-auto-rows:min-content;align-content:start;gap:4px;min-height:0;margin-top:12px;padding-right:3px;display:grid;overflow-y:auto}.chat-list-label{color:var(--muted);text-transform:uppercase;padding:10px 10px 5px;font-size:11px;font-weight:950}.chat-thread,.chat-user,.chat-mention-row{appearance:none;color:var(--ink);cursor:pointer;font:inherit;text-align:left;transform-origin:50%;background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;transition:background-color .16s,box-shadow .18s,transform .18s;display:grid}.chat-thread-copy{min-width:0}.chat-thread-rail{align-self:stretch;justify-items:end;min-width:46px;display:grid}.chat-thread-rail time,.chat-thread-rail small{color:var(--muted);white-space:nowrap;margin:0;font-size:9px;font-style:normal;font-weight:850}.chat-thread-rail i{background:var(--palette-blue);border-radius:999px;align-self:end;width:9px;height:9px}.chat-thread.unread .chat-thread-copy strong,.chat-thread.unread .chat-thread-rail time{color:var(--ink)}.chat-thread:hover,.chat-user:hover,.chat-user.selected,.chat-mention-row:hover{background:var(--row)}.chat-thread:not(.active):hover,.chat-user:hover,.chat-mention-row:hover{transform:translate(3px)}.chat-thread.active{background:var(--panel-strong);border-color:color-mix(in srgb, var(--line) 72%, transparent);box-shadow:0 8px 22px #8ca9ff14}.chat-thread.active .chat-avatar{border-color:color-mix(in srgb, var(--ui-icon) 42%, var(--soft-line))}.chat-thread strong,.chat-thread small,.chat-user strong,.chat-user small,.chat-mention-row strong,.chat-mention-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-thread strong,.chat-user strong,.chat-mention-row strong{font-size:14px}.chat-thread small,.chat-user small,.chat-mention-row small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:750}.chat-avatar{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);border-radius:999px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:11px;font-weight:950;display:inline-flex}.chat-mention-row{grid-template-columns:auto minmax(0,1fr) auto}.chat-mention-row>svg{color:var(--accent)}.chat-mention-row time{color:var(--muted);font-size:10px;font-weight:850}.chat-main{background:color-mix(in srgb, var(--panel-strong) 96%, transparent);border:1px solid var(--soft-line);border-radius:22px;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;transition:border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.chat-main.is-empty{grid-template-rows:minmax(0,1fr)}.chat-main-head{border-bottom:1px solid var(--soft-line);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:78px;padding:13px clamp(20px,4vw,46px);animation:.26s cubic-bezier(.2,.8,.2,1) chatPaneIn;display:grid;position:relative}.chat-mobile-back{display:none}.chat-title-copy{min-width:0}.chat-title-copy h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;line-height:1.15;overflow:hidden}.chat-title-copy p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;font-weight:750;overflow:hidden}.chat-head-actions,.chat-rename-group{align-items:center;gap:4px;display:flex}.chat-rename-group input{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);font:inherit;border-radius:10px;width:min(320px,100%);min-width:0;height:38px;padding:0 10px;font-size:16px;font-weight:850}.chat-rename-group button{appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:0 0 34px;justify-content:center;align-items:center;height:34px;display:inline-flex}.chat-rename-group button:hover{background:var(--row)}.chat-rename-group button:disabled{cursor:default;opacity:.4}.chat-message-panel{flex-direction:column;gap:3px;min-height:0;padding:24px clamp(16px,4vw,46px);animation:.3s cubic-bezier(.2,.8,.2,1) chatMessagesIn;display:flex;overflow-y:auto}.chat-day-pill{background:var(--row);color:var(--muted);border-radius:999px;margin:16px auto 8px;padding:6px 10px;font-size:11px;font-weight:900;animation:.22s both chatPillIn}.chat-message-entry{display:contents}.chat-message-entry:first-child .chat-day-pill{margin-top:0}.chat-message-row{justify-content:flex-start;align-items:end;gap:8px;scroll-margin-block:100px;transition:background-color .22s,transform .18s;animation:.22s cubic-bezier(.2,.8,.2,1) both chatBubbleIn;display:flex}.chat-message-row.mine{justify-content:flex-end;animation-name:chatBubbleInMine}.chat-message-row.grouped-with-previous{margin-top:-1px}.chat-avatar-spacer{flex:0 0 42px;width:42px}.chat-message-row.highlighted{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:18px;padding:8px}.chat-bubble-wrap{gap:4px;max-width:min(72%,590px);display:grid}.chat-message-row.mine .chat-bubble-wrap{justify-items:end}.chat-bubble{background:var(--row);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px 18px 18px 5px;padding:10px 13px;font-size:14px;font-weight:700;line-height:1.45;transition:background-color .18s,box-shadow .18s,transform .18s}.chat-message-row:hover .chat-bubble{transform:translateY(-1px);box-shadow:0 10px 24px #8ca9ff14}.chat-message-row.mine .chat-bubble{background:var(--ink);color:var(--panel-strong);border-radius:18px 18px 5px}.chat-message-row.grouped-with-next:not(.mine) .chat-bubble{border-bottom-left-radius:6px}.chat-message-row.grouped-with-previous:not(.mine) .chat-bubble{border-top-left-radius:6px}.chat-message-row.mine.grouped-with-next .chat-bubble{border-bottom-right-radius:6px}.chat-message-row.mine.grouped-with-previous .chat-bubble{border-top-right-radius:6px}.chat-bubble mark{background:color-mix(in srgb, var(--accent) 18%, transparent);color:inherit;border-radius:5px;padding:1px 3px;font-weight:950}.chat-bubble-wrap small{color:var(--muted);font-size:10px;font-weight:750}.chat-read-receipt{align-items:center;gap:4px;display:inline-flex}.chat-sender-label{padding-left:10px}.chat-read-receipt.seen{color:var(--accent);font-weight:900}.chat-composer{background:var(--row);border:1px solid var(--soft-line);border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:50px;margin:12px clamp(20px,4vw,46px) 18px;padding:6px 7px 6px 14px;transition:border-color .18s,box-shadow .18s,transform .18s;animation:.26s cubic-bezier(.2,.8,.2,1) chatComposerIn;display:grid;position:relative}.chat-emoji-button{appearance:none;color:var(--muted);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background-color .16s,color .16s;display:inline-flex}.chat-emoji-button:hover,.chat-emoji-button[aria-expanded=true]{background:color-mix(in srgb, var(--panel-strong) 72%, transparent);color:var(--ink)}.chat-emoji-menu{background:var(--panel-strong);border:1px solid var(--soft-line);box-shadow:var(--shadow-soft);z-index:4;border-radius:16px;grid-template-columns:repeat(6,36px);gap:4px;padding:8px;animation:.16s cubic-bezier(.2,.8,.2,1) chatPopoverIn;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}.chat-emoji-menu button{appearance:none;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:20px;transition:background-color .14s,transform .14s;display:inline-flex}.chat-emoji-menu button:hover{background:var(--row);transform:scale(1.08)}.chat-composer:focus-within{border-color:color-mix(in srgb, var(--ui-icon) 45%, var(--soft-line));transform:translateY(-1px);box-shadow:0 12px 30px #8ca9ff1f}.chat-send-button{background:var(--ink);color:var(--panel-strong)}.chat-send-button:not(:disabled):hover{transform:translateY(-1px)scale(1.03)}.chat-send-button:disabled{cursor:default;opacity:.35}.mention-menu{background:var(--panel-strong);border:1px solid var(--soft-line);box-shadow:var(--shadow-soft);transform-origin:0 100%;border-radius:13px;min-width:230px;padding:6px;animation:.16s cubic-bezier(.2,.8,.2,1) chatPopoverIn;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}.mention-menu button{appearance:none;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;padding:8px 10px;font-size:13px;font-weight:850}.mention-menu button:hover{background:var(--row)}.chat-member-popover{background:var(--panel-strong);border:1px solid var(--soft-line);box-shadow:var(--shadow-soft);z-index:12;transform-origin:100% 0;border-radius:16px;gap:10px;width:min(340px,100vw - 40px);max-height:480px;padding:12px;animation:.18s cubic-bezier(.2,.8,.2,1) chatPopoverIn;display:grid;position:absolute;top:66px;right:18px}.chat-member-head{justify-content:space-between;align-items:center;display:flex}.chat-member-list{max-height:280px;display:grid;overflow-y:auto}.chat-member-list.current-members{border-bottom:1px solid var(--soft-line);gap:4px;padding-bottom:8px}.chat-user.static{cursor:default}.chat-user.static:hover{background:0 0}.chat-icon-button.danger{color:#b91c1c}.chat-composer textarea:disabled{color:var(--muted);background:#f1f5f9}.chat-member-popover .primary-pill:disabled{cursor:default;opacity:.45}.chat-empty-main{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100%;padding:24px;animation:.26s cubic-bezier(.2,.8,.2,1) chatPaneIn;display:flex}.chat-empty-main>svg{color:var(--accent)}.chat-empty-main h2,.chat-empty-main p{margin:0}.chat-status{background:var(--panel-strong);border:1px solid var(--soft-line);box-shadow:var(--shadow-soft);color:var(--ink);z-index:8;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:850;animation:.2s both chatToastIn;position:absolute;bottom:78px;left:50%;transform:translate(-50%)}@keyframes chatPaneIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes chatMessagesIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes chatBubbleIn{0%{opacity:0;transform:translate(-10px)translateY(4px)scale(.98)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}@keyframes chatBubbleInMine{0%{opacity:0;transform:translate(10px)translateY(4px)scale(.98)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}@keyframes chatPillIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes chatComposerIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes chatPopoverIn{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chatToastIn{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:820px){.chat-workspace{background:var(--panel-strong);height:calc(100dvh - 78px - env(safe-area-inset-bottom));border:0;border-radius:0;grid-template-columns:1fr;gap:0;min-height:0;margin:-12px;overflow:hidden}.chat-sidebar,.chat-main{grid-area:1/1}.chat-sidebar{background:0 0;border:0;border-radius:0;padding:14px 12px 0;transition:opacity .19s,transform .22s,visibility .19s;display:grid}.chat-list-head{padding:0 4px 12px}.chat-list-head h1{font-size:24px}.chat-list-head p{display:none}.chat-search{background:color-mix(in srgb, var(--accent) 7%, var(--row));border:0;border-radius:12px;min-height:43px}.chat-filter-tabs{margin:8px -12px 2px;padding:0 12px 8px}.chat-filter-tabs button{min-height:36px}.chat-thread-list{gap:0;margin:0 -12px;padding:0 12px}.chat-thread{border:0;border-bottom:1px solid color-mix(in srgb, var(--soft-line) 72%, transparent);border-radius:0;gap:11px;min-height:68px;padding:9px 2px}.chat-thread.active{border-color:color-mix(in srgb, var(--soft-line) 72%, transparent);box-shadow:none;background:0 0}.chat-thread:hover,.chat-thread:not(.active):hover{background:var(--row);transform:none}.chat-avatar{width:48px;height:48px}.chat-thread strong{font-size:14px}.chat-thread small{margin-top:4px;font-size:11px}.chat-main{background:color-mix(in srgb, var(--accent) 4%, var(--panel-strong));opacity:0;pointer-events:none;visibility:hidden;border:0;border-radius:0;transition:opacity .19s,transform .22s,visibility .19s;transform:translate(18px)}.chat-workspace.mobile-chat-open .chat-sidebar{opacity:0;pointer-events:none;visibility:hidden;transform:translate(-18px)}.chat-workspace.mobile-chat-open .chat-main{opacity:1;pointer-events:auto;visibility:visible;transform:translate(0)}.chat-mobile-back{display:inline-flex}.chat-main-head{grid-template-columns:auto auto minmax(0,1fr) auto;padding-inline:10px}.chat-bubble-wrap{max-width:86%}.chat-message-panel{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.chat-main-head,.chat-message-panel,.chat-day-pill,.chat-message-row,.chat-composer,.mention-menu,.chat-emoji-menu,.chat-member-popover,.chat-empty-main,.chat-status{animation:none}.chat-icon-button,.chat-mobile-back,.chat-member-head button,.chat-search,.chat-thread,.chat-user,.chat-mention-row,.chat-main,.chat-message-row,.chat-bubble,.chat-composer,.chat-emoji-button,.chat-emoji-menu button,.chat-sidebar{transition:none}.chat-thread:not(.active):hover,.chat-user:hover,.chat-mention-row:hover,.chat-message-row:hover .chat-bubble,.chat-composer:focus-within,.chat-send-button:not(:disabled):hover,.chat-icon-button:hover,.chat-icon-button.active,.chat-mobile-back:hover,.chat-member-head button:hover,.chat-search>button:hover{transform:none}}
.image-crop-backdrop{z-index:120;background:#24314d9e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.image-crop-dialog{background:var(--panel-strong);border:1px solid var(--soft-line);box-shadow:var(--shadow-strong);border-radius:8px;gap:16px;width:100%;max-width:760px;max-height:calc(100dvh - 40px);padding:20px;display:grid;overflow-y:auto}.image-crop-head,.image-crop-actions,.image-crop-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.image-crop-head h2,.image-crop-head p,.image-crop-error{margin:0}.image-crop-head p{color:var(--muted);margin-top:4px;font-size:13px;font-weight:750}.image-crop-head>button,.image-crop-reset{border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;font:inherit;background:0 0;justify-content:center;align-items:center;font-weight:850;display:inline-flex}.image-crop-head>button{border-radius:50%;flex:none;width:38px;height:38px}.image-crop-stage{background:var(--row);cursor:grab;touch-action:none;border-radius:6px;width:100%;max-height:min(58dvh,520px);margin-inline:auto;position:relative;overflow:hidden}.image-crop-stage.dragging{cursor:grabbing}.image-crop-canvas{outline:0;width:100%;height:100%;display:block}.image-crop-canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}.image-crop-grid{pointer-events:none;position:absolute;inset:0}.image-crop-grid i{background:#ffffffc2;position:absolute;box-shadow:0 0 1px #24314db3}:root[data-theme=dark] .image-crop-grid i{background:#edf3ff6b;box-shadow:0 0 1px #000000b3}.image-crop-grid i:first-child,.image-crop-grid i:nth-child(2){width:1px;top:0;bottom:0}.image-crop-grid i:first-child{left:33.333%}.image-crop-grid i:nth-child(2){left:66.666%}.image-crop-grid i:nth-child(3),.image-crop-grid i:nth-child(4){height:1px;left:0;right:0}.image-crop-grid i:nth-child(3){top:33.333%}.image-crop-grid i:nth-child(4){top:66.666%}.image-crop-controls label{flex:1;gap:7px;font-size:13px;font-weight:850;display:grid}.image-crop-reset{border-radius:999px;gap:7px;min-height:42px;padding:0 16px}.image-crop-actions .secondary-pill{border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;font:inherit;background:0 0;border-radius:999px;min-height:42px;padding:0 18px;font-weight:850}.image-crop-error{color:#aac4f5;font-size:13px;font-weight:800}@media (max-width:640px){.image-crop-backdrop{padding:10px}.image-crop-dialog{max-height:calc(100dvh - 20px);padding:14px}.image-crop-controls{flex-direction:column;align-items:stretch}.image-crop-reset{align-self:flex-start}}
.user-avatar{background-position:50%;background-repeat:no-repeat;background-size:cover;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.profile-workspace{gap:22px;display:grid}.profile-layout{grid-template-columns:minmax(280px,.38fr) minmax(0,1fr);gap:20px;display:grid}.profile-photo-card,.profile-details-card{align-content:start;gap:18px;padding:24px;display:grid}.profile-photo-card{text-align:center;align-self:start;justify-items:center}.profile-install-card{background:radial-gradient(circle at 96% 10%, color-mix(in srgb, var(--accent-2) 18%, transparent) 0, transparent 30%), var(--panel-strong);border-color:color-mix(in srgb, var(--accent) 18%, var(--soft-line));grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid}.profile-demo-card{justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.profile-demo-card h2,.profile-demo-card p{margin:0}.profile-demo-card p{color:var(--muted);margin-top:4px;font-size:13px}.profile-demo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-demo-actions a{text-decoration:none}.profile-install-icon{background:color-mix(in srgb, var(--accent) 10%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 20%, var(--soft-line));color:var(--accent);border-radius:15px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.profile-install-copy{gap:6px;min-width:0;display:grid}.profile-install-card h2,.profile-install-card p{margin:0}.profile-install-card p,.profile-install-card small{color:var(--muted);font-size:13px}.profile-install-guidance{background:color-mix(in srgb, var(--row) 58%, transparent);border-radius:10px;max-width:72ch;margin-top:3px;padding:8px 10px;font-weight:750;line-height:1.45;display:block}.profile-install-button{appearance:none;background:var(--ink);border:1px solid var(--ink);cursor:pointer;min-height:44px;color:var(--panel-strong);box-shadow:0 10px 24px color-mix(in srgb, var(--ink) 16%, transparent);white-space:nowrap;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:900;display:inline-flex}.profile-install-button:hover:not(:disabled),.profile-install-button:focus-visible{border-color:color-mix(in srgb, var(--accent) 44%, var(--line));transform:translateY(-1px)}.profile-install-button:focus-visible{box-shadow:0 0 0 4px var(--accent-soft);outline:0}.profile-install-button:disabled{cursor:not-allowed;opacity:.55}.profile-identity-summary{gap:7px;display:grid}.profile-identity-summary p{line-height:1.55}.profile-change-trigger{justify-content:center;min-width:170px}.profile-status-banner{background:color-mix(in srgb, var(--accent) 8%, var(--panel-strong));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--soft-line));color:var(--ink);border-radius:14px;padding:11px 14px;font-size:13px;font-weight:800}.profile-avatar-options{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.profile-avatar-options button{appearance:none;background:var(--row);border:1px solid var(--soft-line);cursor:pointer;border-radius:16px;width:62px;height:62px;padding:3px;transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:visible}.profile-avatar-options button:hover:not(:disabled){transform:translateY(-2px)}.profile-avatar-options button.selected{border-color:var(--avatar-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--avatar-accent) 22%, transparent)}.profile-avatar-options button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:3px}.profile-avatar-options img{object-fit:cover;border-radius:12px;width:54px;height:54px;display:block}.profile-avatar-options button>span{background:var(--ink);border:2px solid var(--panel-strong);color:var(--panel-strong);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:absolute;bottom:-5px;right:-5px}.profile-display-name-field{text-align:left;gap:7px;width:100%;display:grid}.profile-display-name-field>span{justify-content:space-between;align-items:center;display:flex}.profile-display-name-field small{color:var(--muted);line-height:1.45}.profile-display-name-field input{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--ink);font:inherit;border-radius:14px;min-height:46px;padding:0 14px}.profile-change-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:119;background:#1820337a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.profile-change-dialog{background:var(--panel-strong);border:1px solid var(--soft-line);box-shadow:var(--shadow-strong);border-radius:26px;gap:20px;width:100%;max-width:560px;max-height:calc(100vh - 48px);padding:26px;display:grid;overflow-y:auto}.profile-change-head,.profile-change-actions,.profile-change-preview{align-items:center;display:flex}.profile-change-head{justify-content:space-between;gap:18px}.profile-change-head>div,.profile-change-preview>div,.profile-change-section-head{gap:4px;display:grid}.profile-change-head h2,.profile-change-head p,.profile-change-preview strong,.profile-change-preview span{margin:0}.profile-change-head p,.profile-change-preview span,.profile-change-section-head small{color:var(--muted)}.profile-change-head p,.profile-change-section-head small{font-size:13px;line-height:1.45}.profile-change-close{appearance:none;background:var(--row);border:1px solid var(--soft-line);color:var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}.profile-change-close:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--soft-line));color:var(--accent)}.profile-change-preview{background:var(--row);border:1px solid var(--soft-line);border-radius:20px;gap:16px;padding:16px}.profile-change-preview .profile-photo-large{border-width:3px;width:80px;height:80px;font-size:24px}.profile-change-preview strong{color:var(--ink);font-size:18px;font-weight:950}.profile-change-section{border-top:1px solid var(--soft-line);gap:14px;padding-top:18px;display:grid}.profile-change-section .profile-avatar-options{justify-content:flex-start}.profile-change-upload{justify-self:start}.profile-change-section>.profile-upload-note{margin-top:-7px;font-size:12px;font-weight:750}.profile-change-actions{border-top:1px solid var(--soft-line);justify-content:flex-end;gap:10px;padding-top:18px}.profile-change-status{color:var(--muted);min-height:18px;font-size:13px;font-weight:750}.profile-setup-backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb, var(--page) 76%, #1f26388a);z-index:115;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.profile-setup-dialog{background:var(--panel-strong);border:1px solid var(--soft-line);border-radius:var(--radius-xl,28px);box-shadow:var(--shadow-strong);gap:18px;width:100%;max-width:460px;padding:28px;display:grid}.profile-setup-dialog>header{align-items:center;gap:13px;display:flex}.profile-setup-dialog h1,.profile-setup-dialog p{margin:0}.profile-setup-dialog header p{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.profile-setup-dialog>p{color:var(--muted);line-height:1.55}.profile-setup-icon{background:var(--row);border:1px solid var(--soft-line);color:var(--accent);border-radius:15px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.profile-setup-avatar-stage{place-items:center;gap:12px;display:grid}.profile-setup-avatar-stage>img,.profile-setup-avatar-stage>svg{background:var(--row);border:5px solid var(--panel-strong);box-shadow:0 0 0 1px var(--soft-line), var(--shadow-soft);object-fit:cover;border-radius:50%;width:150px;height:150px}.profile-photo-upload-button{appearance:none;background:var(--row);border:1px solid var(--soft-line);color:var(--ink);border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-weight:800;display:inline-flex}.profile-setup-error{background:color-mix(in srgb, var(--danger,#b42318) 9%, var(--panel-strong));color:var(--danger,#b42318);border-radius:12px;padding:10px 12px;font-size:13px}.profile-setup-submit{justify-content:center;width:100%}.profile-photo-large{border:5px solid var(--panel-strong);box-shadow:0 0 0 1px var(--soft-line), var(--shadow-soft);border-radius:50%;width:132px;height:132px;font-size:38px;font-weight:900}.profile-photo-card h2,.profile-photo-card p,.profile-details-card h2{margin:0}.profile-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-edit-button{appearance:none;background:var(--row);border:1px solid var(--soft-line);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.profile-edit-button:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--soft-line));color:var(--accent)}.profile-photo-card p,.profile-detail-row small,.profile-upload-note{color:var(--muted)}.profile-details-list{gap:0;display:grid}.profile-privacy-card{grid-column:1/-1}.profile-privacy-card>div:first-child h2{align-items:center;gap:8px;display:flex}.profile-color-mode{background:var(--panel);border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;display:grid}.profile-color-mode button{color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:54px;padding:8px 12px;display:grid}.profile-color-mode button.active{background:var(--panel-strong);border-color:color-mix(in srgb, var(--accent) 32%, var(--line));color:var(--ink);box-shadow:0 8px 20px #506cb41a}.profile-color-mode button>span{gap:1px;display:grid}.profile-color-mode small{color:var(--muted);font-size:11px}.profile-theme-picker{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.profile-theme-picker button{appearance:none;background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:11px;min-height:68px;padding:10px;display:flex}.profile-theme-picker button:hover,.profile-theme-picker button.active{border-color:color-mix(in srgb, var(--accent) 58%, var(--line))}.profile-theme-picker button.active{background:color-mix(in srgb, var(--accent-soft) 62%, var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 32%, transparent)}.profile-theme-picker button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-theme-picker button:disabled{cursor:wait;opacity:.62}.profile-theme-picker button>span:last-child{gap:3px;display:grid}.profile-theme-picker small{color:var(--muted);font-size:11px;line-height:1.25}.profile-theme-shape{background:color-mix(in srgb, var(--accent-soft) 72%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));border-radius:10px;flex:none;justify-content:center;align-items:end;gap:4px;width:46px;height:38px;padding:7px;display:flex}.profile-theme-shape i{background:var(--accent);opacity:.82;border-radius:3px;width:11px;height:12px;display:block}.profile-theme-shape i:last-child{height:20px}.profile-theme-shape.clay{box-shadow:3px 4px 8px color-mix(in srgb, var(--accent) 20%, transparent), inset 0 1px 1px #ffffffb8;border-radius:15px}.profile-theme-shape.neumorphic{box-shadow:4px 4px 7px color-mix(in srgb, var(--ink) 15%, transparent), -3px -3px 7px #ffffffa3;border-color:#0000}.profile-theme-shape.minimal{box-shadow:none;border-radius:4px}.profile-theme-shape.bohemian{border-radius:14px 7px 16px 9px}.profile-theme-shape.school-default{border-style:dashed}.profile-edit-card{grid-column:1/-1}.profile-inline-field{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink);font:inherit;text-align:right;border-radius:14px;outline:0;width:100%;max-width:min(420px,100%);min-height:40px;padding:10px 12px;font-weight:850}textarea.profile-inline-field{resize:vertical;min-height:78px;line-height:1.45}.profile-detail-actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:16px;display:flex}.profile-field{color:var(--muted);gap:7px;font-size:13px;font-weight:900;display:grid}.profile-field input,.profile-field textarea{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:16px;outline:0;padding:12px 13px}.profile-field textarea{resize:vertical;min-height:92px}.profile-setting-row{border-top:1px solid var(--soft-line);cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding-top:18px;display:flex}.profile-setting-row>span{gap:5px;display:grid}.profile-setting-row small{color:var(--muted);line-height:1.45}.profile-toggle{flex:none;width:42px;height:24px;display:inline-flex;position:relative}.profile-toggle input{opacity:0;width:1px;height:1px;position:absolute}.profile-toggle i{background:var(--soft-line);cursor:pointer;border-radius:999px;transition:background-color .16s;position:absolute;inset:0}.profile-toggle i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #24314d40}:root[data-theme=dark] .profile-toggle i:after{background:var(--ink)}.profile-toggle input:checked+i{background:var(--accent)}.profile-toggle input:checked+i:after{transform:translate(18px)}.profile-toggle input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}.profile-toggle input:disabled+i{cursor:wait;opacity:.6}.profile-detail-row{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.profile-detail-row:last-child{border-bottom:0}.profile-detail-row span{text-align:right;font-weight:850}.profile-guardian-row{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.profile-guardian-row:last-child{border-bottom:0}.profile-guardian-row div{gap:4px;display:grid}.profile-guardian-row strong{color:var(--ink);font-size:14px;font-weight:950}.profile-guardian-row small{color:var(--muted);font-size:12px;font-weight:850}.profile-guardian-row span{color:var(--ink);text-align:right;font-size:13px;font-weight:850}.profile-status{color:var(--muted);min-height:18px;font-size:13px;font-weight:750}.profile-ticket-card{gap:14px}.profile-support-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.profile-support-grid .profile-ticket-card{min-width:0}.profile-raised-tickets-card{grid-template-rows:auto minmax(0,1fr) auto}.profile-ticket-count{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 22%, var(--soft-line));color:var(--accent);border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 9px;font-size:12px;font-weight:950;display:inline-flex}.profile-ticket-form{gap:10px;display:grid}.profile-ticket-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:850;display:grid}.profile-ticket-form input,.profile-ticket-form select,.profile-ticket-form textarea{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:10px;width:100%;padding:10px}.profile-ticket-upload{align-items:center;gap:8px;width:fit-content;display:flex!important}.profile-ticket-upload input{border:0;padding:0}.profile-ticket-list{border-top:1px solid var(--line);gap:0;display:grid}.profile-ticket-row{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:14px 0;display:flex}.profile-ticket-row:last-child{border-bottom:0}.profile-ticket-copy{gap:3px;min-width:0;display:grid}.profile-ticket-copy strong{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:900}.profile-ticket-copy small{color:var(--muted);font-size:12px;line-height:1.4}.profile-ticket-row>.status{text-transform:none;flex:none}.profile-ticket-empty{background:var(--row);border:1px dashed var(--soft-line);color:var(--muted);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:170px;padding:24px;font-size:13px;display:flex}.profile-ticket-empty strong{color:var(--ink);font-size:14px}.profile-ticket-error{background:color-mix(in srgb, var(--danger,#b42318) 7%, var(--row));border-color:color-mix(in srgb, var(--danger,#b42318) 24%, var(--soft-line));color:var(--danger,#b42318)}.profile-ticket-link{color:var(--accent);justify-self:start;align-items:center;gap:6px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.profile-ticket-link:hover{text-decoration:underline}@media (max-width:760px){.profile-demo-card{flex-direction:column;align-items:flex-start}.profile-layout,.profile-support-grid{grid-template-columns:1fr}.profile-photo-card,.profile-details-card{padding:18px}.profile-install-card{grid-template-columns:auto minmax(0,1fr);align-items:stretch}.profile-install-button{grid-column:1/-1;justify-content:center;width:100%}.profile-theme-picker{grid-template-columns:1fr}.profile-color-mode button{min-height:50px;padding-inline:10px}.profile-setup-backdrop{align-items:flex-start;padding:12px}.profile-setup-dialog{border-radius:22px;margin-block:12px;padding:21px}.profile-change-backdrop{align-items:flex-start;padding:12px}.profile-change-dialog{border-radius:22px;max-height:calc(100vh - 48px);margin-block:12px;padding:20px}.profile-change-section .profile-avatar-options{justify-content:center}.profile-ticket-row{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.profile-avatar-options button{transition:none}}@media (max-width:380px){.profile-color-mode{grid-template-columns:1fr}}
.reports-workspace{gap:18px;display:grid}.reports-view-tabs{border-bottom:1px solid var(--soft-line);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:10px;display:flex}.reports-view-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;min-height:42px;padding:10px 14px;font-size:13px;font-weight:900;display:inline-flex}.reports-view-tabs button.active,.reports-view-tabs button:hover{background:var(--panel);border-color:var(--soft-line);color:var(--ink);box-shadow:0 8px 18px #8ca9ff12}.reports-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.reports-summary-row article,.reports-signal-card{background:var(--panel);border:1px solid var(--soft-line);box-shadow:var(--shadow-soft);border-radius:20px;gap:8px;padding:18px;display:grid}.reports-summary-row span,.reports-summary-row small,.reports-signal-card span,.reports-signal-card p{color:var(--muted);margin:0;font-size:13px;font-weight:850;line-height:1.35}.reports-summary-row strong,.reports-signal-card strong{color:var(--ink);font-size:clamp(26px,3vw,38px);line-height:1}.reports-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.36fr);align-items:start;gap:18px;display:grid}.reports-list-card{min-width:0}.reports-side-stack{gap:18px;display:grid}.reports-table-head,.reports-table-row{grid-template-columns:minmax(260px,1.3fr) minmax(120px,.58fr) minmax(100px,.45fr) minmax(90px,.45fr) minmax(92px,.4fr);align-items:center;gap:14px;display:grid}.reports-table-head{color:var(--muted);padding:6px 14px 10px;font-size:12px;font-weight:950}.reports-row-list,.reports-audit-list{gap:10px;display:grid}.reports-table-row,.reports-audit-row{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;padding:14px}.reports-table-row>span:not(.row-main){color:var(--muted);font-size:13px;font-weight:850}.reports-table-row small,.reports-audit-row small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:850;line-height:1.35;display:block}.reports-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reports-signal-card.warning{background:linear-gradient(180deg, color-mix(in srgb, var(--warning) 9%, var(--panel)), var(--panel));border-color:color-mix(in srgb, var(--warning) 24%, var(--soft-line))}.reports-signal-card.positive{background:linear-gradient(180deg, color-mix(in srgb, var(--positive) 9%, var(--panel)), var(--panel));border-color:color-mix(in srgb, var(--positive) 24%, var(--soft-line))}.reports-audit-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.student-reports-workspace{gap:18px;display:grid}.student-reports-workspace.embedded{margin-top:18px}.student-report-composer,.student-report-card{gap:16px;display:grid}.student-report-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-report-form-grid.text-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-report-form-grid label{color:var(--muted);gap:7px;font-size:.82rem;font-weight:800;display:grid}.student-report-form-grid input,.student-report-form-grid select,.student-report-form-grid textarea{background:var(--panel);border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;border-radius:8px;outline:0;min-height:42px;padding:10px 12px}.student-report-sliders{gap:10px;display:grid}.student-report-slider{grid-template-columns:minmax(150px,.8fr) minmax(160px,1fr) 52px;align-items:center;gap:12px;display:grid}.student-report-slider span{gap:3px;min-width:0;display:grid}.student-report-slider strong{color:var(--ink)}.student-report-slider small,.student-report-slider em{color:var(--muted);font-style:normal}.student-report-slider input[type=range]{accent-color:var(--accent);width:100%}.student-report-list{gap:14px;display:grid}.student-report-card-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.student-report-card-head h3{letter-spacing:0;margin:2px 0;font-size:1.15rem}.student-report-card-head p{color:var(--muted);margin:0}.student-report-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-report-notes section{background:var(--panel);border:1px solid var(--soft-line);border-radius:8px;gap:6px;padding:12px;display:grid}.student-report-notes p{color:var(--muted);margin:0;line-height:1.45}.decision-row{grid-template-columns:auto minmax(0,1fr) auto}.report-card-setup-card{gap:16px;margin-top:18px;display:grid}.report-card-setup-card>.card-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-card-setup-card>.card-title span{align-items:center;gap:8px;display:inline-flex}.report-card-template-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.report-card-template-tile{background:var(--panel);border:1px solid var(--soft-line);box-shadow:var(--shadow-soft);color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;gap:8px;min-height:150px;padding:16px;display:grid}.report-card-template-tile.active,.report-card-template-tile:hover{border-color:var(--accent)}.report-card-template-tile span,.report-card-template-tile small{color:var(--muted);font-size:12px;font-weight:850;line-height:1.35}.report-card-template-tile strong{font-size:1rem}.report-card-config-list{gap:12px;display:grid}.report-card-checkbox{color:var(--muted);align-items:center;gap:8px;min-height:38px;font-size:.84rem;font-weight:850;display:inline-flex}.report-card-checkbox input{accent-color:var(--accent);width:18px;height:18px}.report-card-preview-row{grid-template-columns:minmax(0,1fr) auto}.compact-select-label{color:var(--muted);gap:7px;margin:12px 0;font-size:.82rem;font-weight:850;display:grid}.compact-select-label select{background:var(--panel);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;min-height:42px;padding:10px 12px}
.attendance-page{gap:22px;display:grid}.attendance-page-head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.attendance-page-head .page-title{margin-bottom:5px}.attendance-date-control{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;min-width:250px;padding:12px 15px;display:grid}.attendance-date-control svg{grid-row:1/3}.attendance-date-control span{color:var(--muted);font-size:12px;font-weight:800}.attendance-date-control input{color:inherit;font:inherit;background:0 0;border:0;outline:0;font-weight:800}.attendance-alert{border:1px solid var(--line);border-radius:8px;align-items:center;gap:9px;padding:12px 14px;font-weight:750;display:flex}.attendance-alert.error,.attendance-alert.success{border-color:color-mix(in srgb, #3f63d9 35%, var(--line));background:color-mix(in srgb, #3f63d9 7%, var(--panel-strong))}.attendance-layout{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;grid-template-columns:minmax(250px,310px) minmax(0,1fr);min-height:650px;display:grid;overflow:hidden}.attendance-periods{border-right:1px solid var(--line);background:color-mix(in srgb, var(--panel-strong) 94%, var(--panel));padding:20px 14px}.attendance-section-title{justify-content:space-between;align-items:center;padding:0 7px 14px;display:flex}.attendance-section-title div{gap:2px;display:grid}.attendance-section-title span{color:var(--muted);font-size:12px}.attendance-period-list{gap:8px;display:grid}.attendance-period-list button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:38px minmax(0,1fr);gap:0 10px;padding:11px;display:grid}.attendance-period-list button:hover,.attendance-period-list button.active{border-color:var(--line);background:var(--panel-strong)}.attendance-period-number{border:1px solid var(--line);border-radius:50%;grid-row:1/3;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.attendance-period-list strong,.attendance-period-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.attendance-period-list small{color:var(--muted);margin-top:3px}.attendance-period-status{text-transform:capitalize;width:fit-content;color:var(--muted);grid-column:2;margin-top:7px;font-size:11px;font-weight:850}.attendance-period-status.confirmed,.attendance-period-status.corrected{color:#3f63d9}.attendance-register-panel{flex-direction:column;min-width:0;padding:24px;display:flex}.attendance-register-empty{min-height:400px;color:var(--muted);flex:1;place-content:center;justify-items:center;gap:8px;display:grid}.attendance-register-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:19px;display:flex}.attendance-register-head p{color:var(--muted);margin:0 0 3px;font-weight:800}.attendance-register-head h2{letter-spacing:0;margin:0 0 5px;font-size:clamp(25px,3vw,38px)}.attendance-register-head>div>span{color:var(--muted)}.attendance-live-counts{gap:10px;display:flex}.attendance-live-counts span{border:1px solid var(--line);min-width:88px;color:var(--muted);border-radius:7px;gap:1px;padding:9px 12px;font-size:12px;display:grid}.attendance-live-counts strong{color:var(--ink);font-size:22px}.attendance-live-counts .absent{border-color:color-mix(in srgb, #3f63d9 35%, var(--line))}.attendance-tools{justify-content:space-between;gap:12px;margin:18px 0;display:flex}.attendance-tools label{border:1px solid var(--line);border-radius:7px;flex:1;align-items:center;gap:9px;padding:0 13px;display:flex}.attendance-tools input{width:100%;min-height:44px;color:inherit;font:inherit;background:0 0;border:0;outline:0}.attendance-student-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.attendance-student{text-align:left;border:1px solid var(--line);background:var(--panel-strong);min-width:0;color:inherit;cursor:pointer;border-radius:7px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px 11px;padding:11px;display:grid}.attendance-student:hover{border-color:color-mix(in srgb, var(--text) 30%, var(--line))}.attendance-student.is-absent{border-color:#3f63d9;box-shadow:inset 3px 0 #3f63d9}.attendance-student-photo{aspect-ratio:1;background:var(--panel);border:1px solid var(--line);border-radius:6px;grid-row:1/3;place-items:center;width:54px;font-weight:900;display:grid;overflow:hidden}.attendance-student-photo img{object-fit:cover;width:100%;height:100%}.attendance-student-info{gap:2px;min-width:0;display:grid}.attendance-student-info strong,.attendance-student-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-student-info small{color:var(--muted)}.attendance-student-state{color:#3f63d9;grid-column:2;align-items:center;gap:5px;font-size:12px;font-weight:850;display:inline-flex}.attendance-student.is-absent .attendance-student-state{color:#3f63d9}.attendance-reason{gap:7px;margin-top:18px;font-weight:800;display:grid}.attendance-reason textarea{resize:vertical;border:1px solid var(--line);background:var(--panel-strong);min-height:78px;color:inherit;font:inherit;border-radius:7px;padding:11px}.attendance-register-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;margin-top:auto;padding-top:20px;display:flex}.attendance-offline{color:#3f63d9;font-weight:800}.attendance-dialog-backdrop{z-index:120;background:#24314d66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.attendance-dialog{background:var(--panel-strong);border-radius:8px;width:min(430px,100%);padding:25px;box-shadow:0 24px 80px #24314d33}.attendance-dialog h2{margin:13px 0 6px}.attendance-dialog p{color:var(--muted);line-height:1.6}.attendance-dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.attendance-empty{color:var(--muted);padding:16px 8px}.attendance-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.attendance-summary-strip article{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;align-content:space-between;gap:7px;min-height:120px;padding:18px;display:grid}.attendance-summary-strip span{color:var(--muted);font-weight:800}.attendance-summary-strip strong{font-size:clamp(24px,3vw,38px)}.attendance-subject-list{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;padding:20px}.attendance-subject-list h2{margin:0 0 13px}.attendance-subject-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.attendance-subject-list>div span{gap:2px;display:grid}.attendance-subject-list small{color:var(--muted)}@media (max-width:900px){.attendance-layout{grid-template-columns:1fr}.attendance-periods{border-right:0;border-bottom:1px solid var(--line)}.attendance-period-list{padding-bottom:4px;display:flex;overflow-x:auto}.attendance-period-list button{min-width:230px}.attendance-summary-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.attendance-page-head,.attendance-register-head,.attendance-register-footer{flex-direction:column;align-items:stretch}.attendance-date-control{width:100%;min-width:0}.attendance-register-panel{padding:16px}.attendance-tools{flex-direction:column;align-items:stretch}.attendance-student-grid{grid-template-columns:1fr}.attendance-summary-strip{grid-template-columns:1fr 1fr}.attendance-live-counts span{flex:1}.attendance-dialog-actions{flex-direction:column-reverse}}.student-attendance-page{--attendance-ring-1:#3f63d9;--attendance-ring-2:#14a38b;--attendance-ring-3:#7a55d5;--attendance-ring-4:#d34f87;--attendance-ring-5:#ef7a32;--attendance-ring-6:#d9a514;--attendance-ring-7:#d94b4b;--attendance-ring-8:#318b5d;gap:16px}.student-attendance-head{align-items:center}.attendance-health{background:color-mix(in srgb, var(--positive) 10%, var(--panel));border:1px solid color-mix(in srgb, var(--positive) 24%, var(--soft-line));color:color-mix(in srgb, var(--positive) 78%, var(--ink));border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900}.attendance-health.warning{background:color-mix(in srgb, var(--danger) 9%, var(--panel));border-color:color-mix(in srgb, var(--danger) 24%, var(--soft-line));color:var(--danger)}.student-attendance-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);gap:14px;display:grid}.attendance-rings-card,.attendance-absence-card{align-content:start;gap:16px;min-width:0;display:grid}.attendance-lean-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-lean-card-head>div{gap:3px;display:grid}.attendance-lean-card-head span,.attendance-lean-card-head>b{color:var(--muted);font-size:11px;font-weight:850}.attendance-lean-card-head strong{font-size:16px}.attendance-rings-layout{grid-template-columns:minmax(360px,1.05fr) minmax(230px,.95fr);align-items:center;gap:22px;display:grid}.attendance-rings-figure{aspect-ratio:1;justify-self:center;width:100%;max-width:470px;position:relative}.attendance-rings-figure svg{width:100%;height:100%;display:block;overflow:visible}.attendance-ring-track{stroke:color-mix(in srgb, var(--line) 62%, transparent)}.attendance-ring-layer{animation:.52s cubic-bezier(.22,1,.36,1) both attendance-ring-expand;animation-delay:var(--ring-delay);transform-box:fill-box;transform-origin:50%}.attendance-ring-value{animation:.9s cubic-bezier(.22,1,.36,1) both attendance-ring-draw;animation-delay:var(--ring-delay);cursor:pointer;stroke-dashoffset:0;stroke-linecap:round;transform-origin:240px 240px;transition:filter .16s,opacity .16s,stroke-width .16s;transform:rotate(-90deg)}.attendance-ring-value:hover{filter:drop-shadow(0 0 5px color-mix(in srgb, currentColor 38%, transparent))}@keyframes attendance-ring-draw{0%{opacity:.25;stroke-dashoffset:100px}to{opacity:1;stroke-dashoffset:0}}@keyframes attendance-ring-expand{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.attendance-rings-center{pointer-events:none;justify-items:center;width:116px;animation:.5s cubic-bezier(.22,1,.36,1) .7s both attendance-center-in;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.attendance-rings-center strong{font-size:clamp(30px,4vw,48px);line-height:1}.attendance-rings-center span{color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:116px;margin-top:5px;font-size:10px;font-weight:850;overflow:hidden}@keyframes attendance-center-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.86)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.attendance-ring-legend{gap:5px;display:grid}.attendance-ring-legend button{animation:.48s cubic-bezier(.22,1,.36,1) both attendance-legend-in;animation-delay:var(--ring-delay);color:var(--ink);cursor:default;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;padding:6px 8px;display:grid}.attendance-ring-legend button:hover,.attendance-ring-legend button:focus-visible,.attendance-ring-legend button.active{background:var(--row);border-color:var(--soft-line)}.attendance-ring-legend i{border-radius:999px;width:8px;height:8px}.attendance-ring-legend span{min-width:0;display:grid}.attendance-ring-legend strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-ring-legend small,.attendance-ring-legend b{color:var(--muted);font-size:10px;font-weight:850}.attendance-ring-legend small{background:color-mix(in srgb, var(--line) 58%, transparent);border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.attendance-ring-legend small em{animation:.85s cubic-bezier(.22,1,.36,1) both attendance-legend-fill;animation-delay:var(--ring-delay);background:var(--ring-colour);transform-origin:0;height:100%;width:var(--ring-value);display:block}@keyframes attendance-legend-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes attendance-legend-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.attendance-leave-button{background:color-mix(in srgb, var(--primary) 8%, var(--panel-strong));border:1px solid color-mix(in srgb, var(--primary) 25%, var(--line));color:var(--ink);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:11px;font-weight:850;display:inline-flex}.attendance-absence-list{overscroll-behavior:contain;max-height:430px;display:grid;overflow:auto}.attendance-absence-list>div{border-top:1px solid var(--soft-line);content-visibility:auto;gap:7px;padding:12px 0;display:grid}.attendance-absence-list>div:first-child{border-top:0;padding-top:2px}.attendance-absence-list time{justify-content:space-between;align-items:center;display:flex}.attendance-absence-list time small,.attendance-absence-list>div>span{color:var(--muted);font-size:11px;font-weight:750}.attendance-clear-log{color:var(--positive);align-content:center;justify-items:center;min-height:220px}.attendance-leave-history{border-top:1px solid var(--soft-line);gap:8px;padding-top:13px;display:grid}.attendance-leave-history>span{color:var(--muted);font-size:11px;font-weight:850}.attendance-leave-history>div{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.leave-status{text-transform:capitalize;border-radius:999px;padding:5px 7px;font-size:10px}.leave-status.pending{background:color-mix(in srgb, #d9a514 14%, var(--panel));color:color-mix(in srgb, #9a7010 85%, var(--ink))}.leave-status.approved{background:color-mix(in srgb, var(--positive) 12%, var(--panel));color:var(--positive)}.leave-status.rejected,.leave-status.cancelled{background:color-mix(in srgb, var(--danger) 10%, var(--panel));color:var(--danger)}.attendance-leave-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.attendance-leave-dates label{gap:6px;font-size:12px;font-weight:850;display:grid}.attendance-leave-dates input{background:var(--panel-strong);border:1px solid var(--line);color:inherit;font:inherit;border-radius:7px;padding:10px}.attendance-review-actions{flex-direction:row!important;gap:8px!important;display:flex!important}.attendance-review-actions button{min-height:34px;padding:7px 12px}@media (max-width:920px){.student-attendance-grid,.attendance-rings-layout{grid-template-columns:1fr}.attendance-ring-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.attendance-rings-card,.attendance-absence-card{padding:16px}.attendance-ring-legend{grid-template-columns:1fr}.attendance-rings-layout{grid-template-columns:minmax(0,1fr)}.attendance-rings-figure{max-width:390px}.attendance-leave-dates{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.attendance-ring-value,.attendance-ring-layer,.attendance-rings-center,.attendance-ring-legend button,.attendance-ring-legend small em{animation:none}}
.calendar-workspace{gap:16px;min-width:0;padding-bottom:24px;animation:.26s both calendar-fade-in;display:grid}.calendar-page-head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.calendar-page-head h1{margin:0}.calendar-head-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.calendar-head-summary span,.calendar-fixed-stage{background:var(--panel-strong);border:1px solid var(--border-soft);color:var(--muted);border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:12px;font-weight:850;display:inline-flex}.calendar-surface{background:var(--panel-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);border-radius:20px;min-width:0;animation:.32s cubic-bezier(.22,1,.36,1) both calendar-rise-in;position:relative}.calendar-timetable-generator{background:var(--panel-strong);border:1px solid color-mix(in srgb, var(--ink) 8%, transparent);border-radius:20px;justify-content:space-between;align-items:center;gap:28px;margin-top:20px;padding:22px 24px;display:flex;box-shadow:0 8px 24px #1622390f}.calendar-timetable-generator small{color:var(--accent);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:800}.calendar-timetable-generator h2,.calendar-timetable-generator p{margin:0}.calendar-timetable-generator h2{margin-top:4px;font-size:1.18rem}.calendar-timetable-generator p{color:var(--muted);max-width:680px;margin-top:5px;font-size:.84rem}.calendar-generator-actions{flex:none;align-items:center;gap:9px;display:flex}.calendar-generator-actions a,.calendar-generator-actions button{font:inherit;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 14px;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex}.calendar-generator-actions a{border:1px solid color-mix(in srgb, var(--ink) 11%, transparent);color:var(--ink)}.calendar-generator-actions button{background:var(--accent);border:1px solid var(--accent);color:#fff}.calendar-generator-actions button:disabled{opacity:.55}.calendar-toolbar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:12px 14px;display:flex}.calendar-month-navigation,.calendar-toolbar-actions,.calendar-source-tabs,.calendar-menu summary,.calendar-entry-actions{align-items:center;display:flex}.calendar-month-navigation{gap:6px}.calendar-toolbar-actions{justify-content:flex-end;gap:8px}.calendar-class-picker{background:var(--panel-strong);border:1px solid var(--border-soft);color:var(--muted);border-radius:10px;align-items:center;min-height:36px;padding:0 9px;display:flex;position:relative}.calendar-class-picker>span{text-transform:uppercase;margin-right:5px;font-size:10px;font-weight:850}.calendar-class-picker select{appearance:none;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;outline:0;max-width:190px;padding:0 22px 0 0;font-size:11px;font-weight:850}.calendar-class-picker>svg{pointer-events:none;position:absolute;right:8px}.calendar-month-navigation>button,.calendar-today-button,.calendar-add-button,.calendar-publish-button,.calendar-menu summary{border:1px solid var(--border-soft);color:var(--ink);cursor:pointer;font:inherit;background:0 0;border-radius:10px;justify-content:center;align-items:center;min-height:36px;padding:0 11px;font-size:12px;font-weight:900;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.calendar-month-navigation>button:first-child,.calendar-month-navigation>button:nth-child(3){width:36px;padding:0}.calendar-month-navigation>div{min-width:154px;padding:0 6px;display:grid}.calendar-month-navigation strong{color:var(--ink);letter-spacing:-.025em;font-size:16px}.calendar-month-navigation small{color:var(--muted);font-size:11px;font-weight:750}.calendar-today-button:disabled{cursor:default;opacity:.45}.calendar-source-tabs{background:color-mix(in srgb, #cad8f2 30%, var(--panel-strong));border:1px solid var(--border-soft);border-radius:11px;gap:2px;padding:3px}.calendar-source-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;min-height:29px;padding:0 10px;font-size:11px;font-weight:850;transition:background .16s,color .16s,transform .16s}.calendar-source-tabs button.active{background:var(--panel-strong);color:var(--ink);box-shadow:0 2px 8px #0f172a12}.calendar-add-button{gap:6px}.calendar-publish-button{background:var(--ink);border-color:var(--ink);color:var(--panel-strong);gap:6px}.calendar-publish-button:disabled{cursor:default;opacity:.45}.calendar-menu{position:relative}.calendar-menu summary{gap:6px;list-style:none}.calendar-menu summary::-webkit-details-marker{display:none}.calendar-menu>div{background:var(--panel-strong);border:1px solid var(--border-soft);z-index:40;border-radius:13px;gap:4px;min-width:190px;padding:7px;animation:.15s both calendar-menu-in;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 18px 44px #0f172a29}.calendar-menu>div button,.calendar-menu>div a{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:0 9px;font-size:12px;font-weight:800;text-decoration:none;display:flex}.calendar-menu>div button:hover,.calendar-menu>div a:hover,.calendar-menu>div button.active{background:var(--surface-soft)}.calendar-menu>div button.active:after{background:var(--tenant-primary,#303030);content:"";border-radius:50%;width:6px;height:6px;margin-left:auto}.calendar-menu>div button.publish{background:var(--ink);color:var(--panel-strong)}.calendar-month-navigation>button:not(:disabled):hover,.calendar-add-button:hover,.calendar-publish-button:not(:disabled):hover,.calendar-menu summary:hover{background:var(--surface-soft);transform:translateY(-1px)}.calendar-publish-button:not(:disabled):hover{background:color-mix(in srgb, var(--ink) 88%, var(--panel-strong));color:var(--panel-strong)}.calendar-grid-wrap{min-width:0;position:relative}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{border-bottom:1px solid var(--border-soft)}.calendar-weekdays span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;place-items:center;min-height:28px;font-size:10px;font-weight:900;display:grid}.calendar-grid{--calendar-grid-line:color-mix(in srgb, #6f8fbd 38%, var(--border-soft));background:var(--calendar-grid-line);gap:1px;overflow:visible}.calendar-day{--calendar-tone:#7a7a7a;--calendar-soft:var(--panel-strong);background:var(--calendar-soft);color:inherit;cursor:pointer;text-align:left;min-width:0;min-height:clamp(82px,9.2vh,112px);animation:.26s cubic-bezier(.22,1,.36,1) both calendar-cell-in;animation-delay:calc(var(--calendar-index) * 7ms);border:0;align-content:start;gap:5px;padding:8px;transition:background .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.calendar-day.outside{--calendar-soft:color-mix(in srgb, #cbd6e5 58%, var(--panel-strong));--calendar-tone:#73829a;background:var(--calendar-soft)}.calendar-day.outside .calendar-day-top>strong{color:#718097}.calendar-day.outside .calendar-event-stack{opacity:.78}:root[data-theme=dark] .calendar-grid{--calendar-grid-line:#354258}:root[data-theme=dark] .calendar-day.outside{--calendar-soft:#242b35;--calendar-tone:#9aaac0}:root[data-theme=dark] .calendar-day.outside .calendar-day-top>strong{color:#a8b5c7}.calendar-day:hover,.calendar-day:focus-visible,.calendar-day.selected{background:color-mix(in srgb, var(--calendar-tone) 9%, var(--calendar-soft));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--calendar-tone) 28%, transparent);z-index:15;outline:0;transform:translateY(-1px)}.calendar-day-top{justify-content:space-between;align-items:center;display:flex}.calendar-day-top>strong{color:var(--ink);place-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:grid}.calendar-day-top>small{background:color-mix(in srgb, var(--calendar-tone) 12%, transparent);color:var(--calendar-tone);border-radius:999px;padding:3px 6px;font-size:9px;font-weight:950}.calendar-day.today .calendar-day-top>strong{background:var(--ink);color:var(--panel-strong);border-radius:50%}.calendar-event-stack{align-content:start;gap:3px;min-width:0;display:grid}.calendar-event-pill{background:var(--pill-bg,var(--surface-soft));border:1px solid var(--pill-border,var(--border-soft));color:var(--pill-ink,var(--ink));border-radius:6px;align-items:center;min-width:0;min-height:20px;padding:0 6px;font-style:normal;display:flex}.calendar-event-pill>span{text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:850;overflow:hidden}.calendar-more-count{color:var(--muted);padding-left:5px;font-size:9px;font-weight:850}.tone-working{--pill-bg:color-mix(in srgb, #aeb8c5 30%, var(--panel-strong));--pill-border:color-mix(in srgb, #7b8797 24%, var(--border-soft));--pill-ink:color-mix(in srgb, #657284 78%, var(--ink))}.tone-holiday{--pill-bg:color-mix(in srgb, #f3b5bd 42%, var(--panel-strong));--pill-border:color-mix(in srgb, #d66d79 30%, var(--border-soft));--pill-ink:color-mix(in srgb, #a5414e 76%, var(--ink))}.tone-vacation{--pill-bg:color-mix(in srgb, #d8c3ef 44%, var(--panel-strong));--pill-border:color-mix(in srgb, #9c72c4 30%, var(--border-soft));--pill-ink:color-mix(in srgb, #6e4a91 76%, var(--ink))}.tone-half-day{--pill-bg:color-mix(in srgb, #cbd5e1 42%, var(--panel-strong));--pill-border:color-mix(in srgb, #7f8da1 28%, var(--border-soft));--pill-ink:color-mix(in srgb, #536277 76%, var(--ink))}.tone-no-bag{--pill-bg:color-mix(in srgb, #aee0cc 42%, var(--panel-strong));--pill-border:color-mix(in srgb, #5fae91 28%, var(--border-soft));--pill-ink:color-mix(in srgb, #2f715d 76%, var(--ink))}.tone-observance{--pill-bg:color-mix(in srgb, #b9cff2 44%, var(--panel-strong));--pill-border:color-mix(in srgb, #6e96d2 30%, var(--border-soft));--pill-ink:color-mix(in srgb, #365f9e 76%, var(--ink))}.tone-assignment{--pill-bg:color-mix(in srgb, #efc1d8 42%, var(--panel-strong));--pill-border:color-mix(in srgb, #ca7da3 29%, var(--border-soft));--pill-ink:color-mix(in srgb, #8d4669 76%, var(--ink))}.tone-task{--pill-bg:color-mix(in srgb, #d7e5ff 68%, var(--panel-strong));--pill-border:color-mix(in srgb, #5879bd 30%, var(--border-soft));--pill-ink:color-mix(in srgb, #315992 82%, var(--ink))}.tone-reminder{--pill-bg:color-mix(in srgb, #e7ddfa 66%, var(--panel-strong));--pill-border:color-mix(in srgb, #8066b0 29%, var(--border-soft));--pill-ink:color-mix(in srgb, #60478c 82%, var(--ink))}.tone-timetable{--pill-bg:color-mix(in srgb, #aee0e2 43%, var(--panel-strong));--pill-border:color-mix(in srgb, #60a9ad 29%, var(--border-soft));--pill-ink:color-mix(in srgb, #2e7175 76%, var(--ink))}.tone-library{--pill-bg:color-mix(in srgb, #d0c7ee 44%, var(--panel-strong));--pill-border:color-mix(in srgb, #9180c4 29%, var(--border-soft));--pill-ink:color-mix(in srgb, #665493 76%, var(--ink))}.mode-normal-working,.mode-special-working{--calendar-tone:#7b8797;--calendar-soft:var(--panel-strong)}.mode-holiday{--calendar-tone:#d66d79;--calendar-soft:color-mix(in srgb, #f6d5d9 30%, var(--panel-strong))}.mode-vacation{--calendar-tone:#9c72c4;--calendar-soft:color-mix(in srgb, #e8dcf5 32%, var(--panel-strong))}.mode-half-day{--calendar-tone:#7f8da1;--calendar-soft:color-mix(in srgb, #dce3ec 30%, var(--panel-strong))}.mode-no-bag{--calendar-tone:#5fae91;--calendar-soft:color-mix(in srgb, #d2eee2 32%, var(--panel-strong))}.mode-observance{--calendar-tone:#6e96d2;--calendar-soft:color-mix(in srgb, #d6e3f7 32%, var(--panel-strong))}.calendar-hover-card{background:var(--panel-strong);border:1px solid var(--border-soft);color:var(--ink);opacity:0;pointer-events:none;visibility:hidden;z-index:70;border-radius:14px;gap:8px;min-width:min(270px,76vw);padding:12px;transition:opacity .14s,transform .18s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;bottom:calc(100% - 8px);left:8px;transform:translateY(6px)scale(.98);box-shadow:0 20px 55px #0f172a33}.calendar-day:nth-child(7n),.calendar-day:nth-child(7n-1){--hover-align:right}.calendar-day:nth-child(7n) .calendar-hover-card,.calendar-day:nth-child(7n-1) .calendar-hover-card{left:auto;right:8px}.calendar-day:nth-child(-n+14) .calendar-hover-card{top:calc(100% - 8px);bottom:auto}.calendar-day:hover .calendar-hover-card,.calendar-day:focus-visible .calendar-hover-card{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.calendar-hover-heading{border-bottom:1px solid var(--border-soft);gap:2px;padding-bottom:8px;display:grid}.calendar-hover-heading strong{font-size:12px}.calendar-hover-heading small,.calendar-hover-row small{color:var(--muted);font-size:10px;font-weight:750}.calendar-hover-row{grid-template-columns:7px 1fr;align-items:center;gap:8px;display:grid}.calendar-hover-row>i{background:var(--pill-ink);border-radius:999px;width:7px;height:7px}.calendar-hover-row>span{min-width:0;display:grid}.calendar-hover-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calendar-hover-empty{color:var(--muted);padding:8px 0;font-size:11px}.calendar-compact-legend{border-top:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:13px;min-height:42px;padding:8px 14px;display:flex}.calendar-compact-legend span{color:var(--muted);align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.calendar-compact-legend span:before{background:var(--pill-ink);content:"";border-radius:50%;width:7px;height:7px}.calendar-compact-legend em{color:var(--muted);margin-left:auto;font-size:10px;font-style:normal;font-weight:800}.calendar-completed-toggle{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:750;display:inline-flex}.calendar-completed-toggle input{accent-color:#5275b8}.calendar-overlay{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0c1052;justify-content:flex-end;align-items:stretch;animation:.16s both calendar-fade-in;display:flex;position:fixed;inset:0}.calendar-sheet{background:var(--panel-strong);border-left:1px solid var(--border-soft);width:min(520px,100%);max-width:100%;padding:28px;animation:.24s cubic-bezier(.22,1,.36,1) both calendar-sheet-in;position:relative;overflow-y:auto;box-shadow:-24px 0 70px #00000029}.calendar-sheet-close{background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:18px;right:18px}.calendar-day-details,.calendar-editor{gap:18px;display:grid}.calendar-day-details>header,.calendar-editor>header{gap:5px;padding-right:42px;display:grid}.calendar-day-details h2,.calendar-editor h2{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:24px}.calendar-editor>header>p:last-child,.calendar-day-description{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.calendar-day-details>header>div{flex-wrap:wrap;gap:7px;margin-top:7px;display:flex}.calendar-day-details>header>div span{background:var(--surface-soft);color:var(--muted);border-radius:8px;align-items:center;gap:5px;padding:7px 9px;font-size:11px;font-weight:800;display:inline-flex}.calendar-work-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.calendar-work-row>span:first-child{gap:3px;min-width:0;display:grid}.calendar-work-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calendar-work-actions button,.calendar-work-actions a,.calendar-work-create{background:color-mix(in srgb, #5376b9 10%, var(--surface));border:1px solid color-mix(in srgb, #5376b9 24%, var(--border-soft));color:var(--ink);font:inherit;border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.calendar-work-actions label{color:var(--muted);font-size:9px;font-weight:800}.calendar-work-actions input{background:var(--surface);border:1px solid var(--border-soft);color:var(--ink);font:inherit;border-radius:7px;margin-top:3px;padding:5px;font-size:10px;display:block}.calendar-work-create{width:fit-content;margin-top:6px}.calendar-agenda-section{border-top:1px solid var(--border-soft);gap:9px;padding-top:15px;display:grid}.calendar-agenda-section h3{color:var(--ink);align-items:center;gap:7px;margin:0;font-size:13px;display:flex}.calendar-agenda-section>div{gap:6px;display:grid}.calendar-agenda-section article,.calendar-agenda-section button{background:var(--surface-soft);color:inherit;font:inherit;text-align:left;border:1px solid #0000;border-radius:10px;gap:2px;width:100%;padding:9px 10px;display:grid}.calendar-agenda-section button{cursor:pointer}.calendar-agenda-section button:hover{border-color:var(--border-soft);transform:translate(2px)}.calendar-agenda-section strong{color:var(--ink);font-size:12px}.calendar-agenda-section small{color:var(--muted);font-size:10px}.calendar-sheet-primary{background:var(--ink);color:var(--panel-strong);cursor:pointer;font:inherit;border:0;border-radius:10px;justify-content:center;align-self:start;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:12px;font-weight:900;display:inline-flex}.calendar-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.calendar-form-grid label{color:var(--muted);gap:5px;font-size:11px;font-weight:850;display:grid}.calendar-form-grid label.wide{grid-column:1/-1}.calendar-form-grid input,.calendar-form-grid select,.calendar-form-grid textarea{background:var(--panel-strong);border:1px solid var(--border-soft);color:var(--ink);font:inherit;border-radius:9px;width:100%;min-height:40px;padding:9px}.calendar-form-grid textarea{resize:vertical}.calendar-scope-fieldset{border:1px solid var(--border-soft);border-radius:12px;gap:9px;margin:0;padding:12px;display:grid}.calendar-scope-fieldset legend{color:var(--ink);padding:0 5px;font-size:12px;font-weight:900}.calendar-scope-fieldset>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.calendar-scope-fieldset label,.calendar-stage-checks label{color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.calendar-school-wide{border-bottom:1px solid var(--border-soft);padding-bottom:9px}.calendar-advanced-fields{border-top:1px solid var(--border-soft);padding-top:12px}.calendar-advanced-fields summary{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:850;list-style:none;display:flex}.calendar-advanced-fields summary::-webkit-details-marker{display:none}.calendar-advanced-fields>div{margin-top:12px}.calendar-stage-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.calendar-entry-actions{flex-wrap:wrap;gap:8px}.school-week-editor{gap:22px}.school-week-pattern{border:1px solid var(--border-soft);border-radius:14px;overflow:hidden}.school-week-row{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(88px,1fr) minmax(126px,1.2fr) 90px;align-items:center;gap:10px;min-height:52px;padding:8px 10px;display:grid}.school-week-row:last-child{border-bottom:0}.school-week-row strong{color:var(--ink);font-size:12px}.school-week-row select,.school-week-row input,.calendar-rule-fields input,.calendar-rule-fields select,.calendar-change-summary textarea{background:var(--panel-strong);border:1px solid var(--border-soft);color:var(--ink);font:inherit;border-radius:9px;width:100%;min-height:36px;padding:7px 8px}.calendar-rule-builder{border-top:1px solid var(--border-soft);gap:10px;padding-top:18px;display:grid}.calendar-rule-builder>div:first-child{gap:3px;display:grid}.calendar-rule-builder h3{color:var(--ink);margin:0;font-size:14px}.calendar-rule-builder p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.calendar-rule-builder article{background:var(--surface-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.calendar-rule-builder article>span{gap:2px;display:grid}.calendar-rule-builder article strong{color:var(--ink);font-size:12px}.calendar-rule-builder article small{color:var(--muted);font-size:10px}.calendar-rule-builder article button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.calendar-rule-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.calendar-rule-fields label,.calendar-change-summary{color:var(--muted);gap:5px;font-size:11px;font-weight:850;display:grid}.calendar-rule-fields label.wide{grid-column:1/-1}.calendar-change-summary textarea{resize:vertical}.danger-pill{border:1px solid color-mix(in srgb, #c94343 28%, var(--border-soft));color:#c94343;cursor:pointer;font:inherit;background:#c9434317;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-weight:900;display:inline-flex}.danger-pill.compact{padding:7px 10px;font-size:13px}@media (max-width:1120px){.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar-actions{justify-content:space-between}.calendar-day{min-height:92px}}@media (max-width:780px){.calendar-timetable-generator,.calendar-generator-actions{flex-direction:column;align-items:stretch}.calendar-page-head{flex-direction:column;align-items:flex-start}.calendar-head-summary{justify-content:flex-start}.calendar-toolbar-actions{flex-wrap:wrap;align-items:stretch}.calendar-source-tabs{max-width:100%;overflow-x:auto}.calendar-source-tabs button{white-space:nowrap}.calendar-month-navigation>div{min-width:126px}.calendar-day{min-height:74px;padding:5px}.calendar-event-stack{gap:3px;display:flex}.calendar-event-pill{border:0;border-radius:50%;width:6px;height:6px;min-height:6px;padding:0}.calendar-event-pill>span,.calendar-more-count,.calendar-hover-card{display:none}.calendar-compact-legend em{flex-basis:100%;margin-left:0}.calendar-sheet{width:100%;padding:24px 18px}}@media (max-width:520px){.calendar-head-summary span:nth-child(2){display:none}.calendar-month-navigation{width:100%}.calendar-month-navigation>div{flex:1;min-width:0}.calendar-today-button{margin-left:auto}.calendar-source-tabs{order:3;width:100%}.calendar-source-tabs button{flex:1}.calendar-menu>div{left:0;right:auto}.calendar-weekdays span{font-size:8px}.calendar-day{min-height:64px}.calendar-day-top>strong{width:22px;height:22px;font-size:11px}.calendar-day-top>small{display:none}.calendar-form-grid,.calendar-rule-fields,.calendar-scope-fieldset>div,.calendar-stage-checks{grid-template-columns:1fr}.calendar-rule-fields label.wide{grid-column:auto}.school-week-row{grid-template-columns:82px 1fr}.school-week-row input{grid-column:2}}@keyframes calendar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes calendar-rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes calendar-cell-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes calendar-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes calendar-sheet-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.calendar-workspace,.calendar-surface,.calendar-day,.calendar-menu>div,.calendar-overlay,.calendar-sheet{animation:none}.calendar-day,.calendar-hover-card,.calendar-month-navigation>button,.calendar-add-button,.calendar-publish-button{transition:none}}
.work-message{background:var(--panel-strong);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);color:var(--ink);border-radius:13px;margin:0;padding:10px 13px;box-shadow:0 4px 14px #0000000a}.work-message.error{border-color:color-mix(in srgb, var(--ink) 18%, transparent)}.work-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.work-tabs button{min-width:82px}.work-search{background:var(--panel-strong);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);color:var(--muted);border-radius:12px;align-items:center;gap:8px;min-width:min(350px,42vw);padding:0 12px;display:flex}.work-search input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:10px 0}.work-groups{gap:22px;display:grid}.work-groups>section>header{align-items:center;gap:8px;margin-bottom:9px;display:flex}.work-groups>section>header h2{letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.77rem}.work-groups>section>header span{background:color-mix(in srgb, var(--surface) 70%, var(--line));color:var(--muted);border-radius:999px;padding:3px 7px;font-size:.68rem}.work-groups>section>div{overflow:hidden}.work-list-item{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:7px 8px;transition:background .18s;display:grid}.work-list-item:last-child{border-bottom:0}.work-list-item:hover,.work-list-item.selected{background:color-mix(in srgb, var(--accent) 5%, var(--panel-strong))}.work-list-item.overdue{background:color-mix(in srgb, var(--ink) 3%, var(--panel-strong))}.work-list-item.done{opacity:.7}.work-item-main{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-width:0;padding:10px 12px;display:grid}.work-kind-icon{background:color-mix(in srgb, var(--accent) 9%, var(--surface));color:var(--accent);border-radius:12px;justify-content:center;align-items:center;width:39px;height:39px;display:inline-flex}.work-kind-icon.note{background:color-mix(in srgb, var(--accent) 7%, var(--surface));color:var(--accent)}.work-status-toggle{background:var(--panel-strong);border:1.5px solid color-mix(in srgb, var(--accent) 60%, var(--ink));color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:23px;height:23px;margin-left:7px;padding:0;display:inline-flex}.work-status-toggle:hover:not(:disabled),.work-status-toggle:focus-visible{background:color-mix(in srgb, var(--accent) 10%, var(--panel-strong));border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 13%, transparent);outline:0}.work-status-toggle:disabled{cursor:default;opacity:.45}.work-list-item.done .work-status-toggle{background:var(--accent);border-color:var(--accent);opacity:1}.work-note-marker{color:var(--accent);justify-content:center;align-items:center;width:37px;height:37px;margin-left:1px;display:inline-flex}.work-item-copy{gap:3px;min-width:0;display:grid}.work-item-copy>small{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:750}.work-list-item.overdue .work-item-copy>small{color:var(--ink)}.work-item-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.work-item-copy>em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-style:normal;overflow:hidden}.work-item-copy>span{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.work-item-copy i{background:color-mix(in srgb, var(--ink) 5%, var(--panel-strong));color:var(--ink-soft);border-radius:999px;padding:3px 7px;font-size:.64rem;font-style:normal}.work-item-copy b{color:var(--muted);align-items:center;gap:4px;font-size:.67rem;font-weight:650;display:inline-flex}.work-item-quick-actions{gap:5px;padding-right:10px;display:flex}.work-item-quick-actions button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:0 0;border-radius:9px;align-items:center;gap:4px;padding:7px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.work-empty{padding:60px 20px}.work-empty strong{color:var(--ink);margin-top:9px}.work-empty p{margin:5px 0 0}.work-composer-backdrop,.work-detail-backdrop{-webkit-backdrop-filter:blur(6px);z-index:1000;background:0 0;place-items:center;padding:clamp(16px,4vw,42px);display:grid;position:fixed;inset:0}.work-composer,.work-detail-sheet{--ink:#17233f;--ink-soft:#34435f;--muted:#63708a;--line:#17233f29;--panel:#fff;--surface:#fff;--glass:#fff;--background:#f7f8fa;--primary:var(--accent);color:#17233f;isolation:isolate;background:#fff;border:1px solid #17233f29;border-radius:24px;width:min(680px,100%);max-height:min(88dvh,860px);padding:clamp(22px,3vw,32px);overflow-y:auto;box-shadow:0 28px 90px #1622372e}.work-composer{scrollbar-color:color-mix(in srgb, var(--muted) 35%, transparent) transparent;align-content:start;gap:16px;display:grid}.work-composer>header,.work-detail-sheet>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.work-composer h2,.work-composer p,.work-detail-sheet h2,.work-detail-sheet p{margin:0}.work-composer h2{letter-spacing:-.035em;margin:4px 0;font-size:1.65rem}.work-composer header small,.work-detail-sheet header small{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.work-composer header p{color:var(--muted);font-size:.8rem}.work-composer header button,.work-detail-close{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#f7f8fa;border-radius:11px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.work-composer label,.work-update-form label,.work-extension form{color:var(--ink-soft);gap:6px;font-size:.72rem;font-weight:720;display:grid}.work-composer input,.work-composer textarea,.work-composer select,.work-update-form textarea,.work-extension input,.work-extension textarea{border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;background:#fafafa;border-radius:12px;outline:0;padding:11px 12px}.work-composer input::placeholder,.work-composer textarea::placeholder{color:color-mix(in srgb, var(--muted) 82%, transparent)}.work-composer input:focus,.work-composer textarea:focus,.work-composer select:focus,.work-update-form textarea:focus{border-color:color-mix(in srgb, var(--primary) 60%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.work-composer-dates,.work-target-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.work-composer-dates label small{color:var(--muted);font-size:.65rem;font-weight:600}.work-composer-advanced{border:1px solid var(--line);background:#f7f8fa;border-radius:14px;padding:12px}.work-composer-advanced summary{cursor:pointer;align-items:center;gap:7px;font-size:.76rem;font-weight:750;list-style:none;display:flex}.work-composer-advanced[open] summary{margin-bottom:13px}.work-composer-advanced>div,.work-composer-advanced>label,.work-composer-advanced>fieldset{margin-top:11px}.work-assignment-scope{gap:7px;display:grid}.work-assignment-scope>span{color:var(--ink-soft);font-size:.72rem;font-weight:720}.work-assignment-scope>div{flex-wrap:wrap;gap:6px;display:flex}.work-assignment-scope button{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;background:#fff;border-radius:9px;padding:7px 10px;font-size:.7rem;font-weight:720}.work-assignment-scope button.active{background:color-mix(in srgb, var(--primary) 9%, #fff);border-color:color-mix(in srgb, var(--primary) 28%, var(--line));color:var(--primary)}.work-person-picker{gap:6px;display:grid;position:relative}.work-person-combobox{position:relative}.work-person-combobox>svg{color:var(--muted);pointer-events:none;z-index:1;position:absolute;top:12px;left:12px}.work-person-combobox>input{width:100%;padding-left:37px;padding-right:38px}.work-person-combobox>button{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex;position:absolute;top:4px;right:4px}.work-person-options{border:1px solid var(--line);z-index:12;background:#fff;border-radius:13px;gap:3px;max-height:250px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 45px #1c2b462b}.work-person-options>button{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:8px;display:grid}.work-person-options>button.selected,.work-person-options>button:hover{background:color-mix(in srgb, var(--primary) 7%, #fff)}.work-person-options>button>span:last-child{gap:2px;min-width:0;display:grid}.work-person-options strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.work-person-options small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.work-person-options>p{color:var(--muted);text-align:center;margin:0;padding:18px 10px;font-size:.72rem}.work-person-avatar{background:color-mix(in srgb, var(--primary) 9%, #fff);color:var(--primary);border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.62rem;font-weight:800;display:inline-flex}.work-person-selection{color:var(--primary);align-items:center;gap:5px;margin-top:7px;font-size:.67rem;display:inline-flex}.work-composer-advanced fieldset{border:1px solid var(--line);border-radius:11px;gap:8px;display:grid}.work-composer-advanced fieldset label,.work-check-option{align-items:center;gap:8px;display:flex}.work-composer footer{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);justify-content:flex-end;gap:8px;margin-top:2px;padding-top:16px;display:flex}.work-composer footer button,.work-detail-actions button,.work-update-form button,.work-extension button,.work-extension-request button,.work-acknowledge{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:0 0;border-radius:11px;align-items:center;gap:6px;padding:9px 12px;font-size:.76rem;font-weight:750;display:inline-flex}.work-composer footer .primary,.work-detail-actions .primary{background:var(--primary);border-color:var(--primary);color:#fff}.work-detail-sheet{position:relative}.work-detail-close{position:absolute;top:20px;right:20px}.work-detail-sheet>header{justify-content:flex-start;padding-right:45px}.work-detail-sheet h2{letter-spacing:-.035em;margin:4px 0;font-size:1.55rem}.work-detail-sheet header p{color:var(--muted);font-size:.75rem}.work-detail-description{color:var(--ink-soft);padding:22px 2px;line-height:1.65}.work-detail-facts{border-bottom:1px solid var(--line);border-top:1px solid var(--line);gap:9px;padding:16px 0;display:grid}.work-detail-facts span,.work-detail-facts a{color:var(--ink-soft);align-items:center;gap:8px;font-size:.76rem;text-decoration:none;display:flex}.work-checklist{gap:9px;margin-top:18px;display:grid}.work-checklist span{align-items:center;gap:8px;font-size:.78rem;display:flex}.work-detail-actions{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.work-detail-actions .danger,.work-extension-request button:last-child{color:#a4445d}.work-progress{border:1px solid var(--line);background:#f7f8fa;border-radius:15px;margin-top:19px;padding:15px}.work-progress>header{justify-content:space-between;font-size:.78rem;display:flex}.work-progress>header span{color:var(--muted)}.work-progress>div{background:#50668c26;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.work-progress>div i{background:var(--primary);height:100%;display:block}.work-progress details{margin-top:12px}.work-progress summary{cursor:pointer;font-size:.72rem;font-weight:750}.work-progress details p{justify-content:space-between;padding-top:8px;font-size:.72rem;display:flex}.work-progress details b{text-transform:capitalize;font-weight:650}.work-update-form{gap:8px;margin-top:22px;display:grid}.work-update-form button{justify-self:end}.work-updates{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.work-updates h3{margin:0 0 10px;font-size:.82rem}.work-updates article{background:var(--background);border-radius:11px;margin-top:7px;padding:10px}.work-updates article p{font-size:.76rem}.work-updates article small{color:var(--muted);font-size:.65rem}.work-extension{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.work-extension summary{cursor:pointer;font-size:.76rem;font-weight:750}.work-extension form{gap:8px;margin-top:10px}.work-extension button,.work-extension-request button{justify-self:start}.work-extension-request{background:#f7f8fa;border-radius:13px;gap:8px;margin-top:14px;padding:13px;display:grid}.work-extension-request p{justify-content:space-between;font-size:.76rem;display:flex}.work-extension-request small{color:var(--muted)}.work-extension-request div{gap:7px;display:flex}.work-acknowledge{margin-top:16px}@media (max-width:780px){.work-page-header{flex-direction:column;align-items:flex-start}.work-page-actions{justify-content:flex-start;width:100%}.work-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-toolbar{flex-direction:column;align-items:stretch}.work-search{width:100%;min-width:0}.work-list-item{grid-template-columns:auto minmax(0,1fr)}.work-item-quick-actions{grid-column:2;justify-content:flex-end;padding:0 12px 7px}.work-composer-dates,.work-target-row{grid-template-columns:1fr}.work-composer-backdrop,.work-detail-backdrop{padding:14px}.work-composer,.work-detail-sheet{border-radius:20px;max-height:calc(100dvh - 28px)}}@media (max-width:480px){.work-page-header h1{font-size:2.65rem}.work-page-actions a,.work-page-actions button{flex:auto;justify-content:center}.work-summary-card{padding:14px}.work-item-main{gap:9px;padding:10px 8px}.work-kind-icon{width:34px;height:34px}.work-composer,.work-detail-sheet{padding:22px 18px}.work-composer footer{background:#fff;margin-inline:-18px;padding:14px 18px 18px;position:sticky;bottom:-22px}}@media (prefers-reduced-motion:reduce){.work-list-item{transition:none}}