@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{color:#293b33;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--green:#587b66;--green-dark:#365744;--green-light:#e8efe8;--cream:#f6f7f2;--white:#fff;--text:#293b33;--muted:#829087;--border:#e6ebe5;--danger:#b85b55;--radius:18px;--shadow:0 8px 28px #2b43330e;background:#f6f7f2;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--cream);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #587b6640}#root{min-height:100vh}.app{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:34px 40px 24px}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:var(--green);letter-spacing:2.3px;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.app-header h1{color:var(--green-dark);letter-spacing:-.8px;margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(30px,4vw,42px);font-weight:600;line-height:1.2}.header-description{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.6}.secondary-button,.primary-button{border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:11px 17px;font-size:13px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.secondary-button{color:var(--green-dark);background:var(--white);border:1px solid var(--border);flex-shrink:0}.secondary-button:hover{background:var(--green-light)}.primary-button{color:#fff;background:var(--green);border:1px solid var(--green);box-shadow:0 4px 10px #3657441f}.primary-button:hover{background:var(--green-dark);transform:translateY(-1px);box-shadow:0 6px 14px #3657442b}.toolbar{background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:15px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;padding:17px 20px;display:flex}.toolbar label{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.toolbar select{min-width:210px;min-height:40px;color:var(--text);border:1px solid var(--border);text-transform:none;letter-spacing:normal;background:#fbfcf9;border-radius:9px;padding:9px 35px 9px 12px;font-size:13px}.dashboard{grid-template-columns:minmax(300px,1.1fr) minmax(280px,.9fr);align-items:start;gap:22px;display:grid}.calendar-card,.form-card,.appointments-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);padding:24px}.calendar-card{grid-row:span 2}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px;display:flex}.section-heading h2{color:var(--green-dark);margin:0;font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:600;line-height:1.3}.month-controls{align-items:center;gap:8px;display:flex}.month-controls button{width:34px;height:34px;color:var(--green-dark);border:1px solid var(--border);background:#f6f8f4;border-radius:9px;justify-content:center;align-items:center;font-size:19px;transition:background .2s;display:inline-flex}.month-controls button:hover{background:var(--green-light)}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekday{color:var(--muted);text-align:center;text-transform:uppercase;padding:9px 0 12px;font-size:11px;font-weight:700}.calendar-day{min-width:0;min-height:67px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:11px;flex-direction:column;justify-content:flex-start;align-items:center;padding:10px 3px 7px;font-size:13px;transition:background .15s,border-color .15s;display:flex;position:relative}.calendar-day:hover{border-color:var(--border);background:#f2f6f0}.calendar-day.selected{color:var(--green-dark);background:var(--green-light);border-color:#cfddcf;font-weight:700}.calendar-day.today{box-shadow:inset 0 0 0 1px var(--green)}.calendar-day.selected.today{border-color:var(--green)}.appointment-indicator{justify-content:center;align-items:center;gap:3px;margin-top:7px;display:flex}.appointment-indicator span,.legend-dot{background:var(--green);border-radius:50%;width:5px;height:5px;display:inline-block}.calendar-legend{color:var(--muted);border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:20px;padding-top:16px;font-size:12px;display:flex}.legend-dot{width:8px;height:8px}.form-card .section-heading{margin-bottom:19px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:15px;display:grid}.form-card label{color:#66776b;flex-direction:column;gap:7px;min-width:0;margin-bottom:15px;font-size:12px;font-weight:600;display:flex}.form-row label{margin-bottom:0}.form-card input,.form-card select,.form-card textarea{width:100%;min-width:0;min-height:42px;color:var(--text);background:#fbfcfa;border:1px solid #e0e7df;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:400;transition:border-color .2s,box-shadow .2s}.form-card input::placeholder,.form-card textarea::placeholder{color:#a4afa6}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#8da995;outline:none;box-shadow:0 0 0 3px #587b661a}.form-card textarea{resize:vertical;min-height:78px;line-height:1.5}.form-card .app-message{color:var(--green-dark);background:var(--green-light);border-radius:9px;margin:10px 0;padding:11px 13px;font-size:12px;line-height:1.5}.form-actions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.form-actions button{flex:1}.appointments-card .section-heading{margin-bottom:17px}.appointment-count{min-width:28px;height:28px;color:var(--green-dark);background:var(--green-light);border-radius:20px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.empty-state{color:var(--muted);text-align:center;background:#fafbf8;border:1px dashed #dfe7de;border-radius:12px;padding:25px 15px;font-size:13px;line-height:1.6}.appointments-list{flex-direction:column;gap:11px;display:flex}.appointment-item{border:1px solid var(--border);background:#fbfcf9;border-radius:12px;grid-template-columns:64px minmax(0,1fr);gap:13px;padding:14px;transition:border-color .2s,background .2s;display:grid}.appointment-item:hover{background:#f8faf6;border-color:#cfddcf}.appointment-time{min-height:48px;color:var(--green-dark);background:var(--green-light);text-align:center;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;padding:7px 4px;font-size:14px;font-weight:700;display:flex}.appointment-details{min-width:0}.appointment-details h3{color:var(--text);overflow-wrap:anywhere;margin:0 0 5px;font-size:14px;font-weight:700}.appointment-clinic{color:var(--green);margin:0;font-size:12px;font-weight:600;line-height:1.5}.appointment-notes{color:var(--muted);overflow-wrap:anywhere;margin:7px 0 0;font-size:12px;line-height:1.5}.appointment-actions{flex-wrap:wrap;gap:12px;margin-top:11px;display:flex}.text-button,.delete-button{color:var(--green-dark);background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.text-button:hover{text-decoration:underline}.delete-button{color:var(--danger)}.delete-button:hover{text-decoration:underline}.app-footer{color:#99a49b;border-top:1px solid var(--border);text-align:center;margin-top:25px;padding:17px 0 5px;font-size:11px;line-height:1.6}.login-page>div,.login-page>section,.login-page>form{width:min(100%,420px)}@media (width<=1050px){.app{padding:28px 24px 20px}.dashboard{grid-template-columns:minmax(0,1fr)}.calendar-card{grid-row:auto}.calendar-day{min-height:58px}}@media (width<=600px){.app{padding:23px 14px 16px}.app-header{flex-direction:column;gap:16px;margin-bottom:22px}.app-header h1{font-size:32px}.header-description{font-size:13px}.app-header .secondary-button{align-self:flex-start}.toolbar{flex-direction:column;align-items:stretch;padding:15px}.toolbar select{width:100%;min-width:0}.calendar-card,.form-card,.appointments-card{border-radius:15px;padding:17px 14px}.dashboard{gap:15px}.section-heading h2{font-size:20px}.calendar-grid{gap:2px}.weekday{font-size:9px}.calendar-day{border-radius:8px;min-height:49px;padding:8px 1px 5px;font-size:12px}.appointment-indicator{gap:2px;margin-top:5px}.appointment-indicator span{width:4px;height:4px}.form-row{grid-template-columns:minmax(0,1fr);gap:0}.form-row label{margin-bottom:15px}.appointment-item{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:11px}.appointment-time{font-size:13px}.form-actions{flex-direction:column}.form-actions button{width:100%}}.appointment-modal{border-radius:var(--radius);width:min(100%,600px);max-height:calc(100vh - 40px);margin:auto;animation:.18s ease-out appointment-modal-appear;overflow-y:auto}.appointment-modal .form-card{width:100%;margin:0}.appointment-modal .section-heading{z-index:1;background:var(--white);padding:4px 0 12px;position:sticky;top:-1px}@keyframes appointment-modal-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.appointment-modal-backdrop{align-items:flex-start;padding:12px}.appointment-modal{border-radius:15px;max-height:calc(100vh - 24px)}}@media (prefers-reduced-motion:reduce){.appointment-modal{animation:none}}.settings-container{flex-shrink:0;position:relative}.settings-button{border:1px solid var(--border);background:var(--white);width:44px;height:44px;color:var(--green-dark);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:22px;transition:background .2s,transform .2s;display:flex}.settings-button:hover{background:var(--green-light);transform:rotate(25deg)}.settings-menu{z-index:100;background:var(--white);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.settings-menu button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:11px 12px;display:block}.settings-menu button:hover{background:var(--green-light)}.add-appointment-area{color:var(--muted);flex-direction:column;align-items:center;gap:8px;margin:28px 0;font-size:13px;display:flex}.appointment-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);background:#23342a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.appointment-modal{overscroll-behavior:contain;border-radius:var(--radius);width:min(100%,600px);max-height:calc(100vh - 40px);margin:auto;animation:.18s ease-out appointment-modal-appear;overflow-y:auto}.appointment-modal .appointment-form-card{box-sizing:border-box;width:100%;margin:0}.appointment-modal .section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.close-form-button{border:1px solid var(--border);background:var(--white);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:26px;line-height:1;display:flex}.close-form-button:hover{background:var(--green-light)}@media (width<=600px){.app-header{gap:12px}.appointment-modal-backdrop{align-items:flex-start;padding:12px}.appointment-modal{border-radius:15px;max-height:calc(100vh - 24px)}.appointment-modal .form-row{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.appointment-modal,.settings-button,.add-appointment-button{transition:none;animation:none}}.add-appointment-area{z-index:900;color:var(--muted);flex-direction:column;align-items:center;gap:0;margin:0;font-size:13px;display:flex;position:fixed;bottom:24px;right:24px}.add-appointment-button{background:var(--green);color:#fff;width:62px;height:62px;box-shadow:var(--shadow);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:38px;font-weight:300;line-height:1;transition:background .2s,transform .2s;display:flex}.add-appointment-button:hover{background:var(--green-dark);transform:scale(1.07)}@media (width<=600px){.add-appointment-area{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}.add-appointment-button{width:56px;height:56px;font-size:34px}}.report-card{box-sizing:border-box;width:100%;margin:0}.report-intro{color:var(--muted);margin:12px 0 20px;line-height:1.6}.report-year-field{margin:16px 0;display:block}.report-year-field select{box-sizing:border-box;width:100%;margin-top:8px;display:block}.report-summary{border:1px solid var(--border);border-radius:var(--radius);background:var(--green-light);align-items:center;gap:16px;margin:20px 0;padding:18px;display:flex}.report-summary-number{background:var(--white);width:58px;height:58px;color:var(--green-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.report-summary strong{color:var(--text);display:block}.report-summary p{color:var(--muted);margin:5px 0 0;line-height:1.5}.report-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.report-actions button{box-sizing:border-box;width:100%}.report-danger-button{color:#a52e2b;font:inherit;cursor:pointer;background:0 0;border:1px solid #b94a48;border-radius:10px;padding:12px 16px;font-weight:600;transition:background .2s}.report-danger-button:hover{background:#fff0ef}.report-danger-button:disabled{opacity:.55;cursor:not-allowed}.report-message{overflow-wrap:anywhere;line-height:1.5}.report-warning{border-top:1px solid var(--border);color:var(--muted);margin-top:22px;padding-top:14px;font-size:12px;line-height:1.6}.report-actions button:disabled{opacity:.55;cursor:not-allowed}@media (width<=600px){.report-modal-backdrop{align-items:flex-start}.report-card{padding:18px}.report-summary{align-items:flex-start;gap:12px;padding:14px}.report-summary-number{width:48px;height:48px;font-size:20px}*,:before,:after{box-sizing:border-box}html,body,#root{min-width:0;max-width:100%}.settings-container{z-index:3000;top:12px;left:auto;right:12px;position:fixed!important}.settings-menu{z-index:3001;width:min(280px,100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 80px);top:calc(100% + 8px);right:0;overflow:hidden auto;position:absolute!important;left:auto!important}.appointment-modal-backdrop,.report-modal{-webkit-overflow-scrolling:touch;z-index:4000;justify-content:center;align-items:center;width:100%;height:100dvh;padding:12px;display:flex;inset:0;overflow-y:auto;position:fixed!important}.appointment-modal,.report-card{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;max-height:calc(100dvh - 24px);margin:auto;overflow:hidden auto}.form-card,.form-row,.report-card,.report-year-field{min-width:0;max-width:100%}.form-card input,.form-card select,.form-card textarea,.report-card input,.report-card select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px}.form-card input[type=date],.form-card input[type=time]{appearance:none;width:100%;min-width:0;max-width:100%;padding:10px;font-size:16px;display:block}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row>*{flex:140px;min-width:0;max-width:100%}.appointment-count{white-space:nowrap;overflow-wrap:normal;word-break:normal;flex-shrink:0}.calendar-card,.daily-appointments,.appointment-item{min-width:0;max-width:100%}.report-actions{flex-direction:column;gap:10px;width:100%;min-width:0;display:flex}.report-actions button{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0;max-width:100%}.app-header{padding-right:48px;position:relative}.settings-container{z-index:3000;top:12px;right:8px;position:absolute!important;left:auto!important}.settings-menu{z-index:3001;width:min(280px,100vw - 24px);max-width:calc(100vw - 24px);max-height:70vh;top:calc(100% + 8px);right:0;overflow-y:auto;position:absolute!important;left:auto!important}.add-appointment-area{z-index:2500;position:fixed;bottom:20px;right:8px!important}.add-appointment-area{z-index:2500;transform:translate(-50%);left:50%!important;right:auto!important;bottom:calc(32px + env(safe-area-inset-bottom))!important;position:fixed!important}.add-appointment-area>span{display:none!important}}.settings-button{width:42px;height:42px;color:var(--green-dark);background:linear-gradient(145deg,#fff,#f2f6f1);border:1px solid #dbe5dc;border-radius:14px;padding:10px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 12px #2b433d17}.settings-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;display:block}.settings-button:hover{background:#eaf1e9;border-color:#b9cdbb;transform:translateY(-1px);box-shadow:0 6px 15px #2b433d21}.settings-button:focus-visible{outline-offset:3px;outline:3px solid #6a8f7359}.settings-menu{border:1px solid #dce5dc;border-radius:15px;min-width:205px;padding:7px;box-shadow:0 14px 34px #23362d29}.settings-menu button{border-radius:10px;min-height:42px;font-size:14px}.amount-input-wrap{border:1px solid var(--border);background:var(--white);border-radius:10px;align-items:center;gap:10px;margin-top:7px;padding:0 12px;display:flex}.amount-input-wrap>span{color:var(--green-dark);font-weight:700}.amount-input-wrap input{flex:1;min-width:0;box-shadow:none!important;background:0 0!important;border:0!important}.amount-input-wrap:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #6a8f7324}.report-period-fields{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:14px;margin:18px 0;display:grid}.monthly-report-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.monthly-report-stat{border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:space-between;gap:10px;min-width:0;min-height:96px;padding:14px;display:flex}.monthly-report-stat span{color:#526258;font-size:12px;line-height:1.35}.monthly-report-stat strong{overflow-wrap:anywhere;color:#2b433d;font-size:clamp(18px,2.5vw,24px);line-height:1.2}.stat-appointments{background:#edf2ee;border-color:#dce7de}.stat-income{background:#e2eee4;border-color:#cfe0d2}.stat-missing{background:#fbf2df;border-color:#efe1c0}.report-warning{color:#655b46;background:#fbf7ee;border-left:3px solid #bda06b;border-radius:0 9px 9px 0;margin-top:18px;padding:12px 14px;font-size:12px;line-height:1.55}@media (width<=600px){.app-header{padding-right:54px;position:relative}.settings-container{z-index:3000;position:absolute!important;top:4px!important;left:auto!important;right:2px!important}.settings-button{border-radius:13px;width:40px;height:40px;padding:9px}.settings-menu{width:min(270px,100vw - 24px);max-width:calc(100vw - 24px);top:calc(100% + 8px)!important;left:auto!important;right:0!important}.report-period-fields{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:10px}.monthly-report-summary{gap:7px}.monthly-report-stat{border-radius:11px;gap:8px;min-height:88px;padding:10px}.monthly-report-stat span{font-size:11px}.monthly-report-stat strong{font-size:17px}}@media (width<=380px){.monthly-report-summary{grid-template-columns:1fr}.monthly-report-stat{min-height:70px}}.loading-screen{background:radial-gradient(ellipse at 50% 35%, #dce9dae0 0, transparent 48%), var(--cream);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;overflow:hidden}.loading-brand{text-align:center;flex-direction:column;align-items:center;animation:1.8s ease-in-out infinite brand-breathe;display:flex}.loading-logo{object-fit:contain;width:min(180px,48vw);height:auto;max-height:180px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto 18px;display:block}.loading-brand-name{color:var(--green-dark);margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(23px,5vw,30px);font-weight:600}.loading-brand-caption{color:var(--muted);letter-spacing:2.5px;text-transform:uppercase;margin:7px 0 0;font-size:11px}.loading-caption{color:var(--muted);letter-spacing:.2px;margin-top:28px;font-size:12px}@keyframes brand-breathe{0%,to{opacity:.76;transform:scale(.97)}50%{opacity:1;transform:scale(1.035)}}@media (prefers-reduced-motion:reduce){.loading-brand{animation:none}}.app-header{width:100%;margin-bottom:28px;display:block;position:relative}.app-header-content{text-align:center;width:100%;margin:0 auto}.app-header-content .eyebrow{margin-bottom:8px}.app-header-content .header-description{margin-left:auto;margin-right:auto}.settings-button{width:46px;height:46px;color:var(--green-dark);box-shadow:none;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #587b663d;border-radius:15px;place-items:center;padding:10px;transition:background .22s,border-color .22s,transform .22s;display:grid}.settings-button svg{fill:currentColor;stroke:currentColor;stroke-width:.45px;stroke-linejoin:round;width:25px;height:25px;transition:transform .55s cubic-bezier(.2,.8,.2,1);display:block;overflow:visible}.settings-button .gear-hole{fill:var(--cream);stroke:currentColor;stroke-width:1.5px}.settings-button:hover{box-shadow:none;background:#e8efe8b8;border-color:#587b6680;transform:translateY(-1px)}.settings-button.is-open:active svg{transform:rotate(145deg)scale(.94)}.loading-screen{min-height:100svh;background:#fff!important}.loading-brand{animation:1.45s ease-in-out infinite brand-breathe}@media (width<=600px){.app{padding:22px 14px 16px}.app-header{margin-bottom:22px;display:block}.app-header-content{padding:0 2px}.app-header-content .eyebrow{letter-spacing:2px;font-size:10px}.app-header h1{text-align:center;font-size:clamp(27px,7vw,32px);line-height:1.2}.header-description{text-align:center;max-width:34ch;font-size:13px}.settings-container{top:-5px;right:-2px}.settings-button{border-radius:14px;width:42px;height:42px;padding:9px}.settings-button svg{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){.settings-button svg,.loading-brand{transition:none!important;animation:none!important}}.loading-logo{width:min(190px,52vw);max-height:190px}.loading-screen{min-height:100svh;padding:0;background:#fff!important}.loading-brand{justify-content:center;align-items:center;animation:none;display:flex}.loading-logo{width:min(190px,52vw);max-height:190px;margin:0;animation:1.45s ease-in-out infinite brand-breathe}@media (prefers-reduced-motion:reduce){.loading-logo{animation:none!important}}.app-header{grid-template-columns:minmax(0,1fr) minmax(0,720px) minmax(0,1fr);align-items:start;width:100%;position:relative;display:grid!important}.app-header-content{text-align:center;grid-area:1/2;justify-self:center;width:100%;min-width:0;max-width:720px;margin:0}.app-header-content h1,.app-header-content .eyebrow,.app-header-content .header-description{text-align:center}.settings-container{z-index:3000;top:0;right:0;position:absolute!important}.settings-button{color:#587b66;border:1px solid #587b6633;border-radius:50%;width:42px;height:42px;padding:10px;transition:border-color .2s,color .2s,background-color .2s;transform:none;box-shadow:none!important;background:0 0!important}.settings-button svg{stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px;transition:transform .45s;fill:none!important}.settings-button:hover{color:#365744;border-color:#587b666b;transform:none;background:#e8efe88c!important}.settings-button.is-open svg{transform:rotate(45deg)}.settings-button:active svg{transform:rotate(22deg)scale(.96)}html,body,#root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:#fff}.loading-screen{justify-content:center;align-items:center;width:100%;margin:0;padding:0;display:flex;background:#fff!important}.loading-brand{background:#fff;width:100%;min-height:100svh}@media (width<=600px){.app-header{grid-template-columns:minmax(0,1fr) minmax(0,720px) minmax(0,1fr)}.app-header-content{grid-column:2;width:100%;max-width:calc(100vw - 28px);padding:0}.settings-container{top:-3px;right:-2px}.settings-button{width:36px;height:36px;padding:8px}.settings-button svg{width:19px;height:19px}}@media (prefers-reduced-motion:reduce){.settings-button svg,.loading-logo{transition:none!important;animation:none!important}}.app-header{width:100%!important;display:block!important;position:relative!important}.app-header-content{text-align:center!important;width:100%!important;min-width:0!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;display:block!important}.settings-container{position:absolute!important;top:0!important;right:0!important}@media (width<=600px){.app-header-content{max-width:100%!important;padding-left:0!important;padding-right:0!important}.app-header-content h1{overflow-wrap:anywhere;max-width:100%;text-align:center!important}}.daily-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.economics-open-button{min-height:36px;padding:8px 12px;font-size:12px}.economics-modal{width:min(100%,900px)}.economics-card{padding:clamp(18px,3vw,30px)}.economics-date-label{color:var(--muted);text-transform:capitalize;margin:7px 0 0;font-size:13px}.economics-list{gap:14px;margin:20px 0;display:grid}.economics-item{border:1px solid var(--border);background:#fcfdfb;border-radius:15px;min-width:0;padding:17px}.economics-client-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.economics-time{color:var(--green);margin-bottom:4px;font-size:12px;font-weight:700;display:inline-block}.economics-client-heading h3{color:var(--green-dark);margin:0;font-size:17px}.economics-client-heading p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.5}.payment-status{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.payment-status i{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.payment-status.is-paid{color:#28764b;background:#e8f5ec}.payment-status.is-pending{color:#a84c45;background:#fff0ee}.economics-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.economics-fields label{min-width:0;color:var(--text);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.economics-fields input:not([type=checkbox]),.economics-fields select{border:1px solid var(--border);width:100%;min-width:0;min-height:42px;color:var(--text);background:#fff;border-radius:9px;padding:10px 11px;font-size:14px}.economics-paid-check{border:1px solid var(--border);background:#fff;border-radius:9px;align-self:end;align-items:center;min-height:42px;padding:9px 11px;flex-direction:row!important}.economics-paid-check input{width:18px;height:18px;accent-color:var(--green)}.economics-team-check{border:1px solid var(--border);cursor:pointer;background:#f3f8f3;border-radius:9px;grid-column:1/-1;align-items:center;min-height:42px;padding:10px 12px;flex-direction:row!important;gap:9px!important;display:flex!important}.economics-team-check input{width:18px;height:18px;accent-color:var(--green);flex:none;margin:0}.economics-notes-field{grid-column:1/-1}.economics-calculation{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:13px;padding-top:12px;font-size:12px;display:flex}.economics-calculation span{align-items:center;gap:6px;display:inline-flex}.economics-calculation strong{color:var(--text)}.economics-calculation .economics-net{background:var(--green-light);color:var(--green-dark);border-radius:8px;margin-left:auto;padding:7px 10px;font-size:13px}.economics-calculation .economics-net strong{color:var(--green-dark)}.economics-actions{margin-top:18px}.report-modal{width:min(100%,760px)}.monthly-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.app-header{width:100%;min-width:0;display:block!important;position:relative!important}.app-header-content{text-align:center!important;width:100%!important;max-width:720px!important;margin:0 auto!important;padding:0 42px!important;display:block!important}.app-header-content .eyebrow,.app-header-content h1,.app-header-content .header-description{width:100%;text-align:center!important;margin-left:auto!important;margin-right:auto!important}.settings-container{z-index:30;margin:0!important;position:absolute!important;top:0!important;right:0!important}@media (width<=600px){.app-header-content{max-width:100%!important;padding:0 28px!important}.app-header-content h1{overflow-wrap:normal;text-wrap:balance;font-size:clamp(26px,7vw,34px)}.settings-container{top:-2px!important;right:-2px!important}.daily-header-actions{justify-content:flex-start}.economics-fields{grid-template-columns:minmax(0,1fr)}.economics-notes-field{grid-column:auto}.economics-client-heading{flex-wrap:wrap}.economics-calculation .economics-net{margin-left:0}.economics-item{padding:13px}.monthly-report-summary{grid-template-columns:minmax(0,1fr)}}.economic-settings-modal{width:min(100%,900px);max-width:900px}.economic-settings-modal .report-card{max-width:900px}.economic-settings-fee{max-width:260px;margin:14px 0 20px;font-weight:600;display:block}.economic-settings-clinics{gap:16px;display:grid}.economic-settings-clinic{border:1px solid var(--border-color,#d9e2d9);background:var(--card-background,#fbfcfa);border-radius:14px;min-width:0;padding:16px}.economic-settings-clinic-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.economic-settings-name{flex:240px;min-width:0;font-weight:600;display:block}.economic-settings-remove{flex:none;margin-bottom:1px}.economic-settings-toggles{flex-wrap:wrap;gap:10px 18px;margin:14px 0;display:flex}.economic-settings-toggles label{align-items:center;gap:7px;font-size:.92rem;display:inline-flex}.economic-settings-toggles input[type=checkbox]{flex:none;height:18px;width:18px!important}.economic-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.economic-settings-grid label{min-width:0;font-size:.88rem;display:block}.economic-fixed-net-group{border:1px solid var(--border-color,#d9e2d9);background:var(--card-background,#fbfcfa);border-radius:12px;grid-column:1/-1;margin-top:4px;padding:14px}.economic-fixed-net-group h4{margin:0 0 10px;font-size:.95rem}.economic-fixed-net-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.economic-fixed-net-fields label{min-width:0;font-size:.88rem;display:block}.economic-settings-modal .report-warning{margin-top:10px;margin-bottom:0}@media (width<=640px){.economic-settings-clinic{padding:12px}.economic-settings-grid,.economic-fixed-net-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.economic-settings-clinic-heading{flex-direction:column;align-items:stretch}.economic-settings-remove{align-self:flex-start}.economic-settings-modal .form-actions{flex-direction:column}.economic-settings-modal .form-actions button{width:100%}}.monthly-cost-history-editor{background:#fbfcfa;border:1px solid #587b6638;border-radius:14px;margin:20px 0 16px;overflow:hidden}.monthly-cost-history-toggle{color:#365744;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:66px;padding:15px 18px;display:flex}.monthly-cost-history-toggle>span{gap:4px;min-width:0;display:grid}.monthly-cost-history-toggle strong{font-size:16px;line-height:1.35}.monthly-cost-history-toggle small{color:#69796e;font-size:13px;font-weight:400;line-height:1.4}.monthly-cost-history-chevron{fill:none;stroke:#4f8060;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;background:#eaf2e9;border-radius:50%;flex:none;width:25px;height:25px;padding:3px;transition:transform .22s,background-color .22s}.monthly-cost-history-editor.is-expanded .monthly-cost-history-chevron{transform:rotate(180deg)}.monthly-cost-history-toggle:hover .monthly-cost-history-chevron{background:#dceadd}.monthly-cost-history-toggle:focus-visible{outline-offset:-3px}.monthly-cost-history-panel{border-top:1px solid #587b6629;padding:0 18px 18px}.monthly-cost-history-panel .report-intro{margin-top:15px;font-size:14px;line-height:1.55}.monthly-cost-history-row{margin:12px 0}.monthly-cost-history-row label{font-size:14px}.monthly-cost-history-save-row{justify-content:flex-end;margin-top:16px;display:flex}.monthly-cost-history-save-row .primary-button{min-width:220px;font-size:15px}.app-header{grid-template-columns:minmax(300px,1.1fr) minmax(280px,.9fr);align-items:start;gap:22px;width:100%;display:grid!important}.app-header-content{grid-area:1/1;min-width:0;text-align:center!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 24px!important}.app-header-content .eyebrow{font-size:13px}.app-header-content h1{letter-spacing:-.5px;text-wrap:balance;font-size:clamp(34px,3.2vw,46px);line-height:1.18;text-align:center!important}.app-header-content .header-description{max-width:38ch;font-size:16px;line-height:1.55;text-align:center!important}.section-heading h2{font-size:24px}.weekday{padding-top:10px;font-size:13px}.calendar-day{font-size:15px}.appointment-count{font-size:12px}@media (width<=1050px){.app-header{grid-template-columns:minmax(0,1fr);gap:0}.app-header-content{grid-column:1;padding:0 42px!important}}@media (width<=600px){.app-header{display:block!important}.app-header-content{width:100%!important;max-width:100%!important;padding:0 36px 0 0!important}.app-header-content .eyebrow{font-size:11px}.app-header-content h1{font-size:clamp(29px,7.6vw,35px)}.app-header-content .header-description{font-size:15px}.weekday{font-size:11px}.calendar-day{font-size:14px}.monthly-cost-history-toggle{padding:14px}.monthly-cost-history-toggle strong{font-size:15px}.monthly-cost-history-toggle small{font-size:12px}.monthly-cost-history-panel{padding:0 12px 14px}.monthly-cost-history-row{grid-template-columns:minmax(0,1fr)!important}.monthly-cost-history-save-row .primary-button{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.monthly-cost-history-chevron{transition:none}}.app-message{z-index:2000;text-align:center;pointer-events:none;border:1px solid #e7b6cb;width:max-content;max-width:min(560px,100vw - 32px);font-weight:600;animation:2s ease-out both app-toast-lifecycle;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 28px #6f364e2e;border-radius:14px!important;margin:0!important;padding:12px 18px!important;font-size:14px!important;line-height:1.4!important}.app-message.is-success{border-color:#e7b6cb;color:#873d60!important;background:#f8e5ed!important}.app-message.is-error{border-color:#df9fb7;color:#842f4b!important;background:#f6dce5!important}@keyframes app-toast-lifecycle{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}12%{opacity:1;transform:translate(-50%,-50%)}82%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;visibility:hidden;transform:translate(-50%,calc(-50% - 4px))}}@media (prefers-reduced-motion:reduce){.app-message{animation:2s linear both app-toast-lifecycle}}.login-page{background:#f5f7f3;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #e6ebe5;border-radius:22px;width:100%;max-width:410px;padding:40px 32px;box-shadow:0 15px 50px #293b3314}.login-logo{object-fit:contain;border-radius:18px;width:100px;height:100px;margin:0 auto 27px;display:block}.login-eyebrow{color:#547b65;letter-spacing:1.5px;margin:0 0 10px;font-size:11px;font-weight:800}.login-card h1{color:#293b33;margin:0;font-size:32px}.login-description{color:#829087;margin:12px 0 28px;font-size:14px;line-height:1.7}.login-card form{gap:19px;display:grid}.login-card label{color:#405247;gap:8px;font-size:13px;font-weight:700;display:grid}.login-card input{color:#293b33;background:#fcfdfb;border:1px solid #dfe6df;border-radius:10px;width:100%;min-height:48px;padding:12px;font-size:16px}.login-card input:focus{border-color:#88aa90;outline:2px solid #e7efe7}.login-card form button{color:#fff;cursor:pointer;background:#547b65;border:none;border-radius:11px;min-height:49px;margin-top:5px;font-size:14px;font-weight:750}.login-card form button:hover{background:#365b47}.login-card form button:disabled{opacity:.65;cursor:wait}.login-error{color:#a33f39;background:#fff0ef;border-radius:9px;margin:0;padding:12px;font-size:13px;line-height:1.5}.login-footer{color:#829087;text-align:center;margin:25px 0 0;font-size:12px}@media (width<=480px){.login-card{padding:30px 22px}}
