:root{--cream:#f5efe5;--paper:#fffdfa;--forest:#203c2b;--forest2:#2c5139;--gold:#b9872f;--ink:#26312a;--muted:#748078;--line:#e4ddd2;--danger:#a43e35;--success:#2d6a45;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--shadow:0 18px 45px rgba(32,60,43,.12)}*{box-sizing:border-box}body{margin:0;background:#f8f6f1;color:var(--ink);font-family:var(--sans)}button,input,select,textarea{font:inherit}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold);font-weight:700}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.login-brand{background:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white}.login-brand img{width:min(420px,70%);border-radius:50%}.login-brand p{font:italic 24px var(--serif);color:#d7c7a9}.login-card{background:var(--paper);margin:auto;padding:54px;width:min(460px,86%);box-shadow:var(--shadow)}.login-card h1{font:48px var(--serif);color:var(--forest);margin:8px 0}.login-card>p:not(.eyebrow){color:var(--muted);margin-bottom:35px}.login-card label,.form-grid label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:18px 0}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select,.search{width:100%;padding:13px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}button{border:0;background:var(--forest);color:white;padding:12px 18px;cursor:pointer;min-height:44px}.login-card button{width:100%;margin-top:15px}.status{min-height:20px;color:var(--danger)!important;margin:12px 0!important}.login-card small{display:block;color:var(--muted);text-align:center}.admin-shell{min-height:100vh;padding-left:230px}.admin-shell>aside{position:fixed;left:0;top:0;bottom:0;width:230px;background:var(--forest);padding:30px 20px;display:flex;flex-direction:column;color:white}.admin-brand{display:flex;align-items:center;text-decoration:none;font:23px var(--serif);margin-bottom:55px}.admin-brand img{width:50px;height:50px;border-radius:50%;object-fit:cover;object-position:50% 14%;margin-right:9px}.admin-brand small{display:block;color:#d7b666;font:8px var(--sans);letter-spacing:3px;text-align:center}.admin-shell aside nav{display:flex;flex-direction:column;gap:6px}.admin-shell aside nav button{background:transparent;text-align:left;color:#bac7be;border-left:2px solid transparent}.admin-shell aside nav button:hover,.admin-shell aside nav button.active{background:rgba(255,255,255,.08);border-left-color:var(--gold);color:white}.admin-shell aside>#logout{margin-top:auto;background:transparent;color:#bac7be;text-align:left}.admin-shell>header{height:96px;background:var(--paper);border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between}.admin-shell>header h1{font:28px var(--serif);margin:4px 0;color:var(--forest)}.admin-shell>header p{margin:0}.admin-shell>header a{color:var(--forest);font-size:12px}.admin-shell>main{padding:38px;max-width:1500px;margin:auto}.welcome,.section-title,.panel-title{display:flex;align-items:center;justify-content:space-between}.welcome{background:var(--forest);color:white;padding:32px 38px;margin-bottom:22px}.welcome span{color:#d8b969;font-size:10px;letter-spacing:2px}.welcome h2{font:35px var(--serif);margin:4px 0}.welcome button,.section-title button{background:var(--gold)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.metric{background:var(--paper);border:1px solid var(--line);padding:22px}.metric span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.metric strong{display:block;color:var(--forest);font:30px var(--serif);margin-top:10px}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.panel{background:var(--paper);border:1px solid var(--line);padding:24px}.panel h3{font:25px var(--serif);color:var(--forest);margin:0}.panel-title button{background:transparent;color:var(--gold);padding:5px}.appointment-row,.client-row{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.appointment-row:last-child,.client-row:last-child{border:0}.time{font:20px var(--serif);color:var(--forest)}.row-main strong,.row-main span{display:block}.row-main span{color:var(--muted);font-size:13px;margin-top:4px}.badge{padding:6px 9px;background:#f0eadf;color:var(--forest);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.badge.completed{background:#e3f0e6;color:var(--success)}.badge.cancelled{background:#f3e3e1;color:var(--danger)}.wa{color:var(--success);text-decoration:none;font-weight:700;font-size:12px}.section-title{margin-bottom:25px}.section-title h2{font:38px var(--serif);color:var(--forest);margin:5px 0}.filters{display:flex;gap:14px;align-items:end;background:var(--paper);padding:18px;border:1px solid var(--line);margin-bottom:18px}.filters label{font-size:11px;color:var(--muted)}.list,.cards{background:var(--paper);border:1px solid var(--line);padding:0 22px}.list .appointment-row{grid-template-columns:120px 1fr 1fr auto}.row-actions{display:flex;gap:6px}.row-actions button{background:transparent;color:var(--forest);border:1px solid var(--line);padding:8px 10px;min-height:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0;background:var(--line)}.card{background:var(--paper);padding:25px;min-height:220px}.card h3{font:24px var(--serif);color:var(--forest);margin:0 0 8px}.card p{color:var(--muted);font-size:13px}.card-stats{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:15px}.card-stats strong,.card-stats span{display:block}.card-stats span{font-size:10px;color:var(--muted)}.card-actions{display:flex;gap:8px;margin-top:18px}.card-actions button,.card-actions a{background:transparent;color:var(--forest);border:1px solid var(--line);padding:8px 10px;text-decoration:none;font-size:12px}.search{background:var(--paper);border:1px solid var(--line);padding:15px;margin-bottom:15px}dialog{border:0;padding:0;width:min(680px,92vw);box-shadow:var(--shadow);max-height:92vh}dialog::backdrop{background:rgba(19,37,26,.65)}dialog form{padding:40px;position:relative}.close{position:absolute;right:14px;top:12px;background:transparent;color:var(--forest);font-size:30px}.editor-title{font:32px var(--serif);color:var(--forest);margin:0 0 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .wide{grid-column:1/-1}.form-grid footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.form-error{grid-column:1/-1;color:var(--danger);min-height:22px}.hint{font-size:13px;color:var(--muted)}#mobile-nav{display:none}
@media(max-width:980px){.admin-shell{padding-left:0}.admin-shell>aside{transform:translateX(-100%);z-index:10;transition:.2s}.admin-shell>aside.open{transform:translateX(0)}#mobile-nav{display:block}.dashboard-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{padding:32px 24px}.admin-shell>header{padding:0 18px}.admin-shell>header a{display:none}.admin-shell>main{padding:20px}.welcome{padding:24px;align-items:flex-start;gap:20px}.welcome h2{font-size:28px}.metrics,.cards,.form-grid{grid-template-columns:1fr}.list .appointment-row,.appointment-row,.client-row{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch}.section-title{align-items:flex-start;gap:12px}.section-title h2{font-size:32px}.row-actions{flex-wrap:wrap}}
.map-links{display:flex!important;gap:10px;flex-wrap:wrap;margin-top:8px!important}.map-links a{color:var(--success);font-weight:700;text-decoration:none;font-size:12px}.editor-map{padding:13px;background:#f3eee4;border-left:2px solid var(--gold)}.editor-map small{display:block;color:var(--muted);margin-top:8px}
