:root{--navy:#111827;--navy2:#1f2937;--green:#45b171;--green-dark:#278757;--bg:#f3f5f8;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e5e7eb;--red:#dc4c64;--orange:#e69a32;--blue:#3b82f6;--purple:#8b5cf6;--shadow:0 10px 30px rgba(17,24,39,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:24px 16px;z-index:20}.brand,.login-brand{display:flex;align-items:center;gap:12px}.brand{padding:0 10px 24px}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--green);display:grid;place-items:center;font-size:24px;font-weight:900;color:#fff;box-shadow:0 8px 18px rgba(69,177,113,.3)}.brand strong,.login-brand strong{display:block;font-size:18px}.brand span,.login-brand span{display:block;font-size:11px;color:#aeb8c8;margin-top:2px}.nav{display:grid;gap:6px}.nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;color:#cbd5e1;font-weight:650}.nav a:hover,.nav a.active{background:#283548;color:#fff}.nav a.active{box-shadow:inset 3px 0 var(--green)}.sidebar-user{margin-top:auto;padding:16px 12px;border-top:1px solid #334155;display:grid;gap:4px}.sidebar-user small{color:#94a3b8}.sidebar-user a{color:#85d5a7;margin-top:8px;font-size:12px}.main{margin-left:252px;min-width:0;width:calc(100% - 252px)}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);padding:16px 28px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:10}.topbar h1{margin:0;font-size:22px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}.topbar-date{margin-left:auto;color:var(--muted);font-weight:700}.menu-btn{display:none;border:0;background:none;font-size:24px}.content{padding:26px;max-width:1500px;margin:auto}.alert{padding:13px 16px;border-radius:10px;margin-bottom:16px}.alert-success{background:#e8f8ef;color:#17683f}.alert-error{background:#fdecef;color:#a52238}.card{background:var(--card);border:1px solid #e9edf2;border-radius:16px;box-shadow:var(--shadow);padding:20px}.card h2,.card h3{margin-top:0}.card-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.card-header h2{margin:0;font-size:17px}.card-header p{margin:4px 0 0;color:var(--muted);font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats-grid.three{grid-template-columns:repeat(3,1fr)}.stat-card{background:#fff;border:1px solid #e9edf2;border-radius:16px;padding:18px;box-shadow:var(--shadow);display:grid;gap:5px}.stat-card span{color:var(--muted);font-weight:650}.stat-card strong{font-size:31px}.stat-card small{color:var(--muted)}.two-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:var(--navy2);color:#fff}.btn-light{background:#eef1f5;color:#2e3a4d}.btn-sm{padding:7px 10px;font-size:12px}.btn-block{width:100%}.search{display:flex;gap:8px;flex:1;max-width:570px}.search input{flex:1}.form-stack{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full,.full{grid-column:1/-1}.form-card{display:grid;gap:24px}.form-card.narrow{max-width:900px;margin:auto}.form-section{border-bottom:1px solid var(--line);padding-bottom:22px}.form-section:last-of-type{border-bottom:0}.section-heading,.section-title{margin-bottom:14px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-size:17px;margin:0}.section-heading p{margin:4px 0 0;color:var(--muted)}.section-title{font-weight:800;color:var(--navy)}label{display:grid;gap:7px;color:#334155;font-weight:700}label small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #d8dee7;border-radius:9px;background:#fff;padding:10px 11px;outline:none;color:var(--text)}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(69,177,113,.14)}textarea{min-height:88px;resize:vertical}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;justify-content:start}.check input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px}.table-card{padding:0;overflow:hidden}.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:#f8fafc;color:#657086;font-size:11px;text-transform:uppercase;letter-spacing:.04em}td small{display:block;color:var(--muted);margin-top:3px}.person{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:12px;background:#dff4e8;color:#1c7448;display:grid;place-items:center;font-weight:900}.avatar-xl{width:66px;height:66px;border-radius:18px;font-size:20px}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}.badge-green{background:#e5f7ed;color:#167444}.badge-blue{background:#e7f0ff;color:#1e63c6}.badge-orange{background:#fff2df;color:#a8660b}.badge-red{background:#fde7eb;color:#b52b42}.badge-purple{background:#efe9ff;color:#6842bd}.badge-gray{background:#edf0f3;color:#596273}.timeline,.list{display:grid}.timeline-item,.list-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.timeline-item:last-child,.list-row:last-child{border-bottom:0}.timeline .time{font-weight:900;color:var(--green-dark);width:48px}.timeline-body,.list-row>div{display:grid;gap:3px;flex:1;min-width:0}.timeline-body span,.list-row span,.list-row p{color:var(--muted);font-size:12px;margin:0}.empty-state{padding:34px 10px;text-align:center;color:var(--muted);display:grid;gap:6px}.patient-hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.patient-main{display:flex;gap:14px;align-items:center}.patient-main h2{margin:0 0 4px}.patient-main p{margin:0;color:var(--muted)}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chips span{background:#f1f4f7;border-radius:99px;padding:5px 9px;font-size:11px}.hero-actions{display:flex;gap:8px;flex-wrap:wrap}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}dl{margin:0}dt{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800;margin-top:12px}dt:first-child{margin-top:0}dd{margin:4px 0 0;line-height:1.5}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:18px 0}.tabs button{background:none;border:0;padding:12px 14px;font-weight:750;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent}.tabs button.active{color:var(--green-dark);border-color:var(--green)}.tab-panel{display:none}.tab-panel.active{display:block}.week-nav{display:flex;align-items:center;gap:8px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(175px,1fr));gap:10px;overflow:auto;padding-bottom:8px}.day-column{background:#fff;border:1px solid var(--line);border-radius:14px;min-height:480px}.day-column.today{border:2px solid var(--green)}.day-head{padding:12px 13px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.day-head span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f1f4f7;font-weight:900}.today .day-head span{background:var(--green);color:#fff}.day-body{padding:8px}.appointment-card{display:grid;gap:5px;padding:10px;border-radius:10px;background:#f7f9fb;border-left:3px solid var(--green);margin-bottom:8px}.appointment-card>div{display:flex;align-items:center;justify-content:space-between}.appointment-card b{font-size:12px}.appointment-card small{color:var(--muted)}.day-empty{text-align:center;color:#a1a8b3;font-size:12px;padding:35px 4px}.clinical-alert{background:#fff8e8;border:1px solid #f1dba5;padding:12px;border-radius:10px;line-height:1.5}.repeat-row{display:grid;grid-template-columns:1.1fr 1.4fr 1fr .8fr 1.5fr 36px;gap:8px;margin-bottom:9px}.repeat-row.medication{grid-template-columns:1.2fr 1fr .8fr 1fr .8fr .7fr 1.4fr 36px}.icon-btn{border:0;border-radius:8px;background:#fee7eb;color:#b92d44;font-size:20px;cursor:pointer}.inline-form{display:flex;gap:8px;margin-bottom:22px}.document{max-width:1000px;margin:0 auto 18px;padding:34px}.document-head,.print-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:2px solid var(--navy)}.document-head h2,.print-header h1{margin:0}.print-header>div:last-child{text-align:right;display:grid;gap:4px}.print-header>div:last-child strong{font-size:18px}.print-header>div:last-child span{font-weight:800;color:var(--green-dark)}.document-meta{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;padding:20px 0}.document-meta>div{display:grid;gap:4px}.document-meta span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.document-meta small{color:var(--muted)}.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.document-grid section{background:#f8fafc;border-radius:10px;padding:13px}.document-grid section.full{grid-column:1/-1}.document-grid h3{font-size:11px;text-transform:uppercase;color:var(--muted);margin:0 0 7px}.document-grid p{margin:0;line-height:1.55}.study-list,.med-list{display:grid;gap:10px;padding-left:23px}.study-list li,.med-list li{padding:10px 12px;background:#f8fafc;border-radius:9px}.study-list span,.study-list p,.med-list p,.med-list span{display:block;color:var(--muted);margin:4px 0 0}.signature{margin:55px 0 0 auto;width:260px;text-align:center;display:grid;gap:4px}.signature>span{border-top:1px solid #333}.signature small{color:var(--muted)}.rx{font-size:38px;font-family:serif;margin:20px 0 5px}.instructions{margin-top:24px;padding:15px;background:#f8fafc;border-radius:10px}.filter-chips{display:flex;gap:6px;flex-wrap:wrap}.filter-chips a{padding:8px 11px;border-radius:99px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:12px}.filter-chips a.active{background:var(--navy);color:#fff}.date-filter{display:flex;gap:10px;align-items:end}.date-filter label{display:grid;gap:4px}.bar-list{display:grid;gap:14px}.bar-list>div{display:grid;grid-template-columns:150px 1fr 35px;gap:10px;align-items:center}.bar-list progress{width:100%;accent-color:var(--green)}.login-page,.install-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#dff4e8,transparent 35%),var(--navy)}.login-card,.install-card{width:min(440px,100%);background:#fff;border-radius:20px;padding:32px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.install-card{width:min(760px,100%)}.login-brand{margin-bottom:30px}.login-brand span{color:var(--muted)}.login-card h1,.install-card h1{margin:0 0 7px}.login-card>p,.install-card>p{color:var(--muted);margin:0 0 20px}.login-help{display:block;text-align:center;color:var(--muted);margin-top:20px}.print-document{background:#fff;min-height:100vh;padding:30px}.print-mode .document{box-shadow:none;border:0}.print-mode .toolbar{display:none}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-columns{grid-template-columns:1fr}.repeat-row,.repeat-row.medication{grid-template-columns:repeat(2,1fr)}.repeat-row .icon-btn{grid-column:2}.week-grid{grid-template-columns:repeat(7,180px)}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-btn{display:block}.topbar{padding:14px 16px;height:76px}.topbar-date{display:none}.content{padding:15px}.stats-grid,.stats-grid.three,.form-grid,.info-grid,.document-grid{grid-template-columns:1fr}.form-grid .full,.document-grid section.full{grid-column:auto}.patient-hero{align-items:flex-start;gap:15px;flex-direction:column}.hero-actions{width:100%}.toolbar{align-items:stretch;flex-direction:column}.toolbar>.btn{align-self:stretch}.search,.date-filter{max-width:none;width:100%;flex-wrap:wrap}.repeat-row,.repeat-row.medication{grid-template-columns:1fr}.repeat-row .icon-btn{grid-column:auto;height:36px}.document{padding:18px}.document-meta{grid-template-columns:1fr 1fr}.print-header{flex-direction:column}.print-header>div:last-child{text-align:left}.bar-list>div{grid-template-columns:110px 1fr 30px}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}.topbar h1{font-size:18px}}@media print{body{background:#fff}.print-document{padding:0}.document{max-width:none;padding:15mm;box-shadow:none;border:0}.print-header{break-inside:avoid}.signature{break-inside:avoid}.btn,.toolbar{display:none!important}@page{size:A4;margin:0}}
