@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
.whatsapp-btn{background:#25d366!important;color:#fff!important}.whatsapp-mark{width:19px;height:19px;display:block}
.client-selector{width:100%;border:1px solid #eadbd7;background:#fff;border-radius:15px;padding:10px;display:flex;align-items:center;gap:11px;text-align:left;color:#35292a}.client-selector.selected{border-color:#c9767e;background:#fffafa}.client-selector .avatar{width:39px;height:39px}.client-selector-copy{flex:1;min-width:0}.client-selector-copy strong,.client-selector-copy small{display:block}.client-selector-copy small{color:#7e6f70;font-size:11px;margin-top:2px}.client-selector>b{font-size:24px;color:#c9767e}.picker-wrap{position:fixed;inset:0;background:rgba(44,24,26,.62);z-index:70;display:flex;align-items:flex-end;justify-content:center}.picker{width:min(480px,100%);max-height:82dvh;background:#fbf4f1;border-radius:28px 28px 0 0;padding:11px 18px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.picker h2{font:700 24px Georgia;color:#6f3038;margin:5px 0 13px}.picker-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #eadbd7;border-radius:15px;padding:0 12px}.picker-search span{font-size:20px;color:#914954}.picker-search input{width:100%;border:0;outline:0;padding:13px 0;background:transparent}.picker-list{overflow:auto;margin:12px 0;min-height:110px}.picker-client{width:100%;border:0;border-bottom:1px solid #eadbd7;background:transparent;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-align:left;padding:10px 2px;color:#35292a}.picker-client span:nth-child(2) strong,.picker-client span:nth-child(2) small{display:block}.picker-client span:nth-child(2) small{font-size:11px;color:#7e6f70;margin-top:2px}.picker-client>b{color:#c9767e;font-size:18px}
.nav-four{grid-template-columns:repeat(4,1fr)!important}.service-row{display:flex;align-items:center;gap:11px}.service-row .main{flex:1;min-width:0}.service-row .main strong,.service-row .main span{display:block}.service-row .main span{font-size:11px;color:#7e6f70;margin-top:3px}.service-icon{width:40px;height:40px;flex:none;border-radius:13px;background:#f7e1dc;color:#6f3038;display:grid;place-items:center;font-size:19px}
.logout-btn{border:0;background:#f7e1dc;color:#6f3038;border-radius:11px;padding:8px 10px;font-size:11px;font-weight:800}.sync-status{width:max-content;margin:-4px 16px 10px auto;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800}.sync-status.saved{background:#ddefe6;color:#27644f}.sync-status.saving{background:#f7e9bd;color:#755a05}.sync-status.offline{background:#f7dddd;color:#983d3d}.login-page{padding-bottom:30px}.login-brand{min-height:39dvh;background:linear-gradient(145deg,#6f3038,#542229);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:38px;border-radius:0 0 35px 35px}.login-brand .mark{width:68px;height:68px;font-size:27px}.login-brand h1{font:700 31px Georgia;margin:13px 0 3px}.login-brand p{margin:0;color:#edc7bd}.login-card{padding:30px 22px}.login-card h2{font:700 25px Georgia;color:#6f3038}.client-main{border:0;background:transparent;text-align:left;padding:4px 0;min-width:0}.history-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.history-stats div{background:#f7e1dc;border-radius:14px;padding:12px}.history-stats div:last-child{grid-column:1/-1}.history-stats span{display:block;color:#7e6f70;font-size:9px;text-transform:uppercase;font-weight:800}.history-stats strong{display:block;color:#6f3038;font-size:13px;margin-top:5px}.history-item{width:100%;border:0;border-bottom:1px solid #eadbd7;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:11px 0}.history-item:last-child{border-bottom:0}.history-item strong,.history-item small{display:block}.history-item small{color:#7e6f70;margin-top:3px}
.agenda-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.view-toggle{display:flex;background:#f0e4e0;border-radius:12px;padding:3px}.view-toggle button{border:0;background:transparent;color:#7e6f70;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800}.view-toggle button.active{background:#fff;color:#6f3038;box-shadow:0 2px 7px rgba(111,48,56,.1)}.calendar{background:#fff;border:1px solid #eadbd7;border-radius:19px;padding:12px;margin:10px 0}.calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;text-align:center;margin-bottom:10px}.calendar-head button{border:0;background:#f7e1dc;color:#6f3038;border-radius:10px;height:34px;font-size:24px}.calendar-head strong{font:700 16px Georgia;color:#6f3038}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekdays span{text-align:center;color:#7e6f70;font-size:9px;font-weight:800;padding:4px 0}.calendar-day{position:relative;aspect-ratio:1;border:0;border-radius:10px;background:#fbf4f1;color:#35292a;font-size:12px;font-weight:700;padding:0}.calendar-day.selected{background:#6f3038;color:#fff}.calendar-day.past{opacity:.28}.calendar-day b{position:absolute;right:2px;bottom:2px;min-width:14px;height:14px;padding:0 3px;border-radius:8px;background:#c9767e;color:#fff;font-size:8px;display:grid;place-items:center}.calendar-day.selected b{background:#f2c787;color:#6f3038}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:5px;color:#7e6f70;font-size:9px;margin-top:9px}.calendar-legend i{width:8px;height:8px;border-radius:50%;background:#c9767e}.appointment-calendar .calendar{margin:0}.appointment-calendar .calendar-day{font-size:11px}.field input[list]{padding-right:34px}.client .main{min-width:0}
.danger-icon{background:#f8e0e0!important;color:#983d3d!important}
.fab:disabled{opacity:.35;box-shadow:none;cursor:not-allowed}
.chosen-date{background:#f7e1dc;color:#6f3038;border-radius:13px;padding:10px 12px;font-size:12px;margin:10px 0}.appointment .main{min-width:0}.appointment .main strong,.appointment .main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:370px){.top{padding-inline:13px!important}.today{display:none}.screen{padding-inline:12px!important}.modal{padding-inline:14px!important}.date-fields{grid-template-columns:60px minmax(105px,1fr) 78px;gap:5px}.date-fields select,.time-fields select{padding:11px 6px!important;font-size:13px}.appointment{grid-template-columns:52px minmax(0,1fr)!important;gap:9px!important}.appointment .badge{grid-column:2;justify-self:start}.actions{gap:6px!important}.actions .btn{padding-inline:9px!important;font-size:13px}.hero{padding:17px!important}.hero-stat strong{font-size:19px!important}}
.date-fields{display:grid;grid-template-columns:70px 1fr 90px;gap:7px}.time-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.date-fields select,.time-fields select{min-width:0;text-align:center}.agenda-picker{width:100%;cursor:pointer}.agenda-picker strong{color:#6f3038;white-space:nowrap}
.hero-stat.expected{grid-column:1/-1;background:rgba(242,199,135,.14)!important;border-color:rgba(242,199,135,.25)!important}.day-strip{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;touch-action:pan-x;padding-bottom:15px!important}.day{scroll-snap-align:center;flex:0 0 60px}.day small{display:block;font-size:9px;margin-top:2px;text-transform:uppercase}.agenda-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #eadbd7;border-radius:15px;padding:9px 12px;margin:14px 0 6px}.agenda-picker span{font-size:12px;font-weight:800;color:#6f3038}.agenda-picker input{border:0;background:#f7e1dc;color:#6f3038;padding:8px;border-radius:10px;max-width:155px;font-weight:700}.swipe-hint{text-align:center;color:#7e6f70;font-size:10px;margin:9px 0 2px}.form-error{min-height:18px;color:#b74646;font-size:12px;font-weight:700;margin-top:6px}
:root{--wine:#6f3038;--wine2:#914954;--rose:#c9767e;--blush:#f7e1dc;--cream:#fbf4f1;--gold:#c58b4a;--ink:#35292a;--muted:#7e6f70;--line:#eadbd7;--green:#26715b;--red:#b74646;font-family:"DM Sans",sans-serif;color:var(--ink);background:#eadfdb}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(100%,480px);min-height:100dvh;margin:auto;background:var(--cream);padding-bottom:92px}.top{padding:18px 18px 12px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.mark{width:45px;height:45px;border-radius:15px;background:var(--wine);color:#f2c787;border:2px solid #dda866;display:grid;place-items:center;font:700 19px Georgia}.brand strong{display:block;font:700 18px "Playfair Display"}.brand span{font-size:10px;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase}.today{font-size:11px;color:var(--wine);font-weight:800;background:var(--blush);padding:8px 10px;border-radius:999px}.screen{padding:5px 16px}.hello{font:700 29px/1.08 "Playfair Display";margin:7px 0}.muted{color:var(--muted)}.tiny{font-size:12px}.hero{margin:18px 0;background:linear-gradient(145deg,var(--wine),#542229);color:#fff;border-radius:25px;padding:20px;position:relative;overflow:hidden;box-shadow:0 14px 34px rgba(111,48,56,.2)}.hero:after{content:"DS";position:absolute;right:-12px;bottom:-42px;font:700 120px Georgia;color:rgba(255,255,255,.06)}.hero .eyebrow{color:#edc7bd}.hero h2{font:700 25px "Playfair Display";margin:5px 0 16px}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero-stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);padding:12px;border-radius:15px}.hero-stat strong{display:block;font-size:23px}.hero-stat span{font-size:11px;color:#ead8d4}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:800;color:var(--wine2)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:22px 2px 10px}.section-head h2{font:700 20px "Playfair Display";margin:0}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;margin-bottom:11px;box-shadow:0 5px 18px rgba(78,42,46,.045)}.appointment{display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center}.time{height:50px;border-radius:15px;background:var(--blush);color:var(--wine);display:grid;place-items:center;font-weight:800}.main strong{display:block;font-size:14px}.main span{font-size:11px;color:var(--muted)}.badge{border-radius:999px;padding:6px 8px;font-size:10px;font-weight:800}.scheduled{background:#f7e9bd;color:#755a05}.done{background:#ddefe6;color:#27644f}.cancelled{background:#f7dddd;color:#983d3d}.btn{border:0;border-radius:14px;padding:12px 15px;min-height:44px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-wine{background:var(--wine);color:white}.btn-rose{background:var(--blush);color:var(--wine)}.btn-light{background:#fff;border:1px solid var(--line);color:var(--wine)}.btn-danger{background:#f8e0e0;color:#983d3d}.btn-block{width:100%}.btn-sm{min-height:34px;padding:7px 10px;border-radius:10px;font-size:11px}.fab{position:fixed;z-index:20;bottom:82px;left:calc(50% + min(240px,50%) - 78px);width:58px;height:58px;border:0;border-radius:20px;background:var(--wine);color:#fff;font-size:28px;box-shadow:0 10px 25px rgba(111,48,56,.32)}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);height:73px;padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);z-index:15}.nav button{border:0;background:none;color:#9a8889;font-size:10px;font-weight:800;display:flex;flex-direction:column;gap:3px;align-items:center}.nav i{font-style:normal;font-size:21px}.nav .active{color:var(--wine)}.empty{text-align:center;padding:28px 12px;color:var(--muted)}.empty b{display:block;color:var(--ink);margin:7px}.day-strip{display:flex;gap:8px;overflow:auto;padding:4px 0 13px;scrollbar-width:none}.day{min-width:58px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:9px 5px;text-align:center;color:var(--muted)}.day strong{display:block;font-size:18px;color:var(--ink)}.day.active{background:var(--wine);color:#edc7bd;border-color:var(--wine)}.day.active strong{color:#fff}.client{display:flex;gap:11px;align-items:center}.avatar{width:42px;height:42px;flex:none;border-radius:50%;background:var(--blush);color:var(--wine);font-weight:800;display:grid;place-items:center}.client .main{flex:1}.icon-btn{border:0;background:var(--blush);color:var(--wine);width:35px;height:35px;border-radius:11px}.search{width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;padding:13px 14px;outline:none}.modal-wrap{position:fixed;inset:0;background:rgba(44,24,26,.55);z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal{width:min(480px,100%);max-height:92dvh;overflow:auto;background:var(--cream);border-radius:28px 28px 0 0;padding:11px 18px calc(25px + env(safe-area-inset-bottom))}.grab{width:42px;height:5px;background:#dacac6;border-radius:5px;margin:0 auto 18px}.modal h2{font:700 24px "Playfair Display";margin-bottom:6px}.field{margin:13px 0}.field label{display:block;font-size:11px;font-weight:800;margin:0 0 6px;color:#5f4e50}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;outline:none;color:var(--ink)}.row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.actions{display:flex;gap:9px;margin-top:18px}.actions .btn{flex:1}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.receipt{background:#fff;border:1px dashed var(--gold);border-radius:18px;padding:18px}.receipt-head{text-align:center;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:13px}.receipt-head .mark{margin:auto}.receipt-line{display:flex;justify-content:space-between;margin:9px 0;font-size:13px}.receipt-total{font-size:18px;font-weight:800;color:var(--wine);border-top:1px solid var(--line);padding-top:12px}.toast{position:fixed;z-index:99;bottom:90px;left:50%;transform:translate(-50%,20px);opacity:0;background:#332628;color:#fff;padding:11px 15px;border-radius:12px;font-size:12px;font-weight:700;pointer-events:none;transition:.2s;max-width:calc(100% - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:600px){.shell{box-shadow:0 0 60px rgba(71,41,44,.18)}}
