.crm-page{display:grid;gap:18px}.crm-topbar .topbar-subtitle{font-size:1rem}.crm-calendar-toolbar,.crm-client-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.crm-date-controls,.crm-calendar-actions{display:flex;align-items:center;gap:8px}.crm-icon-button{width:44px;padding:0;font-size:1.5rem;background:transparent}.crm-date-picker input{min-height:44px}.crm-calendar-actions select{min-width:180px}.crm-calendar-layout,.crm-client-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:18px;align-items:start}.crm-calendar-main,.crm-detail-panel,.crm-client-list{min-width:0;border:1px solid var(--line);border-radius:14px;background:rgba(15,23,42,.58)}.crm-calendar-main{overflow:hidden}.crm-calendar-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.crm-calendar-heading h2,.crm-client-toolbar h2{margin:0;font-size:1.2rem}.crm-count{color:var(--muted);font-size:.82rem}.crm-timeline{display:grid}.crm-slot{display:grid;grid-template-columns:84px minmax(0,1fr);min-height:76px;border-bottom:1px solid var(--line);cursor:pointer}.crm-slot:last-child{border-bottom:0}.crm-slot:hover,.crm-slot.is-selected{background:rgba(251,113,133,.08)}.crm-slot-time{padding:16px 12px;color:var(--muted);font-size:.8rem;font-weight:800;border-right:1px solid var(--line)}.crm-slot-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 16px}.crm-slot-body h3{margin:0 0 4px;font-size:.95rem}.crm-slot-body p{margin:0;color:var(--muted);font-size:.8rem}.crm-slot-provider{font-size:.74rem;color:var(--muted)}.crm-detail-panel{position:sticky;top:18px;padding:20px}.crm-empty-detail{text-align:center;padding:42px 14px;color:var(--muted)}.crm-empty-detail>span{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 14px;border-radius:13px;background:var(--workspace-accent-soft);color:var(--workspace-accent)}.crm-empty-detail h2{color:var(--text)}.crm-detail-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.crm-detail-head h2{margin:3px 0 5px;font-size:1.25rem}.crm-detail-head p{margin:0;color:var(--muted);font-size:.82rem}.crm-detail-section{padding:15px 0;border-bottom:1px solid var(--line)}.crm-detail-section:last-child{border-bottom:0}.crm-detail-section>span{display:block;margin-bottom:5px;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.crm-detail-section p{margin:0;line-height:1.5}.crm-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:16px}.crm-detail-actions>*{width:100%;min-height:44px}.crm-more-actions{margin-top:10px}.crm-more-actions summary{color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:800}.crm-more-actions .crm-detail-actions{padding-top:10px}.crm-empty-list{padding:38px 20px;text-align:center;color:var(--muted)}
.crm-client-toolbar input{max-width:320px}.crm-client-list{overflow:hidden}.crm-client-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}.crm-client-row:last-child{border-bottom:0}.crm-client-row:hover,.crm-client-row.is-selected{transform:none;background:rgba(251,113,133,.08)}.crm-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--workspace-accent-soft);color:var(--workspace-accent);font-size:.8rem;font-weight:900}.crm-client-row strong,.crm-client-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-client-row small{margin-top:4px;color:var(--muted)}.crm-client-stats{text-align:right;color:var(--muted);font-size:.72rem}.crm-history{display:grid;gap:0}.crm-history-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.78rem}.crm-history-row:last-child{border-bottom:0}.crm-history-row span{color:var(--muted)}
@media(max-width:900px){.crm-calendar-layout,.crm-client-layout{grid-template-columns:1fr}.crm-detail-panel{position:static}.crm-calendar-actions{width:100%}.crm-calendar-toolbar{align-items:stretch;flex-direction:column}.crm-calendar-actions>*{flex:1}.crm-client-toolbar{align-items:stretch}.crm-client-toolbar input{max-width:none}}
@media(max-width:680px){.crm-page{gap:12px}.crm-calendar-toolbar{padding-top:0}.crm-date-controls{display:grid;grid-template-columns:44px 1fr 44px}.crm-date-picker{grid-column:1/-1}.crm-date-picker input{width:100%}.crm-calendar-actions{display:grid;grid-template-columns:1fr auto}.crm-calendar-actions select{min-width:0}.crm-calendar-actions .workspace-primary-action{width:auto;padding-inline:13px}.crm-slot{grid-template-columns:68px minmax(0,1fr)}.crm-slot-time{padding-inline:9px}.crm-slot-body{padding:12px}.crm-slot-provider{display:none}.crm-detail-panel{padding:16px}.crm-client-toolbar{flex-direction:column}.crm-client-row{padding-inline:12px}.crm-client-stats{display:none}.crm-detail-actions{grid-template-columns:1fr 1fr}}
@media(max-width:680px){body[data-workspace-mode="appointments"]{padding-bottom:78px}body[data-workspace-mode="appointments"] .workspace-header-actions{width:auto}body[data-workspace-mode="appointments"] .workspace-nav{position:fixed;z-index:1100;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px;border:1px solid var(--line);border-radius:16px;background:rgba(7,17,31,.97);box-shadow:0 16px 42px rgba(0,0,0,.48)}body[data-workspace-mode="appointments"] .workspace-nav-links{display:contents}body[data-workspace-mode="appointments"] .workspace-nav-link,body[data-workspace-mode="appointments"] .workspace-logout{min-width:0;min-height:46px;padding:6px 3px;border:0;border-radius:9px;font-size:.68rem;white-space:normal}body[data-workspace-mode="appointments"] .workspace-logout{width:auto}body[data-workspace-mode="appointments"] .socket-status{display:none}}
