@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#20362d;background:#f7f9f6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;flex:none;background:#17382e;color:#e5eee5;display:flex;flex-direction:column;padding:28px 16px 20px;position:sticky;top:0;height:100vh;z-index:30}.sidebar-head{display:flex;align-items:center;gap:12px;padding:3px 10px 59px}.brand-mark{width:39px;height:39px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#d9e6a6;color:#17382e;font:800 25px Manrope,sans-serif;letter-spacing:-3px;flex:none}.brand-mark span{color:#749958}.brand-name{font:800 14px Manrope,sans-serif;letter-spacing:2px}.sidebar-section{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#88a79a;padding:0 16px;margin-bottom:15px}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:11px;color:#b8cec2;font-size:14px;font-weight:700}.nav-link:hover,.nav-link.active{background:#315447;color:#fff}.nav-link.active svg{color:#d3e6a4}.sidebar-bottom{margin-top:auto;padding:17px 4px 0;border-top:1px solid #3c5a4d;display:flex;align-items:center;gap:10px}.profile-avatar{background:#496c58;border-radius:11px;width:37px;height:37px;display:grid;place-items:center;font-size:12px;font-weight:800}.profile-info{display:flex;flex-direction:column;min-width:0;flex:1}.profile-info b{font-size:12px;overflow:hidden;text-overflow:ellipsis}.profile-info small{font-size:11px;color:#a5b9ac}.icon-button{border:0;background:transparent;color:inherit;padding:8px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#eef3ed}.sidebar .icon-button:hover{background:#315447}.main-area{min-width:0;flex:1}.topbar{height:76px;border-bottom:1px solid #e8eee8;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 49px}.topbar-label{font-size:13px;font-weight:700;color:#7e9387}.topbar-date{font-size:13px;font-weight:700;color:#4c6355}.main-area main{max-width:1370px;margin:auto;padding:43px 49px 100px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#72947b}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:29px}.page-header h1,.detail-head h1{font:800 34px Manrope,sans-serif;letter-spacing:-1.6px;margin:8px 0 3px}.page-header p,.detail-head p{margin:0;color:#7b8b80;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;padding:12px 17px;border:1px solid transparent;font-size:13px;font-weight:800;white-space:nowrap;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:wait}.primary{background:#25543e;color:#fff}.primary:hover{background:#1a422f}.light{background:#eef6e8;color:#244537}.ghost{background:#fff;color:#345144;border-color:#dce6dc}.text-link{display:flex;align-items:center;gap:7px;color:#34654b;font-size:13px;font-weight:800}.hero-card{min-height:257px;background:#1e4937;border-radius:18px;position:relative;overflow:hidden;color:#fff;display:flex;justify-content:space-between}.hero-content{padding:32px 38px;position:relative;z-index:2}.hero-label{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#bce0bb;display:flex;align-items:center;gap:9px}.live-dot{height:7px;width:7px;background:#b8d982;border-radius:50%}.hero-content h2{font:800 31px/1.12 Manrope,sans-serif;letter-spacing:-1px;margin:20px 0 8px}.hero-content p{color:#c1d6c9;font-size:13px;margin:0 0 20px}.hero-illustration{width:39%;position:relative;min-width:270px}.hero-ring{position:absolute;border:1px solid #568565;border-radius:50%}.ring-1{width:390px;height:390px;right:8px;top:-128px}.ring-2{width:280px;height:280px;right:64px;top:-74px}.hero-calendar{position:absolute;right:95px;top:45px;width:190px;height:181px;background:#f5f7ed;border-radius:16px;transform:rotate(9deg);box-shadow:0 16px 30px #08271b55;padding:23px}.calendar-top{height:21px;border-bottom:2px solid #e1e6db;display:flex;justify-content:space-between;padding:0 12px}.calendar-top i{width:8px;height:16px;border-radius:3px;background:#b3c69a;position:relative;top:-13px}.calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:10px;text-align:center;color:#75917b;font-size:11px;font-weight:800}.calendar-grid span{padding:5px;border-radius:5px}.calendar-grid .selected{background:#c9df9c;color:#285039}.hero-check{position:absolute;right:56px;top:163px;width:53px;height:53px;border-radius:50%;display:grid;place-items:center;background:#d7e9ae;color:#27513a;font-size:30px;font-weight:800;box-shadow:0 8px 16px #08271b33}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:20px 0 39px}.stat-card{background:#fff;border:1px solid #e9eee9;border-radius:14px;padding:21px;display:flex;align-items:center;gap:15px;box-shadow:0 4px 18px #1d3e2705}.stat-icon{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;flex:none}.mint{background:#e5f3e9;color:#407e53}.cream{background:#f8f1df;color:#b18b40}.lavender{background:#eeeaf8;color:#7e6bb3}.stat-card div:nth-child(2){display:flex;flex-direction:column;gap:1px;flex:1}.stat-card span{color:#88978b;font-size:12px;font-weight:700}.stat-card strong{font:800 25px Manrope,sans-serif}.stat-card a{color:#9aad9d}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 17px}.section-heading h2,.panel h2{font:800 20px Manrope,sans-serif;letter-spacing:-.5px;margin:5px 0 0}.appointment-list{background:#fff;border:1px solid #e8eee8;border-radius:15px;overflow:hidden}.appointment-row{display:flex;align-items:center;gap:17px;padding:16px 20px;border-bottom:1px solid #eef2ed;min-height:91px}.appointment-row:last-child{border-bottom:0}.date-block{background:#edf4e9;border-radius:10px;color:#315d42;width:56px;height:56px;display:flex;align-items:center;justify-content:center;flex-direction:column;flex:none}.date-block strong{font:800 20px Manrope,sans-serif;line-height:1.1}.date-block span{text-transform:uppercase;font-size:10px;font-weight:800}.appointment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.appointment-info strong{font-size:14px}.appointment-info span{display:flex;align-items:center;gap:6px;color:#849589;font-size:12px}.appointment-info i{width:3px;height:3px;background:#b0bdb1;border-radius:50%;margin:0 3px}.appointment-info small{color:#92a096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{background:#fff;border:1px dashed #dbe7db;border-radius:15px;text-align:center;padding:45px 15px}.empty-icon{width:58px;height:58px;background:#eaf2e9;color:#537c59;display:grid;place-items:center;border-radius:15px;margin:0 auto 14px}.empty h3{font:800 17px Manrope,sans-serif;margin:0 0 5px}.empty p{font-size:13px;color:#8b9a8e;margin:0 0 17px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:4px 0 19px}.search{width:min(100%,400px);display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e2eae2;border-radius:10px;padding:0 14px;color:#8da18f}.search input{width:100%;border:0;outline:0;height:44px;color:#2b4434;background:transparent;font-size:13px}.count{font-size:12px;color:#8b9d8e;font-weight:700}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.client-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e7eee7;border-radius:13px;padding:21px;transition:box-shadow .15s,transform .15s}.client-card:hover{box-shadow:0 8px 24px #183d2514;transform:translateY(-2px)}.client-avatar,.detail-avatar{width:48px;height:48px;background:#e4efe0;color:#3d744e;border-radius:13px;display:grid;place-items:center;font:800 15px Manrope,sans-serif;flex:none}.client-card-main{flex:1;min-width:0}.client-card h3{margin:0 0 3px;font:800 14px Manrope,sans-serif}.client-card p{margin:0 0 9px;color:#788e7d;font-size:12px}.client-card span{display:flex;align-items:center;gap:5px;font-size:11px;color:#94a398}.client-arrow{color:#9aada0}.back-link{display:inline-flex;align-items:center;gap:7px;color:#77917c;font-size:13px;font-weight:700;margin-bottom:25px}.detail-head{display:flex;align-items:center;gap:18px;margin-bottom:30px}.detail-avatar{width:68px;height:68px;border-radius:16px;font-size:22px}.detail-head>div:nth-child(2){flex:1}.detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px}.panel{background:#fff;border:1px solid #e8eee8;border-radius:15px;padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.upload-button{position:relative;overflow:hidden}.upload-button input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.doc-list{display:grid}.doc-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf1ed}.doc-icon{width:42px;height:42px;border-radius:10px;background:#eaf2e9;color:#477151;display:grid;place-items:center;flex:none}.doc-row>div:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}.doc-row strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-row span{font-size:11px;color:#96a598;margin-top:3px}.doc-row .icon-button{color:#79927f}.doc-row .danger,.danger{color:#bd6761!important}.mini-empty{border-top:1px solid #edf1ed;color:#9aaa9c;font-size:13px;padding:28px 0}.info-panel h2{margin-bottom:24px}.info-line{display:flex;flex-direction:column;gap:5px;border-top:1px solid #edf1ed;padding:14px 0}.info-line span{color:#92a095;font-size:12px}.info-line strong,.info-line a{font-size:13px;font-weight:800}.info-line a{color:#42785a}.delete-link{border:0;background:none;color:#be706c;display:flex;align-items:center;gap:6px;padding:15px 0 0;font-size:12px;font-weight:800}.appointments-heading{margin-top:35px}.pill{font:800 11px DM Sans,sans-serif;color:#4b7953;background:#e6f2e5;border-radius:20px;padding:5px 9px;vertical-align:middle;margin-left:5px}.row-actions{display:flex;align-items:center;gap:7px}.text-button{border:0;background:#edf3eb;color:#4b7455;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:800}.past-heading{margin-top:38px}.past-list{opacity:.76}.error{background:#fff0ec;color:#a44538;border:1px solid #f3d3ca;border-radius:8px;padding:11px 13px;font-size:13px;margin:10px 0}.loading{color:#7c9281}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d2319a8;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:17px;width:min(100%,480px);padding:26px;box-shadow:0 20px 80px #001b1155;max-height:calc(100vh - 30px);overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.modal-head h2{font:800 21px Manrope,sans-serif;margin:0}.form{display:grid;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form label,.login-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#385142}.form input,.form select,.form textarea,.login-form input{border:1px solid #dce7dc;border-radius:9px;background:#fff;color:#203c2c;padding:12px 13px;outline:none;min-width:0}.form input:focus,.form select:focus,.form textarea:focus,.login-form input:focus{border-color:#488260;box-shadow:0 0 0 3px #dcefe0}.form textarea{resize:vertical}.optional{color:#a2aea4;font-weight:500}.form-hint{margin:-7px 0 0;font-size:12px;color:#b6814b}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:8px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-art{position:relative;overflow:hidden;background:#1c4433;color:#fff;min-height:100vh;padding:45px 52px;display:flex;flex-direction:column}.login-art-top{display:flex;align-items:center;gap:13px;font:800 14px Manrope,sans-serif;letter-spacing:2px;z-index:2}.art-copy{margin:auto 0;z-index:2}.art-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:#bedda5}.art-copy h1{font:800 clamp(46px,5vw,76px)/1.1 Manrope,sans-serif;letter-spacing:-3px;margin:25px 0}.art-copy h1 em{font-style:normal;color:#d3e6a1}.art-copy p{max-width:360px;color:#bed1c3;font-size:15px;line-height:1.7}.art-orbit{position:absolute;border:1px solid #5b836c;border-radius:50%;width:620px;height:620px;bottom:-250px;right:-180px}.orbit-two{width:400px;height:400px;bottom:-140px;right:-80px}.art-foot{font-size:12px;color:#a2c2ac;z-index:2}.login-panel{display:flex;align-items:center;justify-content:center;position:relative;padding:30px}.login-form{width:min(100%,370px);display:grid;gap:18px}.login-form h2{font:800 32px Manrope,sans-serif;letter-spacing:-1px;margin:-7px 0 -16px}.login-form>p{color:#8a9b8e;font-size:14px;margin:0 0 18px}.login-form input{height:49px}.wide{width:100%;height:49px;margin-top:8px}.login-footer{position:absolute;bottom:35px;color:#a4afa6;font-size:12px}.login-mobile-brand{display:none}.splash{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#708474;font-size:13px}.mobile-only,.bottom-nav,.menu-backdrop{display:none}@media(max-width:1000px){.sidebar{width:215px}.topbar{padding:0 28px}.main-area main{padding:35px 28px 100px}.hero-illustration{width:30%}.stat-card{padding:15px;gap:10px}.stat-icon{width:42px;height:42px}}@media(max-width:760px){.sidebar{position:fixed;left:-280px;transition:left .2s;width:265px}.sidebar.open{left:0}.menu-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a241a80;z-index:25}.mobile-only{display:inline-flex}.sidebar-head .mobile-only{margin-left:auto}.topbar{height:63px;padding:0 20px;justify-content:flex-start;gap:15px}.topbar-date{margin-left:auto}.main-area main{padding:28px 20px 105px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid #e4ebe4;padding:9px 8px calc(9px + env(safe-area-inset-bottom))}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:#829688;font-size:10px;font-weight:800}.bottom-nav a.active{color:#24553d}.login-page{display:block}.login-art{display:none}.login-panel{min-height:100vh;flex-direction:column}.login-mobile-brand{display:flex;align-items:center;gap:12px;font:800 14px Manrope,sans-serif;letter-spacing:2px;position:absolute;top:35px;left:28px}.login-footer{bottom:25px}.detail-layout{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.page-header{align-items:flex-start;flex-direction:column;gap:19px}.page-header h1,.detail-head h1{font-size:29px}.page-header>.button{align-self:stretch}.hero-card{min-height:220px}.hero-content{padding:28px}.hero-content h2{font-size:26px}.hero-content p{max-width:200px;font-size:12px}.hero-illustration{min-width:0;width:35%}.hero-calendar{right:-55px;top:72px;transform:rotate(14deg) scale(.7)}.hero-check{right:-1px;top:162px;transform:scale(.7)}.stats-grid{grid-template-columns:1fr;gap:10px;margin-bottom:31px}.stat-card{padding:14px 17px}.stat-card strong{font-size:22px}.toolbar{gap:10px}.count{white-space:nowrap}.client-grid{grid-template-columns:1fr}.detail-head{flex-wrap:wrap}.detail-head .button{margin-left:86px}.panel{padding:18px}.panel-head{align-items:flex-start;flex-direction:column}.upload-button{width:100%}.appointment-row{padding:13px;gap:10px}.appointment-info span{font-size:11px}.row-actions{gap:0}.row-actions .text-button{padding:7px}.form-row{grid-template-columns:1fr}.modal{padding:20px}.topbar-label{display:none}.topbar-date{font-size:12px}.section-heading h2{font-size:18px}}html,body,#root{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}.app-shell{height:100dvh;min-height:0;overflow:hidden}.sidebar{height:100dvh}.main-area{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:none}.main-area main{width:100%;max-width:1370px;min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9d9cb transparent}.login-page{height:100dvh;min-height:0;overflow:hidden}.login-art{height:100dvh;min-height:0}.login-panel{height:100dvh;min-height:0;overflow:hidden}@media(max-height:700px)and (min-width:761px){.login-art{padding-top:28px;padding-bottom:28px}.art-copy h1{font-size:clamp(40px,4.3vw,62px);margin:16px 0}.art-copy p{font-size:13px;line-height:1.5}.login-form{gap:12px}.login-form>p{margin-bottom:7px}.login-form input{height:43px}.wide{height:44px;margin-top:3px}.login-footer{bottom:18px}}@media(max-width:760px){.main-area main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.login-panel{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding-top:82px;padding-bottom:55px}.login-panel::-webkit-scrollbar{display:none}.login-form input{font-size:16px}}@media(max-height:600px)and (max-width:760px){.login-panel{justify-content:flex-start}.login-mobile-brand{top:17px}.login-form{gap:10px}.login-form>p{margin-bottom:2px}.login-footer{position:static;margin-top:24px}}@media(hover:none)and (pointer:coarse){html,body,#root{touch-action:pan-y;-webkit-text-size-adjust:100%}button,a,input,select,textarea{touch-action:manipulation}}.client-picker{position:relative;min-width:0}.client-picker>label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#385142}.client-picker-input{display:flex;align-items:center;gap:9px;border:1px solid #dce7dc;border-radius:9px;background:#fff;padding:0 12px;color:#829787}.client-picker-input:focus-within{border-color:#488260;box-shadow:0 0 0 3px #dcefe0}.client-picker-input input{width:100%;height:45px;padding:0;border:0;outline:0;box-shadow:none!important;background:transparent;color:#203c2c}.client-picker-options{position:absolute;z-index:10;top:calc(100% + 5px);left:0;right:0;max-height:225px;overflow-y:auto;background:#fff;border:1px solid #dce7dc;border-radius:10px;box-shadow:0 12px 30px #17382e24;overscroll-behavior:contain}.client-picker-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:#fff;border:0;text-align:left;color:#203c2c}.client-picker-option:hover,.client-picker-option.highlighted{background:#eff5ed}.client-picker-option>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.client-picker-option strong{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-picker-option small{font-size:11px;color:#829586}.picker-avatar{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:9px;background:#e4efe0;color:#3d744e;font-size:11px;font-weight:800}.client-picker-empty{padding:15px;color:#849588;font-size:12px}.doc-view{border:0;background:#e9f3e9;color:#366b48;border-radius:8px;padding:8px 11px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;white-space:nowrap}.doc-view:hover{background:#dcebdc}.preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#102219eb;display:flex;align-items:center;justify-content:center;padding:18px}.preview-dialog{width:min(100%,1100px);height:min(92dvh,900px);min-height:0;display:flex;flex-direction:column;background:#f6f8f5;border-radius:15px;overflow:hidden;box-shadow:0 24px 80px #0008}.preview-bar{min-height:70px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px;background:#fff;border-bottom:1px solid #e6ece6}.preview-title{display:flex;align-items:center;gap:11px;min-width:0}.preview-file-icon{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:10px;background:#e7f1e7;color:#3e7651}.preview-title>div{display:flex;flex-direction:column;gap:3px;min-width:0}.preview-title strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-title small{font-size:11px;color:#849788}.preview-tools{display:flex;align-items:center;gap:8px;flex:none}.preview-download,.preview-close{border:0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 12px;background:#e8f2e8;color:#2e6242;font-size:12px;font-weight:800}.preview-close{width:38px;padding:0;background:#f0f2ef;color:#445b4a}.preview-download:hover,.preview-close:hover{filter:brightness(.95)}.preview-content{min-height:0;flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-content.image-content{background:#1b2c22}.preview-content.image-content img{max-width:100%;max-height:100%;object-fit:contain}.preview-content.pdf-content iframe{display:block;width:100%;height:100%;border:0;background:#fff}.preview-message{color:#6f8475;font-size:14px;text-align:center;padding:25px}.image-content .preview-message{color:#e4eee5}.preview-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:#fffdf3e8;color:#1d3c2b;box-shadow:0 4px 15px #0004}.preview-arrow.previous{left:14px}.preview-arrow.next{right:14px}.preview-arrow:disabled{opacity:.28;cursor:default}@media(max-width:760px){.preview-backdrop{padding:0}.preview-dialog{width:100%;height:100dvh;border-radius:0}.preview-bar{padding:9px 12px;padding-top:calc(9px + env(safe-area-inset-top))}.preview-download span{display:none}.preview-arrow{width:36px;height:36px}.preview-arrow.previous{left:7px}.preview-arrow.next{right:7px}.doc-view span{display:none}.doc-view{padding:8px}}
