/* Aarogyam Clinic - modern look, same theme as AarogyamPath (loaded after clinic.css). Responsive: phone, tablet, desktop. */
:root { --ac-primary:#2563eb; --ac-primary-dark:#1d4ed8; --ac-primary-soft:#e8efff; --ac-accent:#10b981;
        --ac-sidebar:#0f172a; --ac-sidebar-2:#1e293b; --ac-bg:#f4f6fb; --ac-border:#e5e9f2; --ac-radius:14px;
        --ac-shadow:0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.06); }
html[data-theme="White"]     { --ac-sidebar:#ffffff; --ac-sidebar-2:#f1f5f9; --ac-sidebar-text:#334155; }
html[data-theme="BlueBlack"] { --ac-primary:#0ea5e9; --ac-primary-dark:#0284c7; --ac-sidebar:#020617; --ac-sidebar-2:#0f172a; }
html[data-theme="SteelBlue"] { --ac-primary:#4682b4; --ac-primary-dark:#36648b; --ac-primary-soft:#e6eff7; --ac-sidebar:#1f3b57; --ac-sidebar-2:#2b5075; }
html[data-theme="Jasmine"]   { --ac-primary:#d97706; --ac-primary-dark:#b45309; --ac-primary-soft:#fef3c7; --ac-sidebar:#422006; --ac-sidebar-2:#713f12; --ac-bg:#fffbeb; }
html[data-theme="Flower"]    { --ac-primary:#db2777; --ac-primary-dark:#be185d; --ac-primary-soft:#fce7f3; --ac-sidebar:#500724; --ac-sidebar-2:#831843; --ac-bg:#fdf2f8; }
html[data-theme="White"] .ac-menu a:hover { background:#e2e8f0; color:#0f172a; }
html[data-theme="White"] .ac-brand { color:#0f172a; }

body { background:var(--ac-bg); -webkit-font-smoothing:antialiased; }
.btn { border-radius:9px; font-weight:500; transition:transform .08s, box-shadow .15s; }
.btn:active { transform:translateY(1px); }
.btn-primary { box-shadow:0 2px 6px color-mix(in srgb, var(--ac-primary) 35%, transparent); }
.form-control, .form-select { border-radius:9px; border-color:#d7dde8; }
.form-control:focus, .form-select:focus { border-color:var(--ac-primary); box-shadow:0 0 0 .2rem color-mix(in srgb, var(--ac-primary) 18%, transparent); }
.form-check-input:checked { background-color:var(--ac-primary); border-color:var(--ac-primary); }

/* sidebar */
.ac-sidebar { background:linear-gradient(180deg,var(--ac-sidebar),var(--ac-sidebar-2)); }
.ac-menu a { border-radius:10px; transition:background .15s, color .15s; }
.ac-menu a.active { background:linear-gradient(90deg,var(--ac-primary),var(--ac-primary-dark)); box-shadow:0 4px 12px rgba(0,0,0,.25); }
.ac-sidebar::-webkit-scrollbar { width:6px; } .ac-sidebar::-webkit-scrollbar-thumb { background:rgba(255,255,255,.18); border-radius:3px; }

/* top bar */
.ac-topbar { background:rgba(255,255,255,.85); backdrop-filter:saturate(180%) blur(10px); box-shadow:0 1px 0 var(--ac-border); }
.ac-topbar h1 { background:linear-gradient(90deg,var(--ac-primary-dark),var(--ac-accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ac-avatar { background:linear-gradient(135deg,var(--ac-primary),var(--ac-accent)); color:#fff; }

/* cards & forms */
.card { border-radius:var(--ac-radius); border-color:var(--ac-border); box-shadow:var(--ac-shadow); }
.card-header { border-radius:var(--ac-radius) var(--ac-radius) 0 0 !important; }
.pp-form { animation:ppIn .25s ease-out; }
.pp-form > .card-body { padding:18px 20px; }
.pp-form .form-label { font-weight:600; color:#475569; letter-spacing:.01em; }
.pp-form .form-control, .pp-form .form-select { min-height:34px; }
@keyframes ppIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }

/* action bars: sticky at the bottom on phones/tablets so Save / Print are always a thumb away */
.pp-actions .btn, .pp-toolbar .btn { border-radius:9px; }
.pp-toolbar .btn { padding:4px 11px; font-size:12.5px; }
@media (max-width: 991.98px) {
  .pp-actions { position:sticky; bottom:0; z-index:1010; background:rgba(255,255,255,.95); backdrop-filter:blur(8px);
                margin:12px -20px -18px; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--ac-border);
                border-radius:0 0 var(--ac-radius) var(--ac-radius); }
  .pp-actions .btn { flex:1 1 30%; min-width:0; }
  .ac-content { padding:12px; padding-bottom:90px; }
  .pp-form > .card-body { padding:14px; }
}
@media (max-width: 575.98px) {
  body { font-size:15px; }
  .form-control, .form-select, .pp-form .form-control, .pp-form .form-select { font-size:16px; min-height:42px; } /* no iOS zoom, finger size */
  .btn { min-height:40px; }
  .pp-toolbar .btn { flex:1 1 auto; }
  .ac-topbar h1 { font-size:16px; }
  .modal-dialog { margin:.5rem; }
}

/* grids and tables */
.pp-grid, .pp-scroll, .table-responsive { border-radius:12px; -webkit-overflow-scrolling:touch; }
.pp-grid-table thead th, .pp-table th, .pp-lookup-table thead th { background:#eef2fb; color:#1e293b; }
.pp-table tbody tr:hover, .pp-lookup-table tbody tr:hover { background:var(--ac-primary-soft); }
.pp-grid-table .pp-cell:focus { box-shadow:inset 0 0 0 2px var(--ac-primary); }
.table { --bs-table-hover-bg:var(--ac-primary-soft); }

/* modals / dialogs */
.modal-content { border:0; border-radius:16px; box-shadow:0 20px 60px rgba(15,23,42,.25); }
.modal-header { border-bottom-color:var(--ac-border); }
.modal-backdrop.show { opacity:.4; backdrop-filter:blur(2px); }

/* floating quick print button (pages that set data-print on body via PathUI) */
.pp-fab { position:fixed; right:18px; bottom:84px; z-index:1045; width:52px; height:52px; border-radius:50%; border:0; color:#fff;
          background:linear-gradient(135deg,var(--ac-primary),var(--ac-accent)); box-shadow:0 8px 20px rgba(0,0,0,.2); font-size:20px; }
@media (min-width:992px) { .pp-fab { bottom:24px; } }

/* print: only the content */
@media print {
  .ac-sidebar, .ac-topbar, .ac-footer, .ac-bottombar, .pp-actions, .pp-toolbar, .pp-fab, .btn, .modal { display:none !important; }
  .ac-main { margin:0 !important; } .ac-content { padding:0 !important; }
  .card { box-shadow:none; border:0; } body { background:#fff; }
  .pp-grid, .pp-scroll { max-height:none !important; overflow:visible !important; }
}

.ac-bottombar a.active { color: var(--ac-primary); font-weight: 600; }
