@font-face{font-family:Manrope;src:url(/fonts/manrope-400.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-500.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-600.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Playfair;src:url(/fonts/playfair-display-500.ttf) format("truetype");font-weight:500;font-display:swap}:root{font-family:Manrope,sans-serif;color:#2b2724;background:#f5f2ec;font-synthesis:none;--ivory:#f5f2ec;--beige:#d8d0bb;--stone:#b7a996;--clay:#a39684;--mocha:#4e4034;--ink:#2b2724;--muted:#766c60;--border:#e6e0d6}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--mocha)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Playfair,Georgia,serif;font-weight:500;color:var(--mocha)}h1{font-size:38px;line-height:1.22;letter-spacing:-.8px;margin-bottom:14px}h2{font-size:26px;line-height:1.3;margin-bottom:12px}h3{font-size:16px;font-weight:600}p{line-height:1.75;color:var(--muted);font-size:14px}button{border:0}small{line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--muted);display:block;margin-bottom:15px}.button{background:var(--mocha);color:var(--ivory);display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 24px;border-radius:40px;font-weight:600;font-size:13px;min-height:46px}.button:hover{background:var(--ink)}.button.secondary{background:#e8e1d5;color:var(--mocha)}.text-button{background:transparent;color:var(--mocha);display:flex;align-items:center;gap:9px;font-size:12px;padding:10px}.icon-button{padding:8px;background:transparent;color:var(--mocha);display:inline-flex;border-radius:50%}.icon-button:hover{background:#e9e2d7}.subtle,.footnote{font-size:11px;color:var(--muted)}.footnote{margin-top:22px}.skip-link{position:fixed;top:-100px;left:10px;z-index:100;background:#fff;padding:14px}.skip-link:focus{top:10px}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;min-width:240px;background:#fdfbf7;border-right:1px solid var(--border);padding:38px 22px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{text-align:center;margin:0 0 57px}.brand img{width:164px;height:66px;object-fit:contain;display:block;margin:auto;opacity:.87}.brand>span{font-size:9px;letter-spacing:5px;color:var(--muted);margin-left:5px}.nav-label{font-size:8px;letter-spacing:1.9px;color:var(--muted);padding-left:16px;margin-bottom:18px}.sidebar nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:13px;border-radius:11px;background:transparent;color:var(--muted);padding:15px 17px;font-size:12px;text-align:left;width:100%}.nav-item:hover{background:#f3eee6}.nav-item.active{background:#e8e1d3;color:var(--mocha);font-weight:600}.nav-dot{margin-left:auto;width:5px;height:5px;background:var(--mocha);border-radius:50%}.sidebar-bottom{margin-top:auto}.install-button{display:flex;gap:10px;align-items:center;background:transparent;color:var(--muted);font-size:11px;padding:16px 10px;width:100%}.install-hint{font-size:11px;padding:8px;line-height:1.7}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid var(--border);padding-top:23px;margin-top:13px}.profile strong{display:block;font-size:11px}.profile small{font-size:9px;color:var(--muted)}.profile .icon-button{margin-left:auto;padding:5px}.avatar{width:38px;height:38px;min-width:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ece6da;color:var(--mocha);font-size:12px;font-weight:500}.workspace{flex:1;min-width:0}.topbar{height:79px;padding:0 42px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:11px;background:#faf8f3}.topbar>span,.topbar>div{display:flex;align-items:center;gap:15px;color:var(--muted)}.topbar strong{color:var(--mocha);font-weight:500}.mode-badge{display:flex;align-items:center;gap:7px;background:#ece9df;padding:7px 11px;border:1px solid #e0dbc9;border-radius:30px;font-size:10px;color:#5e624c}.mode-badge>span{width:5px;height:5px;border-radius:50%;background:#797f65}.main-content{max-width:1600px;margin:auto;padding:25px 42px 20px}.demo-note{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px;margin-bottom:35px}.read-only{margin-left:auto;display:flex;align-items:center;gap:5px;white-space:nowrap}.welcome{position:relative;padding:14px 0 29px;overflow:hidden}.welcome>div:first-child{position:relative;z-index:1}.welcome p{font-size:12px}.welcome-flower{position:absolute;right:5%;top:-38px;color:var(--stone);opacity:.38;transform:rotate(14deg)}.welcome-flower svg{width:190px;height:190px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:29px}.metric{background:#fdfbf8;border:1px solid var(--border);border-radius:15px;padding:20px 22px}.metric>div{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;align-items:center}.metric svg{color:var(--clay)}.metric>strong{font-family:Playfair,serif;font-size:35px;font-weight:500;display:block;color:var(--mocha);margin-top:12px}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:25px}.panel{background:#fdfbf8;border:1px solid var(--border);border-radius:17px;overflow:hidden}.panel-head{padding:25px 25px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-head .eyebrow{font-size:8px;margin-bottom:8px}.panel-head h2{font-size:24px;margin-bottom:0}.panel-head h3{margin:0}.appointment-row{display:flex;align-items:center;gap:17px;padding:22px 25px;border-top:1px solid #eee9e0;min-height:99px}.appointment-time{width:48px;flex-shrink:0}.appointment-time strong{display:block;font-size:14px;font-weight:600;color:var(--mocha)}.appointment-time span{font-size:10px;color:var(--muted);display:block;margin-top:5px}.appointment-person{min-width:0}.appointment-person strong{font-size:12px;font-weight:600;display:block}.appointment-person>span{font-size:10px;color:var(--muted);display:block;margin-top:6px}.status{font-size:9px;letter-spacing:.1px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;background:#eee9df;border-radius:30px;padding:6px 9px;white-space:nowrap}.appointment-row>.status{margin-left:auto}.status>span{width:4px;height:4px;border-radius:50%;background:currentColor}.status.confirmed{background:#e9ecdf;color:#586147}.status.pending{background:#f1e8d8;color:#83673d}.panel-foot{padding:16px 25px;border-top:1px solid var(--border);font-size:9px;color:var(--muted);display:flex;align-items:center;gap:7px}.tiny-dot{width:4px;height:4px;border-radius:50%;background:var(--clay)}.day-note{background:#e9e2d5;border-radius:17px;padding:32px 27px;color:var(--mocha)}.day-note>.eyebrow{font-size:8px;letter-spacing:1.1px;line-height:1.8;margin:24px 0 17px}.day-note h2{font-size:28px;line-height:1.4}.day-note p{font-size:12px;margin-top:20px;line-height:1.9}.note-line{height:1px;background:#cec4b2;margin:26px 0 20px}.day-note>small{display:block;margin-top:8px;font-size:10px;color:var(--muted)}.app-footer{display:flex;justify-content:space-between;gap:20px;margin:40px 0 7px;font-size:9px;color:#867b6f}.app-footer>span:first-child{letter-spacing:2px;font-size:8px}.page-heading{margin:10px 0 29px}.page-heading p{font-size:13px}.calendar-panel{padding:20px}.calendar-legend{display:flex;gap:10px;align-items:center;margin-bottom:25px}.calendar-legend>span:last-child{font-size:10px;color:var(--muted);margin-left:auto}.fc{font-size:12px;--fc-border-color:#e8e2d7;--fc-today-bg-color:#f1ebdf;--fc-neutral-bg-color:#f8f5ee;--fc-page-bg-color:#fdfbf8;--fc-event-border-color:#b7a996;--fc-event-bg-color:#d8d0bb;--fc-event-text-color:#4e4034}.fc .fc-toolbar-title{font-size:24px!important;font-family:Playfair,serif}.fc .fc-button-primary{background:#eee8dd;border-color:#eee8dd;color:var(--mocha);font-family:Manrope;font-size:11px;box-shadow:none!important;padding:8px 12px}.fc .fc-button-primary:hover,.fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--mocha);border-color:var(--mocha);color:var(--ivory)}.fc .fc-button-primary:disabled{background:#eee8dd;border-color:#eee8dd;color:var(--muted)}.fc .fc-col-header-cell-cushion{padding:13px 5px;font-weight:500}.fc .fc-timegrid-slot{height:28px}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{font-size:10px;color:var(--muted)}.fc .fc-event{border-radius:5px;cursor:pointer;padding:2px 4px;font-size:10px}.fc .fc-daygrid-event{white-space:normal}.calendar-loading{padding:18px;font-size:12px}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b272455;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.detail-card{position:relative;width:420px;background:var(--ivory);padding:36px;border-radius:22px;box-shadow:0 20px 80px #2b272420}.close{position:absolute;right:13px;top:13px}.detail-card dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:12px;margin:28px 0}.detail-card dt{color:var(--muted)}.detail-card dd{margin:0;text-align:right}.detail-card small{font-size:10px;color:var(--muted)}.search-box{display:flex;align-items:center;gap:12px;background:#fdfbf8;border:1px solid var(--border);border-radius:12px;padding:13px 17px;max-width:530px;margin-bottom:23px;color:var(--clay)}.search-box input{flex:1;min-width:0;background:none;border:0;outline:none;font-size:12px;color:var(--ink);padding:3px}.search-box:focus-within{outline:2px solid var(--stone)}.search-box button{background:transparent;color:var(--mocha);display:flex}.customers-grid{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr);gap:25px;align-items:start}.count{background:#eee8dc;border-radius:50px;padding:5px 10px;font-size:11px}.customer-row{display:flex;align-items:center;gap:14px;width:100%;padding:20px 23px;background:transparent;text-align:left;border-top:1px solid #eee9e0;color:var(--ink)}.customer-row:hover,.customer-row.active{background:#f0eadd}.customer-row>span:nth-child(2){min-width:0}.customer-row strong{font-size:12px;display:block}.customer-row small{display:block;font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin-top:5px}.customer-row>svg{margin-left:auto;flex-shrink:0}.choose-customer{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:80px 20px;min-height:400px;color:var(--clay)}.choose-customer h2{font-size:24px;margin-top:25px}.choose-customer p{font-size:12px}.customer-profile{padding:30px;text-align:center;background:#f1ece2}.avatar.large{width:58px;height:58px;font-size:17px;margin-bottom:15px}.customer-profile h2{margin-bottom:6px}.customer-profile>span{font-size:11px;color:var(--muted)}.contact-line{padding:18px 25px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--border);font-size:12px;overflow-wrap:anywhere}.customer-detail .appointment-row{gap:10px;padding:19px 20px;flex-wrap:wrap}.customer-detail .appointment-time{width:100%;display:flex;gap:10px;align-items:center;margin-bottom:5px}.customer-detail .appointment-time small{margin-right:auto;color:var(--muted);font-size:10px}.customer-detail .appointment-time strong{font-size:11px}.customer-detail .appointment-time span{margin-top:0}.customer-detail .appointment-person>strong{display:none}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.service-card{padding:28px;display:flex;flex-direction:column}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;color:var(--clay)}.service-top>span{font-family:Playfair;font-size:23px;color:#b0a28e}.service-card h2{font-size:25px}.service-card>p{font-size:12px;line-height:1.8;flex:1;min-height:65px}.service-bottom{border-top:1px solid var(--border);margin-top:16px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.service-bottom>span{display:flex;gap:7px;align-items:center;color:var(--muted)}.service-bottom>strong{font-size:16px;font-weight:500;color:var(--mocha)}.state{padding:55px 25px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted);font-size:13px}.state h3{margin:5px 0 0;color:var(--mocha)}.state p{margin:0;font-size:12px}.state.error{color:#895b45}.spinner{width:24px;height:24px;border-radius:50%;border:2px solid #d8d0bb;border-top-color:#4e4034;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.boot{display:grid;place-items:center;min-height:100vh}.offline-banner{background:var(--mocha);color:var(--ivory);padding:12px 20px;font-size:12px;display:flex;gap:10px;align-items:center}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-art{background:#ded6c3;position:relative;padding:65px 11%;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}.login-art>img{width:200px;max-width:90%;margin-bottom:115px;opacity:.85}.login-art .eyebrow{position:relative;z-index:1;letter-spacing:2px}.login-art h1{font-size:52px;position:relative;z-index:1}.login-art>p{font-size:13px;position:relative;z-index:1}.login-art>small{font-size:9px;letter-spacing:3px;margin-top:auto;padding-top:100px;position:relative;z-index:1}.login-flower{position:absolute;width:470px;height:470px;right:-130px;bottom:-60px;color:#b9ab94;opacity:.5;transform:rotate(12deg)}.login-main{display:grid;place-items:center;padding:55px 45px}.login-form{width:100%;max-width:355px}.login-mark{width:55px;height:55px;border-radius:50%;background:#eae3d6;display:grid;place-items:center;color:var(--mocha);margin-bottom:28px}.login-form .eyebrow{font-size:9px}.login-form h2{font-size:32px}.login-form>p{font-size:12px;margin-bottom:30px}.login-form label{display:block;font-size:11px;font-weight:600;margin-bottom:20px;color:var(--mocha)}.login-form input{display:block;width:100%;padding:14px;margin-top:9px;border:1px solid #d9d0c2;background:#fdfbf8;border-radius:9px;color:var(--ink);font-size:13px}.login-form form .button{width:100%;margin-top:6px;justify-content:space-between}.login-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:26px;font-size:10px;color:var(--muted)}.login-form .setup-hint{font-size:10px;text-align:center;line-height:1.7;margin-top:30px;color:var(--muted)}.form-error{background:#f4e6de;color:#8a4733;padding:12px;border-radius:8px;font-size:12px}@media(min-width:1500px){.main-content{padding:35px 60px}.topbar{padding:0 60px}.welcome h1{font-size:44px}.overview-grid{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:1150px){.sidebar{width:205px;min-width:205px;padding-left:15px;padding-right:15px}.main-content{padding:25px}.topbar{padding:0 25px}.overview-grid{grid-template-columns:1fr}.day-note{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.metrics{gap:10px}.metric{padding:18px 15px}.metric>div{font-size:10px}.welcome-flower{right:0;opacity:.2}.customers-grid{grid-template-columns:1fr 1fr}.fc .fc-toolbar-title{font-size:20px!important}}@media(max-width:760px){h1{font-size:31px}.app-shell{display:block}.sidebar{position:relative;height:auto;width:100%;padding:18px 16px 10px;border-right:0;border-bottom:1px solid var(--border)}.brand{margin:0 0 16px;display:flex;align-items:center;gap:14px;justify-content:center}.brand img{width:130px;height:45px;margin:0}.brand>span{font-size:9px;border-left:1px solid var(--border);padding-left:14px}.nav-label{display:none}.sidebar nav{display:flex;justify-content:center;gap:5px}.nav-item{flex:1;justify-content:center;padding:12px 4px;gap:6px;font-size:10px}.nav-item svg{width:15px}.nav-dot{display:none}.sidebar-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;margin-top:12px}.install-button{width:auto;padding:8px;font-size:10px}.install-hint{position:absolute;top:30px;left:0;z-index:4;background:var(--ivory);border:1px solid var(--border);width:250px;border-radius:8px}.profile{margin:0;padding:0;border:0;gap:8px}.profile>.avatar{width:26px;height:26px;min-width:26px;font-size:9px}.profile small{display:none}.profile strong{font-size:10px}.topbar{height:55px;padding:0 20px}.topbar>span{font-size:10px;gap:7px}.today-label{display:none}.main-content{padding:20px 16px}.demo-note{align-items:flex-start;font-size:9px;line-height:1.7;gap:7px;margin-bottom:22px}.demo-note>svg{flex-shrink:0;margin-top:2px}.read-only{display:none}.welcome{padding-top:5px;padding-bottom:16px}.welcome h1{max-width:330px}.welcome p{max-width:290px;font-size:11px}.welcome-flower{right:-35px;top:0}.metrics{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.metric{padding:17px 18px}.metric>strong{font-size:31px}.panel-head{padding:21px 17px 16px}.panel-head h2{font-size:23px}.text-button{font-size:10px;padding:6px}.appointment-row{padding:20px 15px;gap:10px;flex-wrap:wrap}.appointment-person{flex:1}.appointment-person strong{font-size:11px}.appointment-person>span{font-size:10px}.appointment-time{width:38px}.appointment-time strong{font-size:12px}.appointment-row .avatar{width:30px;height:30px;min-width:30px;font-size:10px}.status{font-size:8px;padding:5px 7px}.app-footer{font-size:8px;gap:10px}.app-footer>span:first-child{font-size:7px;letter-spacing:1px}.customers-grid{grid-template-columns:1fr}.customer-list{max-height:320px;overflow:auto}.choose-customer{min-height:230px;padding:35px 20px}.service-grid{grid-template-columns:1fr}.service-card{padding:25px}.service-top{margin-bottom:23px}.service-card>p{min-height:0}.page-heading{margin-top:5px}.calendar-panel{padding:10px}.calendar-legend{gap:7px;flex-wrap:wrap;margin-bottom:20px}.calendar-legend>span:last-child{width:100%;margin:3px 0 0;font-size:9px}.fc .fc-toolbar{flex-wrap:wrap;gap:12px}.fc .fc-toolbar-chunk:nth-child(2){order:-1;width:100%;text-align:center}.fc .fc-button-primary{padding:7px 9px;font-size:10px}.fc .fc-col-header-cell-cushion{font-size:10px;padding:9px 1px}.fc .fc-event{font-size:9px;padding:0 1px}.fc .fc-timegrid-slot-label-cushion{font-size:8px}.login-page{grid-template-columns:1fr}.login-art{padding:24px;align-items:center;min-height:180px}.login-art>img{width:155px;margin-bottom:25px}.login-art h1,.login-art>p,.login-art>small{display:none}.login-art .eyebrow{font-size:8px;margin-bottom:0}.login-flower{width:200px;height:200px;right:-30px;bottom:-70px}.login-main{padding:35px 25px}.login-form h2{font-size:29px}.login-mark{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}.pending-panel{margin-top:25px}
