:root{--cream:#f8f1e7;--cream-2:#efe0cc;--gold:#b88a3a;--gold-2:#d7b56d;--ink:#2b2520;--muted:#7a6a5a;--paper:#fffdf8;--rose:#8f4a58;--green:#2f7d5c;--red:#a54848;--line:rgba(43,37,32,0.14);--shadow:0 18px 40px rgba(43,37,32,0.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input[type=checkbox]{min-height:auto;width:auto}button{cursor:pointer}.logo{color:var(--gold);font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1;letter-spacing:0}.sublogo{color:var(--muted);font-size:12px;letter-spacing:2px;text-transform:uppercase}.site-shell{min-height:100vh}.topbar{background:rgba(255,253,248,.88);border-bottom:1px solid var(--line);gap:24px;justify-content:space-between;padding:16px min(5vw,56px);position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav,.topbar{align-items:center;display:flex}.nav{flex-wrap:wrap;gap:22px;justify-content:flex-end}.ghost-button,.icon-button,.primary-button{align-items:center;border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:8px;min-height:42px;padding:10px 14px}.ghost-button,.icon-button{background:var(--paper);color:var(--ink)}.nav a{align-items:center;color:var(--muted);display:inline-flex;font-size:14px;font-weight:700;gap:7px;min-height:34px;position:relative}.nav a:after{background:var(--gold);bottom:2px;content:"";height:2px;left:0;opacity:0;position:absolute;transform:scaleX(.45);transform-origin:left;transition:opacity .16s ease,transform .16s ease;width:100%}.nav a:hover{color:var(--ink)}.nav a:hover:after{opacity:1;transform:scaleX(1)}.primary-button{background:var(--gold);border-color:var(--gold);color:#fffdf8;font-weight:700}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,520px);grid-gap:36px;gap:36px;min-height:calc(100vh - 86px);padding:54px min(5vw,56px) 32px}.hero-copy{align-self:center;max-width:720px}.eyebrow{color:var(--rose);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,8vw,94px);line-height:.95;margin-bottom:22px}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:500}h2{font-size:36px;margin-bottom:16px}h3{font-size:18px;margin-bottom:8px}.lead{color:var(--muted);font-size:19px;line-height:1.6;max-width:640px}.button-row,.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero-media{align-self:stretch;background:linear-gradient(145deg,rgba(184,138,58,.28),rgba(143,74,88,.14)),url(https://images.unsplash.com/photo-1604654894610-df63bc536371?auto=format&fit=crop&w=1100&q=85);background-position:50%;background-size:cover;border:1px solid rgba(184,138,58,.28);border-radius:8px;min-height:470px;position:relative;overflow:hidden}.hero-media:after{background:rgba(255,253,248,.88);bottom:18px;color:var(--ink);content:"@nailsart_ag_";font-weight:700;left:18px;padding:12px 14px;position:absolute;border-radius:8px}.section{padding:52px min(5vw,56px)}.section.alt{background:var(--paper);border-block:1px solid var(--line)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-width:100%;min-width:0;padding:18px}.service-price{color:var(--gold);font-weight:800}.muted{color:var(--muted)}.form-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-entry{align-self:start}.booking-page-shell{background:var(--cream);min-height:100vh;padding:18px min(4vw,40px) 36px}.booking-page-header{align-items:center;display:flex;justify-content:center;margin-bottom:18px}.booking-page-brand{text-align:center}.booking-page-card{background:var(--paper);border:1px solid rgba(184,138,58,.28);border-radius:8px;box-shadow:0 24px 70px rgba(43,37,32,.12);margin:0 auto;max-width:760px;padding:18px}.booking-page-card.submitted{animation:submitted-card .42s ease both}.success-splash{align-items:center;background:rgba(255,253,248,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:200}.success-splash-card{align-items:center;animation:success-pop .46s ease both;background:var(--paper);border:1px solid rgba(47,125,92,.28);border-radius:8px;box-shadow:0 24px 70px rgba(47,125,92,.18);color:var(--green);display:flex;flex-direction:column;gap:10px;max-width:360px;padding:30px 24px;text-align:center;width:100%}.success-splash-card strong{color:var(--green);font-size:22px}.success-splash-card span{color:var(--muted);line-height:1.5}.booking-open-button{justify-content:center;margin-top:18px;width:100%}.booking-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:80}.booking-backdrop{background:rgba(43,37,32,.46);border:0;inset:0;padding:0;position:absolute}.booking-sheet{background:var(--paper);border:1px solid rgba(184,138,58,.28);border-radius:8px;box-shadow:0 24px 70px rgba(43,37,32,.24);max-height:calc(100vh - 40px);max-width:560px;overflow:auto;padding:18px;position:relative;width:min(100%,560px)}.booking-sheet-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.booking-sheet-header h2{margin-bottom:4px}.booking-first-step{border:1px solid var(--line);border-radius:8px;margin-bottom:16px;padding:12px}.booking-section-title{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.booking-section-title h3{margin-bottom:0}.booking-month-label{color:var(--muted);display:block;font-size:13px;font-weight:800;margin-top:4px;text-transform:capitalize}.booking-month-actions{align-items:center;display:flex;gap:8px}.compact-button{min-height:38px;padding:8px 10px}.booking-section-title span{color:var(--gold);font-size:12px;font-weight:800}.booking-calendar-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(7,minmax(74px,1fr));overflow-x:auto;padding-bottom:4px}.booking-day{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;grid-gap:3px;gap:3px;min-height:92px;min-width:74px;padding:8px 6px;text-align:center}.booking-day em,.booking-day small,.booking-day span{color:var(--muted);font-size:12px;font-style:normal}.booking-day strong{font-size:22px}.booking-day.selected{background:rgba(184,138,58,.13);border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.booking-day.disabled{background:rgba(43,37,32,.05);border-color:rgba(43,37,32,.08);color:rgba(43,37,32,.45);cursor:not-allowed}.booking-day.disabled em,.booking-day.disabled small,.booking-day.disabled span{color:rgba(43,37,32,.42)}.booking-times-panel{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.booking-times-panel h3{margin-bottom:10px}.booking-time-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.booking-time{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:800;min-height:42px;padding:9px}.booking-time.selected{background:var(--gold);border-color:var(--gold);color:var(--paper)}.booking-splash{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:360px;padding:34px 18px;text-align:center}.booking-splash strong{font-size:20px}.booking-splash span{color:var(--muted);line-height:1.5;max-width:310px}.booking-spinner{animation:booking-spin .7s linear infinite;color:var(--gold)}@keyframes booking-spin{to{transform:rotate(1turn)}}.booking-submit-bar{background:linear-gradient(rgba(255,253,248,0),var(--paper) 18%);bottom:0;margin:10px -18px -18px;padding:18px;position:-webkit-sticky;position:sticky}.booking-submit-bar .primary-button{justify-content:center;width:100%}.form-field{display:grid;grid-gap:7px;gap:7px}.form-field.full{grid-column:1/-1}label{color:var(--muted);font-size:13px;font-weight:700}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:10px 12px;width:100%}textarea{min-height:90px;resize:vertical}.admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;overflow-x:hidden;width:100%}.sidebar{background:var(--ink);color:var(--paper);padding:24px}.sidebar .logo{color:var(--gold-2);font-size:30px}.side-nav{display:grid;grid-gap:8px;gap:8px;margin-top:30px}.side-nav a{align-items:center;border-radius:8px;color:rgba(255,253,248,.82);display:flex;gap:10px;min-width:0;padding:12px}.side-nav a.active,.side-nav a:hover{background:rgba(255,253,248,.1);color:var(--paper)}.admin-main{min-width:0;padding:28px}.admin-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px;min-width:0}.admin-actions{align-items:center;display:flex;gap:10px;min-width:0}.notification-button{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:999px;color:var(--ink);display:inline-flex;height:44px;justify-content:center;position:relative;width:44px}.notification-button:hover{border-color:var(--gold);color:var(--gold)}.notification-button span{align-items:center;background:#cc2b2b;border:2px solid var(--paper);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:900;height:21px;justify-content:center;min-width:21px;padding:0 5px;position:absolute;right:-5px;top:-5px}.stats{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:14px;text-align:left}.stat strong{display:block;font-size:28px}.stat small{color:var(--gold);display:block;font-weight:800;margin-top:6px}.stat-button{cursor:pointer}.stat-button:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-1px)}.toolbar{flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.compact-row,.toolbar{align-items:center;display:flex}.compact-row{gap:8px;margin-top:0}.appointment-list,.filters-grid{display:grid;grid-gap:12px;gap:12px}.filters-grid{grid-template-columns:170px 220px minmax(180px,1fr);margin-bottom:16px}.appointment{align-items:center;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(180px,1fr) 130px 150px 210px}.appointment-editor{display:grid;grid-gap:14px;gap:14px}.appointment-edit-grid{grid-template-columns:150px 120px minmax(180px,1fr) minmax(180px,1fr)}.clients-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr)}.client-list{display:grid;grid-gap:10px;gap:10px}.client-row{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(180px,1fr) 130px 160px;padding:14px}.client-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--ink);cursor:pointer;font:inherit;text-align:left;width:100%}.client-button.selected,.client-button:hover{border-color:rgba(184,138,58,.55);box-shadow:inset 0 0 0 1px rgba(184,138,58,.22)}.client-row span{color:var(--muted);display:block;margin-top:3px}.client-detail{align-self:start}.history-section{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.history-section h4{margin-bottom:10px}.history-row{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px;padding:10px}.history-row span{color:var(--muted);display:block;margin-top:2px}.badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;justify-content:center;padding:7px 10px;text-transform:uppercase}.badge.pending{background:rgba(184,138,58,.16);color:#7a5319}.badge.approved{background:rgba(47,125,92,.14);color:var(--green)}.badge.cancelled,.badge.declined{background:rgba(165,72,72,.13);color:var(--red)}.badge.done{background:rgba(43,37,32,.12);color:var(--ink)}.calendar-grid{display:grid;grid-gap:10px;gap:10px;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;grid-template-columns:none;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:8px;scroll-snap-type:x proximity;touch-action:pan-x;width:100%;-webkit-overflow-scrolling:touch}.calendar-grid.week-view{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.calendar-grid.week-view.dragging{cursor:-webkit-grabbing;cursor:grabbing;scroll-snap-type:none}.calendar-grid.month-view{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:visible;scroll-snap-type:none}.month-weekdays{color:var(--muted);display:grid;font-size:12px;font-weight:900;grid-gap:10px;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:8px;text-align:center;text-transform:uppercase}.day-column{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:360px;min-width:150px;padding:10px;scroll-snap-align:start}.day-column.selected,.day-column:focus-visible,.day-column:hover{border-color:rgba(184,138,58,.55);box-shadow:inset 0 0 0 1px rgba(184,138,58,.26);outline:none}.calendar-grid.month-view .day-column{min-height:190px;min-width:0}.calendar-empty{background:rgba(43,37,32,.035);border-style:dashed;pointer-events:none}.day-title{align-items:center;border-bottom:1px solid var(--line);color:var(--muted);display:flex;font-size:13px;font-weight:800;gap:8px;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;text-transform:capitalize}.today-marker{background:rgba(184,138,58,.16);border-radius:999px;color:#7a5319;font-size:11px;padding:4px 7px;text-transform:none;white-space:nowrap}.mini-event{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(184,138,58,.13);border:0;border-left:3px solid var(--gold);border-radius:6px;color:var(--ink);cursor:pointer;display:block;font:inherit;margin-bottom:8px;padding:8px;text-align:left;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;width:100%}.mini-event.selected,.mini-event:focus-visible,.mini-event:hover{background:rgba(184,138,58,.2);box-shadow:0 0 0 2px rgba(184,138,58,.22);outline:none;transform:translateY(-1px)}.agenda-selection{align-items:flex-start;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:12px}.agenda-selection small,.agenda-selection span{color:var(--muted)}.settings-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr}.day-row,.day-settings{display:grid;grid-gap:10px;gap:10px}.day-row{align-items:center;border:1px solid var(--line);border-radius:8px;grid-template-columns:125px 90px 1fr 1fr;padding:10px}.day-row.disabled{background:rgba(43,37,32,.04)}.day-row.disabled input[type=time]{opacity:.48}.toggle-label{align-items:center;color:var(--ink);display:inline-flex;gap:7px}.schedule-status{display:block;font-size:12px;font-weight:800;margin-top:4px}.schedule-status.open{color:var(--green)}.schedule-status.closed{color:var(--red)}.message{align-items:center;border-radius:8px;display:flex;gap:9px;margin-top:12px;padding:12px}.message.ok{background:rgba(47,125,92,.12);color:var(--green)}.message.success-pop{animation:success-pop .46s ease both;border:1px solid rgba(47,125,92,.26);font-weight:800}.message.warn{background:rgba(184,138,58,.14);color:#7a5319}.calendar-app-shell{align-items:flex-start;display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(320px,430px) minmax(320px,1fr);justify-content:center;min-height:100vh;padding:28px}.calendar-phone{background:#fffdf8;border:1px solid rgba(43,37,32,.12);border-radius:28px;box-shadow:0 24px 60px rgba(43,37,32,.14);overflow:hidden}.calendar-app-header{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:44px 1fr 44px 44px;padding:18px}.calendar-app-header span{color:var(--muted);display:block;font-size:12px}.calendar-app-header strong{display:block;text-transform:capitalize}.phone-calendar-card{padding:0 18px 18px}.phone-calendar-title{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:14px;text-transform:capitalize}.phone-month-grid,.phone-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.phone-weekdays{color:var(--muted);font-size:11px;font-weight:800;margin-bottom:8px;text-align:center}.phone-month-grid{gap:4px}.phone-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:999px;color:var(--ink);display:grid;min-height:42px;place-items:center;position:relative}.phone-day.outside{color:rgba(43,37,32,.28)}.phone-day.selected span,.phone-day.today span{align-items:center;background:var(--gold);border-radius:999px;color:#fff;display:inline-flex;height:32px;justify-content:center;width:32px}.phone-day i{background:var(--rose);border-radius:999px;bottom:3px;color:#fff;font-size:10px;font-style:normal;min-width:16px;padding:1px 4px;position:absolute;right:5px}.day-agenda-sheet{background:#fff;border-top:1px solid var(--line);border-top-left-radius:28px;border-top-right-radius:28px;box-shadow:0 -12px 30px rgba(43,37,32,.08);min-height:320px;padding:12px 18px 18px}.sheet-handle{background:rgba(43,37,32,.16);border-radius:999px;height:4px;margin:0 auto 14px;width:54px}.day-agenda-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;text-transform:capitalize}.day-agenda-title span{color:var(--muted);display:block;font-size:12px;margin-top:3px}.day-timeline,.timeline-card{display:grid;grid-gap:10px;gap:10px}.timeline-card{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;color:#fff;grid-template-columns:78px 1fr;padding:12px;text-align:left}.timeline-card.selected{box-shadow:0 0 0 3px rgba(43,37,32,.14)}.timeline-card.tone-0{background:#45acd8}.timeline-card.tone-1{background:#ed8a45}.timeline-card.tone-2{background:#d84f7b}.timeline-card.tone-3{background:#8d63c7}.timeline-time{align-items:center;display:inline-flex;font-size:12px;gap:4px}.timeline-card em,.timeline-card small{display:block;font-style:normal;opacity:.86}.appointment-detail-drawer{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px;position:-webkit-sticky;position:sticky;top:22px}.drawer-close{float:right}.detail-stack{display:grid;grid-gap:10px;gap:10px;margin:18px 0}.appointment-notes,.detail-stack div,.reschedule-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}.detail-stack span{color:var(--muted);display:block;font-size:12px;margin-bottom:4px}.reschedule-box{display:grid;grid-gap:12px;gap:12px}@keyframes success-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}70%{opacity:1;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes submitted-card{0%{box-shadow:0 24px 70px rgba(43,37,32,.12)}to{box-shadow:0 24px 70px rgba(47,125,92,.16)}}@media (max-width:980px){.calendar-app-shell,.grid.three,.grid.two,.hero,.settings-grid,.stats{grid-template-columns:1fr}.hero{min-height:auto}.hero-media{min-height:340px}.admin-layout{grid-template-columns:1fr}.admin-main{padding:20px}.sidebar{position:static}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.side-nav a{justify-content:flex-start;overflow:hidden}.appointment,.appointment-edit-grid,.client-row,.clients-layout,.filters-grid{grid-template-columns:1fr}.calendar-grid{grid-auto-columns:minmax(220px,calc(100vw - 56px))}.calendar-grid.month-view,.month-weekdays{gap:6px;grid-template-columns:repeat(7,minmax(54px,1fr));overflow-x:auto}.day-column{min-width:220px}.calendar-grid.month-view .day-column{min-height:132px;min-width:54px;padding:7px}.form-grid{grid-template-columns:1fr}.appointment-detail-drawer{position:static}}@media (max-width:640px){.admin-header,.toolbar,.topbar{align-items:stretch;flex-direction:column}.admin-actions{justify-content:space-between}.admin-main{padding:16px}.calendar-app-shell{padding:0}.calendar-phone{border:0;border-radius:0;box-shadow:none;min-height:100vh}.calendar-app-header{grid-template-columns:40px 1fr 40px 40px;padding:14px}.appointment-detail-drawer{border-radius:0;border-width:1px 0 0}.timeline-card{grid-template-columns:72px 1fr}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.side-nav a{padding:11px 10px}.history-row{align-items:flex-start;flex-direction:column}.calendar-grid{grid-auto-columns:minmax(220px,calc(100vw - 48px))}.calendar-grid.month-view,.month-weekdays{grid-template-columns:repeat(7,minmax(48px,1fr))}.calendar-grid.month-view .day-column{min-width:48px}.nav{justify-content:flex-start}.day-row{grid-template-columns:1fr 90px}.day-row input[type=time]{grid-column:span 1}.booking-modal{align-items:flex-end;padding:0}.booking-sheet{border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:88vh;padding:16px;width:100%}.booking-page-shell{padding:14px 0 0}.booking-page-card{border-bottom-left-radius:0;border-bottom-right-radius:0;min-height:calc(100vh - 78px);padding:16px}.booking-form-grid{grid-template-columns:1fr}.booking-calendar-grid{grid-template-columns:repeat(4,minmax(72px,1fr))}.booking-section-title{align-items:stretch;flex-direction:column}.booking-month-actions{justify-content:space-between}.booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-submit-bar{margin:10px -16px -16px;padding:14px 16px 16px}}