:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233e37;background:#f7f8f3;font-size:18px}*{box-sizing:border-box}body{margin:0}header{max-width:1000px;margin:auto;padding:28px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:750;font-size:23px}.brand small{display:block;font-size:12px;font-weight:400;color:#697b73;margin-top:4px}.brand-icon{background:#236454;color:white;border-radius:16px;padding:9px 15px;font-size:27px}main{max-width:900px;margin:30px auto 70px;padding:0 24px;min-height:65vh}h1{font-size:clamp(34px,6vw,52px);line-height:1.15;letter-spacing:-1.5px;font-weight:650;margin:18px 0 20px}h2{font-size:25px}.eyebrow{display:block;font-size:12px;font-weight:750;letter-spacing:2px;color:#4d7768;margin-top:30px}.intro{color:#64756c;line-height:1.6}.people{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:36px 0}.person{text-align:left;border:1px solid #d4e4da;border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:24px;min-height:270px;color:#234e42;background:#e7f0e8}.person.pipo{background:#edf0f8;border-color:#dce1ee;color:#3e5078}.person strong{font-size:38px;letter-spacing:-1px}.person>span:last-child{font-size:16px}.avatar{width:64px;height:64px;border-radius:50%;background:#fff9;display:grid;place-items:center;font-size:28px}.muted{color:#69776f;font-size:15px;line-height:1.6}.install{text-align:center;margin-top:32px}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:48px;touch-action:manipulation}button:disabled{opacity:.6;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #c18c24;outline-offset:4px}.quiet{border:1px solid #d5dfd8;background:white;border-radius:12px;color:#36594b;padding:10px 16px}.primary{background:#236454;color:white;border:0;border-radius:12px;padding:15px 22px;font-weight:650}.panel,.med-card,.admin-card{background:white;border:1px solid #e0e6df;border-radius:22px;padding:25px;margin:20px 0}.panel{max-width:640px}label{display:block;font-size:16px;font-weight:600;margin:15px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:13px;border:1px solid #bccdc3;border-radius:10px;margin-top:8px;background:#fff;color:#233e37}textarea{min-height:90px}input[type=checkbox]{width:23px;height:23px;accent-color:#236454;vertical-align:middle}fieldset{border:1px solid #d8e2db;border-radius:12px;margin:20px 0}.slots{display:flex;flex-wrap:wrap;gap:10px 22px}.actions{display:flex;flex-wrap:wrap;gap:10px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{border-radius:20px;background:#e5eee7;padding:10px 14px;font-size:14px;white-space:nowrap}.date-label{max-width:230px}.med-card h3{margin:0 0 7px;font-size:24px;overflow-wrap:anywhere}.med-card p{line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.take{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;background:#f4f7f2;border:1px solid #dce4db;border-radius:14px;padding:16px;margin-top:12px;color:#234e42}.take.taken{background:#dceee4;border-color:#93b9a3}.take small{display:block;font-size:14px;margin-top:5px}.check{border:2px solid #8ca99a;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.taken .check{background:#236454;color:white;border-color:#236454}.admin-card{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.admin-card strong{overflow-wrap:anywhere}footer{text-align:center;padding:25px;color:#7c8a80;font-size:13px;border-top:1px solid #e0e6df}dialog{border:0;border-radius:22px;padding:26px;max-width:440px;width:calc(100% - 32px);color:inherit}dialog::backdrop{background:#153d3270}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#233e37;color:white;padding:16px 22px;border-radius:14px;max-width:calc(100% - 30px);width:max-content;z-index:10;box-shadow:0 6px 30px #0002}#admin-error{color:#9b3930}[hidden]{display:none!important}@media(max-width:560px){header{padding:20px 16px}.brand{font-size:19px}.brand small{font-size:10px}.brand-icon{padding:7px 11px}main{padding:0 16px;margin-top:22px}.people{gap:14px}.person{padding:23px 18px;min-height:240px;gap:25px;border-radius:22px}.person strong{font-size:33px}.person>span:last-child{font-size:14px}.title-row{align-items:flex-start;flex-direction:column;gap:0}.panel,.med-card{padding:20px}.quiet{font-size:15px}.eyebrow{font-size:11px}}
.view-photos{display:block;margin:16px 0}.admin-card .view-photos{margin:0}.photo-field{padding:16px 0;border-top:1px solid #e0e6df}.photo-field input[type=file]{font-size:15px;max-width:100%;overflow:hidden}.photo-preview img{display:block;max-width:100%;max-height:180px;border-radius:12px;margin:12px 0;object-fit:contain}.photo-preview .quiet{margin:12px 0}.gallery-header{display:flex;gap:16px;align-items:center;justify-content:space-between;position:sticky;top:0;background:white;z-index:1}.gallery-header h2{overflow-wrap:anywhere}#photos-dialog{max-width:800px;max-height:90dvh;overflow:auto}#photo-gallery figure{margin:18px 0 28px}#photo-gallery figcaption{font-size:21px;font-weight:700;margin:12px 0}#photo-gallery img{display:block;width:100%;max-height:65dvh;object-fit:contain;border-radius:14px;background:#f7f8f3}#photo-gallery img[hidden]{display:none}
.medicine-metadata{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.medicine-metadata span{display:inline-block;border-radius:10px;background:#eef3ee;padding:7px 11px;font-size:15px;color:#36594b}.purpose-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #e0e6df}.purpose-row>span{overflow-wrap:anywhere;min-width:0}.purpose-row .actions{flex-shrink:0}.purpose-row button:disabled{cursor:default}summary{font-weight:650;cursor:pointer;padding:5px 0}.purpose-row .quiet{font-size:14px;padding:9px 12px}@media(max-width:560px){.purpose-row{align-items:flex-start;flex-direction:column}}
.last-taken{font-size:16px;color:#52695e;background:#f4f7f2;border-radius:12px;padding:12px}.demand-take{background:#eef1fa;border-color:#d7dfee;color:#3e5078}#history h2{margin-top:36px}#schedule-slots[hidden]{display:none}
.brand-icon{display:block;width:52px;height:52px;object-fit:cover;padding:0;flex-shrink:0;border-radius:16px}@media(max-width:560px){.brand-icon{width:46px;height:46px;padding:0;border-radius:14px}}
