:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#302d3b;background:#f6f2eb;font-synthesis:none;font-weight:400;--bg:#f6f2eb;--surface:#fffefb;--line:#e5ded4;--ink:#302d3b;--muted:#6d6872;--indigo:#5b4c8a;--indigo-deep:#40396e;--lavender:#eeeaf7;--coral:#d97869;--jade:#438573;--radius:14px;font-size:14px;line-height:1.45;font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed}button,select,input,textarea{transition:background .15s,border-color .15s,box-shadow .15s}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--indigo);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:650;line-height:1.22;letter-spacing:-1.05px}h2{font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.3px}h3{font-size:17px;font-weight:600;letter-spacing:-.2px}p{line-height:1.65}svg{flex-shrink:0;stroke-width:1.7}a{color:inherit}small{font-size:12px}button{border:0;background:none}label{display:block;font-size:13px;font-weight:550;margin-bottom:16px}input,select,textarea{width:100%;color:var(--ink);background:var(--surface);border:1px solid #d8d1c8;border-radius:9px;min-height:44px;padding:10px 12px;margin-top:7px}input[type=date],input[type=time]{min-width:0}textarea{resize:vertical}select{cursor:pointer}input::placeholder{color:#89818b}input[aria-invalid=true]{border-color:#b94f4b}button:disabled{opacity:.55}strong{font-weight:600}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-weight:600;color:#766b83;display:flex;align-items:center;gap:8px;line-height:1.5}.title-dot{color:var(--coral)}.primary,.secondary,.danger-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border-radius:10px;font-weight:550;font-size:13px;white-space:nowrap}.primary{background:var(--indigo);color:#fff;border:1px solid var(--indigo)}.primary:hover{background:#493d73}.secondary{border:1px solid var(--line);background:var(--surface)}.secondary:hover{background:#f1ece7;border-color:#cec5bd}.danger-button{color:#fff;background:#b94f4b}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--indigo);font-size:12px;font-weight:600;min-height:36px;padding:4px 0}.text-button:hover{text-decoration:underline}.danger{color:#b94f4b}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px}.icon-button:hover{background:#f0ece5}.actions{display:flex;align-items:center;gap:10px}.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:#fff;padding:14px}.skip-link:focus{top:10px}.app-header{min-height:82px;display:flex;align-items:center;gap:24px;background:var(--surface);padding:0 32px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand-mark{position:relative;background:var(--indigo);width:35px;height:37px;border-radius:10px;color:#fff;font-size:27px;font-weight:350;font-style:italic;display:flex;align-items:center;justify-content:center;line-height:1}.brand-mark>span{width:7px;height:7px;background:#e2a08e;border:2px solid var(--surface);border-radius:50%;position:absolute;right:-2px;top:-2px}.brand strong{display:block;font-size:20px;letter-spacing:-.8px;font-weight:700}.brand strong span{font-weight:400}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:.25px}.top-nav{display:flex;align-self:stretch;justify-content:center;gap:5px;flex:1;min-width:0}.top-nav>button{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--muted);padding:0 10px;position:relative;white-space:nowrap}.top-nav>button:hover{color:var(--indigo);background:#f7f5fb}.top-nav>button.active{color:var(--indigo);font-weight:650}.top-nav>button.active:after{content:"";height:3px;background:var(--indigo);border-radius:3px;position:absolute;bottom:0;left:12px;right:12px}.nav-count{font-size:10px;background:#eeeaf7;color:var(--indigo);padding:0 5px;border-radius:5px}.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.profile-select{margin:0;display:flex;align-items:center;gap:6px}.profile-select select{border:0;background:none;width:84px;padding:6px 2px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:12px;min-height:40px}.profile-icon{width:29px;height:29px;border-radius:50%;background:#f0ece5;display:flex;align-items:center;justify-content:center;color:#756c7d}.new-appointment{box-shadow:0 3px 8px #5b4c8a15}.context-bar{display:flex;align-items:center;padding:13px 36px;gap:22px;color:var(--muted);font-size:11px;flex-wrap:wrap}.context-bar>span:first-child{font-weight:550}.demo-label{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.1px}.demo-label i{height:5px;width:5px;border-radius:50%;background:var(--coral)}.context-bar .demo-label{margin-left:auto}.professional-profile{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;width:100%}.professional-profile select{width:220px;margin:0;min-height:36px;padding:5px 10px}.bottom-nav{display:none}main{padding:19px 36px 36px;min-height:calc(100vh - 200px);max-width:1920px;margin:auto}main:focus{outline:none}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 28px}.page-title .eyebrow{margin-bottom:8px}.page-title p{color:var(--muted);font-size:12px;margin-top:10px}.home-title h1{font-size:34px}.text-divider{padding:0 9px;color:#bfb4b2}.small-tag{border:1px solid var(--line);padding:5px 9px;border-radius:6px;color:var(--muted);font-size:10px;white-space:nowrap}.quiet-count{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.surface{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden}.section-heading{padding:23px 24px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.section-heading .eyebrow{font-size:9px;margin-bottom:6px;letter-spacing:1.5px}.section-heading h2{font-size:17px}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 0;margin-bottom:28px}.stat{display:grid;grid-template-columns:40px 1fr;grid-template-rows:32px 20px;column-gap:14px;padding:3px 28px;position:relative}.stat:not(:last-child){border-right:1px solid var(--line)}.stat-icon{grid-row:1/3;display:flex;align-items:center;justify-content:center;align-self:center;height:40px;width:40px;border-radius:11px;background:#eeeaf7;color:var(--indigo)}.stat.jade .stat-icon{background:#e6f1ec;color:var(--jade)}.stat.coral .stat-icon{background:#f8e9e4;color:#b96557}.stat.lavender .stat-icon{background:#f1edf9;color:#8a79b5}.stat-number{font-size:29px;line-height:1.1;font-weight:600;letter-spacing:-1px}.stat-label{font-size:11px;color:var(--muted);align-self:end}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}.next-appointment{background:#eee8f3;border:1px solid #e2d8ec;border-radius:var(--radius);display:flex;justify-content:space-between;gap:20px;padding:27px 28px;position:relative;margin-bottom:26px;overflow:hidden}.next-appointment:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #d5c9e5;border-radius:50%;right:-70px;top:-85px;pointer-events:none}.next-appointment .eyebrow{font-size:10px;letter-spacing:1.6px;color:#776487;margin-bottom:13px}.next-appointment h2{font-size:24px;letter-spacing:-.6px;margin-bottom:5px}.next-appointment p{font-size:12px;color:#776b81}.next-appointment .text-button{margin-top:12px}.live-dot{height:5px;width:5px;background:#9b88b7;border-radius:50%}.next-time{display:flex;align-items:flex-end;justify-content:center;flex-direction:column;gap:5px;position:relative;z-index:1;flex-shrink:0}.next-time>strong{font-size:32px;line-height:1.1;letter-spacing:-1px;font-weight:500;color:var(--indigo-deep)}.next-time>span:not(.badge){font-size:11px;color:#7b6e88}.next-time .badge{margin-top:7px}.appointment-list{display:flex;flex-direction:column}.appointment-row{padding:16px 24px;display:flex;align-items:center;gap:14px;text-align:left;border-top:1px solid #f0ece5;width:100%;min-height:78px}.appointment-row:hover{background:#f8f5fa}.row-time{width:55px;display:flex;flex-direction:column;flex-shrink:0;gap:3px}.row-time strong{font-size:14px;letter-spacing:-.25px}.row-time span{font-size:10px;color:var(--muted)}.row-accent{width:3px;height:31px;border-radius:2px;flex-shrink:0}.row-main{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.row-main strong{font-size:12px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-main>span{font-size:10px;color:var(--muted)}.row-dot{padding:0 4px}.row-arrow{color:#8e849a;margin-left:3px}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;line-height:1.5;padding:3px 7px;border-radius:5px;white-space:nowrap;width:max-content;font-weight:500}.badge.scheduled{color:#6e5c9d;background:#eeeaf7}.badge.confirmed{color:#377362;background:#e6f1ec}.badge.attended{color:#5e755e;background:#edf0e8}.badge.cancelled{color:#746960;background:#f0ece5}.team-activity .section-heading{padding:23px 20px 13px}.team-activity .section-heading h2{font-size:17px}.team-activity .small-tag{font-size:9px}.team-row{display:flex;align-items:center;gap:12px;padding:13px 20px;width:100%;text-align:left;border-bottom:1px solid #f2eee9}.team-row:hover{background:#f7f4f9}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:38px;height:38px;background:color-mix(in srgb,var(--person) 10%,#fffefb);color:var(--person);border:1px solid color-mix(in srgb,var(--person) 16%,#fffefb);font-size:11px;font-weight:600;flex-shrink:0}.avatar.small{width:29px;height:29px;font-size:9px}.team-row>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px}.team-row strong{font-size:12px;font-weight:550}.team-row small{font-size:10px;color:var(--muted)}.activity-count{font-size:15px;display:flex;flex-direction:column;align-items:center;line-height:1.2}.activity-count small{font-size:9px;margin-top:3px}.team-row>svg{color:#a79ba9}.team-foot{display:flex;align-items:center;justify-content:center;gap:7px;color:#8a7b92;font-size:10px;padding:19px 8px}.today-list{margin-top:26px}.app-footer{border-top:1px solid var(--line);margin:0 36px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;color:#8d8389;font-size:10px;flex-wrap:wrap}.app-footer strong{color:#786785;font-weight:550}.app-footer .text-button{font-size:10px;color:#887b8b}.footer-dot{margin:0 6px}.empty{padding:40px 20px;text-align:center;color:#7a7084}.empty>svg{color:#a99ccf;margin-bottom:10px}.empty h3{font-size:15px;margin-bottom:6px}.empty p{font-size:12px;max-width:380px;margin:0 auto}.warning{display:flex;gap:12px;align-items:center;background:#fff1e7;border:1px solid #e4bfa4;border-radius:10px;padding:12px 16px;margin-bottom:20px;color:#864a27;font-size:13px}.warning>span{flex:1}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 32px #40396e21;display:flex;align-items:center;gap:12px;border-radius:12px;padding:14px 18px;min-width:300px;max-width:calc(100vw - 24px);font-size:13px}.toast-check{background:#e6f1ec;color:var(--jade);width:27px;height:27px;display:flex;align-items:center;justify-content:center;border-radius:50%}.toast>button{color:var(--indigo);font-size:12px;white-space:nowrap}.toast>button:last-child{margin-left:auto}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px 14px 0 0}.date-controls,.view-controls{display:flex;align-items:center;gap:6px}.date-controls .today{min-height:36px;font-size:12px;padding:6px 14px;margin-right:6px}.date-title{position:relative;min-width:200px;margin:0 0 0 5px;font-size:16px;font-weight:550;letter-spacing:-.3px;cursor:pointer}.date-title input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;margin:0;min-height:28px}.view-controls{gap:14px}.view-controls>select{margin:0;min-height:36px;font-size:12px;max-width:230px;padding:7px 12px}.segmented{display:flex;gap:3px;padding:3px;background:#f0ece5;border-radius:8px;flex-shrink:0}.segmented button{padding:6px 15px;border-radius:6px;font-size:12px;color:var(--muted)}.segmented button.active{background:var(--surface);box-shadow:0 1px 3px #302d3b12;color:var(--indigo);font-weight:550}.calendar-caption{display:flex;align-items:center;gap:16px;padding:12px 20px;border:1px solid var(--line);border-top:0;background:#fcfaf6;font-size:10px;color:var(--muted)}.calendar-caption>span{display:flex;align-items:center;gap:5px}.legend-dot{height:5px;width:5px;border-radius:50%;background:var(--indigo);display:inline-block}.legend-dot.jade{background:var(--jade)}.legend-dot.lavender{background:#9180b7}.legend-dot.sage{background:#758a78}.calendar-caption .caption-right{margin-left:auto;font-size:10px}.calendar-scroll{overflow:auto;border:1px solid var(--line);border-top:0;background:var(--surface);max-height:calc(100vh - 310px);min-height:420px;border-radius:0 0 12px 12px;scrollbar-width:thin}.schedule{display:grid;grid-template-columns:56px repeat(var(--columns),minmax(140px,1fr));min-width:calc(56px + var(--columns)*140px);position:relative}.schedule-heading{display:flex;align-items:center;gap:7px;justify-content:center;min-height:65px;padding:10px 8px;border-bottom:1px solid var(--line);border-right:1px solid #f0ece5;position:sticky;top:0;z-index:5;background:#fffefb}.schedule-heading strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550}.schedule-heading small{font-size:9px;display:block;color:#8b828c;margin-top:3px;white-space:nowrap}.schedule-heading.today-heading{background:#f7f4fb}.time-heading{left:0;z-index:8;font-size:9px;color:var(--muted);font-weight:400;background:#fcfaf6}.time-axis{position:sticky;left:0;height:616px;background:#fcfaf6;z-index:6;border-right:1px solid var(--line)}.time-axis>span{position:absolute;left:0;right:0;text-align:center;font-size:9px;color:#928791;transform:translateY(-6px)}.time-axis>span:first-child{transform:translateY(3px)}.time-axis>span:last-child{transform:translateY(-15px)}.schedule-column{height:616px;position:relative;border-right:1px solid var(--line)}.time-slot{display:block;width:100%;height:14px;border-top:1px solid #f4f0ea;padding:0;text-align:center;position:relative}.time-slot:nth-child(4n+1){border-top-color:#e9e2db}.time-slot svg{opacity:0;color:var(--indigo)}.time-slot:not(:disabled):hover,.time-slot:focus-visible{background:#eeeaf7;z-index:2;outline-offset:-2px}.time-slot:hover svg,.time-slot:focus-visible svg{opacity:1}.time-slot.outside{background:repeating-linear-gradient(-45deg,#f3f0eb,#f3f0eb 3px,#eeebe5 3px,#eeebe5 4px);opacity:.7}.time-slot:disabled{opacity:1}.appointment-block{position:absolute;left:3px;right:3px;z-index:3;display:flex;flex-direction:column;overflow:hidden;text-align:left;border-radius:5px;border:1px solid color-mix(in srgb,var(--person) 18%,white);border-left:3px solid var(--person);background:color-mix(in srgb,var(--person) 10%,#fffefb);padding:2px 5px;color:#4a4055;line-height:1.05;gap:1px}.appointment-block:hover{box-shadow:0 1px 8px #40396e30;z-index:4}.appointment-block strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-block>span{font-size:9px;display:flex;justify-content:space-between;align-items:center}.appointment-block>small{font-size:9px;font-weight:400;margin-top:1px;overflow:hidden;white-space:nowrap}.status-dot{width:4px;height:4px;border-radius:50%;background:#7566a3}.status-dot.confirmed{background:var(--jade)}.status-dot.attended{background:#758a78}.appointment-block.attended{background:#eef1e9}.calendar-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8c838a;font-size:10px;padding:13px 2px}.calendar-bottom>span{display:flex;gap:6px;align-items:center}.legend-outside{height:9px;width:9px;background:#e8e3db;border:1px solid #dad2c8;border-radius:2px}.mobile-calendar{display:none}.week-overview{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));overflow:auto;background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}.week-card{border-right:1px solid var(--line);min-width:145px;padding-bottom:15px}.week-card:last-child{border-right:0}.week-date{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;width:100%;padding:20px 8px;border-bottom:1px solid var(--line)}.week-date:hover{background:#eeeaf7}.week-date>span{text-transform:uppercase;letter-spacing:1px;font-size:10px;color:var(--muted)}.week-date>strong{font-size:27px;font-weight:500}.week-date>small{font-size:10px;color:var(--muted)}.is-today .week-date{background:var(--lavender);color:var(--indigo)}.week-statuses{display:flex;flex-direction:column;gap:2px;padding:14px 12px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.8}.week-person{display:flex;align-items:center;gap:7px;padding:10px 12px;width:100%;font-size:10px;white-space:nowrap}.week-person:hover{background:#f7f4fb}.week-person i{width:5px;height:5px;border-radius:50%;flex-shrink:0}.week-person b{margin-left:auto;color:#9b8fa3;font-weight:400}.cancelled-details{font-size:12px;color:var(--muted);margin-top:12px}.cancelled-details summary{cursor:pointer;padding:10px 0}.cancelled-row{display:flex;align-items:center;gap:15px;padding:10px;border-bottom:1px solid var(--line);text-align:left}.professional-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.professional-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid;padding:24px;border-radius:12px}.professional-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.professional-card-top>.avatar{width:48px;height:48px;font-size:14px}.professional-card-top>.muted{font-size:11px}.professional-card h2{font-size:20px;margin-bottom:3px}.professional-card>p{font-size:11px}.working-days{display:flex;gap:6px;margin:20px 0 12px}.working-days>span{width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;background:#f4f0e9;color:#aaa0a5}.working-days>span.working{background:#eeeaf7;color:var(--indigo)}.professional-hours{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.professional-card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:12px;gap:8px}.professional-card-foot>span{font-size:10px;color:var(--muted)}.patient-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px}.search-field{display:flex;align-items:center;gap:9px;border:1px solid #d8d1c8;border-radius:9px;background:var(--surface);padding:0 12px;margin:0;color:#8a7f8f;max-width:380px;width:100%}.search-field input{border:0;background:none;margin:0;padding-left:0;min-height:42px;font-size:12px}.search-field input:focus-visible{outline-offset:-2px}.search-field .icon-button{width:27px}.patient-toolbar>.muted{font-size:11px}.patient-row,.patient-table-head{display:grid;grid-template-columns:2fr 1fr 1.3fr 20px;align-items:center;gap:20px;padding:16px 24px;width:100%;text-align:left}.patient-table-head{background:#faf7f1;font-size:10px;letter-spacing:.4px;border-block:1px solid var(--line);color:#8b808d;padding-block:13px}.patient-row{border-bottom:1px solid #f0ece5;min-height:80px}.patient-row:last-child{border-bottom:0}.patient-row:hover{background:#f8f5fa}.inline-person{display:flex;align-items:center;gap:12px;min-width:0}.inline-person>span:last-child{min-width:0}.inline-person strong{font-size:12px;display:block}.inline-person small{font-size:10px;display:block;color:#8e8491;margin-top:3px}.patient-initials{width:36px;height:36px;border-radius:50%;background:#f0eaf0;color:#8b7294;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.patient-phone,.patient-last{font-size:12px;color:var(--muted)}.patient-detail-meta{display:flex;flex-direction:column;gap:10px;background:#f5f1f8;border-radius:10px;padding:16px;color:var(--muted)}.patient-detail-meta small{font-size:10px;overflow-wrap:anywhere}.modal-body .section-heading{padding:24px 0 12px}.modal-body .appointment-row{padding:15px 0}.notice{display:flex;align-items:center;gap:12px;background:#f0eaf5;border:1px solid #e3daed;padding:16px 20px;border-radius:10px;color:#766581;font-size:12px;margin-bottom:24px}.notice p{margin:0}.reminder-tabs{display:flex;gap:9px;margin-bottom:20px;overflow:auto;white-space:nowrap;padding-bottom:4px}.reminder-tabs button{border:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:9px 13px;min-height:40px;background:var(--surface);border-radius:8px;font-size:12px;color:var(--muted)}.reminder-tabs button.selected{background:#eeeaf7;color:var(--indigo);border-color:#d2c6e5}.reminder-tabs button>span{font-size:10px;background:#f0ece5;min-width:20px;border-radius:4px;padding:1px 4px}.reminder-row{display:flex;align-items:center;text-align:left;gap:18px;width:100%;padding:22px 24px;border-bottom:1px solid #f0ece5}.reminder-row:last-child{border-bottom:0}.reminder-row:hover{background:#f8f5fa}.reminder-icon{width:44px;height:44px;background:#e6f1ec;color:var(--jade);display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.pending .reminder-icon{background:#f5eade;color:#a66c3c}.reminder-row>div:nth-child(2){flex:1}.reminder-row strong{font-size:13px}.reminder-row p{font-size:11px;color:var(--muted);margin:5px 0}.reminder-tags{display:flex;gap:5px;flex-wrap:wrap}.reminder-tags span{font-size:9px;color:#8d7b91;background:#f0ecf3;border-radius:4px;padding:2px 5px}.pending .reminder-tags span{background:#f8f0e6;color:#997043}.reminder-when{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.reminder-when>span:not(.badge){color:var(--muted);font-size:11px}.modal{padding:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:18px;width:580px;max-width:calc(100vw - 48px);max-height:90dvh;box-shadow:0 24px 100px #302d3b30;overflow:auto;scrollbar-width:thin}.modal.wide{width:720px}.modal::backdrop{background:#30263960;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{padding:24px 28px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:var(--surface)}.modal-head .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:5px}.modal-head h2{font-size:23px;font-weight:600;letter-spacing:-.7px}.modal-body{padding:24px 28px}.modal-body>p{font-size:13px;color:var(--muted)}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;border-top:1px solid var(--line);background:var(--surface);position:sticky;bottom:0;z-index:5}.foot-hint{font-size:10px;color:#8b808e}.steps{display:flex;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line);gap:8px}.steps button{display:flex;align-items:center;gap:7px;color:#a69ba9}.steps button>span{height:23px;width:23px;border:1px solid #ddd5e3;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px}.steps button small{font-size:11px}.steps button.current{color:var(--indigo)}.steps button.current>span{background:var(--indigo);border-color:var(--indigo);color:#fff}.steps button.done{color:#756388}.steps button.done>span{background:var(--lavender);border-color:#e3dbed}.steps button:disabled{opacity:1;cursor:default}.wizard-content{padding:22px 28px 26px;min-height:300px}.wizard-content>h3{font-size:19px;margin-bottom:4px}.wizard-content>p.muted{font-size:12px;margin-bottom:21px}.professional-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.professional-option{border:1px solid var(--line);display:flex;align-items:center;text-align:left;gap:10px;padding:12px;border-radius:10px;background:var(--surface);min-height:66px}.professional-option.selected{border-color:#aa97c9;background:#f5f1fa}.professional-option:hover{border-color:#aa97c9}.professional-option>span:nth-child(2){flex:1}.professional-option strong{font-size:12px;display:block}.professional-option small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.professional-option>svg{color:var(--indigo)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.slot-heading{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin:5px 0 12px}.slot-heading>span{font-size:10px;color:var(--muted)}.slots{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.slots button{border:1px solid var(--line);padding:9px 5px;border-radius:7px;font-size:12px;min-height:36px;background:var(--surface)}.slots button:not(:disabled):hover,.slots button.selected{background:var(--lavender);border-color:#a99ccf;color:var(--indigo)}.slots button:disabled{opacity:1;color:#aaa0a5;background:#f5f2ed;border-color:#eee9e2;text-decoration:line-through}.slots button.selected:disabled{border-color:#b94f4b;color:#b94f4b}.help{font-size:11px!important;color:#8a7f8c;margin-top:14px}.field-error{font-size:12px!important;display:flex;align-items:center;gap:7px;color:#b94f4b;background:#faefed;padding:10px 12px;border-radius:7px;margin:10px 0;line-height:1.5}.patient-options{display:flex;flex-direction:column;max-height:285px;overflow:auto;margin:14px 0}.patient-options>button{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid transparent;border-bottom:1px solid #f0ece5;border-radius:7px;padding:10px}.patient-options>button:hover,.patient-options>button.selected{background:#f5f1fa;border-color:#d9cdeb}.patient-options>button>span:nth-child(2){flex:1}.patient-options strong{display:block;font-size:12px}.patient-options small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.summary-patient{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.summary-patient .eyebrow{font-size:9px;margin-bottom:8px}.summary-patient h3{font-size:22px;margin-bottom:10px;letter-spacing:-.5px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}.summary-grid>div{display:flex;gap:10px;align-items:center;color:var(--indigo);font-size:12px}.summary-grid>div>span:not(.summary-symbol){display:flex;flex-direction:column;gap:4px;color:var(--ink)}.summary-grid small{font-size:10px;color:var(--muted)}.summary-symbol{font-size:21px;width:18px}.notes{margin-top:24px;border-top:1px solid var(--line);padding-top:15px}.notes small{font-size:10px;color:var(--muted)}.notes p{font-size:12px;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}.review-links{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.review-links .text-button{font-size:10px}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;padding:20px 28px;border-top:1px solid var(--line)}.detail-actions .secondary,.detail-actions .primary{font-size:12px;padding:9px 12px}.cancel-confirm{margin-top:20px;padding:15px;border:1px solid #e4b8ae;border-radius:9px;background:#fcf0ec}.cancel-confirm p{font-size:12px;margin:8px 0 15px}.inline-registration{background:#faf7fc;padding:18px;border:1px solid #e4dbeb;border-radius:10px}.inline-registration .actions{justify-content:flex-end}@media(min-width:1550px){.top-nav{gap:12px}.top-nav>button{font-size:13px;padding:0 15px}.home-layout{grid-template-columns:minmax(0,1fr) 390px}.app-header{padding-inline:40px}main{padding-inline:40px}}@media(max-width:1199px){.app-header{gap:16px;flex-wrap:wrap;padding:16px 24px 0}.brand{flex:1}.header-actions{margin-left:auto}.top-nav{order:3;width:100%;flex:0 0 100%;min-height:48px;justify-content:flex-start;overflow:auto}.top-nav>button{font-size:12px;padding:0 16px;min-height:48px}.context-bar{padding:12px 24px}main{padding:16px 24px 28px}.app-footer{margin-inline:24px}.home-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.stat{padding-inline:20px;column-gap:10px}.next-appointment{padding:24px}.next-appointment h2{font-size:21px}.next-time>strong{font-size:28px}.calendar-toolbar{flex-wrap:wrap}.view-controls{margin-left:auto}.calendar-scroll{max-height:65vh}.professional-directory{gap:16px}.professional-card{padding:20px}.professional-card h2{font-size:18px}.patient-row,.patient-table-head{grid-template-columns:1.7fr 1fr 1fr 18px;gap:12px}}@media(max-width:960px)and (min-width:768px){.home-layout{grid-template-columns:1fr}.team-activity{display:grid;grid-template-columns:1fr 1fr}.team-activity .section-heading,.team-foot{grid-column:1/-1}.professional-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding-inline:15px}.stat-icon{height:32px;width:32px}.stat{grid-template-columns:32px 1fr}.next-appointment{padding:27px}.date-controls{flex:1}.view-controls{width:100%;justify-content:space-between}}@media(max-width:767px){:root{font-size:14px}.app-header{height:64px;min-height:64px;flex-wrap:nowrap;padding:0 16px;gap:10px}.brand{gap:8px;flex:1}.brand-mark{width:29px;height:31px;border-radius:8px;font-size:23px}.brand strong{font-size:18px}.brand small,.top-nav{display:none}.header-actions{gap:8px}.profile-select{position:fixed;top:66px;right:14px;z-index:21;height:30px}.profile-select .profile-icon{display:none}.profile-select select{width:84px;font-size:11px;min-height:30px;padding:4px}.profile-select>svg{width:10px}.new-appointment{min-height:36px;padding:7px 11px;border-radius:8px;font-size:11px;gap:5px}.new-appointment svg{width:15px}.context-bar{padding:8px 16px 10px;gap:6px;min-height:61px;align-items:flex-start;background:var(--surface);border-bottom:1px solid var(--line)}.context-bar>span:first-child{width:calc(100% - 104px);font-size:10px;margin-top:1px}.context-bar .demo-label{width:100%;margin-left:0;font-size:9px}.professional-profile{font-size:11px}.professional-profile select{width:180px;font-size:11px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fffefbf7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);height:calc(64px + env(safe-area-inset-bottom));padding:5px 6px calc(5px + env(safe-area-inset-bottom));z-index:30;justify-content:space-around}.bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:0;flex:1;color:#918594;min-height:49px}.bottom-nav button.active{color:var(--indigo)}.bottom-nav button>span{position:relative;width:40px;display:flex;align-items:center;justify-content:center;border-radius:7px}.bottom-nav button.active>span{background:#eeeaf7}.bottom-nav small{font-size:9px;white-space:nowrap}.bottom-nav i{font-style:normal;position:absolute;background:var(--coral);color:#fff;font-size:8px;border-radius:8px;min-width:13px;padding:0 2px;right:1px;top:-3px}main{padding:22px 16px 24px;min-height:calc(100vh - 240px)}h1,.home-title h1{font-size:27px;letter-spacing:-.9px}.page-title{margin:4px 0 23px;align-items:flex-start;gap:10px}.page-title .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:9px}.page-title p{font-size:11px;margin-top:9px;max-width:290px}.home-title{display:block}.home-title .text-button{margin-top:8px;min-height:25px;font-size:11px}.text-divider{padding:0 4px}.quiet-count{display:none}.stats{grid-template-columns:1fr 1fr;padding:0;margin-bottom:20px}.stat{padding:18px 16px;grid-template-columns:32px 1fr;grid-template-rows:29px 18px;column-gap:10px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat-icon{width:32px;height:32px;border-radius:9px}.stat-icon svg{width:16px}.stat-number{font-size:26px}.stat-label{font-size:10px}.home-layout{display:flex;flex-direction:column;gap:20px}.home-layout>div,.team-activity{width:100%}.next-appointment{padding:23px 20px;margin-bottom:20px;gap:12px}.next-appointment h2{font-size:20px}.next-appointment p{font-size:10px;max-width:180px}.next-appointment .eyebrow{font-size:9px;margin-bottom:14px}.next-time>strong{font-size:26px}.next-time>span:not(.badge){font-size:9px}.next-time .badge{font-size:9px;padding:3px 5px}.next-appointment .text-button{font-size:10px}.section-heading{padding:20px 17px 16px;gap:8px}.section-heading h2{font-size:16px}.section-heading .text-button{font-size:10px}.appointment-row{padding:16px;gap:9px;min-height:78px;position:relative;flex-wrap:wrap}.row-time{width:43px;gap:5px;align-self:flex-start;padding-top:3px}.row-time strong{font-size:13px}.row-time span{font-size:9px}.row-main{margin-right:0;align-self:flex-start;padding-top:3px}.row-main strong{font-size:12px}.row-main>span{font-size:10px;line-height:1.4;white-space:normal;padding-right:3px}.row-dot{padding:0 1px}.row-accent{align-self:flex-start;margin-top:4px;height:31px}.appointment-row>.badge{margin-left:64px;margin-top:-4px;font-size:9px}.row-arrow{display:none}.today-list{margin-top:20px}.team-activity .section-heading{padding-inline:17px}.team-row{padding:14px 17px}.team-row strong{font-size:12px}.team-foot{font-size:10px}.app-footer{margin:0 16px;padding:18px 0 calc(88px + env(safe-area-inset-bottom));flex-direction:column;gap:6px;font-size:9px}.app-footer .text-button{min-height:32px}.toast{bottom:calc(78px + env(safe-area-inset-bottom));min-width:0;width:calc(100vw - 32px);font-size:12px;padding:12px}.warning{font-size:11px;padding:9px 12px;gap:7px}.calendar-toolbar{padding:13px 12px;gap:14px}.date-controls{gap:0;width:100%}.date-controls .today{padding:5px 9px;margin-right:5px}.date-controls .icon-button{width:32px;height:36px}.date-title{font-size:13px;min-width:0;flex:1;text-align:right;margin-left:4px}.view-controls{width:100%;justify-content:space-between;gap:8px}.view-controls>select{max-width:195px;width:58%;font-size:11px;min-height:38px}.segmented button{font-size:11px;min-height:32px;padding:5px 12px}.calendar-caption{gap:10px;padding:10px 12px;font-size:9px;flex-wrap:wrap}.calendar-caption .caption-right,.desktop-calendar{display:none}.mobile-calendar{display:block}.mobile-professional{background:var(--surface);border:1px solid var(--line);border-top:0;padding-bottom:0}.mobile-professional:last-child{border-radius:0 0 12px 12px;overflow:hidden}.mobile-professional .section-heading{padding:17px 14px;border-bottom:1px solid var(--line);background:#fcfaf7}.mobile-professional .inline-person{gap:8px}.mobile-professional .inline-person strong{font-size:12px}.availability-button{border-top:1px solid #f0ece5;padding:14px;display:flex;align-items:center;justify-content:center;color:var(--indigo);gap:5px;font-size:11px;width:100%;min-height:44px}.mobile-professional .empty{padding:25px 15px}.mobile-professional .empty h3{font-size:12px}.mobile-professional .empty p{font-size:10px}.calendar-bottom{font-size:9px;align-items:flex-start}.calendar-bottom>span:last-child{text-align:right}.mobile-week{display:flex;background:var(--surface);border:1px solid var(--line);padding:10px;gap:4px}.mobile-week button{flex:1;display:flex;align-items:center;flex-direction:column;gap:7px;padding:8px 4px;border-radius:9px}.mobile-week button.selected{background:var(--lavender);color:var(--indigo)}.mobile-week small{font-size:9px}.week-overview{display:flex;flex-direction:column}.week-card{display:grid;grid-template-columns:65px 1fr 1fr;border:0;border-bottom:1px solid var(--line);padding:10px;gap:4px}.week-date{grid-row:1/7;border:0;border-radius:9px;padding:12px 8px;margin-right:6px}.week-date strong{font-size:26px}.week-date small{font-size:9px}.week-statuses{grid-column:2/4;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 10px;padding:3px 6px 8px;font-size:9px}.week-person{font-size:9px;padding:6px 8px;gap:5px}.professional-directory{grid-template-columns:1fr;gap:15px}.professional-card{padding:21px}.professional-card h2{font-size:21px}.professional-card-top{margin-bottom:14px}.professional-card-foot>span{font-size:11px}.professional-card-foot .text-button{font-size:12px}.working-days>span{width:29px;height:29px;font-size:11px}.page-title>.small-tag{display:none}.page-title>.secondary{font-size:11px;min-height:40px;padding:8px 11px;max-width:140px;white-space:normal}.patient-toolbar{padding:17px 14px;gap:10px}.patient-toolbar>.muted{font-size:10px;white-space:nowrap}.search-field{padding-left:10px}.search-field input{font-size:11px}.patient-table-head{display:none}.patient-row{display:grid;grid-template-columns:1fr 18px;padding:16px;gap:5px}.patient-row .inline-person{grid-column:1}.patient-row .patient-phone,.patient-row .patient-last{grid-column:1;margin-left:48px;font-size:10px}.patient-row>svg{grid-column:2;grid-row:1/4;color:#9e91aa}.inline-person strong{font-size:12px}.notice{font-size:11px;padding:15px;gap:10px;margin-bottom:19px}.reminder-tabs{gap:7px}.reminder-tabs button{font-size:10px;padding:8px 11px;min-height:38px}.reminder-row{padding:18px 14px;gap:10px;align-items:flex-start;flex-wrap:wrap}.reminder-icon{width:32px;height:32px;border-radius:9px}.reminder-icon svg{width:17px}.reminder-row>div:nth-child(2){width:calc(100% - 48px);flex:none}.reminder-row strong{font-size:12px}.reminder-row p{font-size:10px}.reminder-row>svg:last-child{display:none}.reminder-row .reminder-when{flex-direction:row;gap:8px;align-items:center;margin-left:42px;flex-wrap:wrap}.reminder-when>.badge{font-size:9px}.reminder-tags span{font-size:9px}.modal,.modal.wide{width:100%;height:100dvh;max-width:100%;max-height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none;overflow:auto}.modal-head{padding:17px 18px;min-height:80px}.modal-head h2{font-size:22px}.modal-head .eyebrow{font-size:8px;letter-spacing:1.1px}.modal-head .icon-button{width:44px;height:44px}.modal-body{padding:22px 18px}.modal-body>p{font-size:13px}.steps{padding:18px 16px;gap:4px}.steps button{gap:5px;min-height:32px}.steps button small{font-size:9px}.steps button>span{width:22px;height:22px}.wizard-content{padding:21px 18px 28px;min-height:calc(100dvh - 244px)}.wizard-content>h3{font-size:19px}.wizard-content>p.muted{font-size:12px}.professional-options{grid-template-columns:1fr;gap:8px}.professional-option{min-height:64px;padding:12px}.professional-option strong{font-size:13px}.professional-option small{font-size:11px}.professional-option>.avatar{height:37px;width:37px}.form-grid{grid-template-columns:1fr 1fr;gap:0 12px}.form-grid label{font-size:12px}.slots{grid-template-columns:repeat(4,1fr);gap:8px}.slots button{min-height:44px;font-size:12px}.slot-heading{flex-direction:column;gap:5px;margin-bottom:12px}.slot-heading>span{font-size:11px}.slot-heading>strong{font-size:13px}.patient-options{max-height:43vh}.patient-options strong{font-size:12px}.patient-options small{font-size:11px}.modal-foot{padding:15px 18px calc(15px + env(safe-area-inset-bottom));bottom:0;gap:10px}.modal-foot .foot-hint{font-size:9px;max-width:100px}.modal-foot .primary,.modal-foot .secondary{font-size:12px;padding:10px 12px}.summary-grid{grid-template-columns:1fr;gap:19px}.summary-grid>div{font-size:13px}.summary-grid small{font-size:11px}.summary-patient h3{font-size:23px}.review-links{gap:10px 15px}.review-links .text-button{font-size:11px}.detail-actions{padding:18px;gap:8px}.detail-actions .secondary,.detail-actions .primary{flex:1;font-size:12px;min-height:44px}.detail-actions .danger{width:100%;font-size:12px;min-height:44px}.inline-registration{padding:16px}.inline-registration .actions{flex-wrap:wrap}.help{font-size:11px!important}.empty h3{font-size:16px}.empty p{font-size:12px}}.top-nav>button{font-size:13px}.context-bar,.demo-label{font-size:12px}.brand small{font-size:10px}.stat-label{font-size:12px}.row-main strong,.team-row strong{font-size:14px}.row-main>span,.row-time span,.team-row small,.professional-option small,.professional-card>p,.professional-card-foot>span,.patient-last,.patient-phone,.notice,.reminder-row p{font-size:12px}.badge,.small-tag,.quiet-count,.calendar-caption,.calendar-caption .caption-right,.calendar-bottom,.patient-table-head,.help,.foot-hint,.team-foot{font-size:12px}.schedule-heading strong,.schedule-heading small,.time-axis>span,.time-heading{font-size:11px}.appointment-block{line-height:1;padding:1px 4px;gap:0}.appointment-block strong,.appointment-block>span,.appointment-block>small{font-size:12px;line-height:1}.appointment-block>small{margin-top:0}.week-person,.week-statuses,.week-date>small{font-size:12px}.patient-row .inline-person strong{font-size:14px}.patient-row .inline-person small,.reminder-tags span,.reminder-when>span:not(.badge){font-size:12px}.professional-card-foot .text-button{font-size:12px}.team-activity .small-tag{font-size:11px}.row-accent{height:35px}.profile-select select{width:88px;font-size:12px}@media(max-width:767px){.context-bar>span:first-child{font-size:12px}.context-bar .demo-label{font-size:11px}.profile-select select,.bottom-nav small{font-size:12px}.bottom-nav i{font-size:9px}.page-title p,.next-appointment p,.next-time>span:not(.badge),.next-appointment .text-button,.section-heading .text-button,.appointment-row .badge,.row-time span,.row-main>span,.stat-label,.team-foot,.team-row small,.calendar-caption,.calendar-bottom,.view-controls>select,.segmented button,.date-controls .today,.mobile-week small,.week-person,.week-statuses,.week-date small,.patient-toolbar>.muted,.search-field input,.patient-row .patient-phone,.patient-row .patient-last,.reminder-tabs button,.reminder-row p,.reminder-tags span,.reminder-when>.badge,.modal-foot .foot-hint,.steps button small,.professional-option small,.help,.foot-hint,.small-tag,.availability-button,.mobile-professional .empty p{font-size:12px!important}.row-time strong,.row-main strong,.team-row strong{font-size:14px}.row-main>span{line-height:1.5}.appointment-row>.badge{margin-top:0}.row-time{width:45px}.appointment-row>.badge{margin-left:67px}.next-appointment{flex-wrap:wrap}.next-appointment p{max-width:200px}.next-time>strong{font-size:27px}.next-time .badge{font-size:12px}.next-appointment>div:first-child{flex:1;min-width:160px}.next-time{align-items:flex-start}.home-layout .row-main{min-width:180px}.section-heading .eyebrow{font-size:10px}.patient-row .inline-person strong{font-size:14px}.slot-heading>span{font-size:12px}.mobile-professional .empty h3{font-size:14px}.new-appointment{font-size:12px}.professional-card-foot>span{font-size:12px}.steps{padding-inline:12px}.steps button{gap:4px}.steps button>span{width:20px;height:20px}.reminder-row strong{font-size:14px}.summary-grid small{font-size:12px}.app-footer,.app-footer .text-button{font-size:11px}.professional-profile,.professional-profile select{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
