:root{--sage:#71856d;--ink:#273128;--cream:#fffaf2;--line:rgba(39,49,40,.16);--serif:Georgia,serif;--sans:Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.5}.auth-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:#edf1eb}.auth-card{width:min(100%,440px);padding:38px;background:#fffdf9;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 55px rgba(39,49,40,.09)}.auth-brand{display:block;margin:0 0 27px;font:500 1.5rem var(--serif);color:var(--sage)}.eyebrow{margin:0 0 10px;color:var(--sage);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}h1{margin:0 0 13px;font:500 2.25rem/1.1 var(--serif)}h2{margin:0 0 18px;font:500 1.45rem var(--serif)}p{color:#5e695e}form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:6px;font-size:.8rem;font-weight:700}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:1rem var(--sans)}textarea{resize:vertical}button,.button-link{border:0;border-radius:6px;padding:13px;background:var(--sage);color:#fff;font:bold .78rem var(--sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-decoration:none}.alert{margin:17px 0;padding:10px 12px;border-radius:6px;font-size:.82rem}.alert-error{background:#fbe8e5;color:#7b312a}.alert-success{background:#e5f1e2;color:#35643b}.app-header{display:flex;gap:20px;align-items:center;padding:18px max(24px,calc((100% - 1100px)/2));background:#fffdf9;border-bottom:1px solid var(--line)}.app-brand{margin-right:auto;color:var(--ink);font:500 1.25rem var(--serif);text-decoration:none}.app-header nav{display:flex;gap:18px;align-items:center;font-size:.82rem}.app-header a{color:var(--sage);font-weight:700;text-decoration:none}.app-nav .is-current{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.logout-form{display:block;margin:0}.logout-form button{padding:0;background:transparent;color:var(--sage)}.dashboard{width:min(1100px,calc(100% - 48px));margin:58px auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.agenda-controls{display:flex;align-items:center;gap:10px;margin:26px 0}.agenda-controls a{display:grid;place-items:center;width:36px;height:36px;border-radius:6px;background:#e7eee4;color:#405540;text-decoration:none;font-weight:800}.agenda-controls input,.agenda-controls select{width:auto;min-height:36px;padding:7px 9px;font-size:.82rem}.agenda-list,.panel{background:#fffdf9;border:1px solid var(--line);border-radius:10px}.agenda-list article{display:grid;grid-template-columns:75px 1fr auto auto;gap:16px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.agenda-list article:last-child{border-bottom:0}.agenda-list time{font-weight:800;color:var(--sage)}.agenda-list strong,.agenda-list span{display:block}.agenda-list span,.agenda-list small{font-size:.78rem;color:#5e695e}.agenda-list b{padding:4px 7px;border-radius:99px;background:#e7eee4;color:#405540;font-size:.65rem;text-transform:uppercase}.empty-state{padding:28px;margin:0;text-align:center}.two-columns{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:22px}.panel{padding:24px}.form-panel{margin:0}.check-label{display:flex;align-items:flex-start;gap:9px;font-weight:500}.check-label input{width:auto;margin-top:4px;accent-color:var(--sage)}.client-list article{padding:14px 0;border-bottom:1px solid var(--line)}.client-list article:last-child{border:0}.client-list strong,.client-list span,.client-list small{display:block}.client-list span{font-size:.82rem}.client-list small{font-size:.7rem;color:var(--sage);font-weight:700}.appointment-form{max-width:680px}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.appointment-form button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.app-header{flex-wrap:wrap;padding:15px 20px;gap:12px}.app-brand{width:100%}.app-nav{order:3;width:100%;overflow:auto;padding-bottom:3px}.user-nav{margin-left:auto}.app-header nav{gap:15px;white-space:nowrap}.dashboard{width:min(100% - 32px,1100px);margin:36px auto}.page-heading{align-items:flex-start;flex-direction:column}.agenda-list article{grid-template-columns:52px 1fr;gap:5px 10px}.agenda-list small,.agenda-list b{grid-column:2}.two-columns,.form-row{grid-template-columns:1fr}.panel{padding:20px}.agenda-controls{flex-wrap:wrap}}