:root{--ink:#18332e;--muted:#71827e;--primary:#247c6d;--primary-dark:#185c51;--mint:#e8f5f1;--bg:#f4f7f6;--card:#fff;--line:#dfe9e6;--danger:#bd4051}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;padding:28px 18px 20px;background:#123e37;color:#fff;flex-direction:column;z-index:1030}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:1.25rem;font-weight:800}.brand small{display:block;font-size:.66rem;font-weight:500;opacity:.68;letter-spacing:.04em}.brand-mark{display:inline-grid;place-items:center;min-width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#79d8c2,#c6f1e5);color:#123e37;font-weight:900}.sidebar nav{margin-top:36px}.sidebar a,.mobile-nav a{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.82);text-decoration:none;padding:12px 14px;border-radius:12px;margin:4px 0}.sidebar a:hover{background:rgba(255,255,255,.1);color:white}.app-main{margin-left:260px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:88px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:1020;backdrop-filter:blur(10px)}.content-wrap{padding:28px 32px;flex:1}.app-footer{text-align:center;color:var(--muted);padding:18px}.app-footer a,.login-foot a{color:var(--primary);font-weight:700}.role-pill,.status-pill{background:var(--mint);color:var(--primary-dark);border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:800;text-transform:uppercase}.card{border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px rgba(22,61,53,.05)}.metric-card{padding:22px;height:100%}.metric-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:var(--mint);color:var(--primary);font-size:1.25rem}.metric-card h3{font-size:1.85rem;margin:15px 0 1px}.section-card{padding:24px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.btn{border-radius:11px;font-weight:650}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.form-control,.form-select{border-radius:11px;border-color:#d6e2df;padding:.68rem .85rem}.form-control:focus,.form-select:focus{border-color:#65b9a8;box-shadow:0 0 0 .2rem rgba(36,124,109,.13)}.form-label{font-weight:700;font-size:.86rem}.req{color:var(--danger)}.table>:not(caption)>*>*{padding:.9rem .75rem;vertical-align:middle}.table thead th{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.empty-state{text-align:center;padding:38px;color:var(--muted)}.patient-hero{background:linear-gradient(135deg,#15483f,#267f70);color:#fff;border-radius:22px;padding:28px}.patient-hero .text-secondary{color:rgba(255,255,255,.7)!important}.quick-actions{display:flex;gap:9px;flex-wrap:wrap}.quick-actions .btn{background:#fff;border-color:var(--line)}.nav-tabs{border:0;gap:5px}.nav-tabs .nav-link{border:0;border-radius:10px;color:var(--muted);font-weight:700}.nav-tabs .nav-link.active{background:var(--mint);color:var(--primary-dark)}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:7px;top:5px;bottom:5px;width:2px;background:#cfe2dd}.timeline-item{position:relative;margin-bottom:22px}.timeline-item:before{content:"";position:absolute;left:-25px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid #dff2ed}.mobile-patient{display:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 10% 10%,#d9f2eb,transparent 38%),linear-gradient(135deg,#f7fbfa,#eaf3f1)}.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:0 30px 80px rgba(18,62,55,.13)}.login-brand{display:flex;gap:16px;align-items:center;margin-bottom:28px}.login-brand h1{font-size:1.55rem;margin:0}.login-brand p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.login-foot{text-align:center;color:var(--muted);font-size:.76rem;margin:26px 0 0}.mobile-nav a{color:var(--ink);font-weight:700}.toast-container{z-index:2000}.print-only{display:none}
.intake-check{height:100%;padding:14px 14px 14px 42px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}.intake-check .form-check-input{margin-top:.15rem}.segmented{display:flex;gap:8px}.segmented .btn{min-width:74px;background:#f1f4f3!important;border-color:#d9e1df!important;color:#8a9794!important;box-shadow:none!important}.segmented .btn:hover{background:#e8eeec!important;color:#63716e!important}.segmented .btn-check:checked+.btn{background:#0d6efd!important;border-color:#0d6efd!important;color:#fff!important;box-shadow:0 4px 12px rgba(13,110,253,.22)!important}
@media(max-width:991.98px){.app-main{margin-left:0}.topbar{height:76px;padding:0 18px}.content-wrap{padding:20px 16px}.app-footer{font-size:.78rem}}
@media(max-width:767.98px){.desktop-table{display:none}.mobile-patient{display:block}.section-card{padding:18px}.patient-hero{padding:21px}.quick-actions .btn{flex:1 1 46%;font-size:.82rem}.login-card{padding:25px}.nav-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.nav-tabs .nav-link{white-space:nowrap}.topbar h1{font-size:1.08rem}.metric-card{padding:18px}}
@media print{body{background:#fff;color:#000}.sidebar,.topbar,.app-footer,.no-print,.offcanvas{display:none!important}.app-main{margin:0}.content-wrap{padding:0}.card,.patient-hero{box-shadow:none;border:1px solid #bbb;background:#fff!important;color:#000!important}.print-only{display:block}@page{size:A4;margin:12mm}}
.patient-search-results{z-index:2000!important;position:absolute!important;top:100%;left:0;max-height:280px;overflow-y:auto}
form > .section-card:has(.patient-live-search){position:relative;z-index:20}
#add-appointment-treatment{width:auto!important;display:inline-flex!important;align-self:flex-start!important;align-items:center}
.patient-report{font-size:.9rem}.report-section{margin-top:1.6rem}.report-title{font-size:1.05rem;border-bottom:2px solid var(--line);padding-bottom:.5rem;margin-bottom:1rem}.report-details small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:.15rem}.report-details strong{display:block;font-weight:650}.report-flag{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:9px;background:#fbfdfc;font-size:.8rem}.report-entry{border:1px solid var(--line);border-radius:10px;padding:.75rem;margin-bottom:.65rem;break-inside:avoid-page}.report-entry-head{display:flex;justify-content:space-between;gap:1rem}.report-entry-head span,.report-meta{color:var(--muted);font-size:.8rem}.report-list{display:grid;grid-template-columns:minmax(140px,25%) 1fr;gap:.35rem .75rem;margin:.65rem 0 0}.report-list dt,.report-list dd{margin:0}.report-list dt{font-size:.8rem}.report-list dd{white-space:normal}
