:root{--bg: #f4efe7;--surface: rgba(255,255,255,.82);--surface-border: rgba(18, 38, 32, .08);--ink: #18322a;--muted: #64766f;--accent: #cf5c36;--accent-dark: #a74321;--success: #2d6a4f;--danger: #a61b1b;--shadow: 0 20px 50px rgba(24, 50, 42, .12)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Georgia,Times New Roman,serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(207,92,54,.18),transparent 30%),linear-gradient(135deg,#f5f0e7,#edf4ef)}body{min-height:100vh}button,input,select{font:inherit}button{border:0;border-radius:14px;padding:.9rem 1.15rem;background:var(--accent);color:#fff;cursor:pointer}button:hover{background:var(--accent-dark)}.ghost{background:transparent;border:1px solid rgba(255,255,255,.2)}.secondary{color:var(--ink);border-color:#18322a26}.ghost-link{color:var(--accent-dark);text-decoration:none}input,select{width:100%;padding:.85rem 1rem;border-radius:12px;border:1px solid #d8dfda;background:#fff}label{display:grid;gap:.45rem;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-card{width:min(440px,100%);padding:2rem;display:grid;gap:1rem}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{padding:2rem;color:#f6f3ec;background:linear-gradient(180deg,#18322af5,#122620eb),radial-gradient(circle at top,rgba(207,92,54,.25),transparent 30%);display:flex;flex-direction:column;justify-content:space-between}.sidebar h1{margin:0 0 .5rem}.sidebar p,.sidebar a{color:#f6f3ecd1}.sidebar nav{display:grid;gap:.9rem}.sidebar nav a{text-decoration:none}.content{padding:2rem;display:grid;gap:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.page-header h2,.card h3{margin:0 0 .35rem}.filters,.availability-form{padding:1.2rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr auto}.bulk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.bulk-card{padding:1.2rem;display:grid;gap:1rem}.actions-row{display:flex;gap:.75rem;align-items:end}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stat{padding:1.1rem 1.2rem}.stat span{display:block;color:var(--muted)}.stat strong{display:block;margin-top:.35rem;font-size:2rem}.appointments-table{width:100%;border-collapse:collapse}.appointments-table th,.appointments-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(24,50,42,.08);vertical-align:middle}.appointments-table th{color:var(--muted);font-weight:600}.settings-table input[type=checkbox]{width:auto;transform:scale(1.2)}.badge{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:#2d6a4f24;color:var(--success);text-transform:capitalize}.badge.cancelled{background:#a61b1b1f;color:var(--danger)}.detail-grid{padding:1.4rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid span{display:block;color:var(--muted);margin-bottom:.4rem}.panel-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid .card,.card .appointments-table,.card .empty-state,.card .chips,.card .availability-header{padding:1.2rem}.empty-state{text-align:center;color:var(--muted)}.empty-state.compact{padding:0}.availability-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.chips{display:flex;gap:.75rem;flex-wrap:wrap}.chip{display:inline-flex;padding:.55rem .9rem;border-radius:999px;background:#18322a14;color:var(--ink)}.error{color:var(--danger)}.success{color:var(--success)}@media (max-width: 960px){.shell,.filters,.bulk-grid,.availability-form,.stats,.detail-grid,.panel-grid{grid-template-columns:1fr}.actions-row,.availability-header{flex-direction:column;align-items:stretch}.content{padding:1rem}}
