/* Admin dashboard - Align Practice brand styles */
:root {
  --ap-accent: var(--primary-color);
  --ap-muted: #f6f7f9;
  --ap-foreground: #222;
  --ap-radius: 12px;
  --ap-space: 1rem;
}

body { font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; color:var(--ap-foreground); }

/* Topbar */
.ap-topbar{background:linear-gradient(90deg, rgba(255,255,255,0.6), rgba(255,255,255,0.6));padding:0.75rem 1rem;border-bottom:1px solid #eef3f4}
.ap-topbar .search {max-width:520px;}
.ap-topbar .avatar {width:40px;height:40px;border-radius:50%;overflow:hidden}

/* Main layout */
.ap-main{display:flex;gap:1.25rem}
.ap-sidebar{width:220px;padding-top:1rem}
.ap-content{flex:1}

/* Cards / metrics refined */
.metric-card{display:flex;flex-direction:column;gap:0.25rem}
.metric-card .meta{display:flex;align-items:center;gap:8px}
.metric-card .meta .icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(180deg, rgba(31,111,111,0.12), rgba(31,111,111,0.04));display:flex;align-items:center;justify-content:center}

/* Charts placeholders */
.ap-chart{height:200px;background:linear-gradient(180deg, #fff, #fbfdfe);border-radius:10px;border:1px solid #eef3f4}

/* Recent applications table */
.ap-table{width:100%;border-collapse:collapse}
.ap-table th,.ap-table td{padding:0.85rem;border-bottom:1px solid #f1f6f7}
.ap-table th{font-size:0.85rem;color:#6b7a80;text-align:left}
.ap-table tr:last-child td{border-bottom:none}

/* Right column */
.ap-right{width:280px}
.ap-right .card{padding:1rem}

.admin-hero { background: linear-gradient(180deg, rgba(44,140,153,0.08), rgba(44,140,153,0.02)); padding: calc(var(--ap-space)*1.5); border-radius: 12px; margin-bottom: 1.25rem; }
.admin-hero h1 { font-weight:700; margin:0; font-size:1.5rem; }
.admin-hero p { color: #556; margin:0.25rem 0 0; }

.admin-grid { display:flex; gap:1.25rem; }
.admin-sidebar { width:240px; }
.admin-nav { background: white; border-radius: var(--ap-radius); padding:1rem; box-shadow: 0 6px 18px rgba(25,25,25,0.05); }
.admin-nav a { display:block; padding:0.65rem 0.75rem; border-radius:8px; color:var(--ap-foreground); text-decoration:none; margin-bottom:0.25rem; }
.admin-nav a.active, .admin-nav a:hover { background: linear-gradient(90deg, var(--ap-accent), rgba(44,140,153,0.08)); color:white; }

.admin-content { flex:1; }
/* Topbar inside admin area */
.ap-topbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px }
.ap-topbar .search { flex:1; max-width:600px }
.ap-topbar .user { display:flex; align-items:center; gap:10px }

.ap-charts { display:grid; grid-template-columns: 1fr 360px; gap:16px; margin-top:16px }
.ap-chart-card { background:white; border-radius:12px; padding:16px; box-shadow:0 12px 30px rgba(20,30,40,0.04) }

.ap-right { width:360px }
.ap-quick-actions .action { display:flex; gap:12px; align-items:center; padding:10px 0 }
.ap-activity .item { display:flex; gap:10px; align-items:flex-start; padding:8px 0; border-bottom:1px solid #f6f9f9 }

/* Metric tile refined */
.metric-card { padding:18px; border-radius:12px; background:white; box-shadow:0 10px 28px rgba(20,30,40,0.04); display:flex; flex-direction:column }
.metric-card .meta { display:flex; justify-content:space-between; align-items:center }
.metric-card .label { color:#6b7a80; font-size:0.95rem }
.metric-card .value { font-size:1.6rem; font-weight:700; margin-top:10px }
.metric-card .delta { font-size:0.85rem; color:#2a9d70; margin-left:8px }
.metric-icon { width:44px; height:44px; border-radius:10px; background:linear-gradient(180deg, rgba(44,140,153,0.12), rgba(44,140,153,0.04)); display:flex; align-items:center; justify-content:center }

/* topbar notification */
.ap-topbar .notif { position:relative; }
.ap-topbar .notif .badge { position:absolute; top:-6px; right:-8px; background:#ff5b5b; color:white; font-size:0.7rem; padding:3px 6px; border-radius:999px }

/* donut center text */
.donut-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-weight:700 }

.metrics { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:1rem; }
.metric-card { background: white; border-radius: var(--ap-radius); padding:1rem; box-shadow: 0 12px 30px rgba(25,25,25,0.06); }
.metric-card h6 { margin:0; font-size:0.9rem; color:#556; }
.metric-card .value { font-size:1.75rem; font-weight:700; margin-top:0.5rem; }

.actions { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:1rem; margin-top:1rem; }
.action-tile { background: linear-gradient(180deg, rgba(44,140,153,0.06), rgba(255,255,255,0.02)); border-radius:var(--ap-radius); padding:1rem; display:flex; flex-direction:column; justify-content:space-between; }
.action-tile .title { font-weight:600; }
.action-tile .cta { margin-top:0.75rem; }

.btn-ap { background: var(--ap-accent); color:white; border:none; padding:0.6rem 0.9rem; border-radius:10px; }
.btn-ap-outline { background:transparent; border:1px solid var(--ap-accent); color:var(--ap-accent); padding:0.5rem 0.8rem; border-radius:10px; }

@media (max-width: 768px) { .admin-grid { flex-direction:column; } .admin-sidebar{ width:100%; } }
