@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ivory:#f3ebdc;--paper:#fcf9f3;--beige:#dcc7a8;--nude:#c9ac89;--taupe:#7c6552;--ink:#1b1613;--gold:#b08a52;--line:rgba(27,22,19,.13);--green:#66745e;--red:#a35e50}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:#211b17;color:#f7efe3;padding:27px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;padding:0 8px 25px;border-bottom:1px solid #ffffff17}.brand i{font:500 18px 'Bodoni Moda';font-style:normal;border:1px solid var(--gold);width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.brand span{display:grid;letter-spacing:.12em}.brand small{font-size:9px;color:#bcaea4;letter-spacing:.02em}.sidebar nav{display:grid;gap:5px;margin-top:25px}.sidebar nav button{border:0;background:transparent;color:#c6b9b0;text-align:left;border-radius:8px;padding:12px 13px;cursor:pointer;display:flex;gap:12px}.sidebar nav button.active,.sidebar nav button:hover{background:#ffffff10;color:white}.storage{margin-top:auto;border-top:1px solid #ffffff17;padding:18px 9px 0;display:grid}.storage span{color:#aab69f;font-size:10px}.storage small{color:#9d9087;font-size:9px;margin-top:4px}main{min-width:0}header{height:76px;position:sticky;top:0;z-index:5;background:#fffdf9df;backdrop-filter:blur(9px);border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between}header>div{margin-right:auto}header b{font-size:12px}#menu{display:none;border:0;background:none;font-size:22px}.eyebrow{font-size:9px;letter-spacing:.18em;color:#876333;font-weight:700;margin:0 0 5px}.primary{border:0;background:#1b1613;color:#fff;padding:11px 16px;border-radius:8px;cursor:pointer}.ghost{border:1px solid var(--line);background:transparent;padding:10px 15px;border-radius:8px;cursor:pointer}.danger{color:var(--red)!important}.content{padding:34px;max-width:1450px;margin:auto}.pageHead{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.pageHead h1,dialog h2{font:500 37px 'Bodoni Moda';margin:0}.pageHead p{color:#786b62;margin:8px 0 0}.actions{display:flex;gap:9px;align-items:center}.search{border:1px solid var(--line);background:#fff;padding:11px 14px;border-radius:8px;min-width:260px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:20px}.stat{padding:19px;border-right:1px solid var(--line);display:grid}.stat:last-child{border:0}.stat small{text-transform:uppercase;letter-spacing:.1em;color:#897c73;font-size:9px}.stat b{font:500 27px 'Bodoni Moda';margin:5px 0}.stat em{font-style:normal;color:#76836e;font-size:10px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:18px}.panelHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel h2{font:500 23px 'Bodoni Moda';margin:0}.upcoming{display:grid;gap:8px}.apptRow{display:grid;grid-template-columns:65px 1fr 160px 90px auto;align-items:center;gap:14px;padding:13px;border:1px solid var(--line);border-radius:9px}.apptRow time{font-weight:700}.apptRow span{display:grid}.apptRow small{color:#8a7d74}.price{font-weight:600}.status{width:max-content;border-radius:20px;padding:5px 9px;font-size:9px;background:#e1e6db;color:#586750}.status.no_show,.status.cancelled{background:#f0ddd7;color:#965648}.rowActions{display:flex;gap:5px}.iconBtn{border:0;background:#f2ebe2;border-radius:7px;padding:7px;cursor:pointer}.empty{text-align:center;padding:55px 20px;color:#8b7e75}.empty b{display:block;font:22px 'Bodoni Moda';color:#44362e;margin-bottom:8px}.clientGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.clientCard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;cursor:pointer}.clientCard:hover{border-color:#b29369;box-shadow:0 12px 30px #3b2c2010}.clientTop{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;background:#e7d6bd;color:#61492e;display:grid;place-items:center;font-size:11px;font-weight:700}.clientTop h3{font:500 19px 'Bodoni Moda';margin:0}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.tag{background:#eee4d5;border-radius:20px;padding:3px 7px;color:#765b39;font-size:8px}.clientStats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:12px 0;margin:16px 0}.clientStats div{display:grid}.clientStats small{font-size:8px;color:#998c83}.clientStats b{margin-top:3px}.note{font-size:11px;color:#75685f;min-height:32px}.noShow{color:var(--red);font-size:10px;font-weight:600}.detail{display:grid;grid-template-columns:330px 1fr;gap:18px}.profilePanel{text-align:center}.profilePanel .avatar{width:70px;height:70px;margin:auto;font-size:18px}.profilePanel h2{font:500 26px 'Bodoni Moda';margin:12px 0 3px}.profilePanel>a{display:block;color:#755831;margin:5px}.profileNotes{text-align:left;background:#f7f0e6;padding:14px;border-radius:8px;margin-top:18px;white-space:pre-wrap}.history{display:grid;gap:8px}.historyRow{display:grid;grid-template-columns:90px 1fr 80px 90px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px}.serviceTable{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.serviceRow{display:grid;grid-template-columns:1fr 120px 100px 50px;align-items:center;padding:15px 19px;border-bottom:1px solid var(--line)}.serviceRow.head{background:#f1e8dc;text-transform:uppercase;letter-spacing:.1em;color:#877a71;font-size:9px}.serviceRow span:first-child{display:grid}.serviceRow small{color:#936b39}.calendarTools{display:flex;gap:8px}.calendarTools input{border:1px solid var(--line);padding:10px;border-radius:8px;background:#fff}.dayList{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.dayColumn{background:#fff;border:1px solid var(--line);border-radius:10px;min-height:420px;padding:10px}.dayColumn.today{border-color:#b08a52;background:#fffbf4}.dayTitle{text-align:center;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:9px}.dayTitle b{display:block;font:19px 'Bodoni Moda'}.dayAppt{border-left:3px solid var(--gold);background:#f0e4d1;border-radius:6px;padding:8px;margin-bottom:7px;font-size:10px;cursor:pointer}.dayAppt b,.dayAppt span{display:block}.backupGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.backupCard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px}.backupCard h2{font:24px 'Bodoni Moda';margin:0}.backupCard p{color:#776a61;line-height:1.7}.warning{background:#f2e2dc;color:#874f45;padding:12px;border-radius:8px;font-size:11px}dialog{border:0;border-radius:14px;padding:0;box-shadow:0 30px 90px #0005;background:#fffaf3;width:min(560px,calc(100% - 28px))}dialog::backdrop{background:#211b17aa}dialog form{padding:30px;position:relative}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:25px;cursor:pointer}label{display:grid;gap:6px;margin-top:15px;font-size:10px;font-weight:700}input,select,textarea{border:1px solid var(--line);border-radius:8px;background:#fff;padding:11px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialogActions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}#toast{position:fixed;right:20px;bottom:20px;background:#211b17;color:white;border-radius:9px;padding:13px 17px;box-shadow:0 15px 40px #0003;transform:translateY(100px);opacity:0;transition:.25s;z-index:20}#toast.show{transform:none;opacity:1}
@media(max-width:950px){.clientGrid{grid-template-columns:repeat(2,1fr)}.dayList{overflow:auto;grid-template-columns:repeat(7,180px)}.detail{grid-template-columns:1fr}.apptRow{grid-template-columns:55px 1fr 75px auto}.apptRow .serviceName{display:none}}
@media(max-width:680px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:10;left:-240px;width:230px;transition:.25s}.app.menuOpen .sidebar{left:0}#menu{display:block;margin-right:12px}header{padding:0 14px}.content{padding:23px 14px}.pageHead{align-items:start;gap:15px;flex-direction:column}.pageHead h1{font-size:31px}.pageHead .actions{width:100%}.search{min-width:0;flex:1}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.clientGrid{grid-template-columns:1fr}.backupGrid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.serviceRow{grid-template-columns:1fr 70px 65px}.serviceRow>*:last-child{display:none}.apptRow{grid-template-columns:50px 1fr auto}.apptRow .price{display:none}.quickText{display:none}}

