:root{font-family:Georgia,Times New Roman,serif;line-height:1.5;font-weight:400;color:#1f1b16;background:radial-gradient(circle at top left,rgba(247,206,151,.42),transparent 34%),radial-gradient(circle at bottom right,rgba(49,97,78,.24),transparent 28%),linear-gradient(180deg,#f7f2e9,#ece2d2);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}button,input,textarea,select{font-family:inherit}body{margin:0;min-height:100vh}h1{font-size:clamp(2.2rem,4vw,4.3rem);line-height:.98}a{color:inherit}p,span,label,input,textarea,select,button,li{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}#root{min-height:100vh}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(33,76,60,.65);outline-offset:2px}.app-shell,.auth-shell,.setup-shell{min-height:100vh}.app-shell{padding:1rem;max-width:1400px;margin:0 auto}.app-banner,.panel,.auth-card,.setup-card,.stat-card,.status-banner,.customer-card,.queue-card,.appointment-card,.detail-card{border:1px solid rgba(28,42,36,.14);border-radius:28px;background:#fffaf4d6;box-shadow:0 18px 60px #42280814;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem;background:#fffaf4d6}.app-banner-copy{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap}.app-banner h1{margin:0;font-size:clamp(1.45rem,2vw,2rem);color:#214c3c}.app-version{color:#645749;font-size:.9rem}.button-row,.detail-actions,.panel-heading,.status-banner,.inline-field,.marketing-meta,.customer-toolbar{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.customer-search-meta{color:#645749;font-size:.92rem}.customer-toolbar{justify-content:flex-start}.customer-toolbar input{max-width:29rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;margin:0 0 .6rem;opacity:.8}.tab-bar{display:flex;gap:.5rem;overflow-x:auto;padding:.65rem 0}.tab-button,.ghost-button,.secondary-button,.primary-button{border:0;border-radius:999px;padding:.6rem .95rem;font:inherit;white-space:nowrap;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.tab-button{background:#fff7eedb;color:#214c3c}.tab-button.active,.primary-button{background:linear-gradient(135deg,#214c3c,#7d5e35);color:#fffaf4;box-shadow:0 12px 30px #214c3c38}.secondary-button{background:#faf1e3eb;color:#214c3c}.ghost-button{background:#ffffff8f;color:#3b3126}.ghost-button.danger{color:#8f2d1e}.tab-button:hover,.ghost-button:hover,.secondary-button:hover,.primary-button:hover{transform:translateY(-1px)}.status-banner{padding:.75rem 1rem;margin-bottom:.75rem}.stats-grid,.overview-grid,.reports-grid,.workspace-grid,.workflow-grid{display:grid;gap:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:1rem}.overview-grid,.reports-grid,.workspace-grid,.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid.single{grid-template-columns:1fr}.customer-focus .panel:first-child{min-height:70vh}.customer-focus .panel:first-child,.customer-focus .detail-card{display:grid}.panel,.stat-card,.auth-card,.setup-card{padding:1rem}.panel-heading{align-items:end;margin-bottom:.75rem}.panel-heading.compact{margin-bottom:.75rem}.panel-heading h2,.detail-card h3,.app-banner h1,.auth-card h1,.setup-card h1{margin:0}.customer-list,.appointment-list,.queue-list,.quarter-list{display:grid;gap:.55rem}.appointments-shell .appointment-list{display:none}.appointments-shell>.panel:last-child{display:none}.appointments-shell.appointment-focus{grid-template-columns:1fr}.appointments-shell.appointment-focus>.panel:first-child{display:none}.appointments-shell.appointment-focus>.panel:last-child{display:block;max-width:960px;margin:0 auto}.customer-list{max-height:24rem;overflow-y:scroll;padding-right:.25rem;align-content:start;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(33,76,60,.45) rgba(255,255,255,.45)}.customer-list::-webkit-scrollbar{width:12px}.customer-list::-webkit-scrollbar-track{border-radius:999px;background:#ffffff80}.customer-list::-webkit-scrollbar-thumb{border:2px solid rgba(255,255,255,.5);border-radius:999px;background:#214c3c66}.customer-card,.appointment-main,.queue-card{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;width:100%;text-align:left}.customer-card,.queue-card{padding:.75rem .9rem}.customer-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;align-items:center;background:#ffffff8a}.customer-card-primary,.customer-card-secondary{display:block;min-width:0}.customer-card-primary strong,.customer-card-secondary span{overflow-wrap:anywhere}.customer-card-primary strong{font-size:1rem;line-height:1.2}.customer-card-secondary{text-align:right;color:#514638;font-size:.95rem;white-space:nowrap}.customer-card.active{outline:2px solid rgba(33,76,60,.35)}.customer-card.static{cursor:default}.appointment-card{padding:.45rem;display:grid;grid-template-columns:1fr auto;gap:.75rem}.appointments-dashboard,.schedule-block,.appointment-table,.calendar-grid,.calendar-weekdays,.calendar-day-events{display:grid}.appointments-dashboard{gap:1rem;margin-bottom:1.25rem}.schedule-block{gap:.85rem;padding:1rem;border:1px solid rgba(33,76,60,.12);border-radius:24px;background:#ffffff80}.appointment-table-wrap{overflow-x:auto}.appointment-table{width:100%;border-collapse:collapse;min-width:32rem}.appointment-table th,.appointment-table td{padding:.8rem .7rem;border-bottom:1px solid rgba(33,76,60,.1);text-align:left}.appointment-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#645749}.interactive-row{cursor:pointer}.interactive-row:hover{background:#214c3c0f}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{gap:.5rem;color:#645749;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.calendar-weekdays span{text-align:center}.calendar-grid{gap:.4rem}.calendar-day{min-height:6.2rem;padding:.45rem;border-radius:14px;background:#fffaf4db;border:1px solid rgba(33,76,60,.12)}.calendar-day.today{background:linear-gradient(135deg,#214c3c1f,#8f6a3924);border-color:#214c3c47}.calendar-day.muted{opacity:.55}.calendar-day-label{font-weight:700;margin-bottom:.35rem;font-size:.92rem}.calendar-day-events{gap:.25rem}.calendar-event{width:100%;border:0;border-radius:10px;color:#17352b;padding:.28rem .42rem;text-align:left;cursor:pointer;display:grid;gap:.05rem;line-height:1.1}.calendar-event-time{font-size:.72rem;font-weight:700;letter-spacing:.01em}.calendar-event-name{font-size:.76rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.status-scheduled{background:#214c3c24}.calendar-event.status-completed{background:#566b2f33}.calendar-event.status-invoiced{background:#a06d2333}.calendar-event.status-paid{background:#1c5a822e}.calendar-overflow{color:#645749;font-size:.75rem}.appointment-main{border:0;background:transparent;padding:.8rem;cursor:pointer}.detail-card{padding:.9rem 1rem;margin-top:.75rem}.customer-focus .detail-card{grid-template-rows:auto}.detail-card.accent{background:linear-gradient(135deg,#214c3c1a,#8f6a3929)}.detail-grid{display:grid;gap:.35rem;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-notes{margin-top:1rem;white-space:pre-wrap}.detail-link{color:#214c3c;text-decoration:none;border-bottom:1px solid rgba(33,76,60,.28)}.detail-link:hover{border-bottom-color:#214c3cb3}.customer-history{margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(33,76,60,.12)}.customer-history-list{display:grid;gap:.65rem}.history-row{width:100%;border:1px solid rgba(33,76,60,.12);border-radius:18px;background:#ffffffa3;padding:.7rem .85rem;display:grid;grid-template-columns:1.2fr 1fr auto;gap:.75rem;text-align:left;cursor:pointer}.customer-form-panel{position:sticky;top:1rem;align-self:start}.customer-form-screen{max-width:960px;margin:0 auto}.customer-detail-screen{max-width:1040px;margin:0 auto}.customer-detail-card{margin-top:0}.empty-state{margin:0;color:#6a5c4d}.form-grid{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label,.auth-form label,.compact-label{display:grid;gap:.35rem;color:#43392c;font-size:.96rem}.time-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.time-picker-column{display:grid;gap:.35rem}.time-picker-label{color:#645749;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.time-picker-scroll{max-height:11.5rem;overflow-y:auto;display:grid;gap:.35rem;padding-right:.2rem}.time-picker-option{border:1px solid rgba(33,76,60,.12);border-radius:14px;background:#ffffffb8;color:#214c3c;padding:.55rem .7rem;text-align:left;cursor:pointer}.time-picker-option.active{background:linear-gradient(135deg,#214c3ceb,#7d5e35e6);color:#fffaf4}.time-picker-option:disabled{opacity:.35;cursor:not-allowed}.full-width{grid-column:1 / -1}.checkbox-row{grid-column:span 1;grid-auto-flow:column;justify-content:start;align-items:center}input,textarea,select,pre{font:inherit}input,textarea,select{width:100%;border-radius:18px;border:1px solid rgba(33,76,60,.18);padding:.65rem .85rem;background:#ffffffc7;color:#1d1b18}textarea{resize:vertical}.compact-label input{width:5rem}.inline-field{align-items:stretch}.inline-field input{flex:1}.quarter-row,.stat-card,.auth-form,.setup-list,.message-stack{display:grid;gap:.45rem}.stat-card strong{font-size:2rem}.auth-shell,.setup-shell{display:grid;place-items:center;padding:1.5rem}.auth-card,.setup-card{width:min(100%,560px)}.auth-form{margin-top:1.25rem}.setup-list{padding-left:1.2rem}pre{overflow:auto;padding:1rem;border-radius:22px;background:#17352b;color:#f7f2eb}.error-text{color:#8f2d1e}@media (max-width: 980px){.overview-grid,.workspace-grid,.workflow-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.app-banner{align-items:flex-start;flex-direction:column}.tab-bar{gap:.4rem}.tab-button,.ghost-button,.secondary-button,.primary-button{padding:.5rem .8rem;font-size:.95rem}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(3.25rem,1fr));overflow-x:auto}.calendar-day{min-height:5.5rem}.customer-list{max-height:20rem;padding-right:0}.customer-card{grid-template-columns:minmax(0,1fr) auto;gap:.4rem .8rem}.customer-card-secondary{text-align:right;white-space:nowrap;font-size:.9rem}.app-shell{padding:1rem}}
