/* Align Practice Design System - global tokens and components */
:root{
  --ap-primary: var(--primary-color, #8D9C84);
  --ap-accent: #6D8458;
  --ap-bg: #ffffff;
  --ap-muted: #f6f7f9;
  --ap-text: #233238;
  --ap-radius: 14px;
  --ap-space-1: 0.5rem;
  --ap-space-2: 1rem;
  --ap-space-3: 1.5rem;
}

/* Typography */
body{font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; color:var(--ap-text); background:var(--ap-muted);}
h1,h2,h3{font-weight:600;color:var(--ap-text);}
h1{font-size:1.75rem}

/* Container */
.ap-container{max-width:1100px;margin:0 auto;padding:var(--ap-space-3);} 

/* Cards */
.ap-card{background:var(--ap-bg);border-radius:var(--ap-radius);box-shadow:0 12px 30px rgba(20,30,40,0.06);padding:1rem}
.ap-card-hero{padding:1.25rem 1.5rem;border-radius:calc(var(--ap-radius) + 4px);}

/* Buttons */
.ap-btn{background:var(--ap-primary);color:white;border:none;padding:0.6rem 1rem;border-radius:10px;display:inline-block}
.ap-btn-outline{background:transparent;border:1px solid var(--ap-primary);color:var(--ap-primary);padding:0.5rem 0.9rem;border-radius:10px}

/* Nav */
.ap-sidebar{width:260px}
.ap-nav a{display:block;padding:0.6rem 0.9rem;border-radius:10px;color:var(--ap-text);text-decoration:none;margin-bottom:0.35rem}
.ap-nav a.active{background:linear-gradient(90deg,var(--ap-primary),rgba(31,111,111,0.08));color:white}

/* Forms */
.ap-form .form-control{border-radius:10px;border:1px solid #e6edf0;padding:0.6rem}

/* Dashboard metrics */
.ap-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.ap-metric .label{color:#6b7a80;font-size:0.9rem}
.ap-metric .value{font-size:1.6rem;font-weight:700;margin-top:0.4rem}

/* Booking calendar placeholder */
.ap-calendar{background:linear-gradient(180deg, rgba(255,255,255,0.9), rgba(250,250,250,0.9));padding:1rem;border-radius:var(--ap-radius);} 

@media(max-width:768px){.ap-sidebar{width:100%}.ap-grid{flex-direction:column}}
