:root{--p:#3B2340;--a:#D8B98A;--bg:#FAF6F2;--serif:'Cormorant Garamond','Playfair Display','Iowan Old Style',Georgia,'Times New Roman',serif;--c:#fff;--t:#2a2228;--m:#8a7f86}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--t)}
header{background:var(--p);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5}
#appname{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--a);letter-spacing:.5px}#who{font-size:13px;opacity:.85}
nav{display:flex;gap:6px;overflow-x:auto;padding:8px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:50px;z-index:4}
nav button{flex:none;border:0;background:#f3eef0;padding:8px 12px;border-radius:20px;font-size:14px;color:var(--p)}nav button.on{background:var(--p);color:#fff}
main{padding:12px;max-width:820px;margin:auto}
.card{background:var(--c);border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px rgba(60,30,50,.08)}
h2{font-family:var(--serif);color:var(--p);margin:4px 0 10px;font-size:26px;font-weight:600}h3{margin:6px 0;font-size:16px;color:var(--p)}
input,select,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:10px;font-size:15px;background:#fff}
label{font-size:12px;color:var(--m);display:block;margin:6px 0 2px}
.btn{border:0;background:var(--p);color:#fff;padding:11px 14px;border-radius:10px;font-size:15px;cursor:pointer}
.btn.alt{background:#f3eef0;color:var(--p)}.btn.gold{background:var(--a);color:#fff}.btn.sm{padding:6px 10px;font-size:13px}.btn.red{background:#b44}
.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.chip{border:1px solid #e6dce1;background:#fff;border-radius:10px;padding:8px;text-align:left;font-size:13px;cursor:pointer}.chip b{display:block;color:var(--p)}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:7px 4px;border-bottom:1px solid #f0e8ec;text-align:left}th{color:var(--m);font-weight:600;font-size:12px}
.r{text-align:right}.tot{font-size:26px;font-weight:700;color:var(--p)}.muted{color:var(--m);font-size:13px}
.kpi{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.kpi div{background:#f7f1f4;border-radius:12px;padding:10px}.kpi b{display:block;font-size:20px;color:var(--p)}
.pin{max-width:340px;margin:30px auto;text-align:center}.pin input{text-align:center;font-size:24px;letter-spacing:8px}
.line{display:grid;grid-template-columns:1fr 110px 80px 30px;gap:6px;align-items:center;margin-bottom:6px}
@media print{header,nav,.np{display:none}}

body{font-variant-numeric:tabular-nums}.r,.tot,.kpi b,td{font-variant-numeric:tabular-nums}
h3{font-family:var(--serif);font-size:20px;font-weight:600}.card{border:1px solid #efe4e0}
.btn.gold{color:var(--p);font-weight:600}nav button.on{box-shadow:inset 0 -2px 0 var(--a)}
.hero{background:linear-gradient(135deg,#3B2340,#5a3a5e);color:#fff;border-radius:16px;padding:18px;margin-bottom:12px}
.hero h1{font-family:var(--serif);color:var(--a);font-size:34px;margin:2px 0 12px;font-weight:600}.hero .kpi div{background:rgba(255,255,255,.1);color:#eadfe6}.hero .kpi b{color:#fff}
.appt{display:grid;grid-template-columns:52px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #f0e8ec}.appt .np{grid-column:2}.appt.done{opacity:.55}
.notice{background:#f7f1ec;border-left:3px solid var(--a);padding:10px;font-size:12px;color:#5d5058;margin:12px 0;border-radius:6px}
.ck{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--t);margin:8px 0}.ck input{width:auto;margin-top:2px}
.formula{background:#faf3ea;border-radius:8px;padding:8px;margin-bottom:6px;font-size:14px}
.receipt{max-width:420px;margin:0 auto 12px}.legal{text-align:center;font-size:12px;color:var(--m);font-style:italic}.po{display:none}
@media print{.receipt{box-shadow:none;border:0}.po{display:block}.receipt label{display:none}}
body.lg header,body.lg nav{display:none}body.lg main{padding:0;max-width:none}
.login{position:relative;min-height:100vh;overflow:hidden;background:#F4F0EC;max-width:520px;margin:auto;padding-bottom:30px}
.blob{position:absolute;background:#C98097;border-radius:46% 54% 60% 40%/50% 40% 60% 50%}
.b1{width:260px;height:120px;top:-50px;left:-70px;transform:rotate(-8deg)}.b2{width:300px;height:150px;bottom:-80px;right:-60px;transform:rotate(10deg)}.b3{width:120px;height:60px;bottom:-30px;left:-30px;opacity:.6}
.ph{position:absolute;border-radius:50%;border:7px solid #C98097;overflow:hidden;box-shadow:0 6px 18px rgba(120,60,80,.18)}.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph2{width:170px;height:170px;top:24px;right:-28px}.ph1{width:200px;height:200px;top:200px;left:-50px}
.brand{position:relative;padding:62px 0 0 22px;width:62%}.script{font-family:'Great Vibes','Brush Script MT','Segoe Script',cursive;font-size:64px;line-height:1;color:#C9608A;background:linear-gradient(90deg,#E0607E,#A86BD8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.bold{font-family:Montserrat,'Arial Black',system-ui,sans-serif;font-weight:800;font-size:34px;letter-spacing:2px;color:#1d1a1c;margin-top:4px}.uline{height:4px;width:150px;background:#1d1a1c;border-radius:4px;transform:skewX(-20deg);margin-top:4px}
.leaf{position:absolute;width:90px;top:196px;right:24px}
.lform{position:relative;margin:240px 18px 0 auto;width:62%;min-width:220px;background:rgba(255,255,255,.88);backdrop-filter:blur(4px);border-radius:18px;padding:16px;box-shadow:0 4px 16px rgba(120,60,80,.12)}
.lform h2{font-size:22px}.lform input#lp,.lform input[type=password]{text-align:center;letter-spacing:6px;font-size:20px}
.pill{display:block;width:100%;margin-top:12px;border:0;background:#C98097;color:#fff;font-weight:800;font-size:18px;padding:12px;border-radius:30px;font-family:Montserrat,system-ui,sans-serif;cursor:pointer}
.modal{position:fixed;inset:0;background:rgba(40,20,40,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal .card{width:100%;max-width:340px;margin:0}
