:root{font-family:system-ui,-apple-system,sans-serif;color:#173d36;background:#f4f7f2}*{box-sizing:border-box}body{margin:0}main{max-width:1180px;margin:auto;padding:30px}header,.heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{font-size:27px;font-weight:750;text-decoration:none;color:#1b6655}.brand span{display:block;font-size:12px;font-weight:450;margin:5px 0 0 28px;color:#60776c}.badge{font-size:12px;background:#e5ede3;padding:10px 15px;border-radius:30px}.hero{padding:50px 0 25px}.eyebrow{font-size:11px;letter-spacing:2px;color:#5e7865}h1{font-size:clamp(34px,5vw,58px);line-height:1.1;font-weight:650;letter-spacing:-2px;margin:20px 0}p,small{color:#60776c;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:15px 0 28px}.cards article,.panel{background:white;border:1px solid #e0e8dc;border-radius:20px;padding:24px}.cards span{display:block;font-size:14px}.cards strong{display:inline-block;font-size:36px;margin:18px 7px 0 0}.cards article:first-child{background:#dcead8}.layout{display:grid;grid-template-columns:360px 1fr;gap:24px}h2{font-size:20px;margin:0}label{display:block;font-size:14px;margin:15px 0}input{display:block;width:100%;font:inherit;padding:12px;border:1px solid #c5d4c7;border-radius:9px;margin-top:6px;background:#fafcf8}button{font:inherit;background:#245c4a;color:white;padding:12px 20px;border:0;border-radius:10px;cursor:pointer}.secondary{background:#edf3e9;color:#245c4a;font-size:13px}button:disabled{opacity:.6}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #bc7b35;outline-offset:3px}.table{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:15px 8px;white-space:nowrap;border-bottom:1px solid #edf0e9}th{font-size:12px;color:#60776c}footer{font-size:12px;margin:30px 0}#status{min-height:24px}@media(max-width:800px){main{padding:20px}.layout{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.badge{max-width:140px}.hero{padding-top:32px}.cards article{padding:20px}.heading{flex-wrap:wrap}}

nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}nav a{color:#245c4a;text-underline-offset:4px;padding:8px 0}html{scroll-behavior:smooth;scroll-padding-top:20px}.panel{min-width:0}.medical{margin-top:24px}.medical-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;margin-top:24px}textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid #c5d4c7;border-radius:9px;margin-top:6px;background:#fafcf8;resize:vertical}input,textarea{font-size:16px}textarea:focus-visible,summary:focus-visible{outline:3px solid #bc7b35;outline-offset:3px}.confirm{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.confirm input{width:20px;height:20px;flex-shrink:0;margin-top:3px}.actions{display:flex;flex-wrap:wrap;gap:12px}#scan-preview{display:block;max-width:100%;max-height:400px;object-fit:contain;border-radius:12px;margin:16px 0}#scan-preview[hidden]{display:none}#ocr-note,.medical form>p{font-size:14px}#ocr-status,#report-status{min-height:24px}summary{cursor:pointer;color:#245c4a;padding:12px 0}#reports-list details{border-top:1px solid #e0e8dc;padding:12px 0}#reports-list pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;color:#173d36}.report-section{margin:16px 0}.report-section h3{font-size:14px;margin-bottom:8px}.report-section p{white-space:pre-wrap;overflow-wrap:anywhere}.row-edit{font-size:13px;padding:8px 12px}button{min-height:44px}input[type=file]{white-space:normal;overflow:hidden}input[type=file]::file-selector-button{padding:8px;border:0;border-radius:6px;margin-right:10px;background:#e5ede3;color:#245c4a}h3{font-size:18px}@media(max-width:800px){.medical-grid{grid-template-columns:1fr;gap:20px}.panel{padding:20px}.cards strong{font-size:30px}.medical .heading{align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#login-dialog{border:1px solid #e0e8dc;border-radius:24px;padding:36px 28px 20px;width:min(400px,calc(100% - 32px));max-height:calc(100dvh - 32px);color:#173d36;box-shadow:0 24px 90px #173d3618;text-align:center}#login-dialog::backdrop{background:#edf3ed}#login-dialog h1{font-size:30px;letter-spacing:-1px;margin:10px 0}#login-dialog p{font-size:14px}#login-dialog .login-mark{font-size:32px;color:#245c4a}.password-field{display:flex;align-items:center;border:1px solid #c5d4c7;background:#fafcf8;border-radius:12px;margin:24px 0 16px}.password-field:focus-within{outline:3px solid #bc7b35;outline-offset:3px}.password-field input{min-width:0;margin:0;border:0;background:transparent;text-align:center;font-size:20px;letter-spacing:2px;padding:15px 8px;outline:none}.password-field input:focus-visible{outline:none}.password-field button{background:transparent;color:#245c4a;padding:12px;font-size:13px;flex-shrink:0}#login-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:600}#login-error{min-height:24px;margin-bottom:0;color:#a13f2e}#app-shell[hidden]{display:none}

.drive-panel{border-top:3px solid #087F8C}.drive-panel .heading{align-items:center}.drive-panel #drive-sync{display:flex;align-items:center;justify-content:center;gap:9px;background:#087F8C;min-width:180px}.drive-icon{width:21px;height:21px;flex-shrink:0}.drive-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px}.drive-summary a,.original-link{color:#087F8C;text-underline-offset:3px}.drive-summary span{color:#A96708}#drive-progress{width:100%;height:14px;margin-top:18px;accent-color:#087F8C}#drive-progress[hidden]{display:none}#drive-status{min-height:25px;overflow-wrap:anywhere}.drive-note{font-size:13px}.drive-panel ul{list-style:none;margin:0;padding:0}.drive-panel li{border-top:1px solid #DCE5ED;padding:14px 0;overflow-wrap:anywhere}.drive-panel li strong,.drive-panel li>span{display:block;font-size:14px}.drive-panel li>span{color:#51657A;margin:4px 0}.drive-panel li p{font-size:13px;margin:6px 0}.review-badge{display:inline-block;font-size:12px;white-space:nowrap;color:#805000;background:#FFF1D8;padding:3px 8px;border-radius:20px;margin-left:8px}.report-source{overflow-wrap:anywhere}.original-link{display:inline-block;padding:8px 0;min-height:44px}@media(max-width:600px){.drive-panel .heading{align-items:stretch;flex-direction:column}.drive-panel #drive-sync{width:100%}.drive-summary{flex-direction:column;gap:5px}}
