@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173b35;background:#f4f7f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green:#0f766e;--green-dark:#124e48;--green-soft:#e0f2ee;--ink:#173b35;--muted:#71827d;--line:#e2eae6;--surface:#fff;--shadow:0 10px 35px rgba(24,65,54,.06)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f7f5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid #d8e3de;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#43a99b;box-shadow:0 0 0 3px #0f766e16}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:#425a53}label input,label select,label textarea{font-weight:400}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);background:#f8faf9}.auth-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:50px;padding:clamp(28px,5vw,76px);overflow:hidden;color:#fff;background:radial-gradient(circle at 85% 15%,#347f72 0,transparent 32%),linear-gradient(145deg,#123f39,#0b2926)}.auth-story:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff18;border-radius:50%;right:-100px;bottom:-130px;box-shadow:0 0 0 42px #ffffff08,0 0 0 90px #ffffff06}.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand strong{display:block;font:800 22px Manrope,sans-serif;letter-spacing:-.5px}.brand span{display:block;font-size:10px;letter-spacing:2px;font-weight:700;margin-top:3px;opacity:.72}.logo-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#2db6a4,#0f766e);box-shadow:0 7px 18px #0002}.story-copy{position:relative;z-index:1;max-width:640px}.eyebrow{display:inline-block;font-size:10px;font-weight:800;letter-spacing:1.5px;color:#65847a}.eyebrow.light{color:#a8e5d8}.story-copy h1{font:800 clamp(38px,5.4vw,72px)/1.04 Manrope,sans-serif;letter-spacing:-2px;margin:20px 0}.story-copy p{max-width:540px;color:#d0e2dc;font-size:16px;line-height:1.8}.story-points{display:grid;gap:13px;margin-top:28px}.story-points span{display:flex;align-items:center;gap:9px;color:#e1f2ed;font-size:14px}.auth-story>small{position:relative;z-index:1;color:#b7d1c9;max-width:520px;line-height:1.6}.auth-side{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:36px 24px}.auth-card{width:min(430px,100%);display:flex;flex-direction:column;gap:17px;padding:clamp(24px,3vw,42px);background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px #163f3210}.auth-card h2{font:800 clamp(26px,3vw,34px)/1.15 Manrope,sans-serif;letter-spacing:-.8px;margin:0}.auth-card p{margin:-7px 0 4px;color:var(--muted);font-size:14px;line-height:1.6}.auth-card label{margin-top:2px}.auth-foot{font-size:12px;color:#82938d;text-align:center;margin-top:20px}.primary-btn,.outline-btn,.text-btn,.link-btn,.icon-btn,.logout-btn,.mobile-menu,.close-menu{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;font-weight:700;border-radius:10px;transition:transform .15s,background .15s,border-color .15s}.primary-btn{background:var(--green);color:#fff;padding:12px 16px;box-shadow:0 5px 12px #0f766e20}.primary-btn:hover{background:#0b625b;transform:translateY(-1px)}.primary-btn.compact,.outline-btn.compact{padding:9px 12px;font-size:12px}.outline-btn{border:1px solid #d8e4df;background:#fff;color:#31594f;padding:11px 14px}.outline-btn:hover{background:#f0f7f4;border-color:#a9cbc0}.text-btn{background:transparent;color:var(--green);padding:7px}.text-btn:hover,.link-btn:hover{background:var(--green-soft)}.link-btn{background:transparent;color:var(--green);padding:8px;font-size:12px}.icon-btn{width:34px;height:34px;background:#f0f5f2;color:#4c6b61}.message,.notice{padding:12px 14px;border-radius:10px;background:#fff5df;color:#815c17;font-size:13px;line-height:1.5}.notice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.notice button{border:0;background:transparent;color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;padding:26px 17px 18px;background:#123d37;color:#e7f3ef;display:flex;flex-direction:column;z-index:30}.side-brand{padding:0 8px 28px}.side-brand .logo-mark{flex-shrink:0}.side-brand .brand strong,.side-brand strong{font-size:19px}.side-brand .brand span,.side-brand span{font-size:9px}.side-label{font-size:9px;letter-spacing:1.5px;color:#83aaa0;font-weight:800;padding:0 12px 12px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:10px;text-align:left;color:#c0d9d1;background:transparent;font-size:13px;font-weight:600}.sidebar nav button svg:last-child{margin-left:auto}.sidebar nav button:hover,.sidebar nav button.selected{background:#ffffff15;color:#fff}.sidebar nav button.selected{box-shadow:inset 3px 0 #5ad0b9}.sidebar-bottom{margin-top:auto}.user-chip{display:flex;align-items:center;gap:10px;padding:13px 8px;border-top:1px solid #ffffff1c}.user-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d9f1e9;color:#176a5d;flex-shrink:0}.user-info{min-width:0}.user-info strong{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.user-info span{font-size:10px;color:#a6c5bb;display:block;margin-top:4px}.logout-btn{width:100%;padding:10px;background:transparent;color:#c2dcd3;justify-content:flex-start;font-size:12px}.logout-btn:hover{background:#ffffff12}.privacy-note{display:flex;gap:9px;align-items:flex-start;margin-top:14px;padding:12px;border:1px solid #ffffff18;border-radius:10px;color:#b7d2c9;font-size:10px;line-height:1.5}.privacy-note svg{flex-shrink:0}.main-area{margin-left:258px;min-height:100vh}.topbar{min-height:100px;padding:23px clamp(20px,3.5vw,52px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:#ffffffde}.topbar h1{font:800 27px Manrope,sans-serif;letter-spacing:-.8px;margin:5px 0 0}.topbar-right{display:flex;align-items:center;gap:9px;color:#6c8178;font-size:11px}.topbar-right .user-avatar{margin-left:8px}.user-avatar.small{width:32px;height:32px}.status-dot{width:7px;height:7px;background:#2db58c;border-radius:50%;box-shadow:0 0 0 4px #2db58c18}.page-content{padding:clamp(18px,3vw,40px);max-width:1500px;margin:auto}.page-content footer{padding:32px 0 10px;color:#8a9a93;text-align:center;font-size:11px}.page-content footer span{padding:0 5px;color:#b1c2ba}.welcome-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,3vw,40px);border-radius:20px;background:linear-gradient(115deg,#124e48,#167b6e);color:#fff;overflow:hidden;position:relative}.welcome-panel>div:first-child{position:relative;z-index:1}.welcome-tag{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ffffff35;border-radius:30px;color:#d2f2e8;font-size:9px;font-weight:800;letter-spacing:1px}.welcome-panel h2{font:800 clamp(26px,3.5vw,40px)/1.1 Manrope,sans-serif;letter-spacing:-1px;margin:17px 0 9px}.welcome-panel p{max-width:520px;color:#d1e8e0;line-height:1.6;font-size:14px}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.welcome-actions .primary-btn{background:#fff;color:#145d53;box-shadow:none}.welcome-actions .outline-btn{border-color:#ffffff60;background:transparent;color:#fff}.welcome-art{min-width:190px;display:grid;place-items:center;gap:10px;color:#c8e9e0;font-size:11px;font-weight:600;position:relative}.art-circle{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;color:#e2fff5;background:#ffffff12;border:1px solid #ffffff35;box-shadow:0 0 0 18px #ffffff08,0 0 0 40px #ffffff05}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.stat-card{padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff;display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center;box-shadow:var(--shadow)}.stat-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;grid-row:span 3}.stat-icon.mint{background:#dff5ed;color:#16866f}.stat-icon.blue{background:#e4efff;color:#4374c8}.stat-icon.lavender{background:#eee8ff;color:#7754bb}.stat-icon.sand{background:#fff0d8;color:#b57a20}.stat-card>span{font-size:11px;color:#70847b}.stat-card>strong{font:800 27px Manrope,sans-serif;margin:3px 0}.stat-card>small{font-size:10px;color:#91a098}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr);gap:18px}.panel{border:1px solid var(--line);border-radius:15px;background:#fff;padding:20px;box-shadow:var(--shadow);min-width:0}.panel-heading,.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel h3,.form-title h3{font:800 17px Manrope,sans-serif;letter-spacing:-.3px;margin:6px 0 0}.panel-heading{padding-bottom:16px;border-bottom:1px solid #edf2ef}.appointment-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #edf2ef}.appointment-row:last-child{border-bottom:0}.date-badge{width:47px;height:51px;display:grid;align-content:center;justify-items:center;gap:2px;border-radius:10px;background:#e6f5ef;color:#166c5e;flex-shrink:0}.date-badge strong{font:800 20px Manrope}.date-badge span{font-size:9px;text-transform:uppercase}.appointment-main{display:grid;gap:5px;min-width:0;flex:1}.appointment-main strong,.agenda-details strong{font-size:12px}.appointment-main span,.agenda-details span{font-size:11px;color:#7a8d84;line-height:1.5}.status-dot{flex-shrink:0}.badge-status,.status-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:20px;background:#e3f6ed;color:#187354;font-size:10px;font-weight:700;white-space:nowrap}.quick-panel h3{margin-bottom:15px}.quick-link{display:flex;align-items:center;gap:12px;padding:13px 0;border:0;border-bottom:1px solid #edf2ef;background:transparent;width:100%;text-align:left}.quick-link:last-child{border-bottom:0}.quick-icon{width:39px;height:39px;border-radius:11px;background:#e5f4ef;color:#16816f;display:grid;place-items:center;flex-shrink:0}.quick-link strong{display:block;font-size:12px;color:#24473e}.quick-link span{display:block;font-size:10px;color:#8a9b93;margin-top:4px}.section-header{margin-bottom:18px}.section-header h2{font:800 23px Manrope;margin:4px 0}.section-header p{font-size:12px;color:var(--muted);margin:6px 0 0}.form-panel{margin-bottom:18px}.form-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.privacy-help{font-size:11px;color:#738b80;margin:12px 0 0}.table-panel{padding:0;overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.table-toolbar>strong{font-size:12px}.search-box{display:flex;align-items:center;flex-direction:row;gap:8px;width:min(310px,100%);padding:0 10px;border:1px solid #dce7e1;border-radius:10px;color:#8a9d94}.search-box input{border:0;box-shadow:none;padding:9px 0;font-size:12px}.patient-row{display:flex;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid #edf2ef}.patient-row:last-child{border-bottom:0}.patient-avatar{width:38px;height:38px;border-radius:50%;background:#e2f3ed;color:#1b806d;display:grid;place-items:center;flex-shrink:0}.patient-info{display:grid;gap:4px;flex:1;min-width:0}.patient-info strong{font-size:12px}.patient-info span,.patient-date{font-size:10px;color:#80938a}.active-label,.inactive-label{display:inline-flex;align-items:center;gap:6px;color:#25815e;font-size:10px;font-weight:700;white-space:nowrap}.active-label>span{width:6px;height:6px;border-radius:50%;background:#35b47e}.inactive-label{color:#9a6b43}.inactive-label>span{background:#d59b5d}.date-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;color:#71857b;font-size:11px}.date-filter label{flex-direction:row;align-items:center;gap:10px}.date-filter input{width:auto;padding:8px;font-size:12px}.agenda-list{padding:0 20px}.agenda-row{display:flex;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid #edf2ef}.agenda-row:last-child{border-bottom:0}.agenda-time{width:66px;display:grid;gap:4px;flex-shrink:0}.agenda-time strong{font-size:14px}.agenda-time span{font-size:10px;color:#8a9c93}.agenda-details{display:grid;gap:5px;flex:1;min-width:0}.agenda-details small{font-size:10px;color:#819188}.agenda-status{display:grid;gap:7px;justify-items:end}.agenda-status select{font-size:10px;padding:6px;width:auto;max-width:150px}.clinical-warning{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin-bottom:17px;border:1px solid #dcebe4;border-radius:12px;background:#eef8f3;color:#42675b;font-size:12px;line-height:1.6}.clinical-warning svg{flex-shrink:0;color:#16816f}.notes-list{display:grid;gap:14px}.note-head{display:flex;align-items:center;gap:12px}.note-icon{width:38px;height:38px;border-radius:11px;background:#e5f4ef;color:#167d6c;display:grid;place-items:center}.note-head>div:nth-child(2){display:grid;gap:4px;flex:1}.note-head strong{font-size:12px}.note-head span{font-size:10px;color:#83958c}.note-type{padding:6px 9px;background:#edf4f0;border-radius:20px;font-size:10px!important;color:#4c7165!important}.note-card p{white-space:pre-wrap;line-height:1.7;font-size:13px;color:#4e655b;margin:16px 0 0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.service-card{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center}.service-icon{width:42px;height:42px;border-radius:12px;background:#e5f4ef;color:#16816f;display:grid;place-items:center}.service-title{display:grid;gap:5px;min-width:0}.service-title strong{font-size:12px}.service-title span{font-size:10px;color:#81948b}.service-price{grid-column:1/-1;font:800 22px Manrope}.service-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #edf2ef}.empty-panel{grid-column:1/-1}.empty-state,.empty-panel .empty-icon{display:grid;justify-items:center;text-align:center;padding:28px 12px;gap:9px}.empty-icon{color:#83a99a}.empty-state strong{font-size:13px}.empty-state p{font-size:11px;color:#879990;line-height:1.5;margin:0 0 6px}.empty-state button{margin-top:4px}.loading-screen,.loading-panel{display:grid;place-items:center;min-height:160px;color:#789087;font-size:13px}.loading-screen{min-height:100vh}.mobile-menu,.close-menu,.mobile-scrim{display:none}.status-pill.scheduled{background:#e6efff;color:#4268aa}.status-pill.confirmed{background:#dff5ec;color:#17775a}.status-pill.completed{background:#e7f3e8;color:#3e7c43}.status-pill.cancelled,.status-pill.no_show{background:#fae9e6;color:#a54c40}@media(max-width:1100px){.sidebar{width:230px}.main-area{margin-left:230px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-art{min-width:140px}.art-circle{width:100px;height:100px}}@media(max-width:760px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:330px;padding:28px;gap:30px}.story-copy h1{font-size:39px;letter-spacing:-1px}.story-copy p{font-size:14px}.auth-story>small{display:none}.auth-side{padding:20px}.auth-card{padding:25px}.sidebar{transform:translate(-100%);transition:transform .2s;width:280px;box-shadow:10px 0 40px #0002}.sidebar.open{transform:translate(0)}.mobile-scrim{display:block;position:fixed;inset:0;background:#0d2620a8;border:0;z-index:20}.close-menu{display:inline-flex;margin-left:auto;background:#ffffff15;color:#fff;width:32px;height:32px}.main-area{margin-left:0}.topbar{min-height:82px;padding:16px 18px}.topbar h1{font-size:22px}.topbar-right>span:not(.status-dot){display:none}.mobile-menu{display:inline-flex;width:38px;height:38px;background:#e4f2ed;color:#176c5e;flex-shrink:0}.topbar>div:first-of-type{margin-right:auto}.page-content{padding:16px}.welcome-panel{padding:23px;align-items:flex-start}.welcome-art{display:none}.welcome-panel h2{font-size:30px}.stats-grid{gap:10px}.stat-card{padding:13px;grid-template-columns:34px 1fr;gap:8px}.stat-icon{width:34px;height:34px}.stat-card>strong{font-size:23px}.stat-card>span{font-size:10px}.stat-card>small{font-size:9px}.panel{padding:16px}.table-panel{padding:0}.table-toolbar{padding:14px;align-items:flex-start;flex-direction:column}.search-box{width:100%}.patient-row{padding:13px;gap:9px;flex-wrap:wrap}.patient-date{margin-left:47px}.patient-row .active-label{margin-left:auto}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.date-filter{align-items:flex-start;flex-direction:column}.agenda-row{gap:10px;align-items:flex-start;flex-wrap:wrap}.agenda-details{min-width:calc(100% - 80px)}.agenda-status{margin-left:76px;display:flex;align-items:center;justify-items:start;flex-wrap:wrap}.service-grid{grid-template-columns:1fr}.appointment-row{gap:10px;flex-wrap:wrap}.appointment-main{min-width:calc(100% - 65px)}.appointment-row .status-pill{margin-left:60px}.note-head{align-items:flex-start;flex-wrap:wrap}.note-type{margin-left:50px}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}.welcome-actions .primary-btn,.welcome-actions .outline-btn{font-size:11px;padding:10px}.auth-foot{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.assistant-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);gap:18px;align-items:start}.assistant-panel{padding:clamp(18px,2.5vw,30px)}.assistant-intro{display:flex;gap:13px;align-items:flex-start}.assistant-logo{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#26a995,#0f766e)}.assistant-intro h3{margin:2px 0 7px}.assistant-intro p{margin:0;color:#788c82;font-size:12px;line-height:1.6}.prompt-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:22px 0}.prompt-chip{min-height:56px;padding:11px 12px;text-align:left;line-height:1.45;font-size:11px;color:#42665a;background:#f6faf8;border:1px solid #e0ebe5;border-radius:10px}.prompt-chip:hover{border-color:#83c6b5;background:#eaf7f2}.assistant-form{display:grid;gap:8px}.assistant-form>label{font-size:12px}.assistant-form textarea{min-height:130px;line-height:1.6;font-size:13px}.assistant-form-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.assistant-form-foot>span{font-size:10px;color:#8b9b93}.assistant-wait{padding:13px 0;color:#0f766e;font-size:12px}.assistant-answer{margin-top:22px;padding:18px;border:1px solid #cde9de;background:#f4fbf7;border-radius:13px}.assistant-answer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.assistant-answer-head strong{display:flex;align-items:center;gap:7px;font-size:12px;color:#176c5e}.assistant-answer-head>span{font-size:10px;color:#82958c}.assistant-answer p{white-space:pre-wrap;line-height:1.75;font-size:13px;color:#35574c;margin:14px 0}.assistant-safety{background:#fbfdfb}.safety-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#e4f5ee;color:#187b65}.assistant-safety h3{margin:14px 0 10px}.assistant-safety ul{padding-left:18px;margin:0;display:grid;gap:12px}.assistant-safety li{font-size:11px;line-height:1.65;color:#687f74}.assistant-note{display:block;margin-top:17px;padding:11px;background:#fff5df;border-radius:9px;color:#896722;font-size:10px;line-height:1.5}.assistant-spinner{display:inline-block;width:12px;height:12px;border:2px solid #ffffff80;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.assistant-layout{grid-template-columns:1fr}}@media(max-width:560px){.prompt-chips{grid-template-columns:1fr}.assistant-form-foot{align-items:flex-end}.assistant-answer-head{align-items:flex-start;flex-direction:column}}
