:root{--ink:#171714;--muted:#76746d;--paper:#f4f1ea;--card:#fff;--gold:#c8924b;--green:#235c4b;--line:#e4dfd5;--shadow:0 18px 50px rgba(34,30,23,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#171714;color:#fff;padding:28px 22px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-family:Georgia,serif}.brand.large{margin-bottom:42px}.brand.large span{width:50px;height:50px}.sidebar nav{display:grid;gap:8px;margin-top:55px}.sidebar nav a,.link-button{color:#aaa89f;text-decoration:none;padding:12px;border-radius:9px;background:none;border:0;font:inherit;text-align:left}.sidebar nav a:hover{background:#282824;color:#fff}.sidebar form{margin-top:auto}.main{margin-left:240px;padding:0 38px 50px}header{height:80px;display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--line)}header div{display:flex;flex-direction:column;text-align:right}small{color:var(--muted);font-size:12px}.menu-button{display:none}.page-head{display:flex;align-items:end;justify-content:space-between;padding:42px 0 28px}.page-head h1{font:42px/1.1 Georgia,serif;margin:7px 0}.button{text-decoration:none}.primary{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:13px 18px;font-weight:700;cursor:pointer}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics article{padding:22px;background:var(--card);border-radius:14px;box-shadow:var(--shadow);display:grid;gap:8px}.metrics strong{font:30px Georgia,serif}.metrics .accent{background:var(--green);color:#fff}.metrics .accent span,.metrics .accent small{color:#d3e2dc}.panel{margin-top:22px;background:var(--card);border-radius:14px;padding:24px;box-shadow:var(--shadow)}.panel-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.panel-title h2{margin:5px 0;font:26px Georgia,serif}.panel-title a{color:var(--green)}.appointment-list article{display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.appointment-list div{display:grid;gap:4px}.status{padding:7px 10px;border-radius:999px;background:#eee;font-size:12px}.status.waiting{background:#fff0cc}.status.in_service{background:#d7eee5;color:#174a3a}.status.completed{background:#e7e5df}.empty{text-align:center;padding:55px}.flash{margin:18px 0;padding:12px;border-radius:8px;background:#d7eee5;color:#174a3a}.flash.error{background:#f8d9d5;color:#7c2119}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(360px,500px) 1fr;background:#fff}.auth-card{padding:8vh 12%;display:flex;flex-direction:column;justify-content:center}.auth-card h1{font:40px Georgia,serif;margin:0 0 8px}.auth-card p{color:var(--muted);margin-bottom:28px}.auth-card form{display:grid;gap:16px}.auth-card label{display:grid;gap:7px;font-size:13px;font-weight:700}.auth-card input{padding:13px;border:1px solid var(--line);border-radius:9px;font:inherit}.auth-links{display:flex;justify-content:space-between;margin-top:18px}.auth-card a{color:var(--green);font-size:13px}.auth-art{background:linear-gradient(125deg,rgba(17,17,15,.82),rgba(17,17,15,.25)),url('barber-bg.svg') center/cover;display:flex;align-items:end;color:#fff;padding:9%}.auth-art h2{font:52px/1.05 Georgia,serif;max-width:700px;margin:10px 0}.auth-art p{font-size:18px;max-width:580px}.auth-art small{color:#e3b36e}@media(max-width:900px){.metrics{grid-template-columns:1fr 1fr}.auth-wrap{grid-template-columns:1fr}.auth-art{display:none}}@media(max-width:680px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}.main{margin:0;padding:0 16px 30px}header{justify-content:space-between}.menu-button{display:block}.page-head{align-items:start}.page-head h1{font-size:32px}.metrics{grid-template-columns:1fr}.auth-card{padding:35px 24px}.appointment-list article{grid-template-columns:55px 1fr}.appointment-list .status{grid-column:2}.page-head .button{font-size:0}.page-head .button:after{content:'+';font-size:24px}}

