:root{--ink:#172033;--muted:#667085;--line:#d9e1ec;--blue:#165dcb;--blue-soft:#eaf2ff;--bg:#f5f8fc;--card:#fff;--danger:#b42318;--green:#087443}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}.shell{max-width:980px;margin:auto;padding:20px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.brand{font-weight:750;font-size:19px}.brand small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:2px}.nav-right{display:flex;gap:12px;align-items:center}.nav{display:flex;gap:6px;flex-wrap:wrap}.nav button{background:transparent;border:0;padding:9px 11px;border-radius:6px;color:var(--muted);cursor:pointer}.nav button.active{background:var(--blue-soft);color:var(--blue);font-weight:700}.panel{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:0 5px 18px #102a5610}.hint{color:var(--muted);line-height:1.5}.field{display:grid;gap:7px;margin:16px 0}.field label{font-weight:650;font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid #bfcada;border-radius:6px;padding:11px 12px;background:white;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #cfe0ff;border-color:var(--blue)}.primary,.secondary,.danger{border:0;border-radius:6px;padding:10px 14px;cursor:pointer;font-weight:700;white-space:nowrap}.primary{background:var(--blue);color:#fff}.secondary{background:#edf1f7;color:var(--ink)}.danger{background:#fff0ef;color:var(--danger)}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.actions .right{display:flex;gap:10px}.wizard-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;margin-bottom:13px}.progress{height:6px;background:#e7edf5;border-radius:9px;overflow:hidden}.progress i{display:block;height:100%;background:var(--blue);transition:width .2s}.question{min-height:335px;padding:10px 4px}.question h1{font-size:25px;margin:12px 0 7px}.question>p{color:var(--muted);margin:0 0 20px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:6px;padding:12px;cursor:pointer;background:#fff}.choice:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}.choice input{accent-color:var(--blue);width:18px;height:18px}.meds{width:100%;border-collapse:collapse}.meds th{text-align:left;font-size:13px;color:var(--muted);padding:7px}.meds td{padding:5px}.meds input,.meds select{width:100%;padding:9px;border:1px solid var(--line);border-radius:5px;background:#fff}.icon-btn{border:0;background:transparent;color:var(--danger);font-size:20px;cursor:pointer}.inline{display:flex;gap:10px;align-items:end}.inline .field{flex:1}.summary-table,.records{width:100%;border-collapse:collapse}.summary-table th,.summary-table td,.records th,.records td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:14px}.summary-table th{width:38%;background:#f6f8fb}.dashboard-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:15px 0}.stat{border:1px solid var(--line);border-radius:7px;padding:14px}.stat b{display:block;font-size:22px;margin-top:4px;color:var(--blue)}.stat span{font-size:12px;color:var(--muted);font-weight:600}.chart{margin:24px 0;border:1px solid var(--line);padding:20px;border-radius:8px}.chart h3{font-size:16px;margin:0 0 16px}.pie-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.pie-container{display:flex;gap:20px;align-items:center}.pie{width:110px;height:110px;border-radius:50%;flex-shrink:0}.legend{flex:1;display:flex;flex-direction:column;gap:8px;font-size:13px}.legend-item{display:flex;align-items:center;gap:6px}.legend-item i{width:14px;height:14px;border-radius:4px;display:inline-block}.record-actions{display:flex;gap:5px;flex-wrap:wrap}.record-actions button,.record-actions a{font-size:12px;padding:6px 7px;border-radius:5px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;cursor:pointer}.empty{padding:28px;text-align:center;color:var(--muted)}.section-title{margin:0 0 5px;font-size:22px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#172033;color:#fff;padding:11px 16px;border-radius:6px;box-shadow:0 4px 17px #0003;z-index:10}.hidden{display:none!important}@media(max-width:850px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.shell{padding:13px}.topbar{flex-direction:column;align-items:flex-start;gap:15px}.nav-right{width:100%;justify-content:space-between}.panel{padding:16px}.question{min-height:390px}.choice-grid{grid-template-columns:1fr}.choice-grid.location-grid .choice.is-phai{color:var(--danger);font-weight:700;background:#fffaf9;border-color:#fca5a5}.pie-row{grid-template-columns:1fr}.records thead{display:none}.records,.records tbody,.records tr,.records td{display:block;width:100%}.records tr{padding:8px;border-bottom:1px solid var(--line)}.records td{border:0;padding:4px 0}.records td:nth-child(2),.records td:nth-child(3){color:var(--muted);font-size:12px}.meds th{font-size:11px}.meds td{padding:3px}.actions{position:sticky;bottom:0;background:#fff;padding:12px 0 0}.nav button{padding:7px}.topbar{margin-bottom:16px}}.hidden-screen{display:none}@media print{*{webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff}.shell{max-width:100%;padding:0;margin:0}.topbar,.nav-right,.nav,.hidden-print,.toast{display:none!important}.hidden-screen{display:block!important}.panel{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}.page-break{page-break-before:always;break-before:page}.stat-grid{grid-template-columns:repeat(5,1fr)!important;gap:10px}.pie-row{grid-template-columns:repeat(3,1fr)!important;gap:10px;page-break-inside:avoid}.chart{break-inside:avoid;page-break-inside:avoid;margin-top:0;padding-top:20px}.pie{width:90px;height:90px}.legend{font-size:11px}}