:root{color-scheme:light;font-family:Segoe UI,system-ui,sans-serif;--bg: #edf2f5;--surface: rgba(255, 255, 255, .88);--surface-strong: #ffffff;--surface-soft: #f7fbf8;--surface-muted: #eef6f1;--text: #102217;--muted: #60726a;--border: #dce7e0;--primary: #25d366;--primary-dark: #128c7e;--primary-soft: #dcf8c6;--secondary: #075e54;--warning: #f59e0b;--warning-soft: #fff2ce;--danger: #ef4444;--danger-soft: #fee2e2;--success-soft: #dcfce7;--shadow-sm: 0 12px 28px rgba(8, 35, 24, .08);--shadow-lg: 0 30px 70px rgba(8, 35, 24, .14);--radius-sm: 12px;--radius-md: 20px;--radius-lg: 30px;--sidebar-width: 270px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,rgba(37,211,102,.14),transparent 26%),linear-gradient(180deg,#f8fbf8,#edf2f5);color:var(--text)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer;transition:transform .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{width:100%;min-height:46px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong);color:var(--text);outline:none}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #25d36624}.state-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.state-card{width:min(560px,100%);padding:28px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid rgba(220,231,224,.9);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.state-card h1,.topbar h1,.panel h2,.panel h3,.modal-head h2{margin:0}.state-text,.page-description,.muted-text{margin:8px 0 0;color:var(--muted)}.eyebrow{margin:0 0 8px;color:var(--secondary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-shell{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;width:var(--sidebar-width);height:100vh;padding:28px 20px;display:flex;flex-direction:column;gap:24px;background:#fffc;border-right:1px solid rgba(220,231,224,.85);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-header{display:flex;align-items:center;gap:14px}.sidebar-logo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;font-size:18px;font-weight:700;box-shadow:0 16px 28px #25d3663d}.sidebar-header strong{display:block;font-size:18px}.sidebar-header p,.sidebar-footer span{margin:4px 0 0;color:var(--muted);font-size:13px}.sidebar-nav{display:grid;gap:10px}.sidebar-link{display:flex;align-items:center;gap:14px;padding:15px 16px;border-radius:18px;color:var(--muted);text-align:left;background:transparent}.sidebar-link:hover,.ghost-button:hover,.topbar-utility:hover,.segment:hover,.appointment-actions button:hover{background:#25d36614}.sidebar-link.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 14px 26px #128c7e3d}.sidebar-footer{margin-top:auto;display:flex;gap:12px;align-items:center;padding:18px;border-radius:20px;background:var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.sidebar-footer strong{display:block;margin-top:2px}.status-dot{width:12px;height:12px;border-radius:999px;background:var(--primary);box-shadow:0 0 0 6px #25d36624}.app-main{flex:1;padding:28px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 28px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid rgba(220,231,224,.9);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar h1{font-size:30px;line-height:1.05}.topbar-actions,.panel-head,.calendar-toolbar,.calendar-toolbar-actions,.calendar-nav,.button-row,.toggle-row,.status-toggle,.appointment-card-top,.client-inline,.time-row,.agenda-group-header,.modal-head{display:flex;align-items:center;gap:12px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.topbar-field{min-width:190px}.topbar-field span{display:none}.topbar-utility,.ghost-button,.segment,.appointment-actions button{min-height:44px;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text)}.topbar-utility{width:44px;padding:0;display:grid;place-items:center}.avatar-chip{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;font-weight:700;color:var(--secondary);background:linear-gradient(135deg,var(--primary-soft) 0%,#fff 100%);border:2px solid rgba(37,211,102,.45)}.banner{margin-top:18px;padding:14px 16px;border-radius:16px;border:1px solid var(--border)}.notice-banner{background:var(--success-soft);color:#166534}.error-banner{background:var(--danger-soft);color:#b91c1c}.inline-state{margin-top:18px}.page-stack{display:grid;gap:22px;margin-top:22px}.hero-strip,.home-grid,.appointments-layout,.clients-layout,.settings-grid{display:grid;gap:22px;grid-template-columns:repeat(12,minmax(0,1fr))}.panel,.overview-card,.feature-card,.mini-feature-card,.insight-tile{background:var(--surface);border:1px solid rgba(220,231,224,.9);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel{padding:24px;border-radius:var(--radius-lg)}.overview-card{grid-column:span 3;padding:20px;border-radius:24px;display:grid;gap:8px}.overview-card span,.insight-tile span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.overview-card strong,.insight-tile strong{font-size:28px;line-height:1}.overview-card p,.feature-card p,.mini-feature-card p,.insight-tile p{margin:0;color:var(--muted)}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel-head h2{font-size:24px}.count-badge{padding:8px 14px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:13px;font-weight:700}.general-summary-grid{display:grid;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}.feature-card,.mini-feature-card{border-radius:24px}.feature-card{grid-column:span 6;padding:22px;display:grid;gap:10px}.emphasis-card{background:radial-gradient(circle at top right,rgba(37,211,102,.14),transparent 32%),var(--surface)}.feature-label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.feature-card strong{font-size:30px}.mini-feature-card{grid-column:span 4;padding:18px;display:grid;gap:8px}.mini-feature-card span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.mini-feature-card strong{font-size:22px}.compact-feed,.side-panel{align-content:start}.compact-appointments,.appointments-list,.contact-list,.message-list,.agenda-group-list,.pill-list,.availability-editor,.form-grid,.day-board,.client-insight-grid{display:grid;gap:14px}.compact-appointment-row,.contact-card,.message-row,.service-pill,.availability-row,.empty-state{border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.compact-appointment-row,.contact-card,.message-row,.service-pill,.availability-row{padding:16px}.compact-appointment-row{display:grid;gap:6px}.compact-appointment-row span,.client-inline span,.contact-main span,.contact-meta span,.message-row span:last-child,.feature-card p,.week-event small,.week-empty{color:var(--muted)}.compact-appointment-row p,.contact-main p,.message-copy p{margin:4px 0 0;color:var(--muted)}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-nav h2{font-size:24px}.segmented-control{display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border)}.segment{min-height:38px;padding:8px 14px;border:0;background:transparent}.segment.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.day-board{min-height:360px}.week-board{display:grid;gap:12px;grid-template-columns:repeat(7,minmax(0,1fr))}.week-column{min-height:240px;padding:14px;border-radius:22px;border:1px solid var(--border);background:var(--surface-strong);display:grid;gap:12px;text-align:left}.week-column.active{border-color:var(--primary);box-shadow:inset 0 0 0 2px #25d36629}.week-column-head{display:grid;gap:4px}.week-column-head span{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:700}.week-column-events{display:grid;gap:8px}.week-event{display:grid;gap:3px;padding:10px;border-radius:14px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:700}.week-event.pending,.week-event.scheduled{background:var(--warning-soft);color:#a16207}.week-event.cancelled,.week-event.no_show{background:var(--danger-soft);color:#b91c1c}.month-board{display:grid;gap:12px}.month-head,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.month-head span{padding:10px 0;text-align:center;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.month-cell{min-height:132px;padding:10px;border-radius:18px;border:1px solid var(--border);background:var(--surface-strong);text-align:left}.month-cell.muted{background:#f3f6f4;color:#95a39b}.month-cell.active{border-color:var(--primary);box-shadow:inset 0 0 0 2px #25d36629}.cell-date{width:30px;height:30px;border-radius:999px;display:inline-grid;place-items:center;font-weight:700}.month-cell.active .cell-date{background:var(--primary);color:#fff}.month-cell-events{display:grid;gap:6px;margin-top:10px}.event-chip{display:block;padding:5px 8px;border-radius:10px;background:var(--primary-soft);color:var(--primary-dark);font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip.pending,.event-chip.scheduled{background:var(--warning-soft);color:#a16207}.event-chip.cancelled,.event-chip.no_show{background:var(--danger-soft);color:#b91c1c}.appointment-card{border:1px solid var(--border);border-radius:22px;padding:18px;background:linear-gradient(180deg,#fff,#f9fcfa)}.client-inline{align-items:center}.client-inline strong,.contact-main strong{display:block}.client-avatar,.contact-avatar{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:var(--surface-muted);color:var(--secondary);font-weight:700}.appointment-card-body{margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--surface-muted)}.time-row{justify-content:space-between}.appointment-card-body p{margin:10px 0 0;color:var(--muted)}.appointment-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.primary{min-height:46px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 12px 24px #25d3663d}.primary:hover{transform:translateY(-1px)}.agenda-group{display:grid;gap:12px}.agenda-group-header{justify-content:space-between;padding-bottom:4px;border-bottom:1px solid var(--border)}.contact-list{max-height:720px;overflow:auto}.contact-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center}.message-row{display:flex;justify-content:space-between;gap:14px}.message-row.incoming{border-left:4px solid var(--primary)}.message-row.outgoing{border-left:4px solid var(--secondary)}.message-copy{min-width:0}.client-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-tile{padding:16px;border-radius:20px;display:grid;gap:8px}.field{display:grid;gap:8px}.field span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.inline-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.business-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.span-all{grid-column:1 / -1}.status-badge{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--warning-soft);color:#a16207}.status-badge.confirmed,.status-badge.completed{background:var(--success-soft);color:#166534}.status-badge.cancelled,.status-badge.no_show{background:var(--danger-soft);color:#b91c1c}.service-pill{display:flex;justify-content:space-between;gap:12px}.availability-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr) auto;gap:12px;align-items:center}.status-toggle{color:var(--muted);font-size:13px}.toggle-switch{width:44px;height:24px;padding:3px;border-radius:999px;background:#d7e4db;display:inline-flex;justify-content:flex-start}.toggle-switch span{width:18px;height:18px;border-radius:999px;background:#fff}.toggle-switch.on{justify-content:flex-end;background:var(--primary)}.toggle-item{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.toggle-item input{width:auto;min-height:auto}.empty-state{min-height:180px;display:grid;place-items:center;align-content:center;text-align:center;padding:24px}.empty-state .material-symbols-outlined{color:var(--primary);font-size:30px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a18126b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;z-index:50}.modal-card{width:min(560px,100%);padding:24px;border-radius:var(--radius-lg);background:var(--surface-strong);border:1px solid rgba(220,231,224,.92);box-shadow:var(--shadow-lg)}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px}@media(max-width:1260px){.overview-card{grid-column:span 6}.feature-card,.mini-feature-card,.span-4,.span-6,.span-8,.span-12{grid-column:span 12}}@media(max-width:960px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--border)}.app-main{padding:18px}.topbar,.calendar-toolbar{display:grid}.topbar-actions{justify-content:start}.hero-strip,.home-grid,.appointments-layout,.clients-layout,.settings-grid,.general-summary-grid,.business-grid,.client-insight-grid{grid-template-columns:1fr}}@media(max-width:760px){.topbar{padding:20px}.topbar-actions,.calendar-toolbar-actions{display:grid}.topbar-field{min-width:0}.week-board,.month-head,.month-grid,.inline-grid,.availability-row{grid-template-columns:1fr}.panel-head,.message-row,.contact-card,.agenda-group-header,.button-row,.modal-head{display:grid}.segmented-control{justify-content:space-between}}