/* Expérience lumineuse SA Nails */
:root{--ivory:#fffaf0;--paper:#fffdf8;--blush:#f6dfe1;--peach:#f6d6bc;--lilac:#e8def5;--sun:#f4d68a;--mint:#dcebdc;--gold:#bd8c3f;--ink:#36251f;--line:rgba(104,72,53,.13)}
body{background:radial-gradient(circle at 86% 8%,#f9e1e7 0,transparent 23%),radial-gradient(circle at 55% 100%,#f9e9c8 0,transparent 30%),var(--paper)}
.sidebar{background:linear-gradient(165deg,#fffaf1,#f4e8d9);color:var(--ink);border-right:1px solid #dcbf912e;box-shadow:18px 0 60px #6e45220a}.brand{border-color:#a8793426}.brand i{background:linear-gradient(145deg,#fff,#f4d59f);box-shadow:0 10px 30px #b8863c26}.brand small,.sidebar nav button{color:#8d7264}.sidebar nav button.active,.sidebar nav button:hover{background:#fff;color:#5d3e32;box-shadow:0 10px 30px #8d5d3212}.storage{border-color:#a8793426}.storage span{color:#749174}header{background:#fffaf3df}.primary{background:linear-gradient(135deg,#51342a,#8b5b43);box-shadow:0 10px 25px #6c412725;transition:.25s transform,.25s box-shadow}.primary:hover{transform:translateY(-2px);box-shadow:0 15px 35px #6c412735}.panel,.clientCard,.stats,.serviceTable,.backupCard,.dayColumn{background:#fffcf7d9;backdrop-filter:blur(12px);box-shadow:0 18px 55px #7b54310b;transition:.3s transform,.3s box-shadow}.panel:hover,.clientCard:hover{transform:translateY(-2px);box-shadow:0 24px 65px #7b543114}.heroWelcome{position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr .7fr;min-height:290px;padding:36px;border-radius:28px;background:linear-gradient(125deg,#fffaf1 0%,#f9e6d7 52%,#f4d6dd 100%);border:1px solid #fff;box-shadow:0 28px 80px #8c553820;margin-bottom:22px}.heroWelcome:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-70px;top:-100px;background:radial-gradient(circle,#fff8 0,transparent 68%);animation:glow 7s ease-in-out infinite}.heroWelcome h1{font:500 clamp(39px,5vw,66px)/.96 'Bodoni Moda';margin:8px 0 18px;max-width:680px}.heroWelcome p{max-width:630px;line-height:1.7;color:#725b50}.heroWelcome .heroMark{align-self:end;justify-self:end;font:500 110px 'Bodoni Moda';color:#a06b3f19;letter-spacing:-.16em}.moodPicker{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.moodPicker button{border:1px solid #fff;background:#ffffffa8;border-radius:30px;padding:9px 14px;cursor:pointer;box-shadow:0 8px 22px #8b5b4212}.moodPicker button:hover{background:#fff;transform:translateY(-2px)}.dailyStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:20px}.softCard{border:1px solid #fff;border-radius:18px;padding:20px;min-height:125px;box-shadow:0 17px 45px #7d553114}.softCard:nth-child(1){background:linear-gradient(145deg,#fff6de,#f7e6b5)}.softCard:nth-child(2){background:linear-gradient(145deg,#fff0f1,#f5d8df)}.softCard:nth-child(3){background:linear-gradient(145deg,#f5f0ff,#e8ddf5)}.softCard small{font-size:9px;letter-spacing:.13em}.softCard b{display:block;font:500 23px 'Bodoni Moda';margin:10px 0 4px}.progressTrack{height:7px;background:#fff8;border-radius:10px;overflow:hidden;margin-top:12px}.progressTrack i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e7af58,#d27a94)}.achievementGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.trophy{position:relative;overflow:hidden;border:1px solid #fff;border-radius:20px;padding:23px;background:linear-gradient(145deg,#fffaf0,#f8e8d2);box-shadow:0 18px 45px #7d553113}.trophy.locked{filter:saturate(.55);opacity:.7}.trophyIcon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-size:25px;background:linear-gradient(145deg,#f4d993,#f3b6c3);box-shadow:0 12px 28px #be84562b}.trophy h3{font:500 21px 'Bodoni Moda';margin:14px 0 4px}.trophy p{color:#7b6960;font-size:11px;min-height:34px}.galleryGrid{columns:3 240px;column-gap:15px}.workCard{break-inside:avoid;margin-bottom:15px;border:1px solid #fff;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 17px 50px #78502f16}.workCard img{width:100%;display:block;max-height:360px;object-fit:cover}.workBody{padding:16px}.workBody h3{font:500 20px 'Bodoni Moda';margin:0}.workMeta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}details{margin-top:15px;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fffaf5}summary{cursor:pointer;font-weight:700;color:#76563d}.switchLine{display:flex;grid-template-columns:auto 1fr;align-items:center}.switchLine input{width:auto}.celebration{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#fff8f3d9;backdrop-filter:blur(9px);animation:fadeIn .35s}.celebrationCard{text-align:center;max-width:520px;margin:20px;padding:42px;border-radius:30px;background:linear-gradient(145deg,#fffaf0,#f7dce3);border:1px solid #fff;box-shadow:0 35px 100px #86563e35;animation:celebrate .65s cubic-bezier(.2,.9,.25,1.15)}.celebrationCard .big{font-size:58px}.celebrationCard h2{font:500 38px 'Bodoni Moda';margin:12px}.spark{position:fixed;width:9px;height:14px;border-radius:9px;background:var(--sun);animation:fall 2.5s linear forwards}.spark:nth-child(3n){background:#ef9caf}.spark:nth-child(3n+1){background:#b9d9be}.spark:nth-child(4n){background:#d4b5ef}@keyframes glow{50%{transform:translate(-35px,25px) scale(1.2)}}@keyframes fadeIn{from{opacity:0}}@keyframes celebrate{from{transform:translateY(30px) scale(.92);opacity:0}}@keyframes fall{to{transform:translateY(105vh) rotate(480deg);opacity:0}}@media(max-width:900px){.heroWelcome{grid-template-columns:1fr}.heroWelcome .heroMark{display:none}.dailyStrip,.achievementGrid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.heroWelcome{padding:27px 21px;min-height:0;border-radius:22px}.heroWelcome h1{font-size:40px}.dailyStrip,.achievementGrid{grid-template-columns:1fr}.moodPicker button{flex:1}.galleryGrid{columns:1}}
