.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 label{color:var(--muted);gap:3px;font-size:.68rem;font-weight:800;display:grid}.calendar-generator-actions select{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:10px;min-height:42px;padding:0 10px}.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}}
.visitor-readonly{color:var(--muted);border-radius:999px}.visitor-summary article{align-items:center;gap:14px;min-height:104px;padding-inline:20px;display:flex}.visitor-summary svg{color:var(--accent)}.visitor-summary article>div{gap:2px;display:grid}.visitor-summary strong{letter-spacing:-.04em;font-size:1.65rem}.visitor-summary span{color:var(--muted);font-size:.78rem;font-weight:700}.visitor-toolbar{align-items:center;gap:10px;display:flex}.visitor-toolbar label{background:var(--panel-strong);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:13px;flex:1;align-items:center;gap:9px;padding:0 14px;display:flex;box-shadow:0 4px 14px #0000000a}.visitor-toolbar label svg{color:var(--muted);flex:none}.visitor-toolbar input,.visitor-toolbar select{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;min-height:48px}.visitor-toolbar input{width:100%;min-width:0}.visitor-toolbar select{background:var(--panel-strong);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:13px;min-width:180px;padding:0 14px}.visitor-content{grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);align-items:start;gap:20px;display:grid}.visitor-primary-column,.visitor-side-panel,.visitor-history{background:var(--panel-strong);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:24px;overflow:hidden;box-shadow:0 7px 22px #0000000d}.visitor-section-head,.visitor-side-panel>header,.visitor-history>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 21px;display:flex}.visitor-section-head span,.visitor-side-panel header span,.visitor-history header span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.visitor-section-head h2,.visitor-side-panel h2,.visitor-history h2{margin:4px 0 0;font-size:1.05rem}.visitor-section-head>strong{background:color-mix(in srgb, var(--accent) 10%, var(--panel-strong));color:var(--accent);border-radius:999px;justify-content:center;align-items:center;min-width:29px;height:29px;padding:0 9px;font-size:.78rem;display:flex}.visitor-active-list{display:grid}.visitor-active-card{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr);align-items:start;gap:14px;padding:18px 20px;display:grid}.visitor-active-card:last-child{border-bottom:0}.visitor-active-card.long{background:color-mix(in srgb, var(--panel) 96%, var(--ink))}.visitor-avatar{background:color-mix(in srgb, var(--accent) 9%, var(--panel-strong));border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);border-radius:15px;justify-content:center;align-items:center;width:52px;height:52px;font-size:.8rem;font-weight:900;display:flex;overflow:hidden}.visitor-avatar img{object-fit:cover;width:100%;height:100%}.visitor-card-main{gap:6px;min-width:0;display:grid}.visitor-card-main header{justify-content:space-between;align-items:start;gap:12px;display:flex}.visitor-card-main header>div{gap:2px;display:grid}.visitor-card-main header strong{font-size:.95rem}.visitor-card-main header>div span,.visitor-card-main p,.visitor-card-main small,.visitor-card-main em{color:var(--muted);font-size:.76rem;font-style:normal}.visitor-card-main p{margin:2px 0 0}.visitor-card-main p strong{color:var(--ink)}.visitor-card-main small{align-items:center;gap:5px;display:flex}.visitor-card-main em{background:color-mix(in srgb, var(--panel) 96%, var(--ink));border-radius:8px;justify-self:start;padding:5px 8px}.visitor-duration{background:color-mix(in srgb, var(--accent) 9%, var(--panel-strong));color:var(--accent);border-radius:999px;flex:none;align-items:center;gap:5px;padding:6px 9px;font-size:.7rem;font-weight:800;display:inline-flex}.visitor-active-card.long .visitor-duration{background:color-mix(in srgb, var(--accent) 14%, var(--panel-strong));color:var(--accent)}.visitor-card-actions{flex-wrap:wrap;gap:8px;margin-top:7px;display:flex}.visitor-card-actions button{background:var(--panel-strong);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);color:var(--ink);cursor:pointer;font:inherit;border-radius:11px;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-size:.76rem;font-weight:800;display:flex}.visitor-card-actions .visitor-checkout{background:var(--accent);border-color:var(--accent);color:#fff}.visitor-content aside{gap:16px;display:grid}.visitor-side-panel>header,.visitor-history>header{justify-content:flex-start;gap:11px}.expected-visitor{border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:15px 18px;display:flex}.expected-visitor:last-child{border-bottom:0}.expected-visitor:disabled{cursor:default}.expected-visitor>span{gap:4px;display:grid}.expected-visitor strong{font-size:.82rem}.expected-visitor small,.visitor-side-panel article small{color:var(--muted);font-size:.7rem}.visitor-side-panel.attention{border-color:color-mix(in srgb, var(--accent) 22%, transparent)}.visitor-side-panel.attention article{border-bottom:1px solid var(--line);padding:15px 18px}.visitor-side-panel.attention article:last-child{border-bottom:0}.visitor-side-panel.attention article strong{font-size:.82rem}.visitor-side-panel.attention article p{color:var(--muted);margin:5px 0 7px;font-size:.75rem;line-height:1.45}.visitor-empty{color:var(--muted);text-align:center;place-items:center;padding:52px 22px;display:grid}.visitor-empty svg{color:var(--accent);margin-bottom:10px}.visitor-empty strong{color:var(--ink)}.visitor-empty p{margin:6px 0 0;font-size:.78rem}.visitor-history>div{display:grid}.visitor-history article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:14px 19px;display:flex}.visitor-history article:last-child{border-bottom:0}.visitor-history article>span{gap:4px;display:grid}.visitor-history article>span:last-child{text-align:right}.visitor-history strong{font-size:.83rem}.visitor-history small{color:var(--muted);font-size:.7rem}.visitor-status{background:var(--panel-strong);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:14px;padding:13px 15px;box-shadow:0 4px 14px #0000000a}.visitor-status.error{border-color:color-mix(in srgb, var(--accent) 24%, transparent);color:var(--ink)}.visitor-sheet-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:120;background:0 0;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.visitor-sheet{color:#17243b;background:#fff;border:1px solid #dfe5ef;border-radius:24px;width:100%;max-width:780px;max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 28px 75px #14233c3b}.visitor-sheet>header{border-bottom:1px solid #e4e9f1;justify-content:space-between;align-items:start;gap:20px;padding:22px 24px 18px;display:flex}.visitor-sheet>header span{color:#5872a1;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:850}.visitor-sheet>header h2{letter-spacing:-.035em;margin:5px 0;font-size:1.45rem}.visitor-sheet>header p{color:#68758b;margin:0;font-size:.8rem}.visitor-sheet>header>button{color:#263852;cursor:pointer;background:#f4f6fa;border:1px solid #dce3ed;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.visitor-sheet form{gap:20px;padding:22px 24px 24px;display:grid}.visitor-purpose-grid{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.visitor-purpose-grid legend{width:100%;margin-bottom:10px;font-size:.77rem;font-weight:850}.visitor-purpose-grid button{color:#536078;cursor:pointer;font:inherit;background:#f5f7fa;border:1px solid #dce3ed;border-radius:999px;padding:8px 11px;font-size:.72rem;font-weight:750}.visitor-purpose-grid button.active{background:var(--accent);border-color:var(--accent);color:#fff}.visitor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.visitor-field{gap:7px;min-width:0;display:grid;position:relative}.visitor-field.wide{grid-column:1/-1}.visitor-field>span:first-child{font-size:.74rem;font-weight:800}.visitor-field>span small{color:#7b879a;font-size:.66rem;font-weight:600}.visitor-field input,.visitor-field select{color:#17243b;font:inherit;background:#f8f9fb;border:1px solid #d9e1ec;border-radius:12px;outline:0;width:100%;min-width:0;min-height:47px;padding:0 13px}.visitor-field input:focus,.visitor-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 13%, transparent)}.visitor-input-icon{align-items:center;display:flex;position:relative}.visitor-input-icon svg{color:#6f7d93;position:absolute;left:13px}.visitor-input-icon input{padding-left:39px}.visitor-directory-field{z-index:3}.visitor-selected-result{color:#17243b;cursor:pointer;font:inherit;text-align:left;background:#f0f4fa;border:1px solid #cdd9e9;border-radius:12px;justify-content:space-between;align-items:center;min-height:54px;padding:9px 12px;display:flex}.visitor-selected-result>span,.visitor-search-results button{gap:3px;display:grid}.visitor-selected-result strong,.visitor-search-results strong{font-size:.78rem}.visitor-selected-result small,.visitor-search-results small{color:#68758b;font-size:.68rem}.visitor-search-results{z-index:5;background:#fff;border:1px solid #d8e0eb;border-radius:12px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 16px 35px #14233c24}.visitor-search-results button{color:#17243b;cursor:pointer;font:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #e6eaf0;padding:11px 13px}.visitor-search-results button:hover{background:#f4f7fb}.visitor-photo-capture{background:#f6f8fb;border:1px solid #dce4ee;border-radius:16px;justify-content:space-between;align-items:center;gap:15px;padding:14px;display:flex}.visitor-photo-capture>div:first-child{align-items:center;gap:12px;min-width:0;display:flex}.visitor-photo-capture img{object-fit:cover;border-radius:12px;width:96px;height:78px}.visitor-photo-capture span{grid-template-columns:auto 1fr;align-items:start;gap:3px;display:grid}.visitor-photo-capture span svg{color:#5471a4;grid-row:1/3;margin:2px 7px 0 0}.visitor-photo-capture span strong{font-size:.8rem}.visitor-photo-capture span small{color:#68758b;font-size:.68rem}.visitor-photo-capture>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.visitor-photo-capture button{color:#243652;cursor:pointer;font:inherit;background:#fff;border:1px solid #ccd7e7;border-radius:11px;align-items:center;gap:6px;min-height:39px;padding:0 11px;font-size:.72rem;font-weight:800;display:flex}.visitor-sheet footer{border-top:1px solid #e4e9f1;justify-content:flex-end;gap:9px;padding-top:18px;display:flex}.visitor-sheet footer button{cursor:pointer;font:inherit;border-radius:12px;align-items:center;gap:7px;min-height:45px;padding:0 16px;font-size:.8rem;font-weight:850;display:flex}.visitor-cancel{color:#33445f;background:#fff;border:1px solid #d8e0eb}.visitor-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.visitor-primary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:900px){.visitor-content{grid-template-columns:1fr}.visitor-content aside{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.visitor-workspace{gap:14px;margin-bottom:22px}.visitor-hero{flex-direction:column;align-items:stretch;gap:16px;min-height:0;padding:8px 0 10px}.visitor-hero h1{font-size:2.75rem}.visitor-hero>button{justify-content:center;width:100%;min-height:44px}.visitor-readonly{align-self:flex-start}.visitor-summary{grid-template-columns:1fr 1fr 1fr;gap:8px}.visitor-summary article{border-radius:16px;align-items:start;min-height:78px;padding:12px}.visitor-summary strong{font-size:1.35rem}.visitor-toolbar{flex-direction:column;align-items:stretch}.visitor-toolbar select{width:100%}.visitor-primary-column,.visitor-side-panel,.visitor-history{border-radius:18px}.visitor-active-card{grid-template-columns:43px minmax(0,1fr);padding:16px 14px}.visitor-avatar{border-radius:12px;width:43px;height:43px}.visitor-card-main header{align-items:start}.visitor-card-actions{grid-template-columns:1fr auto;display:grid}.visitor-card-actions button{justify-content:center;min-height:45px}.visitor-content aside{grid-template-columns:1fr}.visitor-history article{align-items:start}.visitor-sheet-backdrop{align-items:flex-end;padding:0}.visitor-sheet{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:94vh}.visitor-sheet>header{padding:19px 18px 15px}.visitor-sheet form{padding:18px}.visitor-form-grid{grid-template-columns:1fr}.visitor-field.wide{grid-column:auto}.visitor-photo-capture{flex-direction:column;align-items:stretch}.visitor-photo-capture>div:last-child{justify-content:stretch}.visitor-photo-capture button{justify-content:center}.visitor-sheet footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:#fff;margin:0 -18px -18px;position:sticky;bottom:-18px}.visitor-sheet footer button{flex:1;justify-content:center}}:root[data-theme=dark] .visitor-sheet{color:#17243b;background:#fff}.visitor-settings-panel{border:1px solid var(--line);background:#f8faff;border-radius:20px;gap:18px;margin-top:18px;padding:20px;display:grid}.visitor-settings-panel>header{justify-content:space-between;align-items:start;gap:16px;display:flex}.visitor-settings-panel>header span{color:#5872a1;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:850}.visitor-settings-panel>header h3{margin:5px 0}.visitor-settings-panel>header p{color:var(--muted);margin:0;font-size:.78rem}.visitor-settings-panel>header svg{color:#4c70a8}.visitor-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.visitor-settings-panel fieldset{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:12px;margin:0;padding:15px;display:grid}.visitor-settings-panel legend{align-items:center;gap:6px;padding:0 5px;font-size:.78rem;font-weight:850;display:flex}.visitor-settings-panel fieldset>label:not(.checkbox-row){gap:6px;display:grid}.visitor-settings-panel fieldset>label:not(.checkbox-row)>span{color:var(--muted);font-size:.7rem;font-weight:750}.visitor-settings-panel input:not([type=checkbox]),.visitor-settings-panel select{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:10px;min-width:0;min-height:40px;padding:0 10px}.visitor-privacy-rule{color:#284468;background:#edf3fb;border:1px solid #cedaeb;border-radius:13px;align-items:start;gap:9px;padding:12px;display:flex}.visitor-privacy-rule span{gap:3px;display:grid}.visitor-privacy-rule strong{font-size:.76rem}.visitor-privacy-rule small{color:#5d6f8a;font-size:.67rem;line-height:1.4}.visitor-settings-gates>div{grid-template-columns:minmax(150px,1fr) minmax(150px,.8fr) auto;align-items:center;gap:9px;display:grid}.visitor-settings-gates>div label{align-items:center;gap:5px;font-size:.7rem;display:flex}.visitor-settings-gates>button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:10px;justify-self:start;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:.72rem;font-weight:800;display:flex}.visitor-field-policy>div{grid-template-columns:minmax(150px,1.4fr) repeat(4,minmax(100px,1fr));align-items:center;gap:8px;display:grid}.visitor-field-policy strong{font-size:.74rem}.visitor-field-policy-head span{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:800}@media (max-width:760px){.visitor-settings-grid,.visitor-settings-gates>div{grid-template-columns:1fr}.visitor-field-policy{overflow-x:auto}.visitor-field-policy>div{min-width:660px}}
.timetable-workspace{gap:20px;min-width:0;display:grid}.planner-page-head,.planner-panel-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.published-timetable-date{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:8px;display:flex}.published-timetable-date label{color:var(--muted);gap:3px;font-size:10px;font-weight:850;display:grid}.published-timetable-date input{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;min-height:34px;padding:6px 8px}.planner-page-head .page-subtitle,.planner-panel-head p{color:var(--muted);margin:5px 0 0}.planner-head-stats{gap:8px;display:flex}.planner-head-stats span{border:1px solid var(--line);background:var(--panel-strong);min-width:90px;color:var(--muted);border-radius:10px;padding:10px 13px;font-size:12px}.planner-head-stats strong{color:var(--ink);font-size:20px;display:block}.planner-tabs{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:6px;padding:5px;display:flex;overflow-x:auto}.planner-tabs button{min-width:max-content;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-weight:800;display:flex}.planner-tabs button span{border:1px solid var(--line);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.planner-tabs button.active{background:var(--panel-strong);color:var(--ink);box-shadow:var(--shadow-soft)}.planner-tabs button.active span{background:var(--accent);border-color:var(--accent);color:#fff}.planner-two-column{grid-template-columns:300px minmax(0,1fr);gap:16px;min-width:0;display:grid}.template-library,.template-editor,.planner-panel,.session-inspector{min-width:0;padding:20px}.planner-panel-head h2,.template-editor h2,.template-library h2,.session-inspector h2{margin:0}.planner-panel-head .eyebrow{margin-bottom:4px}.planner-inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-list{gap:8px;margin-top:18px;display:grid}.template-list>button{text-align:left;border:1px solid var(--line);background:var(--panel-strong);color:inherit;cursor:pointer;border-radius:9px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.template-list>button.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 15%, transparent)}.template-list strong,.template-list small{display:block}.template-list small{color:var(--muted);margin-top:3px}.stage-dot{background:#8ea9f1;border-radius:8px;width:9px;height:32px}.stage-dot.preparatory{background:#5cba9d}.stage-dot.middle{background:#e5a84f}.stage-dot.secondary{background:#916fd8}.template-meta-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin:18px 0;display:grid}.template-meta-grid label,.day-settings label:not(.toggle-row),.session-inspector label,.build-filters label,.planner-section-picker{color:var(--muted);gap:5px;font-size:12px;font-weight:800;display:grid}.template-meta-grid input,.template-meta-grid select,.day-settings input,.session-inspector input,.session-inspector select,.build-filters select,.planner-section-picker select{border:1px solid var(--line);background:var(--panel-strong);min-height:42px;color:var(--ink);font:inherit;border-radius:8px;padding:8px 10px}.template-day-tabs{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.template-day-tabs button{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:8px;gap:2px;padding:9px;display:grid}.template-day-tabs button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel-strong))}.template-day-tabs small{color:var(--muted)}.day-settings{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0;display:flex}.toggle-row{align-items:center;gap:8px;margin-right:auto;font-weight:800;display:flex}.timeline-summary{color:var(--muted);justify-content:space-between;margin:14px 0 8px;font-size:13px;font-weight:800;display:flex}.positive-text{color:var(--positive)}.warning-text{color:var(--danger)}.template-timeline{gap:7px;display:grid}.timeline-block{border:1px solid var(--line);background:var(--panel-strong);border-left:4px solid #7695e9;border-radius:9px;grid-template-columns:90px minmax(150px,2fr) minmax(100px,1fr) 90px auto;align-items:end;gap:8px;padding:9px;display:grid}.timeline-block.break{border-left-color:#e1a447}.timeline-block.assembly{border-left-color:#9673d8}.timeline-block.activity{border-left-color:#55aa90}.timeline-block label{color:var(--muted);gap:3px;font-size:11px;font-weight:800;display:grid}.timeline-block input,.timeline-block select{border:1px solid var(--line);background:var(--panel);width:100%;min-height:36px;color:inherit;font:inherit;border-radius:7px;padding:6px 8px}.timeline-time{align-self:center;font-weight:900}.timeline-time small{color:var(--muted);font-weight:700;display:block}.timeline-actions{gap:3px;display:flex}.timeline-actions button,.requirement-row>button{border:1px solid var(--line);width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border-radius:7px;place-items:center;display:grid}.add-block-actions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.add-block-actions button,.inspector-move-actions button{border:1px dashed var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:5px;padding:8px 10px;font-weight:800;display:inline-flex}.planner-empty-state{min-height:240px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:6px;display:grid}.planner-empty-state.compact{min-height:180px}.planner-empty-state strong{color:var(--ink)}.assignment-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px;margin-top:18px;display:grid}.assignment-grid article{border:1px solid var(--line);border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(150px,1fr);align-items:center;gap:10px;padding:12px;display:grid}.assignment-grid strong,.assignment-grid small{display:block}.assignment-grid small{color:var(--muted);margin-top:3px}.assignment-grid select,.requirement-row input,.requirement-row select{border:1px solid var(--line);background:var(--panel-strong);min-height:38px;color:inherit;font:inherit;border-radius:7px;padding:7px 9px}.planner-section-picker{width:min(320px,100%);margin:18px 0 12px}.planner-grade-apply{width:fit-content;margin:0 0 16px}.requirement-table{min-width:900px}.requirement-head,.requirement-row{border-bottom:1px solid var(--line);grid-template-columns:1.4fr 120px 90px 1.4fr 180px 40px;align-items:center;gap:8px;padding:9px 0;display:grid}.requirement-head{color:var(--muted);font-size:12px;font-weight:850}.planner-panel:has(.requirement-table){overflow-x:auto}.requirement-rules{color:var(--muted);gap:8px;font-size:12px;display:flex}.requirement-rules label{align-items:center;gap:4px;display:flex}.requirement-add{margin-top:12px}.cohort-strip{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.cohort-strip span{border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:8px 10px;font-size:11px;display:grid}.cohort-strip strong{color:var(--ink)}.choice-review-list{gap:8px;margin-top:20px;display:grid}.choice-review-list h3{margin:0 0 3px}.choice-review-list article{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:9px;padding:10px;display:grid}.choice-review-list strong,.choice-review-list small{display:block}.choice-review-list small{color:var(--muted);margin-top:3px}.planner-build-layout{grid-template-columns:minmax(0,1fr) 280px;gap:15px;min-width:0;display:grid}.build-filters{flex-wrap:wrap;align-items:end;gap:10px;margin:15px 0;display:flex}.build-filters label{min-width:220px}.teacher-timetable-browser{border:1px solid var(--line);border-radius:10px;overflow:hidden}.teacher-timetable-head,.teacher-timetable-browser>button{grid-template-columns:70px 140px minmax(150px,1fr) minmax(180px,1.3fr) minmax(120px,.8fr);align-items:center;gap:10px;min-width:720px;padding:11px 13px;display:grid}.teacher-timetable-head{background:var(--panel);color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.teacher-timetable-browser>button{border:0;border-top:1px solid var(--line);background:var(--panel-strong);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.teacher-timetable-browser>button:hover,.teacher-timetable-browser>button:focus-visible{background:color-mix(in srgb, var(--accent) 6%, var(--panel-strong))}.teacher-timetable-browser>button span{color:var(--muted)}.timetable-smart-checks{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.timetable-smart-checks>span{border:1px solid var(--line);background:var(--panel-strong);min-width:130px;color:var(--muted);border-radius:9px;padding:9px 11px;font-size:11px;display:grid}.timetable-smart-checks>span strong{color:var(--ink);font-size:17px}.timetable-smart-checks>span.warning{border-color:color-mix(in srgb, var(--danger) 32%, var(--line))}.timetable-smart-checks>span.warning strong{color:var(--danger)}.timetable-smart-checks>span.positive{border-color:color-mix(in srgb, var(--positive) 28%, var(--line))}.timetable-smart-checks>small{color:var(--muted);flex:260px;align-self:center;line-height:1.45}.planner-student-grid{padding:2px}button.period-block.planner-free-period,.planner-free-period{color:var(--muted);align-content:center}.planner-student-grid button.period-block{color:var(--ink);cursor:grab;font:inherit;text-align:left}.planner-student-grid button.period-block.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.planner-student-grid .period-block small{align-items:center;gap:4px;display:flex}.schedule-grid-scroll,.published-timetable-scroll{padding-bottom:8px;overflow:auto}.schedule-grid,.published-timetable-grid{grid-template-columns:74px repeat(var(--planner-columns), minmax(125px, 1fr));min-width:980px;display:grid}.planner-grid-corner,.planner-grid-head{border:1px solid var(--line);background:var(--panel);border-width:0 1px 1px 0;padding:9px}.planner-grid-head{text-align:center;gap:2px;display:grid}.planner-grid-head span{color:var(--muted);font-size:11px}.planner-grid-head.break,.planner-grid-head.assembly{background:color-mix(in srgb, #e1a447 12%, var(--panel))}.planner-grid-row{display:contents}.planner-day-label{border:1px solid var(--line);background:var(--panel);border-width:0 1px 1px 0;place-items:center;min-height:92px;display:grid}.schedule-drop-cell,.schedule-break-cell,.planner-break-cell,.planner-empty-cell,.planner-session-card{border:1px solid var(--line);border-width:0 1px 1px 0;min-height:92px;padding:7px}.schedule-break-cell{text-align:center;color:var(--muted);background:repeating-linear-gradient(135deg, transparent, transparent 8px, color-mix(in srgb, var(--line) 38%, transparent) 8px, color-mix(in srgb, var(--line) 38%, transparent) 9px);place-content:center;display:grid}.schedule-break-cell span{font-size:11px}.planner-break-cell{text-align:center;color:color-mix(in srgb, var(--ink) 72%, var(--muted));background:color-mix(in srgb, #f5c46a 18%, var(--panel));place-content:center;gap:3px;display:grid}.planner-break-cell.assembly{background:color-mix(in srgb, #9673d8 14%, var(--panel))}.planner-break-cell span{color:var(--muted);font-size:11px}.schedule-entry{text-align:left;border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--panel-strong));width:100%;min-height:76px;color:inherit;cursor:grab;border-radius:8px;align-content:center;gap:3px;padding:8px;display:grid}.schedule-entry.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent)}.schedule-entry span,.schedule-entry small{color:var(--muted);font-size:11px}.schedule-free{border:1px dashed var(--line);min-height:76px;color:var(--muted);border-radius:8px;place-items:center;font-size:12px;display:grid}.session-inspector{align-content:start;gap:12px;display:grid}.inspector-move-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.inspector-move-actions button,.inspector-lock{justify-content:center}.conflict-list,.version-list{gap:8px;margin-top:16px;display:grid}.conflict-list article{border:1px solid var(--line);border-left:4px solid #dfa64d;border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.conflict-list article.hard{border-left-color:var(--danger)}.conflict-list p{color:var(--muted);margin:3px 0 0}.version-list article{border:1px solid var(--line);border-radius:9px;grid-template-columns:52px minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:12px;display:grid}.version-number{background:var(--panel);border-radius:9px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.version-list .row-main strong,.version-list .row-main span,.version-list .row-main small{display:block}.version-list .row-main span,.version-list .row-main small{color:var(--muted);margin-top:2px}.planner-session-card{background:color-mix(in srgb, var(--accent) 7%, var(--panel-strong));align-content:center;gap:3px;display:grid}.planner-session-card span,.planner-session-card small{color:var(--muted)}.planner-empty-cell{color:var(--muted);place-items:center;display:grid}@media (max-width:1100px){.planner-two-column,.planner-build-layout{grid-template-columns:1fr}.template-meta-grid{grid-template-columns:1fr 1fr}.session-inspector{grid-template-columns:repeat(3,1fr)}.session-inspector .eyebrow,.session-inspector h2,.session-inspector .planner-empty-state,.inspector-move-actions,.inspector-lock{grid-column:1/-1}}@media (max-width:720px){.planner-page-head,.planner-panel-head{display:grid}.planner-page-head{gap:12px}.planner-head-stats{scrollbar-width:none;padding-bottom:3px;overflow-x:auto}.planner-head-stats::-webkit-scrollbar{display:none}.planner-tabs{scrollbar-width:none;margin-inline:-2px}.planner-tabs::-webkit-scrollbar{display:none}.planner-tabs button{flex:none;min-height:42px}.template-library,.template-editor,.planner-panel,.session-inspector{padding:14px}.template-meta-grid,.template-day-tabs{grid-template-columns:1fr 1fr}.timeline-block{grid-template-columns:70px 1fr}.timeline-actions{grid-column:1/-1}.assignment-grid,.assignment-grid article,.session-inspector{grid-template-columns:1fr}.session-inspector>*{grid-column:1}.build-filters{align-items:stretch;display:grid}.build-filters label{min-width:0}.choice-review-list article{grid-template-columns:1fr auto;align-items:start}.choice-review-list article .primary-pill{grid-column:1/-1;justify-self:start}.version-list article{grid-template-columns:45px minmax(0,1fr) auto}.version-list article button{grid-column:span 1}}@media (max-width:480px){.template-meta-grid,.timeline-block{grid-template-columns:1fr}.timeline-time,.timeline-actions{grid-column:1}.planner-inline-actions>button{flex:calc(50% - 4px);justify-content:center}.version-list article{grid-template-columns:40px minmax(0,1fr)}.version-list article>.status,.version-list article>button{grid-column:2;justify-self:start}}
.mobile-timetable-agenda{display:none}@media (max-width:820px){.mobile-timetable-agenda{box-shadow:none;background:0 0;border:0;border-radius:0;gap:14px;min-width:0;padding:4px 0 0;display:grid;overflow:visible}.mobile-agenda-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-agenda-head p{color:var(--muted);min-width:0;margin:0;font-size:11px;font-weight:850;line-height:1.35}.mobile-agenda-view-switch{background:color-mix(in srgb, var(--panel) 88%, var(--row));border:1px solid var(--line);border-radius:11px;flex:none;grid-template-columns:1fr 1fr;padding:3px;display:grid}.mobile-agenda-view-switch button{color:var(--muted);background:0 0;border:0;border-radius:8px;min-height:30px;padding:0 9px;font-size:11px;position:relative}.mobile-agenda-view-switch button>strong{font:inherit;z-index:1;font-weight:900;position:relative}.mobile-view-indicator{background:var(--panel-strong);border-radius:8px;position:absolute;inset:0;box-shadow:0 4px 12px #506cb41a}.mobile-agenda-view-switch button.active{color:var(--ink)}.mobile-day-tabs{scrollbar-width:none;scroll-snap-type:x proximity;gap:6px;margin-inline:-12px;padding:0 12px 4px;display:flex;overflow-x:auto}.mobile-day-tabs::-webkit-scrollbar{display:none}.mobile-day-tabs button{color:var(--muted);scroll-snap-align:start;background:0 0;border:0;border-radius:11px;flex:0 0 48px;justify-content:center;align-items:center;min-height:36px;padding:0;display:inline-flex;position:relative}.mobile-day-tabs button>strong{z-index:1;font-size:12px;position:relative}.mobile-day-tab-indicator{background:var(--ink);border-radius:11px;position:absolute;inset:0;box-shadow:0 7px 18px #17233f29}.mobile-day-tabs button.active{color:var(--panel-strong)}.mobile-agenda-day-title{justify-content:space-between;align-items:baseline;display:flex}.mobile-agenda-day-title strong{font-size:14px}.mobile-agenda-day-title span{color:var(--muted);font-size:11px;font-weight:850}.mobile-agenda-list,.mobile-week-summary{gap:8px;display:grid}.mobile-agenda-session{background:color-mix(in srgb, #dce7fb 58%, var(--panel-strong));border:1px solid color-mix(in srgb, #8da9da 25%, var(--soft-line));border-radius:17px;grid-template-columns:68px minmax(0,1fr);gap:10px;min-width:0;min-height:86px;padding:9px 11px;display:grid;position:relative;box-shadow:0 6px 16px #344b810b}.mobile-agenda-session.mint{background:color-mix(in srgb, #d9f1ec 66%, var(--panel-strong));border-color:color-mix(in srgb, #65aa9a 22%, var(--soft-line))}.mobile-agenda-session.lavender{background:color-mix(in srgb, #e8e2f7 66%, var(--panel-strong));border-color:color-mix(in srgb, #8b76b8 20%, var(--soft-line))}.mobile-agenda-session.rose{background:color-mix(in srgb, #f4e2ec 62%, var(--panel-strong));border-color:color-mix(in srgb, #ba7999 19%, var(--soft-line))}.mobile-agenda-session.substitute,.mobile-agenda-session.override,.mobile-agenda-session.changed{background:color-mix(in srgb, #dfe7f5 34%, var(--panel-strong))}.mobile-agenda-session.cancelled{background:color-mix(in srgb, var(--danger) 7%, var(--panel-strong));border-color:color-mix(in srgb, var(--danger) 32%, var(--line));opacity:.78}.mobile-agenda-session.now,.mobile-agenda-session.next,.mobile-agenda-session.selected{border-color:color-mix(in srgb, var(--accent) 48%, var(--line));box-shadow:0 10px 26px #506cb421, 0 0 0 2px color-mix(in srgb, var(--accent) 8%, transparent)}.mobile-agenda-session.selectable{cursor:pointer}.mobile-agenda-session.selectable:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.mobile-session-time{background:color-mix(in srgb, var(--panel-strong) 62%, transparent);border:0;border-radius:11px;align-content:center;justify-items:start;gap:2px;padding:7px 8px;display:grid}.mobile-session-time svg{color:var(--muted);margin-bottom:2px}.mobile-session-time strong{font-size:13px}.mobile-session-time span{color:var(--muted);font-size:10px;font-weight:800}.mobile-session-copy{align-content:center;gap:7px;min-width:0;display:grid}.mobile-session-title{justify-content:space-between;align-items:start;gap:8px;min-width:0;display:flex}.mobile-session-title>strong{overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.2}.mobile-session-title>span,.mobile-session-status{background:color-mix(in srgb, var(--accent) 14%, var(--panel-strong));color:var(--accent);text-transform:uppercase;border-radius:999px;flex:none;padding:4px 7px;font-size:9px;font-weight:950}.mobile-session-meta{color:var(--muted);flex-wrap:wrap;gap:5px 10px;font-size:10px;font-weight:800;display:flex}.mobile-session-meta span{align-items:center;gap:4px;display:flex}.mobile-session-status{justify-self:start;margin:0}.mobile-agenda-break{color:var(--muted);grid-template-columns:1fr auto auto 1fr;align-items:center;gap:8px;padding:3px 0;font-size:10px;display:grid}.mobile-agenda-break>span{background:var(--line);height:1px}.mobile-agenda-empty{color:var(--muted);text-align:center;place-items:center;gap:4px;min-height:132px;padding:18px;display:grid}.mobile-agenda-empty strong{color:var(--ink);font-size:14px}.mobile-agenda-empty span{font-size:11px}.mobile-week-summary button{background:var(--panel);border:1px solid var(--line);color:var(--ink);text-align:left;border-radius:14px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px 12px;display:grid}.mobile-week-day,.mobile-week-detail{gap:2px;display:grid}.mobile-week-day small,.mobile-week-detail small{color:var(--muted);font-size:10px}.mobile-week-detail strong{font-size:13px}.mobile-agenda-open{border-top:1px solid var(--line);color:var(--accent);justify-content:center;align-items:center;min-height:48px;margin:0;font-size:12px;font-weight:900;display:flex}}@media (max-width:380px){.mobile-agenda-head{display:grid}.mobile-agenda-view-switch{justify-self:start}}
.ticket-workspace{gap:20px;display:grid}.ticket-tabs{flex-wrap:wrap;gap:8px;display:flex}.ticket-tabs button{border:1px solid var(--line);background:var(--panel-strong);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-weight:900;display:inline-flex}.ticket-tabs button.active{background:var(--ink);border-color:var(--ink);color:var(--panel-strong)}.ticket-grid{grid-template-columns:minmax(260px,.3fr) minmax(280px,.34fr) minmax(360px,1fr);align-items:start;gap:16px;display:grid}.ticket-category-grid{grid-template-columns:minmax(320px,.42fr) minmax(360px,1fr);align-items:start;gap:16px;display:grid}.ticket-form{margin-top:12px}.ticket-image-picker,.ticket-check{align-items:center;gap:8px;width:fit-content;display:flex!important}.ticket-image-picker input{border:0!important;padding:0!important}.ticket-list{gap:10px;max-height:640px;display:grid;overflow:auto}.ticket-list button,.ticket-category-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-strong) 92%, var(--accent-soft));width:100%;color:inherit;text-align:left;font:inherit;border-radius:12px;gap:6px;padding:12px;display:grid}.ticket-list button{cursor:pointer}.ticket-list button.active{border-color:color-mix(in srgb, var(--ink) 35%, var(--line));box-shadow:inset 4px 0 var(--accent)}.ticket-list small,.ticket-category-card small,.ticket-category-card p,.ticket-detail-head p,.ticket-message small{color:var(--muted)}.ticket-detail{gap:14px;min-height:420px;display:grid}.ticket-detail-head{justify-content:space-between;gap:16px;display:flex}.ticket-detail-head h2{margin:8px 0 4px;font-size:24px}.ticket-actions{flex-wrap:wrap;place-content:flex-start flex-end;gap:8px;display:flex}.ticket-image{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%;max-height:280px}.ticket-thread{gap:10px;display:grid}.ticket-message{border:1px solid var(--line);background:var(--panel-strong);border-radius:12px;gap:5px;padding:12px;display:grid}.ticket-message p{margin:0;line-height:1.5}.ticket-reply{margin-top:4px}@media (max-width:1200px){.ticket-grid,.ticket-category-grid{grid-template-columns:1fr}}
.inventory-title-group{align-items:flex-start;display:block}.inventory-title-group h1,.inventory-title-group p,.inventory-title-group small{margin:0;display:block}.inventory-title-group p{margin-top:7px}.inventory-utility-actions,.inventory-detail-actions,.inventory-print-intro>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inventory-export-control{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);min-height:34px;color:var(--ink);background:var(--panel-strong);border-radius:10px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.inventory-export-control select{color:inherit;font:inherit;background:0 0;border:0;outline:0;font-size:.78rem;font-weight:800}.inventory-message{justify-content:space-between;align-items:center;gap:12px;display:flex}.inventory-message button{width:30px;height:30px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:inline-grid}.inventory-metric{align-items:flex-start;min-height:118px;padding:20px}.inventory-metric.warning{border-color:color-mix(in srgb, var(--ink) 10%, transparent)}.inventory-metric-icon,.inventory-type-icon,.inventory-request-avatar{width:38px;height:38px;color:var(--accent);background:color-mix(in srgb, var(--panel) 95%, var(--ink));border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);border-radius:13px;flex:none;place-items:center;display:inline-grid}.inventory-metric.warning .inventory-metric-icon{color:var(--accent);background:color-mix(in srgb, var(--panel) 95%, var(--ink))}.inventory-metric>span:last-child{gap:3px;display:grid}.inventory-list-card,.inventory-context-section,.inventory-print-section{padding:0;overflow:hidden}.inventory-section-head{justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.inventory-section-head h2,.inventory-section-head p{margin:0}.inventory-section-head h2{color:var(--ink);font-size:1.1rem}.inventory-section-head p{color:var(--muted);margin-top:4px;font-size:.88rem}.inventory-section-head>span{min-width:34px;height:34px;color:var(--accent);background:color-mix(in srgb, var(--panel) 94%, var(--ink));border-radius:12px;place-items:center;padding:0 9px;font-weight:800;display:inline-grid}.inventory-toolbar{grid-template-columns:minmax(260px,1fr) repeat(3,minmax(140px,auto));gap:10px;padding:0 22px 18px;display:grid}.inventory-toolbar select,.inventory-action-form input,.inventory-action-form select,.inventory-action-form textarea{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:color-mix(in srgb, var(--panel) 97%, var(--ink));width:100%;min-height:43px;color:var(--ink);font:inherit;border-radius:12px;padding:10px 12px}.inventory-toolbar select:focus,.inventory-action-form input:focus,.inventory-action-form select:focus,.inventory-action-form textarea:focus{outline:3px solid color-mix(in srgb, var(--accent) 13%, transparent);border-color:var(--accent)}.inventory-list{border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent);display:grid}.inventory-list-head,.inventory-item-row{grid-template-columns:minmax(230px,1.45fr) minmax(135px,.75fr) minmax(155px,.9fr) minmax(145px,.75fr) minmax(130px,auto);align-items:center;gap:16px;display:grid}.inventory-list-head{min-height:42px;color:var(--muted);background:color-mix(in srgb, var(--panel) 96%, var(--ink));letter-spacing:.045em;text-transform:uppercase;padding:0 22px;font-size:.75rem;font-weight:850}.inventory-item-row{border-top:1px solid color-mix(in srgb, var(--ink) 9%, transparent);min-width:0;padding:15px 22px;transition:background .16s;position:relative}.inventory-item-row:first-of-type{border-top:0}.inventory-item-row:hover,.inventory-item-row.selected{background:color-mix(in srgb, var(--panel) 96%, var(--ink))}.inventory-item-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.inventory-item-main>span:last-child,.inventory-location,.inventory-availability,.inventory-health{gap:3px;min-width:0;display:grid}.inventory-item-main strong,.inventory-availability strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inventory-item-main small,.inventory-location small,.inventory-availability small,.inventory-health small{color:var(--muted);font-size:.78rem;font-weight:650}.inventory-type-icon.consumable,.inventory-type-icon.reusable,.inventory-type-icon.fixed{color:var(--accent);background:color-mix(in srgb, var(--panel) 94%, var(--ink))}.inventory-location{color:var(--ink);grid-template-columns:auto 1fr;align-items:center;font-weight:750}.inventory-location small{text-transform:capitalize;grid-column:2}.inventory-health .status{justify-self:start}.inventory-quick-actions{justify-content:flex-end;gap:7px;display:flex}.inventory-item-detail{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:var(--panel-strong);border-radius:16px;grid-column:1/-1;grid-template-columns:minmax(0,.75fr) minmax(280px,1.25fr);gap:20px;margin:4px -5px -3px;padding:18px;display:grid}.inventory-detail-actions{align-content:start}.inventory-detail-loans{gap:9px;display:grid}.inventory-asset-units{gap:6px;margin-bottom:14px;display:grid}.inventory-asset-units h4{color:var(--ink);margin:0 0 3px;font-size:.9rem}.inventory-asset-units>span{border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent);grid-template-columns:minmax(120px,1fr) auto minmax(100px,.8fr);align-items:center;gap:8px;padding:8px 0;display:grid}.inventory-asset-units small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.inventory-detail-loans h4,.inventory-history h4,.inventory-print-orders h3{color:var(--ink);margin:0 0 4px;font-size:.9rem}.inventory-detail-loans>div,.inventory-history>div{border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent);align-items:center;gap:10px;padding:10px 0;display:flex}.inventory-detail-loans>div{justify-content:space-between}.inventory-detail-loans span,.inventory-history span{gap:2px;display:grid}.inventory-detail-loans small,.inventory-history small,.inventory-history time{color:var(--muted);font-size:.76rem}.inventory-history>div>span:nth-child(2){flex:1}.inventory-history-mark{background:var(--muted);border-radius:999px;width:8px;height:8px}.inventory-history-mark.receive,.inventory-history-mark.return,.inventory-history-mark.issue,.inventory-history-mark.checkout,.inventory-history-mark.adjust{background:var(--accent)}.inventory-request-list,.inventory-my-grid,.inventory-print-requests,.inventory-print-orders{display:grid}.inventory-request-list>article,.inventory-print-orders>article{border-top:1px solid color-mix(in srgb, var(--ink) 9%, transparent);grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:12px;padding:14px 22px;display:grid}.inventory-request-list article>span:nth-child(2),.inventory-print-orders article>span:first-child{gap:2px;display:grid}.inventory-request-list small,.inventory-request-list em,.inventory-print-orders small{color:var(--muted);font-size:.78rem;font-style:normal}.inventory-request-list article>div,.inventory-print-orders article>div{gap:7px;display:flex}.inventory-my-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 22px 22px}.inventory-my-grid article,.inventory-print-requests article{border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);background:color-mix(in srgb, var(--panel) 96%, var(--ink));border-radius:14px;align-items:center;gap:10px;min-width:0;padding:13px;display:flex}.inventory-my-grid article>span:nth-child(2),.inventory-print-requests article>span:nth-child(2){flex:1;min-width:0;display:grid}.inventory-my-grid small,.inventory-print-requests small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.inventory-print-section>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;list-style:none;display:flex}.inventory-print-section>summary::-webkit-details-marker{display:none}.inventory-print-section>summary>span,.inventory-print-section>summary>span:first-child>span{align-items:center;gap:10px;display:flex}.inventory-print-section>summary>span:first-child>span{gap:2px;display:grid}.inventory-print-section summary small{color:var(--muted);font-size:.78rem}.inventory-print-section[open] summary svg:last-child{transform:rotate(180deg)}.inventory-print-body{border-top:1px solid color-mix(in srgb, var(--ink) 9%, transparent);gap:16px;padding:0 22px 22px;display:grid}.inventory-print-intro{justify-content:space-between;align-items:center;gap:18px;padding-top:18px;display:flex}.inventory-print-intro p{max-width:760px;color:var(--muted);margin:0}.inventory-print-requests{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.inventory-print-orders>article{padding-inline:0}.inventory-action-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);background:#ffffff14;justify-items:end;display:grid;position:fixed;inset:0}.inventory-action-sheet{border-left:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:var(--panel);width:min(520px,100%);height:100%;animation:.18s ease-out inventory-sheet-in;overflow-y:auto;box-shadow:-18px 0 45px #212f4421}.inventory-action-sheet>header{z-index:2;border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;display:flex;position:sticky;top:0}.inventory-action-sheet h2{color:var(--ink);margin:0;font-size:1.15rem}.inventory-action-sheet>header button{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:var(--panel-strong);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;display:inline-grid}.inventory-action-form{gap:15px;padding:22px;display:grid}.inventory-action-form label{color:var(--ink);gap:7px;font-size:.82rem;font-weight:800;display:grid}.inventory-action-form .checkbox-row{grid-template-columns:auto 1fr;align-items:start}.inventory-action-form .checkbox-row input{width:18px;min-height:18px;margin-top:2px}.inventory-action-form .checkbox-row span{gap:2px;display:grid}.inventory-action-form .checkbox-row small,.inventory-form-intro,.inventory-form-note{color:var(--muted);margin:0;font-size:.8rem;font-weight:600;line-height:1.5}.inventory-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.inventory-current-balance{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:color-mix(in srgb, var(--panel) 96%, var(--ink));border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.inventory-current-balance span{gap:2px;display:grid}.inventory-current-balance small,.inventory-current-balance em{color:var(--muted);font-size:.77rem;font-style:normal}.inventory-action-selector{flex-wrap:wrap;gap:6px;display:flex}.inventory-action-selector button{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:var(--panel-strong);min-height:34px;color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;padding:0 11px;font-size:.76rem;font-weight:800}.inventory-action-selector button.active{border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent);background:var(--panel-strong)}.inventory-order-preview{gap:8px;max-height:280px;display:grid;overflow-y:auto}.inventory-order-preview>div{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:12px;gap:3px;padding:12px;display:grid}.inventory-order-preview small{color:var(--muted)}@keyframes inventory-sheet-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (max-width:1180px){.inventory-toolbar{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(140px,auto))}.inventory-toolbar select:last-child{grid-column:2/-1}.inventory-list-head{display:none}.inventory-item-row{grid-template-columns:minmax(220px,1.2fr) minmax(140px,.8fr) minmax(150px,.8fr) auto}.inventory-health{grid-column:2}.inventory-quick-actions{grid-area:1/4/span 2}}@media (max-width:820px){.inventory-header{flex-direction:column;align-items:flex-start;gap:16px}.inventory-summary-grid,.inventory-my-grid,.inventory-print-requests{grid-template-columns:1fr}.inventory-toolbar{grid-template-columns:1fr 1fr}.inventory-toolbar .workspace-search,.inventory-toolbar select:last-child{grid-column:1/-1}.inventory-item-row{grid-template-columns:1fr auto;gap:10px}.inventory-item-main,.inventory-location,.inventory-availability,.inventory-health{grid-column:1}.inventory-quick-actions{grid-area:1/2}.inventory-item-detail{grid-template-columns:1fr}.inventory-request-list>article,.inventory-print-orders>article{grid-template-columns:auto minmax(0,1fr)}.inventory-request-list article>.status,.inventory-request-list article>div,.inventory-print-orders article>.status,.inventory-print-orders article>div{grid-column:2;justify-self:start}.inventory-print-intro{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.inventory-section-head,.inventory-print-section>summary,.inventory-item-row,.inventory-toolbar,.inventory-print-body,.inventory-my-grid{padding-inline:15px}.inventory-toolbar,.inventory-form-grid{grid-template-columns:1fr}.inventory-toolbar select,.inventory-toolbar select:last-child{grid-column:1}.inventory-header-actions{width:100%}.inventory-header-actions button{flex:1}}@media (prefers-reduced-motion:reduce){.inventory-action-sheet{animation:none}}.module-settings-row{border-bottom:1px solid color-mix(in srgb, var(--ink) 9%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.module-settings-row>.checkbox-row{flex:1;margin:0}.inventory-settings-home{border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent);gap:14px;margin-top:22px;padding-top:22px;display:grid}.inventory-settings-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.inventory-settings-title h2,.inventory-settings-title p{margin:0}.inventory-settings-title h2{color:var(--ink);font-size:1.45rem}.inventory-settings-title p:last-child{max-width:760px;color:var(--muted);margin-top:5px}.inventory-settings-section{padding:0;overflow:hidden}.inventory-settings-section>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;list-style:none;display:flex}.inventory-settings-section>summary::-webkit-details-marker{display:none}.inventory-settings-section>summary>span{align-items:center;gap:11px;display:flex}.inventory-settings-section>summary>span>span{gap:2px;display:grid}.inventory-settings-section summary small{color:var(--muted);font-size:.78rem}.inventory-settings-section[open]>summary>svg{transform:rotate(180deg)}.inventory-settings-section>div{border-top:1px solid color-mix(in srgb, var(--ink) 9%, transparent);padding:18px 19px}.inventory-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.inventory-settings-grid>label:not(.inventory-setting-toggle),.inventory-settings-wide-label{color:var(--ink);gap:7px;font-size:.8rem;font-weight:800;display:grid}.inventory-settings-grid input,.inventory-settings-grid select,.inventory-settings-grid textarea,.inventory-settings-wide-label input,.inventory-settings-table input,.inventory-settings-table select,.inventory-location-settings input{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:color-mix(in srgb, var(--panel) 97%, var(--ink));width:100%;min-height:41px;color:var(--ink);font:inherit;border-radius:11px;padding:9px 11px}.inventory-setting-toggle{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:color-mix(in srgb, var(--panel) 96%, var(--ink));border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.inventory-setting-toggle>input{width:18px;min-height:18px;margin-top:1px}.inventory-setting-toggle>span{gap:2px;display:grid}.inventory-setting-toggle small,.inventory-settings-note{color:var(--muted);font-size:.77rem;font-weight:600;line-height:1.45}.inventory-permission-matrix{min-width:920px}.inventory-settings-section:has(.inventory-permission-matrix)>div{overflow-x:auto}.inventory-permission-head,.inventory-permission-row{grid-template-columns:minmax(180px,1.2fr) repeat(8,minmax(76px,.55fr));align-items:center;gap:7px;display:grid}.inventory-permission-head{color:var(--muted);text-align:center;text-transform:capitalize;padding-bottom:9px;font-size:.7rem}.inventory-permission-head span{text-align:left}.inventory-permission-group h4{color:var(--muted);text-transform:uppercase;letter-spacing:.045em;margin:13px 0 5px;font-size:.77rem}.inventory-permission-row{border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent);min-height:39px;font-size:.78rem}.inventory-permission-row>label{place-items:center;display:grid;position:relative}.inventory-permission-row input{appearance:none;border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);background:var(--panel-strong);border-radius:7px;width:20px;height:20px}.inventory-permission-row input:checked{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, var(--panel))}.inventory-permission-row label svg{opacity:0;color:var(--accent);pointer-events:none;position:absolute}.inventory-permission-row input:checked+svg{opacity:1}.inventory-settings-table{gap:6px;margin-bottom:14px;display:grid}.inventory-settings-table-head,.inventory-settings-table>div:not(.inventory-settings-table-head){grid-template-columns:minmax(160px,1fr) minmax(110px,.7fr) minmax(80px,.55fr) minmax(80px,.55fr) 62px;align-items:center;gap:8px;display:grid}.inventory-settings-table-head{color:var(--muted);padding:0 8px;font-size:.72rem;font-weight:800}.inventory-settings-table>div:not(.inventory-settings-table-head){border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);border-radius:12px;padding:7px}.inventory-settings-table>div>input[type=checkbox]{justify-self:center;width:18px;min-height:18px}.inventory-location-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.inventory-location-settings article{grid-template-columns:1fr .8fr auto;align-items:center;gap:8px;display:grid}.inventory-location-settings .inventory-setting-toggle{min-width:88px;padding:10px}.inventory-settings-note{background:color-mix(in srgb, var(--panel) 94%, var(--ink));border-radius:11px;margin:14px 0 0;padding:12px}@media (max-width:820px){.inventory-settings-title,.inventory-location-settings article{grid-template-columns:1fr;align-items:stretch}.inventory-settings-title{flex-direction:column}.inventory-settings-grid,.inventory-location-settings{grid-template-columns:1fr}.inventory-settings-table{overflow-x:auto}.inventory-settings-table-head,.inventory-settings-table>div:not(.inventory-settings-table-head){min-width:700px}}
