:root{--green:#006c58;--green2:#00846a;--green3:#0c9a78;--ink:#17332c;--muted:#66756f;--line:#dde6e2;--bg:#f4f7f5;--soft:#edf5f1;--white:#fff;--danger:#a93434;--gold:#b89655;--shadow:0 14px 38px rgba(25,55,46,.08);--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7}
a{color:inherit}
.container{width:min(1480px,calc(100% - 32px));margin:24px auto 40px}
.app-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 20px rgba(25,55,46,.05);position:sticky;top:0;z-index:1000}
.header-main{min-height:118px;display:grid;grid-template-columns:minmax(360px,1fr) minmax(300px,560px) minmax(230px,.78fr);align-items:center;gap:24px;width:min(1480px,calc(100% - 32px));margin:auto}
.official-brand{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:0}
.official-brand-clean{padding:8px 10px}
.header-logo-card{display:grid;place-items:center;width:122px;height:122px;border-radius:30px;background:linear-gradient(180deg,#fff,#f3faf7);border:1px solid #dbe9e4;box-shadow:0 16px 36px rgba(13,58,46,.09);flex:0 0 auto}
.official-brand img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,108,88,.15))}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{font-size:28px;line-height:1.18;color:#123f35;white-space:normal;overflow:visible;text-overflow:unset}
.brand-copy small{font-size:15px;line-height:1.55;color:#5f746d;white-space:normal;overflow:visible;text-overflow:unset}
.brand-copy-clean{gap:4px;max-width:280px}
.quick-search-wrap{position:relative}
.quick-search-wrap input{height:52px;padding:0 48px 0 16px;border:1px solid #d5e2dd;border-radius:13px;background:#f8fbfa;font-size:16px}
.quick-search-wrap input:focus{outline:3px solid rgba(0,132,106,.12);border-color:var(--green2);background:#fff}
.search-icon{position:absolute;right:16px;top:9px;font-size:25px;color:var(--green2);z-index:2}
.quick-search-results{display:none;position:absolute;top:60px;right:0;left:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 50px rgba(20,50,42,.16);overflow:hidden;z-index:1200}
.quick-search-results.show{display:block}
.quick-item{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;text-decoration:none;border-bottom:1px solid #edf2ef}
.quick-item:hover{background:var(--soft)}
.quick-item span{display:flex;flex-direction:column}
.quick-item small,.quick-item em{font-size:12px;color:var(--muted);font-style:normal}
.quick-state{padding:16px;color:var(--muted);text-align:center}
.header-user{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.user-meta{display:flex;align-items:center;gap:9px}
.user-meta div{display:flex;flex-direction:column;line-height:1.25}
.user-meta small{color:var(--muted)}
.user-dot{width:10px;height:10px;border-radius:50%;background:#24b27d;box-shadow:0 0 0 5px #e4f6ef}
.logout-link{font-size:13px;color:var(--danger);font-weight:700;text-decoration:none}
.main-nav{background:var(--green);display:flex;justify-content:center;gap:2px;padding:0 16px}
.main-nav a{color:#eaf6f2;text-decoration:none;padding:12px 18px;border-bottom:3px solid transparent;font-weight:700}
.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.08);border-bottom-color:#d5c08c;color:#fff}
.nav-toggle{display:none}
.app-footer{min-height:64px;border-top:1px solid var(--line);background:#fff;color:var(--muted);display:flex;justify-content:space-between;align-items:center;padding:10px max(16px,calc((100% - 1480px)/2));font-size:13px}
.card{background:#fff;border:1px solid #e3ebe7;border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:var(--shadow)}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 22px;padding:4px 2px}
.page-head h1{margin:2px 0 2px;font-size:32px}.page-head p{margin:0;color:var(--muted)}
.eyebrow{display:inline-block;color:var(--green2);font-weight:800;font-size:12px;letter-spacing:.4px}.eyebrow.light{color:#d8eee7}
.btn,.patients-btn,.arch-btn,.btn-secondary,.btn-danger{border:0;border-radius:11px;padding:11px 16px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn-primary,.btn:not(.secondary):not(.green):not(.red):not(.print),.patients-btn{background:var(--green2);color:#fff}.btn.secondary,.patients-btn.secondary,.btn-secondary{background:#687973;color:#fff}.btn.green{background:#2b8c66;color:#fff}.btn.red,.patients-btn.danger,.arch-btn.danger,.btn-danger{background:var(--danger);color:#fff}.btn.print{background:#7961a8;color:#fff}.btn-block{width:100%;min-height:52px}
.stats-grid-dashboard{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid #e2ebe7;border-radius:16px;padding:18px;display:flex;align-items:center;gap:12px;text-decoration:none;box-shadow:0 8px 25px rgba(23,51,44,.055);min-height:118px}.stat-card:hover{transform:translateY(-2px);border-color:#bcd7ce}.stat-card div{display:flex;flex-direction:column}.stat-card small{color:var(--muted);font-weight:700}.stat-card strong{font-size:28px;color:var(--green);line-height:1.25}.stat-icon{width:43px;height:43px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:21px}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:20px}.dashboard-section{padding:22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-title h2{margin:0;font-size:22px}.section-title a{color:var(--green2);font-weight:700;text-decoration:none}
.quick-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-report-grid a{padding:18px;border-radius:14px;background:#f8fbfa;border:1px solid #e1ebe7;text-decoration:none;display:flex;flex-direction:column}.quick-report-grid a:hover{border-color:#b7d7cc;background:var(--soft)}.quick-report-grid span{font-weight:900;color:var(--green)}.quick-report-grid small{color:var(--muted)}
.unit-list{display:flex;flex-direction:column;gap:13px}.unit-row>div{display:flex;justify-content:space-between}.unit-row i{height:7px;background:#edf2f0;border-radius:20px;display:block;overflow:hidden;margin-top:5px}.unit-row i em{height:100%;background:linear-gradient(90deg,var(--green2),#66b89e);display:block;border-radius:20px}
.table-responsive,.table-wrap{overflow:auto;border-radius:14px}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;min-width:760px}th,td{padding:12px 11px;text-align:center;border-bottom:1px solid #e7eeeb}th{background:#eaf3ef;color:#24463d;font-weight:900;white-space:nowrap}tbody tr:hover{background:#fafcfb}.ltr-cell{direction:ltr;unicode-bidi:embed}.mini-link{color:var(--green2);font-weight:800;text-decoration:none}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
label{font-weight:800;margin-bottom:6px;display:block;color:#29483f}input,select,textarea{width:100%;padding:12px;border:1px solid #ccdcd6;border-radius:12px;font-size:16px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(0,132,106,.1);border-color:var(--green2)}textarea{min-height:90px}
.alert,.msg{padding:13px 15px;border-radius:12px;margin:12px 0;font-weight:700;background:#eef5f1;color:#35594e;border:1px solid #d6e7e1}.alert.success,.ok{background:#e5f6ed;color:#196342;border-color:#bce4ce}.alert.danger,.err{background:#fff0f0;color:#8e2c2c;border-color:#efcaca}.note{background:#f8faf9;border:1px dashed #9eb8ae;border-radius:14px;padding:16px;line-height:2;color:#455d55}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 15%,#e3f0eb 0,transparent 32%),linear-gradient(135deg,#f6f9f7,#eaf2ef)}
.login-shell{width:min(980px,calc(100% - 32px));min-height:590px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 28px 80px rgba(20,50,42,.16)}
.login-brand-panel{background:linear-gradient(145deg,#00584a,#007d65);color:#fff;padding:54px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative}.login-brand-panel:after{content:"";position:absolute;inset:auto -80px -80px auto;width:260px;height:260px;border:45px solid rgba(255,255,255,.05);border-radius:50%}.login-brand-panel-centered{align-items:center;text-align:center}
.brand-logo-card{display:grid;place-items:center;width:240px;height:240px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,251,248,.93));box-shadow:0 22px 60px rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.45);margin-bottom:22px}
.login-brand-panel img{width:198px;height:198px;object-fit:contain;padding:0;margin:0;filter:drop-shadow(0 12px 24px rgba(0,108,88,.20))}
.brand-panel-copy{font-size:20px;line-height:1.8;max-width:380px;color:#e7f6f0;margin:10px 0 0}.trust-line{margin-top:28px;font-size:13px;color:#dcefe9;border-top:1px solid rgba(255,255,255,.16);padding-top:16px;max-width:390px}.trust-line span{color:#74e1b8}
.login-form-panel{padding:58px;display:flex;flex-direction:column;justify-content:center}.login-form-head h2{font-size:34px;margin:2px 0}.login-form-head p{color:var(--muted);margin-top:0}.login-form-panel input{height:54px;margin-bottom:17px}.login-footnote{display:block;color:var(--muted);text-align:center;margin-top:16px}
.actions,.action-cell{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.date-cell{color:var(--green);font-weight:800;white-space:nowrap}.attach-link{color:#6f5a9e;font-weight:800}.no-attach{color:#87938f}.danger{color:var(--danger)}
@media(max-width:1200px){.stats-grid-dashboard{grid-template-columns:repeat(3,1fr)}.header-main{grid-template-columns:1fr 1.1fr}.header-user{display:none}.dashboard-grid{grid-template-columns:1fr}.header-logo-card{width:110px;height:110px}.official-brand img{width:84px;height:84px}.brand-copy strong{font-size:24px}.brand-copy small{font-size:14px}}
@media(max-width:800px){.container{width:min(100% - 20px,1480px);margin-top:14px}.header-main{width:calc(100% - 20px);grid-template-columns:1fr;gap:12px;padding:10px 0}.official-brand,.official-brand-clean{justify-content:center;text-align:center;gap:12px;padding:8px 0}.header-logo-card{width:98px;height:98px;border-radius:26px}.official-brand img{width:72px;height:72px}.brand-copy{max-width:none}.brand-copy strong{font-size:21px}.brand-copy small{font-size:13px}.quick-search-wrap{width:100%}.nav-toggle{display:block;width:100%;background:var(--green);color:#fff;border:0;padding:11px;font-weight:800}.main-nav{display:none;flex-direction:column;padding:6px 10px}.main-nav.open{display:flex}.main-nav a{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.page-head{align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}.stats-grid-dashboard{grid-template-columns:repeat(2,1fr)}.quick-report-grid{grid-template-columns:1fr}.grid,.grid3,.grid2{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;min-height:0}.login-brand-panel{padding:30px;align-items:center;text-align:center}.brand-logo-card{width:172px;height:172px;border-radius:26px;margin-bottom:14px}.login-brand-panel img{width:132px;height:132px}.brand-panel-copy{font-size:16px;max-width:none}.trust-line{margin:10px auto 0}.login-form-panel{padding:30px 24px}.app-footer{flex-direction:column;text-align:center}.card{padding:16px}}
@media(max-width:520px){.stats-grid-dashboard{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:13px;min-height:98px}.stat-card strong{font-size:23px}.stat-icon{display:none}.header-main{min-height:auto}.header-logo-card{width:90px;height:90px}.official-brand img{width:66px;height:66px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:12px}.brand-logo-card{width:150px;height:150px}.login-brand-panel img{width:116px;height:116px}}
@media print{.no-print,.app-header,.app-footer,.actions{display:none!important}body{background:#fff}.container{width:100%;max-width:none;margin:0}.card{box-shadow:none;border:0}}
