:root{--wine:#6e1232;--wine-dark:#4c0d23;--terracotta:#c9784d;--sage:#7c8763;--gold:#c8a15a;--marfil:#f7f1e8;--cream:#fff9f2;--sand:#e8ddcf;--ink:#3c2a25;--muted:#7c6a60;--line:#6e123224;--line-strong:#4c0d2338;--bg:var(--marfil);--panel:var(--cream);--accent:var(--wine);--accent-soft:#f0ded8;--success:var(--sage);--warning:var(--terracotta);--shadow-sm:0 2px 8px #3c2a2514;--shadow-md:0 10px 28px #3c2a251f;--shadow:0 18px 50px #3c2a2524;--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--radius-xs:10px;--serif:Georgia, "Times New Roman", serif;--sans:"Segoe UI", "Helvetica Neue", Arial, sans-serif;font-family:var(--sans);color:var(--ink);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 0,#7c876338,#0000 28%),radial-gradient(circle at 94% 8%,#6e123229,#0000 24%),radial-gradient(circle at 88% 92%,#c9784d33,#0000 24%),linear-gradient(#fff9f2 0%,#f7f1e8 58%,#efe4d8 100%);min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;opacity:.75;background:linear-gradient(135deg,#c8a15a14,#0000 30%),radial-gradient(circle at 14% 22%,#c8a15a1f 0 1px,#0000 2px) 0 0/20px 20px;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:var(--serif);color:var(--ink);margin:0}p{margin:0}ul{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;background:0 0;border:none}.app-shell{background:linear-gradient(180deg, #fff9f2f5, #f7f1e8f5), var(--panel);max-width:500px;min-height:100vh;box-shadow:var(--shadow);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.app-shell:before{content:"";z-index:0;background:#7c876324;border-radius:48% 52% 44% 56%;width:12rem;height:12rem;position:absolute;top:-5.5rem;right:-4.5rem}.app-shell:after{content:"";z-index:0;background:#c9784d1f;border-radius:60% 40% 56% 44%;width:10rem;height:10rem;position:absolute;bottom:10rem;left:-5rem}.navbar,.content,.bottom-nav{z-index:1;position:relative}.navbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#fff9f2e6;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.brand{flex-direction:row;align-items:center;gap:.75rem;display:inline-flex}.brand-mark{width:2.6rem;height:2.6rem;color:var(--gold);font-family:var(--serif);box-shadow:var(--shadow-sm);background:linear-gradient(145deg,#fff9f2,#f1e4d6);border:1px solid #c8a15a8f;border-radius:999px;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:inline-flex}.brand-name{font-family:var(--serif);color:var(--wine);letter-spacing:-.02em;font-size:1.55rem;font-weight:700;line-height:.96;display:block}.brand-subtitle{text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-size:.64rem;font-weight:800;display:block}.menu-trigger{color:var(--wine-dark);border:1px solid var(--line);background:#fff9f2bd;border-radius:999px;padding:.55rem;transition:background .2s,transform .2s}.menu-trigger:hover{background:var(--accent-soft);transform:translateY(-1px)}.content{flex:1;padding:2rem 1.5rem 7.75rem}.bottom-nav{background:linear-gradient(180deg, var(--wine) 0%, var(--wine-dark) 100%);z-index:20;border:1px solid #fff9f22e;border-radius:999px;grid-template-columns:repeat(5,1fr);gap:.15rem;width:calc(100% - 2rem);max-width:452px;min-height:4.45rem;padding:.54rem;display:grid;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 18px 42px #4c0d2357}.nav-item{color:#fff9f2b8;letter-spacing:-.01em;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-width:0;font-size:.62rem;font-weight:800;transition:background .2s,color .2s,transform .2s;display:flex}.nav-item.active{color:#fff9f2;background:#fff9f221;box-shadow:inset 0 0 0 1px #fff9f21a}.nav-item.active svg{color:var(--gold);fill:#c8a15a2e}.nav-item:hover{transform:translateY(-2px)}.nav-icon-with-badge{display:inline-flex;position:relative}.nav-badge{background:var(--terracotta);border:2px solid var(--wine-dark);border-radius:999px;width:.48rem;height:.48rem;position:absolute;top:-.2rem;right:-.3rem}.page-stack,.welcome-screen{flex-direction:column;gap:1rem;display:flex}.page-heading{flex-direction:column;gap:.65rem;display:flex}.eyebrow{color:var(--wine);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:900}.page-heading h1,.welcome-screen h1{color:var(--ink);letter-spacing:-.045em;font-size:clamp(2.18rem,9vw,2.7rem);line-height:.98}.page-heading p,.welcome-screen p,.appointment-card p,.service-card p,.empty-state p{color:var(--muted);font-size:.98rem}.stats-placeholder{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.compact-stats{margin-top:.25rem}.stat-card,.appointment-card,.service-card,.empty-state,.notice-card,.error-card,.success-card{border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff9f2d1;padding:1.25rem}.stat-card{flex-direction:column;justify-content:center;gap:.5rem;min-height:8.5rem;display:flex}.stat-card strong{font-family:var(--serif);color:var(--wine);font-size:2.1rem}.stat-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.card-list,.appointment-card,.service-card,.success-card,.empty-state{flex-direction:column;gap:1rem;display:flex}.service-card-with-media{grid-template-columns:5.8rem 1fr;align-items:stretch;gap:1rem;padding:.85rem;display:grid}.service-card-content{flex-direction:column;gap:.85rem;min-width:0;display:flex}.service-thumbnail{border-radius:calc(var(--radius-md) - 4px);background:radial-gradient(circle at 30% 20%, #fff9f2b8, transparent 28%), linear-gradient(135deg, #6e123233, #c9784d38), var(--accent-soft);border:1px solid #c8a15a42;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:100%;display:flex;overflow:hidden}.service-thumbnail span{font-size:2.15rem;line-height:1}.service-thumbnail small{color:var(--wine);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.card-header-row,.service-meta{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.appointment-card h2,.service-card h2,.empty-state h2{color:var(--ink);letter-spacing:-.02em;font-size:1.35rem}.appointment-details{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.status-pill,.service-meta span,.service-meta strong{background:var(--accent-soft);color:var(--wine);text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .72rem;font-size:.72rem;font-weight:900;display:inline-flex}.service-meta strong{color:var(--wine-dark)}.status-confirmed{color:#4c5a38;background:#7c876333}.status-cancelled{color:var(--muted);background:#7c6a6029}.status-pending-validation,.status-pending-calendar-sync,.status-pending-cancellation-sync{color:#8a4326;background:#c9784d2e}.primary-action,.secondary-action{border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:0 1.15rem;font-weight:900;transition:transform .2s,opacity .2s,box-shadow .2s;display:inline-flex}.primary-action{background:linear-gradient(180deg, var(--wine) 0%, var(--wine-dark) 100%);color:var(--cream);width:100%;box-shadow:0 12px 26px #6e12323d}.secondary-action{color:var(--wine);background:#f0ded8d1;border:1px solid #6e12321f}.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}.primary-action:disabled{cursor:not-allowed;opacity:.6;transform:none}.notice-card{color:var(--wine);background:#f0ded8b8;font-size:.92rem}.error-card{color:#8f1d1d;background:#f9e5e2;flex-direction:column;gap:.85rem;display:flex}.error-card p{margin:0}.success-card{color:#40512f;background:#7c876329}.success-card strong{color:#2f3a23;font-family:var(--serif);font-size:1.45rem}.success-card .eyebrow{color:#40512f}.success-actions{grid-template-columns:1fr;gap:.75rem;display:grid}.success-actions .primary-action,.success-actions .secondary-action{width:100%;text-decoration:none}.booking-form{flex-direction:column;gap:1rem;display:flex}.booking-form label{color:var(--ink);flex-direction:column;gap:.45rem;font-weight:900;display:flex}.booking-form input,.booking-form select{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;min-height:3.25rem;color:var(--ink);box-shadow:var(--shadow-sm);background:#fff9f2db;padding:0 .95rem}.chat-page{flex-direction:column;gap:1rem;min-height:calc(100vh - 12rem);display:flex}.chat-header-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:radial-gradient(circle at 100% 0,#c9784d2e,#0000 34%),linear-gradient(135deg,#fff9f2 0%,#f0ded8 100%);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.chat-header-card h1{color:var(--ink);font-size:1.62rem}.chat-header-card p{color:var(--muted)}.chat-thread{flex-direction:column;flex:1;gap:.85rem;padding-bottom:7.5rem;display:flex}.chat-bubble-row{flex-direction:column;gap:.65rem;max-width:88%;display:flex}.chat-bubble-row.bot{align-self:flex-start;align-items:flex-start}.chat-bubble-row.user{align-self:flex-end;align-items:flex-end}.chat-bubble{box-shadow:var(--shadow-sm);border-radius:1.3rem;padding:.88rem 1rem;font-size:.95rem;line-height:1.45}.chat-bubble.bot{color:var(--ink);border:1px solid var(--line);background:#fff9f2eb;border-bottom-left-radius:.45rem}.chat-bubble.user{background:linear-gradient(180deg, var(--wine) 0%, var(--wine-dark) 100%);color:var(--cream);border-bottom-right-radius:.45rem}.chat-bubble.typing{align-items:center;gap:.35rem;min-width:4.25rem;display:flex}.chat-bubble.typing span{background:var(--terracotta);border-radius:999px;width:.45rem;height:.45rem;animation:1s ease-in-out infinite typing-bounce}.chat-bubble.typing span:nth-child(2){animation-delay:.15s}.chat-bubble.typing span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,80%,to{opacity:.45;transform:translateY(0)}40%{opacity:1;transform:translateY(-.22rem)}}.quick-replies{z-index:18;gap:.5rem;width:calc(100% - 2rem);max-width:452px;padding:.25rem 0 .5rem;display:flex;position:fixed;bottom:6rem;left:50%;overflow-x:auto;transform:translate(-50%)}.quick-replies button{border:1px solid var(--line);color:var(--wine);box-shadow:var(--shadow-sm);background:#fff9f2e6;border-radius:999px;flex:none;padding:.65rem .9rem;font-weight:900}.chat-input-bar{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:calc(100% - 2rem);max-width:452px;box-shadow:var(--shadow-md);z-index:19;background:#fff9f2f0;border-radius:999px;grid-template-columns:1fr auto;gap:.5rem;padding:.46rem;display:grid;position:fixed;bottom:10rem;left:50%;transform:translate(-50%)}.chat-input-bar input{color:var(--ink);background:0 0;border:none;outline:none;min-height:2.7rem;padding:0 .9rem}.chat-input-bar button{background:var(--wine);width:2.7rem;height:2.7rem;color:var(--cream);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.chat-input-bar button:disabled{opacity:.45;cursor:not-allowed}.chat-confirmation-card{border-radius:var(--radius-md);color:#40512f;box-shadow:var(--shadow-sm);background:#fff9f2f2;border:1px solid #7c876342;padding:1rem}.chat-confirmation-eyebrow{text-transform:uppercase;letter-spacing:.14em;margin-bottom:.35rem;font-size:.7rem;font-weight:900;display:block}.chat-confirmation-card h2{margin-bottom:.75rem;font-size:1.1rem}.chat-confirmation-card dl{gap:.55rem;margin:0;display:grid}.chat-confirmation-card div{grid-template-columns:5.5rem 1fr;gap:.5rem;display:grid}.chat-confirmation-card dt{font-weight:900}.chat-confirmation-card dd{margin:0}@media (width>=501px){body{justify-content:center;align-items:center;padding:2rem 0;display:flex}}
