@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--bg:#f8f6f2;--white:#fff;--ink:#25221f;--muted:#77716b;--line:#e7e1db;--accent:#735d4e;--soft:#eae0d6;--ok:#2b7657}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 'DM Sans',sans-serif}h1,h2,h3{line-height:1.2;margin:0 0 12px}h1,h2,.brand,.serif{font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(31px,4vw,55px)}h2{font-size:27px}h3{font-size:20px}p{margin:0 0 15px}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:grid;grid-template-columns:246px 1fr}.side{background:#f0ebe5;border-right:1px solid var(--line);padding:28px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:27px;font-weight:700;text-align:center;letter-spacing:2px}.subbrand{text-align:center;font-size:10px;letter-spacing:3px;color:var(--muted);margin-bottom:35px}.nav a{display:flex;gap:12px;align-items:center;padding:12px 15px;border-radius:10px;margin:4px 0;color:#5e5750}.nav a.active,.nav a:hover{background:white;color:var(--ink)}.sidebar-foot{margin-top:auto;font-size:12px;color:var(--muted);padding:12px}.main{padding:32px clamp(18px,5vw,70px);max-width:1550px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.eyebrow{color:var(--accent);letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:700}.muted{color:var(--muted)}.hero{border-radius:18px;background:linear-gradient(105deg,#e6d8ca,#f3ede7 60%,#ddd2c7);padding:clamp(28px,5vw,55px);margin-bottom:30px}.hero p{max-width:540px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:11px 18px;border:1px solid var(--ink);border-radius:9px;background:var(--ink);color:white;font:inherit;cursor:pointer;gap:7px}.btn:hover{opacity:.88}.btn.light{background:white;color:var(--ink);border-color:var(--line)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.danger{background:#fff5f3;color:#a33d36;border-color:#f1c8c2}.btn.small{padding:7px 11px;font-size:12px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.stat strong{display:block;font-family:Georgia,serif;font-size:34px}form{margin:0}label{font-weight:600;font-size:13px;display:block;margin-bottom:6px}input,select,textarea{border:1px solid #d9d1c9;background:#fff;border-radius:9px;padding:12px;width:100%;font:inherit;color:var(--ink)}textarea{min-height:75px;resize:vertical}.field{margin-bottom:16px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.chip{cursor:pointer}.chip input{position:absolute;opacity:0;width:1px}.chip span{display:block;border:1px solid var(--line);border-radius:40px;padding:9px 15px;background:white}.chip input:checked+span{background:#3a302a;color:white;border-color:#3a302a}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;align-items:end}.item{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.photo{width:100%;aspect-ratio:1.15;object-fit:cover;background:#ede8e2;display:flex;align-items:center;justify-content:center;font-size:48px}.item-body{padding:15px}.item h3{font-family:'DM Sans',sans-serif;font-size:16px;margin-bottom:5px}.tag{display:inline-block;padding:4px 9px;border-radius:20px;background:#f3eee8;color:#675649;font-size:11px;margin:3px 3px 4px 0}.notice{background:#fff8eb;border:1px solid #e8d4ad;padding:14px 18px;border-radius:10px;margin-bottom:20px}.success{background:#ecf8f0;border-color:#b9d9c6}.error{background:#fff1ee;border-color:#e9c2b9}.row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.between{justify-content:space-between}.mini{display:flex;gap:9px;align-items:center;margin:10px 0}.mini img{width:52px;height:52px;object-fit:cover;border-radius:8px}.step{border-bottom:1px solid var(--line);padding:24px 0}.step:last-child{border:0}.number{width:28px;height:28px;border-radius:50%;background:var(--ink);color:white;display:inline-grid;place-items:center;margin-right:8px}.swatch{display:inline-flex;gap:7px;align-items:center}.dot{width:19px;height:19px;border:1px solid #b9b0a6;border-radius:50%;display:inline-block}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day{min-height:92px;padding:10px;border:1px solid var(--line);background:white;border-radius:9px;font-size:12px}.day b{display:block}.day.has{background:#f0e8e0}.day.blank{background:transparent;border:0}.day small{display:block;margin-top:5px;color:var(--accent)}.auth{max-width:450px;margin:8vh auto;padding:0 16px}.auth .card{padding:33px}.auth-head{text-align:center;margin-bottom:25px}.empty{padding:32px;text-align:center;background:#fff;border:1px dashed #d3c9bf;border-radius:14px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mobilehead{display:none}.pagination{display:flex;gap:7px;margin:14px 0}.divider{height:1px;background:var(--line);margin:16px 0}@media(max-width:1100px){.grid.four{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.app{display:block}.side{position:static;width:100%;height:auto;padding:12px}.brand{font-size:22px}.subbrand{margin-bottom:8px}.nav{display:flex;overflow-x:auto;gap:6px}.nav a{white-space:nowrap;padding:8px 10px;font-size:13px}.sidebar-foot{display:none}.main{padding:20px 15px}.grid,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.top{margin-bottom:20px}.calendar{gap:3px}.day{padding:5px;min-height:65px}.day small{font-size:9px}.split{grid-template-columns:1fr}}@media(max-width:500px){.grid,.grid.four,.grid.two,.filters{grid-template-columns:1fr}.hero{padding:26px}.calendar .day{min-height:52px;font-size:10px}.top{align-items:flex-start;flex-direction:column}}

