.shell{grid-template-columns:1fr;min-height:100dvh;display:grid}@media (width>=1024px){.shell{grid-template-columns:248px 1fr}}.sidebar{background:var(--c-surface);border-right:1px solid var(--c-border);height:100dvh;padding:var(--space-5) var(--space-3);display:none;position:sticky;top:0;overflow-y:auto}@media (width>=1024px){.sidebar{flex-direction:column;display:flex}}.sidebar .brand{padding:0 var(--space-3) var(--space-5)}.sidebar .tenant{padding:var(--space-3);margin:0 0 var(--space-4);border-radius:var(--radius-md);background:var(--c-surface-sunken);font-size:var(--text-sm)}.sidebar .tenant strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.nav-section{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-4) var(--space-3) var(--space-2)}.nav-link{align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--c-text);font-weight:var(--weight-medium);font-size:var(--text-sm);text-decoration:none;display:flex}.nav-link svg{width:18px;height:18px;color:var(--c-text-muted);flex:none}.nav-link:hover{background:var(--c-primary-soft);text-decoration:none}.nav-link.active{background:var(--c-primary-soft);color:var(--c-primary-text)}.nav-link.active svg{color:var(--c-primary)}.sidebar .bottom{padding-top:var(--space-4);margin-top:auto}.topbar{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-3);min-height:60px;padding:0 var(--space-4);background:var(--c-surface);border-bottom:1px solid var(--c-border);display:flex;position:sticky;top:0}@media (width>=1024px){.topbar{display:none}}.mobile-menu{z-index:var(--z-overlay);background:var(--c-surface);padding:var(--space-4);position:fixed;inset:60px 0 0;overflow-y:auto}.main{min-width:0;padding:var(--space-6) var(--gutter) var(--space-16)}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--text-3xl);margin:0}.page-head p{margin:var(--space-1) 0 0;color:var(--c-text-muted)}.banner{margin-bottom:var(--space-5)}.kpis{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.kpi{padding:var(--space-5)}.kpi .value{font-size:var(--text-3xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:1.1}.kpi .label{color:var(--c-text-muted);font-size:var(--text-sm)}.two-col{gap:var(--space-6);display:grid}@media (width>=1100px){.two-col{grid-template-columns:1.5fr 1fr}}.list{margin:0;padding:0;list-style:none}.list>li{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--c-border);display:flex}.list>li:last-child{border-bottom:0}.list .grow{flex:1;min-width:0}.time-col{font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);flex:none;width:4.5em}.cal-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.cal-toolbar .date-label{font-weight:var(--weight-semibold);font-size:var(--text-lg);min-width:12ch}.cal-scroll{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);max-height:calc(100dvh - 220px);overflow:auto}.cal-grid{min-width:max-content;display:grid;position:relative}.cal-head{z-index:3;border-bottom:1px solid var(--c-border);padding:var(--space-2) var(--space-3);font-weight:var(--weight-semibold);font-size:var(--text-sm);white-space:nowrap;background:#fcfbf8;position:sticky;top:0}.cal-head small{font-weight:var(--weight-regular);color:var(--c-text-muted);display:block}.cal-times{z-index:2;background:var(--c-surface);border-right:1px solid var(--c-border);position:sticky;left:0}.cal-time{font-size:var(--text-xs);color:var(--c-text-muted);padding:0 var(--space-2);font-variant-numeric:tabular-nums;position:absolute;left:0;right:0;transform:translateY(-50%)}.cal-col{border-right:1px solid var(--c-border);min-width:150px;position:relative}.cal-line{border-top:1px solid var(--c-border);position:absolute;left:0;right:0}.cal-line.half{opacity:.6;border-top-style:dashed}.cal-off{background:repeating-linear-gradient(135deg,#f3f1ea,#f3f1ea 6px,#faf9f5 6px 12px);position:absolute;left:0;right:0}.cal-absence{color:var(--c-text-muted);font-size:var(--text-xs);background:#eeeae0;border-radius:6px;padding:2px 6px;position:absolute;left:4px;right:4px;overflow:hidden}.cal-slot-btn{background:0 0;border:0;padding:0;position:absolute;left:0;right:0}.cal-slot-btn:hover{background:#1459510f}.cal-appt{z-index:1;text-align:left;border:0;border-left:3px solid var(--c-primary);background:var(--c-primary-soft);color:var(--c-text);font-size:var(--text-xs);box-shadow:var(--shadow-xs);border-radius:8px;padding:4px 8px;line-height:1.35;position:absolute;left:4px;right:4px;overflow:hidden}.cal-appt:hover{box-shadow:var(--shadow-md)}.cal-appt strong{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.cal-appt .buffer{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#1459511f 4px 8px);position:absolute;bottom:0;left:0;right:0}.cal-appt.s-Completed{border-left-color:var(--c-text-muted);background:#f1f3f2}.cal-appt.s-NoShow{border-left-color:var(--c-warning);background:var(--c-warning-soft)}.cal-appt.s-Cancelled{border-left-color:var(--c-danger);background:var(--c-danger-soft);opacity:.75;text-decoration:line-through}.cal-appt.online{border-left-color:var(--c-gold)}.cal-now{border-top:2px solid var(--c-danger);z-index:2;pointer-events:none;position:absolute;left:0;right:0}.legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--c-text-muted);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:14px;height:10px;display:inline-block}.week-editor{gap:var(--space-2);display:grid}.week-row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--c-border);grid-template-columns:90px 1fr;align-items:start;display:grid}.week-row:last-child{border-bottom:0}.week-row .day{font-weight:var(--weight-semibold);padding-top:10px}.interval{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.interval .input{width:120px}.auth-wrap{min-height:100dvh;padding:var(--space-8) var(--space-4);place-items:center;display:grid}.auth-card{width:min(440px,100%)}.auth-card .brand{margin-bottom:var(--space-6);justify-content:center;display:flex}.wizard{max-width:820px}.wizard-nav{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.check-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.check-list li{gap:var(--space-3);align-items:center;display:flex}.check-list .ok{color:var(--c-success)}.check-list .todo{color:var(--c-warning)}.preview{border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-bg);overflow:hidden}.preview-head{padding:var(--space-4);border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:var(--space-3);background:#fff;display:flex}.preview-body{padding:var(--space-5);border-top:3px solid var(--pv-accent,var(--c-gold))}.swatch{border:1px solid var(--c-border);border-radius:8px;flex:none;width:28px;height:28px}.deviation{font-size:var(--text-xs)}.row-actions{gap:var(--space-1);justify-content:flex-end;display:flex}.cluster-end{justify-content:flex-end}
