:root{color:#172d2a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f2e9;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;font-family:system-ui,-apple-system,Segoe UI,sans-serif}h1{margin-bottom:10px;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.12}h2{margin-bottom:18px;font-size:1.22rem}.muted{color:#677b75;line-height:1.5}.eyebrow{color:#aa8250;letter-spacing:.18em;margin-bottom:8px;font-size:.7rem;font-weight:800}.app-shell{min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.topbar{z-index:5;background:#fbfaf6;border-bottom:1px solid #e6e1d7;justify-content:space-between;align-items:center;height:76px;padding:0 max(18px,50vw - 540px);display:flex;position:sticky;top:0}.brand,.public-head{align-items:center;gap:12px;display:flex}.brand strong,.public-head strong{font-family:Manrope;font-size:.98rem;display:block}.brand small,.public-head small{color:#8b9993;margin-top:1px;font-size:.7rem;display:block}.brand-mark{color:#e9c58e;background:#172d2a;border-radius:12px;place-items:center;width:38px;height:38px;font-family:Manrope;font-size:1.6rem;font-weight:800;line-height:1;display:grid}.brand-mark.large{width:54px;height:54px;font-size:2.2rem}.icon-button{color:#17312d;background:#f0eee8;border:0;border-radius:12px;width:42px;height:42px;font-size:1.5rem;position:relative}.unread-dot{background:#c97b4d;border-radius:50%;width:8px;height:8px;display:inline-block;position:absolute;top:5px;right:5px}.content{max-width:1080px;margin:auto;padding:28px 18px 40px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-head h1{margin:0}.button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.button.primary{color:#fff;background:#193b34}.button.primary:hover{background:#285346}.button.secondary{color:#173b34;background:#e7e9e2}.button.ghost{color:#8e5b45;background:0 0;border:1px solid #e4d8cc}.button.compact{min-height:40px;padding:0 14px;font-size:.86rem}.date-card{background:#fff;border:1px solid #e5e4dc;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:flex;box-shadow:0 4px 22px #203c2b08}.date-nav{align-items:center;gap:8px;display:flex}.date-nav button{background:#f5f4ee;border:0;border-radius:10px;width:34px;height:34px;font-size:1.3rem}.date-nav input,.date-card>input{color:#173b34;background:0 0;border:0;max-width:150px;font-weight:700}.segmented{background:#f4f3ed;border-radius:11px;padding:3px;display:flex}.segmented button{color:#5f7069;background:0 0;border:0;border-radius:9px;padding:8px 13px;font-weight:700}.segmented button.active{color:#153a32;background:#fff;box-shadow:0 2px 8px #26362b17}.mini-stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.mini-stats>div{background:#e8eee5;border-radius:16px;padding:16px 18px}.mini-stats>div:nth-child(2){background:#f2e8d8}.mini-stats strong{font-family:Manrope;font-size:1.6rem;display:block}.mini-stats span{color:#66786d;font-size:.75rem}.search{background:#fff;border:1px solid #e5e4dc;border-radius:12px;align-items:center;gap:8px;margin-bottom:18px;padding:0 14px;display:flex}.search span{color:#7d9287;font-size:1.5rem}.search input{border:0;outline:0;width:100%;height:46px}.timeline,.list{flex-direction:column;gap:8px;display:flex}.appointment,.list-row{text-align:left;background:#fff;border:1px solid #e8e7de;border-radius:14px;align-items:center;gap:14px;width:100%;padding:15px;display:flex}.appointment:hover,.notice:hover{border-color:#a7bbb0}.appointment-time{color:#35634f;min-width:48px;font-family:Manrope;font-weight:800}.appointment-info{flex:1;min-width:0}.appointment-info strong,.list-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.appointment-info small,.list-row small{color:#89968e;margin-top:4px;font-size:.74rem;display:block}.status{color:#49765b;white-space:nowrap;background:#e6f2e9;border-radius:20px;padding:5px 8px;font-size:.68rem;font-weight:800}.status.attended{color:#6171a1;background:#e6e9f6}.status.cancelled,.status.no_show{color:#a27464;background:#f5e9e3}.empty{text-align:center;color:#839087;border:1px dashed #d6d9cd;border-radius:15px;padding:28px}.bottom-nav{padding:6px 12px calc(6px + env(safe-area-inset-bottom));z-index:10;background:#fff;border-top:1px solid #e3e4dc;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #253b2d0c}.bottom-nav button{color:#83928b;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;min-width:65px;padding:3px 8px;font-size:.69rem;font-weight:700;display:flex}.bottom-nav button span{font-size:1.35rem;line-height:1.35}.bottom-nav button.active{color:#1d5846}.bottom-nav button.active span{background:#e4f0e6;border-radius:10px;min-width:38px}.card,.summary-card{background:#fff;border:1px solid #e7e6dc;border-radius:18px;margin:16px 0;padding:20px;box-shadow:0 5px 20px #1e3e2a08}.summary-card{color:#fff;background:#193b34;flex-direction:column;gap:6px;display:flex}.summary-card strong{font:800 2rem system-ui,-apple-system,Segoe UI,sans-serif}.summary-card small,.summary-card span{color:#b7cfc0}.summary-card span{font-size:.72rem}.form-stack{flex-direction:column;gap:15px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .full{grid-column:1/-1}label:not(.check):not(.search){color:#4e6258;flex-direction:column;gap:7px;font-size:.78rem;font-weight:700;display:flex}label input:not([type=checkbox]),label select,label textarea{color:#1e3028;background:#fff;border:1px solid #dce1d8;border-radius:11px;outline-color:#779d84;width:100%;min-height:44px;padding:10px 12px}label textarea{resize:vertical}.check{color:#4e6258;align-items:center;gap:9px;font-size:.79rem;line-height:1.4;display:flex}.check input{accent-color:#1d5846;flex:none;width:17px;height:17px}.row-actions{flex-wrap:wrap;gap:9px;margin-top:15px;display:flex}.list-row{justify-content:space-between}.list-row>div{min-width:0}.positive{color:#287454}.negative{color:#a26a51}.notice{position:relative}.notice .unread-dot{flex:none;position:static}.feedback{border-radius:11px;justify-content:space-between;margin:12px 0;padding:12px 14px;font-size:.86rem;display:flex}.feedback button{background:0 0;border:0;font-size:1.1rem}.feedback.error{color:#874d39;background:#f8e9e3}.feedback.success{color:#285d40;background:#e3f1e5}.text-link{color:#1d5846;font-size:.85rem;font-weight:700}.overlay{z-index:20;background:#11251d96;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,550px);max-height:92dvh;padding:24px 20px calc(26px + env(safe-area-inset-bottom));background:#fbfaf6;border-radius:24px 24px 0 0;overflow-y:auto;box-shadow:0 -12px 40px #11251d22}.sheet-head{justify-content:space-between;align-items:start;display:flex}.slot-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-height:210px;display:grid;overflow:auto}.slot{color:#335e48;background:#fff;border:1px solid #cfdcd2;border-radius:9px;min-height:41px;font-weight:700}.slot.active{color:#fff;background:#193b34;border-color:#193b34}.field-title{color:#4e6258;margin-bottom:9px;font-size:.78rem;font-weight:800}.detail{line-height:1.5}.detail .price{font:800 1.5rem system-ui,-apple-system,Segoe UI,sans-serif}.login-shell,.public-shell{background:#f1efe7;min-height:100dvh}.login-shell{place-items:center;padding:20px;display:grid}.login-card,.public-card{background:#fff;border:1px solid #e6e4db;border-radius:24px;width:min(100%,460px);padding:28px;box-shadow:0 18px 60px #1d3d2a13}.login-card .brand-mark{margin-bottom:20px}.login-card .form-stack{margin-top:26px}.public-shell{padding:22px 16px 50px}.public-head{max-width:680px;margin:0 auto 22px}.public-card{width:min(100%,680px);margin:auto}.public-card .form-grid{margin:24px 0}.public-card .slot-grid{margin-bottom:25px}.public-card .form-stack{border-top:1px solid #e9ebe5;padding-top:22px}.confirmation{text-align:center;padding:30px 10px}.confirmation-icon{color:#2c724c;background:#e0f0e3;border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 20px;font-size:2rem;display:grid}.loading-card{text-align:center;color:#678071;padding:40px}.shell{place-items:center;min-height:100dvh;display:grid}@media (width>=800px){.app-shell{padding-bottom:0}.content{padding:40px 24px}.bottom-nav{border:1px solid #e3e4dc;border-radius:18px;width:350px;padding:10px;bottom:24px;left:auto;right:24px;box-shadow:0 15px 50px #253b2d25}.overlay{align-items:center}.sheet{border-radius:22px;max-height:85dvh}.mini-stats{max-width:450px}.public-card{padding:42px}}@media (width<=500px){.section-head{align-items:flex-end}.section-head .button{font-size:.8rem}.date-card{flex-direction:column;align-items:stretch}.date-nav{justify-content:space-between}.segmented button{flex:1}.slot-grid{grid-template-columns:repeat(3,1fr)}.status{text-overflow:ellipsis;max-width:75px;overflow:hidden}.appointment{gap:9px;padding:13px 11px}.form-grid{grid-template-columns:1fr}.public-card,.login-card{padding:23px}}.pairing{text-align:center;background:#e7eee6;border:1px dashed #9fbea8;border-radius:12px;padding:18px}.pairing strong{letter-spacing:.15em;margin:8px;font:800 2rem Manrope;display:block}.pairing small{color:#657b6a}.rule{border-top:1px solid #e8ebe4;padding:20px 0}.rule h3{margin:0;font:800 1rem system-ui,-apple-system,Segoe UI,sans-serif}.hour-row{grid-template-columns:1.3fr 1fr 1fr 42px;align-items:center;gap:7px;display:grid}.hour-row select,.hour-row input{color:#263b30;background:#fff;border:1px solid #dce1d8;border-radius:9px;width:100%;min-width:0;padding:8px}@media (width<=450px){.hour-row{grid-template-columns:1fr 1fr 1fr 34px}.hour-row select,.hour-row input{padding:6px;font-size:.72rem}}.week-strip{grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0;display:grid}.week-strip button{color:#446653;background:#fff;border:1px solid #e1e6dc;border-radius:11px;flex-direction:column;align-items:center;gap:3px;padding:9px 2px;display:flex}.week-strip button.active,.month-grid button.active{color:#fff;background:#193b34}.week-strip small{font-size:.62rem}.week-strip span{font-size:.65rem}.month-grid{background:#fff;border:1px solid #e5e4dc;border-radius:15px;grid-template-columns:repeat(7,1fr);gap:4px;margin:15px 0;padding:10px;display:grid}.month-grid .month-heading{text-align:center;color:#87958b;font-size:.7rem;font-weight:700}.month-grid button{color:#315540;background:#f4f7f0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:43px;display:flex}.month-grid button.outside{opacity:.35}.month-grid button span{color:#315540;background:#dfebdf;border-radius:10px;padding:1px 5px;font-size:.6rem}.detail-section{border-top:1px solid #e5e9e1;margin-top:22px;padding-top:20px}.detail-section h3{margin-bottom:12px;font:800 1rem Manrope}.detail-section .slot-grid{max-height:145px}.detail-section .list-row{margin-bottom:5px}.movement-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.movement-actions strong{white-space:nowrap}@media (width<=450px){.movement-actions{flex-direction:column;align-items:flex-end}.movement-actions .button{min-height:30px;padding:0 9px;font-size:.68rem}}.top-actions{gap:7px;display:flex}.search-sheet{min-height:60dvh}.search-group{margin:18px 0}.search-group h3{color:#63786b;text-transform:uppercase;letter-spacing:.1em;font:800 .77rem Manrope}.search-group .list-row{margin-bottom:6px}.search-group .list-row span{text-overflow:ellipsis;white-space:nowrap;max-width:65%;overflow:hidden}.search-group .list-row small{margin:0}.skeleton-row{background:#e9ebe3;border-radius:14px;height:76px;margin:12px 0}.skeleton-row.short{width:70%}
