:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#26342d;background:#f6f7f3;font-synthesis:none;line-height:1.55;--green: #294b3b;--honey: #e8b44c;--border: #dce2d9}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--green);background:var(--green);color:#fff;padding:.65rem 1rem;border-radius:7px;font-weight:600;line-height:1.3}button:hover:not(:disabled){filter:brightness(.92)}button:disabled{opacity:.55;cursor:wait}button.secondary{background:#fff;color:var(--green);border-color:#b9c7bc}button.quiet{background:transparent;color:var(--green);border-color:transparent}button.danger{background:#93372e;border-color:#93372e;color:#fff}button.danger.quiet{background:transparent;color:#93372e;border-color:transparent}:focus-visible{outline:3px solid #b67c13;outline-offset:3px}input,select{display:block;width:100%;padding:.65rem .75rem;border:1px solid #aab8ad;border-radius:6px;background:#fff;color:inherit}input:focus,select:focus{border-color:var(--green)}label{display:block;font-weight:600;margin:.9rem 0 .35rem}form button{margin-top:1.15rem}form small{margin-top:.3rem}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:-.04em;line-height:1.2;margin-bottom:.6rem}h2{font-size:1.18rem;letter-spacing:-.015em;margin-bottom:1rem}h3{font-size:1.05rem}small{display:block;font-size:.82rem;color:#55675b}p:last-child{margin-bottom:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem max(1.3rem,calc((100% - 1160px)/2));background:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;gap:.8rem;align-items:center;font-weight:750;font-size:1.3rem;text-decoration:none;white-space:nowrap}.brand small{font-weight:400;font-size:.73rem;letter-spacing:.01em}.brand-mark{background:var(--honey);border-radius:11px;color:#3c3016;width:42px;height:46px;display:grid;place-content:center;font-size:1.4rem}.user-menu{display:flex;align-items:center;gap:.8rem;font-size:.9rem}nav{display:flex;gap:.3rem;padding:.55rem max(1rem,calc((100% - 1160px)/2));background:#fff;border-bottom:1px solid var(--border);overflow-x:auto}nav a{padding:.55rem 1rem;white-space:nowrap;border-radius:6px;text-decoration:none;font-size:.92rem;color:#526256}nav a.active{background:#edf2e8;color:#234330;font-weight:650}main{max-width:1160px;margin:auto;padding:2.3rem 1.3rem;min-height:75vh}footer{max-width:1160px;margin:auto;padding:1rem 1.3rem 2rem;font-size:.78rem;color:#607365}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.6rem}.page-heading p{margin-bottom:0}.eyebrow{color:#657452;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin-bottom:.5rem!important}.muted{color:#5f6e63;font-size:.92rem}.fine{font-size:.82rem;margin-top:1rem}.panel{padding:1.4rem;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:1.4rem}.narrow{max-width:620px}.auth-panel{max-width:450px;margin:2.2rem auto;padding:2rem}.auth-panel form{margin-top:1.8rem}.auth-panel button{width:100%}.error,.notice{padding:.85rem 1rem;border-radius:7px;margin:1rem 0;overflow-wrap:anywhere}.error{color:#822d25;background:#fff0ed;border:1px solid #e6b8b1}.notice{background:#f8f3df;border:1px solid #e7dba6;color:#594924}.error button{color:inherit!important}.list-toolbar{display:flex;align-items:center;gap:.9rem;margin:1.5rem 0}.list-toolbar label{margin:0;font-size:.85rem;white-space:nowrap}.list-toolbar input{max-width:320px}.list-toolbar span{margin-left:auto;white-space:nowrap}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.resource-card{display:block;border:1px solid var(--border);background:#fff;border-radius:12px;padding:1.4rem;text-decoration:none;transition:box-shadow .15s}.resource-card:hover{box-shadow:0 4px 16px #294b3b12}.resource-card h2{font-size:1.2rem;margin:1rem 0 .4rem;overflow-wrap:anywhere}.card-icon{background:#f7edcf;color:#675322;width:36px;height:36px;display:grid;place-content:center;border-radius:8px;font-size:1.5rem}.card-action{display:block;margin-top:1.4rem;font-size:.83rem;font-weight:650}.empty{grid-column:1/-1;text-align:center;padding:3rem}.section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.2rem}.section-heading h2{margin-bottom:.4rem}.section-heading p{margin-bottom:0}.chips{display:flex;flex-wrap:wrap;gap:.6rem}.chip{padding:.5rem .85rem;border:1px solid var(--border);border-radius:6px;text-decoration:none;background:#f6f8f3}.back{display:inline-block;font-size:.85rem;margin-bottom:1rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem;text-align:left}th{background:#f5f7f2;color:#607064;font-size:.76rem}td,th{padding:.85rem;border-bottom:1px solid var(--border)}td{vertical-align:top}td small{margin-top:.25rem}td .mono{font-size:.8rem}.mono{font-family:ui-monospace,monospace;font-size:.85rem;overflow-wrap:anywhere}.badge{display:inline-block;background:#edf4e8;color:#365b31;border-radius:5px;padding:.2rem .5rem;font-size:.76rem;white-space:nowrap}.badge.inactive{background:#f0eeee;color:#6f6463}.actions{display:flex;flex-wrap:wrap;gap:.5rem}.actions button{font-size:.8rem}.admin-form{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:1rem;align-items:start}.admin-form label{margin-top:0}.admin-form>button{justify-self:start}.confirmation{margin-top:1.3rem;border-left:3px solid var(--honey);padding:1rem;background:#faf8ee}.confirmation>button{margin-right:.5rem}.confirmation input{max-width:420px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.photo-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.photo-button{display:block;padding:0;border:0;border-radius:0;background:#e7ebe3;width:100%;height:165px}.photo-button img{width:100%;height:100%;object-fit:cover;font-size:.8rem;color:#26342d}.photo-caption{padding:.85rem;font-size:.85rem}.photo-caption a{display:inline-block;margin-top:.6rem}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1.5rem;font-size:.85rem}.secret{font-family:ui-monospace,monospace;overflow-wrap:anywhere;background:#fff;padding:.7rem;border-radius:5px;-webkit-user-select:all;user-select:all;margin:1rem 0}.history{padding-left:1.3rem}.history li{margin-bottom:1.3rem}.history p{font-size:.85rem;color:#607064}dialog{border:1px solid var(--border);border-radius:12px;padding:1.3rem;max-width:min(96vw,1100px);width:100%;max-height:95vh;color:inherit}dialog::backdrop{background:#15241dcc}.full-photo{display:block;max-width:100%;max-height:65vh;margin:auto;object-fit:contain}.skip-link{position:fixed;top:-80px;left:1rem;z-index:100;background:#fff;padding:1rem}.skip-link:focus{top:0}@media(max-width:700px){.topbar{padding:1rem}.brand{font-size:1.1rem}.brand small{display:none}.user-menu{gap:.2rem;font-size:.78rem}.user-menu>span{max-width:90px;overflow-wrap:anywhere}.user-menu button{padding:.5rem}main{padding:1.5rem 1rem}.page-heading,.section-heading{align-items:flex-start;flex-wrap:wrap;gap:.8rem}.page-heading>button{font-size:.85rem}.panel{padding:1rem}.auth-panel{padding:1.5rem;margin:.5rem auto}.list-toolbar{flex-wrap:wrap}.list-toolbar label{width:100%}.list-toolbar input{flex:1;min-width:120px}.list-toolbar span{font-size:.8rem}.admin-form{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.pagination button{padding:.55rem;font-size:.75rem}nav a{padding:.5rem .75rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}textarea{font:inherit;color:inherit;border:1px solid #aab8ad;border-radius:6px;padding:.6rem;width:100%;min-height:5rem;resize:vertical}.visit-table{min-width:1300px}.visit-table td{vertical-align:top;min-width:115px}.visit-table td:nth-child(2){min-width:215px}.visit-table td:nth-child(3){min-width:200px}.visit-table td:last-child{min-width:180px}.visit-table input[type=number]{min-width:85px}.inline-check{display:flex;align-items:center;gap:.5rem;font-weight:400;margin:0}.inline-check input{width:auto}.common-date{max-width:320px;margin-bottom:1.3rem}.treatment-heading{margin-top:1.6rem}.treatment-form{max-width:480px;padding:1rem;margin-bottom:1.5rem;border:1px solid var(--border);border-radius:8px}.follow-actions button{margin:.2rem;white-space:nowrap}.period-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.4rem 0}.period-form label{margin-top:0}.period-form button{margin:0}.known-states{display:flex;flex-wrap:wrap;gap:1rem 2rem}.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin:1.5rem 0}.measurement-chart{padding:1rem;border:1px solid var(--border);border-radius:8px}.measurement-chart svg{width:100%;height:auto;color:var(--green)}.measurement-chart svg text{font-size:14px;fill:currentColor}.measurement-chart summary{cursor:pointer}.visit-note{white-space:pre-wrap;overflow-wrap:anywhere;max-width:350px}.visit-editor{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}@media(max-width:760px){.charts{grid-template-columns:1fr}.visit-table{min-width:0;width:100%}.visit-table thead{display:none}.visit-table,.visit-table tbody,.visit-table tr,.visit-table td{display:block}.visit-table tr{border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:.75rem}.visit-table td,.visit-table td:nth-child(2),.visit-table td:nth-child(3),.visit-table td:last-child{border:0;min-width:0;padding:.4rem 0}.visit-table td:before{content:attr(data-label);display:block;font-weight:600;margin-bottom:.25rem}.visit-table td:first-child:before{display:none}.visit-table td:first-child strong{font-size:1.15rem}}.table-wrap{position:relative;max-width:100%}
