:root{--ink:#211B23;--muted:#786E76;--rose:#111111;--lightrose:#f1f1f1;--cream:#FFF9F6;--line:#EEE5E5;--violet:#111111;--orange:#ED9A55;--blue:#639EC0;--green:#4E9E6F}*{box-sizing:border-box}body{margin:0;background:#f3eeed;color:var(--ink);font-family:'DM Sans',sans-serif}.app-shell{position:relative;margin:auto;max-width:480px;min-height:100vh;padding-bottom:84px;background:var(--cream);overflow:hidden}.screen{display:none;padding:20px 20px 30px;animation:rise .25s ease}.screen.active{display:block}@keyframes rise{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}.topbar{height:42px;display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.brand{font-size:20px;font-weight:700;letter-spacing:-.7px;display:flex;gap:7px;align-items:center}.brand-dot{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--rose);color:white;font-family:Georgia;font-size:18px}.icon-button,.back-button{border:0;background:transparent;color:var(--ink);font-size:27px;cursor:pointer}.back-button{font-size:39px;line-height:20px}.welcome-row{display:flex;justify-content:space-between;align-items:start}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:700;color:var(--rose);margin:0 0 8px}h1{font-family:'Playfair Display',Georgia,serif;font-size:31px;line-height:1.12;letter-spacing:-1.25px;margin:0}h2{font-size:17px;letter-spacing:-.4px;margin:0}.avatar{background:#F7C6A9;color:#9A5032;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700}.avatar.large{width:76px;height:76px;margin:auto;font-size:24px}.location{border:0;background:transparent;margin:20px 0 16px;padding:0;color:var(--muted);font-size:13px}.location span{color:var(--rose);margin-left:5px}.search{height:51px;display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);padding:0 15px;border-radius:15px;color:#9D9199}.search span{font-size:24px;line-height:0}.search input{min-width:0;width:100%;border:0;outline:0;font:inherit;color:var(--ink);background:transparent}.section{margin-top:29px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.text-button{padding:0;border:0;background:transparent;color:var(--rose);font:600 12px 'DM Sans',system-ui,sans-serif;cursor:pointer}.categories{display:flex;justify-content:space-between;gap:9px}.category{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;border:0;background:transparent;font:500 11px 'DM Sans',system-ui,sans-serif;color:var(--muted);cursor:pointer}.category-icon{height:50px;width:50px;border-radius:16px;display:grid;place-items:center;font-size:24px}.pink{color:var(--rose);background:#f1f1f1}.violet{color:var(--violet);background:#f1f1f1}.orange{color:var(--orange);background:#FFF0DF}.blue{color:var(--blue);background:#E9F5FB}.green{color:var(--green);background:#E3F3E8}.category.selected{color:var(--ink)}.category.selected .category-icon{outline:2px solid var(--rose);outline-offset:2px}.professionals-section{margin-top:33px}.professional-list{display:grid;gap:15px}.professional-card{display:flex;gap:13px;cursor:pointer}.professional-image{width:108px;height:116px;border-radius:16px;flex:0 0 auto;display:grid;place-items:center;font-size:38px}.professional-image.salon{background:#ececec}.professional-image.tresseuse{background:#E6C59E}.professional-image.boutique{background:#D4E6DA}.professional-image.toilettage{background:#CDE8D6}.professional-info{padding:3px 0;min-width:0}.professional-type{font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--rose);margin:0 0 5px}.professional-info h3{margin:0;font-size:16px;letter-spacing:-.3px}.professional-info p{margin:7px 0;color:var(--muted);font-size:12px}.rating{font-size:12px;color:var(--ink)}.rating span{color:#E8A336}.mobile-service-badge{margin:5px 0 0;font-size:11px;color:var(--green)}.professional-card{position:relative}.favorite-toggle{margin-left:auto;align-self:flex-start;flex:0 0 auto;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#b23e58;font-size:19px;line-height:1;cursor:pointer}.favorite-toggle.on{background:#fdecef;border-color:#f3c3cd}.license-badge{margin:5px 0 0!important;font-size:11px!important;font-weight:700;color:#1a6b2f!important}.empty-state{color:var(--muted);text-align:center;padding:25px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:480px;width:100%;height:72px;display:flex;justify-content:space-around;background:#fffdfb;border-top:1px solid var(--line);z-index:3}.nav-item{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:65px;border:0;background:transparent;color:#978D93;font:500 10px 'DM Sans',system-ui,sans-serif;cursor:pointer}.nav-item span{font-size:21px}.nav-item.active{color:var(--rose)}.wide{margin-top:24px}.discover-hero{min-height:220px;margin:27px 0;padding:25px;border-radius:24px;color:white;background:linear-gradient(135deg,#111111,#2a2a2a);position:relative;overflow:hidden}.discover-hero:after{content:'✿';position:absolute;right:-16px;bottom:-65px;font-size:185px;color:rgba(255,255,255,.13)}.discover-hero span{font-size:26px}.discover-hero h2{font:600 27px/1.1 'Playfair Display';margin:22px 0 8px}.discover-hero p{font-size:13px;margin:0;opacity:.85}.mini-heading{margin:0 0 14px}.chips{display:flex;gap:9px;flex-wrap:wrap}.chips span{padding:9px 13px;border-radius:20px;background:white;border:1px solid var(--line);font-size:12px}.profile-hero{text-align:center;padding:12px 0 28px}.profile-hero h1{font-size:25px;margin-top:12px}.profile-hero p{font-size:12px;color:var(--muted)}.profile-menu{border-top:1px solid var(--line)}.profile-menu button{width:100%;display:flex;justify-content:space-between;padding:19px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;font:500 14px 'DM Sans',system-ui,sans-serif;text-align:left}.profile-menu span{color:var(--rose);font-size:22px}.join-pro{width:100%;margin-top:27px;padding:14px;border:1px solid var(--rose);border-radius:13px;background:var(--lightrose);color:var(--rose);font:600 14px 'DM Sans',system-ui,sans-serif}.join-head p:last-child{color:var(--muted);font-size:14px;line-height:1.55;margin:15px 0 24px}.join-form{display:grid;gap:15px}.join-form label{display:grid;gap:7px;font-size:12px;font-weight:600}.join-form input,.join-form select{height:49px;border:1px solid var(--line);border-radius:12px;padding:0 13px;background:white;font:400 14px 'DM Sans',system-ui,sans-serif;outline-color:var(--rose)}.primary-button{border:0;border-radius:13px;background:var(--rose);color:white;font:600 14px 'DM Sans',system-ui,sans-serif;padding:16px;margin-top:7px}.booking-summary{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.booking-summary h2{font-size:19px;margin:7px 0}.booking-summary p{font-size:13px;color:var(--muted)}.booking-slots{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.slot{padding:9px 12px;background:var(--lightrose);border:1px solid transparent;border-radius:9px;font:500 12px 'DM Sans',system-ui,sans-serif;cursor:pointer}.slot.selected{border-color:var(--rose);color:var(--rose)}.toast{position:fixed;left:50%;bottom:86px;transform:translate(-50%,20px);opacity:0;transition:.2s;background:var(--ink);color:white;padding:11px 16px;border-radius:11px;font-size:12px;z-index:5;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:481px){body{padding:0}.app-shell{box-shadow:0 0 50px rgba(46,25,32,.12)}}