/* AMALEN atelier design system v2 */
:root{--bg:#f8f7f4;--white:#fffefa;--ink:#252521;--muted:#777670;--line:#e9e6e0;--accent:#8e7665;--soft:#ede7dc}
body{background:radial-gradient(circle at 98% 2%,#efe6dd 0,transparent 25%),var(--bg);letter-spacing:-.01em}
.app{grid-template-columns:260px minmax(0,1fr)}.side{background:#f5f2ed;border-right:1px solid #e5ded6;padding:30px 20px}
.brand{font-size:31px;letter-spacing:.16em;font-weight:600}.subbrand{letter-spacing:.43em;font-size:10px;margin-top:2px}
.nav a{font-size:13px;padding:13px 15px;margin:5px 0;border:1px solid transparent;transition:all .2s}.nav a.active,.nav a:hover{border-color:#e7dfd6;box-shadow:0 5px 16px #27252108}
.main{max-width:1550px}.top{border-bottom:1px solid var(--line);padding-bottom:23px}.top h2{font-size:29px}.top-actions{display:flex;align-items:center;gap:12px}
.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#e3d3c4 0%,#f4eee7 62%,#f5f1ed 100%);border:1px solid #dfd3c7;border-radius:25px;min-height:255px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 20px 40px #5140300b}
.hero:after{content:'✦';position:absolute;right:6%;top:3%;font:clamp(100px,17vw,260px)/1 Georgia,serif;color:#ffffff88;pointer-events:none}.hero>*{z-index:1;position:relative}.hero p{font-size:16px;max-width:475px}
.card,.stat{border-radius:19px;border-color:#eae5de;box-shadow:0 9px 25px #49392b09}.card{transition:box-shadow .2s}.card:hover{box-shadow:0 14px 32px #49392b12}
.btn{border-radius:11px;font-weight:600;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 12px #2222;opacity:1}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bea48d;outline-offset:2px}
.item{border-radius:15px}.photo{aspect-ratio:1/1;background:linear-gradient(145deg,#e7e0d7,#f8f4ed);object-position:center}.item-body{padding:17px}
.step{padding:28px 0}.step h3{font-family:'Playfair Display',Georgia,serif;font-size:23px}.chip span{transition:all .15s}.chip:hover span{border-color:#b6a28f}.chip input:checked+span{background:#2d2a26;color:white}
input,select,textarea{background:#fffefc;border-color:#ded8d0}.stat strong{font-size:43px}.eyebrow{font-size:10px;letter-spacing:.21em}
.auth .card{box-shadow:0 22px 70px #4f39231c}.auth-head .brand{font-size:40px}
@media(max-width:800px){.app{display:block}.side{padding:14px 12px 10px;position:sticky;top:0;z-index:40;box-shadow:0 6px 18px #2221}.side .brand{font-size:24px}.side .subbrand{margin-bottom:8px}.nav{scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{padding:9px 12px;margin:2px}.main{padding:18px 14px 88px}.hero{min-height:240px}.top{padding-bottom:14px}.top h2{font-size:24px}}
@media(max-width:500px){.hero:after{font-size:140px;top:20%}.hero p{font-size:14px}.top-actions .muted{display:none}.card{padding:18px}.step h3{font-size:20px}.btn{min-height:42px}.calendar{overflow:auto}.day{word-break:break-word}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* Acceso unificado v3 */
.auth{max-width:475px;margin:5vh auto 8vh}.auth .auth-head{margin-bottom:27px}.auth .auth-card{padding:30px 32px 27px;border-radius:24px}.auth-switch{background:#f2eee8;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;padding:5px;gap:4px;margin-bottom:30px}.auth-tab{border:0;background:transparent;font:600 13px 'DM Sans',sans-serif;color:#7a7169;padding:12px 10px;border-radius:9px;cursor:pointer}.auth-tab.active{background:#fffefa;color:#282420;box-shadow:0 2px 8px #241d1512}.auth-card h2{font-size:30px;letter-spacing:-.04em;margin-bottom:8px}.auth-card .muted{font-size:13px}.auth-card .field{margin-top:16px}.auth-card label{font-weight:600}.auth-card input{min-height:47px}.auth-submit{width:100%;min-height:49px;margin-top:7px;justify-content:space-between;padding-inline:18px}.auth-foot{text-align:center;font-size:13px;color:#77716b;margin:26px 0 0}.auth-link{border:0;background:transparent;color:#4b372c;text-decoration:underline;text-underline-offset:3px;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.auth [hidden]{display:none!important}@media(max-width:480px){.auth{margin:3vh auto 6vh}.auth .auth-card{padding:23px 20px}.auth-card h2{font-size:26px}}
