@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--ink:#222b2b;--muted:#7d8887;--line:#ebefed;--green:#2c8067;--mint:#eaf5f0;--bg:#f8faf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:DM Sans,sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{width:246px;background:#fff;border-right:1px solid var(--line);padding:28px 17px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;margin:0 10px 36px;color:#253330;text-decoration:none;font-family:Manrope,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.8px}.brand-light{font-weight:500;color:#78827f}.brand-mark{height:31px;width:31px;border-radius:10px;background:#eaf5ef;color:#34816b;display:grid;place-items:center;font-size:21px}.profile{display:flex;align-items:center;gap:10px;background:#f8faf9;padding:10px;border-radius:10px;margin:0 1px 28px}.avatar,.top-avatar,.user-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#deeee7;color:#3e735f;font-weight:700}.profile b,.user-row b{display:block;font-size:12px}.profile small,.user-row small{color:#929c99;font-size:10px;display:block;margin-top:3px}.dots{margin-left:auto;color:#a1aaa7;letter-spacing:1px}.eyebrow,.nav-label{font-size:9px;letter-spacing:1.5px;color:#9aa39f;font-weight:700}.nav-label{padding:0 11px 10px}.nav-item{display:flex;align-items:center;gap:13px;text-decoration:none;color:#7d8986;font-size:12px;padding:11px;border-radius:8px;margin:2px 0}.nav-item span{font-size:17px;width:18px;text-align:center}.nav-item.active{color:#286f5c;background:#edf6f1;font-weight:700}.sidebar-bottom{margin-top:auto}.care-card{background:#f4f8f5;border:1px solid #edf2ee;border-radius:10px;padding:15px;margin-bottom:18px}.care-icon{color:#43876f;font-size:17px;display:block;margin-bottom:8px}.care-card b{font-size:12px}.care-card p{font-size:10px;line-height:1.6;color:#85908b;margin:7px 0 12px}.care-card a{font-size:10px;color:#42806a;text-decoration:none;font-weight:700}.user-row{display:flex;align-items:center;gap:9px;padding:12px 4px 0;border-top:1px solid var(--line)}.user-avatar{background:#f4e8db;color:#9c6844}.content{flex:1 1;min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.breadcrumbs{font-size:11px;color:#9aa39f}.breadcrumbs span{margin:0 10px;color:#c4cbc8}.breadcrumbs b{font-weight:600;color:#4b5653}.top-actions{display:flex;align-items:center;gap:18px}.icon-button{border:0;background:none;color:#77827f;font-size:19px;position:relative}.icon-button i{position:absolute;width:5px;height:5px;border-radius:50%;background:#df866a;right:0;top:2px;border:1px solid white}.top-avatar{width:30px;height:30px;font-size:11px}.page-wrap{max-width:1210px;margin:0 auto;padding:34px 42px 24px}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:9px}.welcome-row h1{font:700 25px Manrope,sans-serif;letter-spacing:-1px;margin:8px 0 5px}.welcome-row h1 span{font-size:16px;color:#d4a46c}.subhead{font-size:12px;color:#899390;margin:0}.date-button{background:white;border:1px solid var(--line);border-radius:7px;padding:9px 12px;font:500 11px DM Sans;color:#55615d}.date-button span{margin-left:17px;color:#97a09d}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.panel,.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px}.stat-card{padding:17px 18px 15px;min-height:121px}.stat-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.05px;color:#8b9692;font-weight:700}.stat-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:13px}.lilac{color:#8974b1;background:#f1eef8}.mint{color:#4f947b;background:#eaf5f0}.peach{color:#d18a67;background:#fbf0e9}.stat-main{font:700 25px Manrope,sans-serif;letter-spacing:-1px;margin:9px 0}.stat-main span{font:500 12px DM Sans;letter-spacing:0;color:#929c99}.stat-foot{display:flex;align-items:center;gap:8px;color:#929c99}.stat-foot,.stat-foot small{font-size:10px}.stat-foot b{color:#505d58}.progress{width:65px;height:4px;border-radius:9px;background:#edf0ee}.progress i{height:100%;display:block;background:#70ad91;border-radius:9px}.status-dot{width:6px;height:6px;background:#75b28d;border-radius:50%}.trend{font-size:10px;background:#edf7ef;color:#58a274;padding:3px 5px;border-radius:4px;font-weight:700}.section-title{display:flex;justify-content:space-between;align-items:end;margin:28px 0 13px}.panel h2,.section-title h2{font:700 15px Manrope,sans-serif;letter-spacing:-.3px;margin:0 0 4px}.panel-head p,.section-title p{margin:0;color:#939d99;font-size:10px}.text-button{border:0;background:none;color:#4d8a71;font:600 10px DM Sans;padding:6px 0}.dose-list{display:grid;gap:10px}.dose-card{background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:42px minmax(170px,1fr) minmax(200px,245px) 132px;gap:13px;align-items:center;padding:14px 16px;min-height:104px}.dose-card.is-done{background:#fcfefd}.dose-symbol{width:36px;height:36px;border-radius:10px;background:#fff4e5;display:grid;place-items:center;color:#d59a52;font-size:19px}.symbol-1{background:#f1eff9;color:#8c7eb2}.dose-time{font-size:10px;font-weight:700;color:#4d5a55}.dose-time span{color:#bbc3c0;margin:0 5px}.dose-time b{font-weight:500;color:#7c8984}.dose-info h3{font:700 13px Manrope,sans-serif;margin:7px 0 3px}.dose-info h3 small{font:500 10px DM Sans;color:#82908a;margin-left:3px}.dose-info p{font-size:10px;color:#97a09c;margin:0}.photo-pair{display:flex;gap:7px}.photo-slot{width:68px;height:54px;border:1px dashed #d8e1dc;background:#fafcfb;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden;cursor:pointer;color:#76a18c}.photo-slot span{font-size:16px;line-height:15px}.photo-slot small{font-size:9px;color:#939d98}.photo-slot input{display:none}.photo-slot img{height:100%;width:100%;object-fit:cover}.dose-actions{display:flex;align-items:center;flex-direction:column;gap:6px}.taken-button{border:0;background:#2f8067;color:white;border-radius:6px;width:116px;padding:8px 4px;font:600 10px DM Sans;cursor:pointer}.taken-button:hover{background:#236d58}.skip-button{border:0;background:transparent;color:#a0a9a6;font:500 9px DM Sans;cursor:pointer}.logged-proof{display:flex;align-items:center;gap:9px}.check{width:23px;height:23px;border-radius:50%;background:#e9f5ef;color:#4e9b73;display:grid;place-items:center;font-weight:700}.logged-proof b,.logged-proof small{display:block;font-size:10px}.logged-proof small{font-size:9px;color:#9aa49f;margin-top:3px}.done-label{color:#579270;font-size:10px;font-weight:700}.lower-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;margin-top:22px}.panel{padding:17px 18px;min-height:190px}.panel-head{display:flex;justify-content:space-between;align-items:start}.panel-head a{color:#4d8a71;text-decoration:none;font-size:10px;font-weight:600}.empty-history{height:119px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#9ba5a1}.empty-history div{font-size:17px;color:#a8c2b4;margin:6px}.empty-history b{font-size:10px;color:#687570}.empty-history span{font-size:9px;margin-top:4px}.history-list{margin-top:11px}.history-row{display:flex;align-items:center;gap:9px;padding:7px 0;border-top:1px solid #f1f3f2}.history-check{height:22px;width:22px;display:grid;place-items:center;border-radius:50%;background:#edf7ef;color:#56a277;font-size:11px}.history-check.missed{background:#fff2eb;color:#d58464}.history-row b,.history-row small{display:block;font-size:10px}.history-row small{color:#9aa39f;font-size:9px;margin-top:3px}.history-state{margin-left:auto;color:#769382;font-size:9px;text-transform:capitalize}.pill{background:#f2f7ef;border-radius:12px;padding:5px 8px;color:#6c986b;font-size:9px}.medicine-mini{display:flex;align-items:center;gap:9px;padding:15px 0 10px;border-bottom:1px solid #f0f2f1}.med-icon{height:29px;width:29px;background:#f2f6f3;border-radius:7px;display:grid;place-items:center;color:#6f9a82}.medicine-mini b,.medicine-mini small{display:block;font-size:10px}.medicine-mini small{color:#99a29f;font-size:9px;margin-top:3px}.more{margin-left:auto;border:0;background:none;color:#9ba4a0;letter-spacing:1px}.supply-meter{padding:11px 0}.supply-meter>div:first-child{display:flex;justify-content:space-between;color:#87918d;font-size:9px}.supply-meter>div:first-child b{color:#4c5b54}.meter{height:5px;background:#eef1ee;margin:8px 0}.meter,.meter i{border-radius:9px}.meter i{display:block;width:38%;height:100%;background:#8cbd91}.supply-meter small{font-size:9px;color:#9aa39f}.supply-meter small b{color:#65736c}.purchase-button{width:100%;border:1px solid #cfe2d6;background:#f8fcf9;color:#46816a;border-radius:6px;padding:8px;font:600 10px DM Sans;cursor:pointer}.bill-link{font-size:9px;color:#929d98;margin-top:10px}.bill-link span{float:right}footer{text-align:center;font-size:9px;color:#a4ada9;padding:22px 0 2px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#243b34;color:white;padding:12px 18px;border-radius:8px;box-shadow:0 6px 24px #1e393122;font-size:12px;z-index:3}@media(max-width:1000px){.sidebar{width:215px}.page-wrap{padding:28px 25px}.topbar{padding:0 25px}.dose-card{grid-template-columns:38px minmax(145px,1fr) 150px 120px;gap:8px}.photo-slot{width:58px}}@media(max-width:760px){.sidebar{display:none}.topbar{height:56px;padding:0 17px}.page-wrap{padding:24px 16px}.welcome-row h1{font-size:21px}.subhead{max-width:270px;line-height:1.5}.stats-grid{grid-template-columns:1fr;gap:9px}.stat-card{min-height:104px}.section-title{margin-top:23px}.dose-card{grid-template-columns:34px 1fr auto;gap:10px;padding:13px;position:relative}.dose-proof{grid-column:2/3}.dose-actions{grid-column:3;grid-row:1/3}.dose-info h3{font-size:12px}.photo-slot{width:60px;height:48px}.lower-grid{grid-template-columns:1fr}.panel{min-height:170px}.date-button{padding:8px;font-size:10px}.welcome-row{align-items:flex-start}.dose-time{font-size:9px}}.bill-link{cursor:pointer}.purchase-history{border-top:1px solid #eff2f0;margin-top:10px;padding-top:9px;font-size:9px;color:#66736d}.purchase-history>b{font-size:10px}.purchase-history div{display:flex;justify-content:space-between;color:#97a19c;padding-top:7px}.modal-backdrop{position:fixed;inset:0;background:#14272066;display:grid;place-items:center;padding:20px;z-index:5}.purchase-modal{position:relative;width:min(100%,430px);background:#fff;border-radius:14px;padding:26px;box-shadow:0 18px 60px #152d242b}.purchase-modal h2{font:700 19px Manrope,sans-serif;margin:7px 0}.purchase-modal>p{font-size:11px;color:#8b9690;margin:0 0 19px}.modal-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:24px;color:#87938d;cursor:pointer}.purchase-modal label:not(.receipt-upload){display:block;font-size:10px;font-weight:700;color:#5d6a63;margin:12px 0}.purchase-modal input:not([type=file]){display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #e1e9e4;border-radius:6px;font:12px DM Sans;outline-color:#78a88c}.modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.receipt-upload{display:block;border:1px dashed #cbdcd0;border-radius:7px;padding:12px;text-align:center;color:#4c886d;font-size:10px;cursor:pointer;margin:14px 0}.receipt-upload input{display:none}.save-purchase{width:100%;padding:11px}.toast{max-width:calc(100vw - 30px);text-align:center}.setup-page{max-width:800px;padding-top:70px}.setup-page h1{font:700 28px Manrope,sans-serif;letter-spacing:-1px;margin:10px 0}.setup-page>.subhead{max-width:590px;line-height:1.6;margin-bottom:24px}.setup-modal{position:relative;width:min(100%,720px);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;padding:26px;box-shadow:0 18px 60px #152d242b}.setup-modal h2{font:700 19px Manrope,sans-serif;margin:7px 0 17px}.setup-form{max-width:100%}.schedule-edit-row label,.setup-form>label{display:block;font-size:10px;font-weight:700;color:#5d6a63;margin:13px 0}.dose-note,.purchase-modal input,.schedule-edit-row input,.setup-form input,.setup-form textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #e1e9e4;border-radius:6px;background:white;font:12px DM Sans;color:#3c4b43;outline-color:#78a88c}.setup-form input:disabled{background:#f4f6f4;color:#89938e}.schedule-editor{padding:14px;background:#fafcfb;border:1px solid #edf1ee;border-radius:9px;margin:16px 0}.schedule-editor h3{font:700 12px Manrope;margin:0 0 4px}.schedule-edit-row{display:grid;grid-template-columns:1fr 125px 110px 25px;gap:10px;align-items:end}.schedule-edit-row label{margin:7px 0}.remove-schedule{border:0;background:none;color:#9a746b;font-size:18px;cursor:pointer;padding:10px}.remove-schedule:disabled{visibility:hidden}.form-note{background:#f5f8f5;color:#78847e;border-radius:7px;padding:11px;font-size:10px;line-height:1.55}.error-banner{background:#fff2ed;color:#9b5749;border:1px solid #f2dbd2;border-radius:7px;padding:11px 13px;margin:12px 0;font-size:11px}.loading-state{margin:auto;color:#82908a}.medicine-stat{font-size:19px;letter-spacing:-.5px}.dose-card{grid-template-columns:42px minmax(155px,1fr) minmax(140px,190px) 140px}.dose-actions{align-items:stretch}.dose-actions .taken-button{width:100%}.late-button{border:1px solid #d7e5dc;background:#f5faf6;color:#4f8068;border-radius:6px;padding:7px 4px;font:600 9px DM Sans;cursor:pointer}.status-badge{display:inline-block;margin-top:7px;border-radius:10px;padding:4px 7px;font-size:9px;background:#f0f3f1;color:#7d8782}.status-badge.confirmed{background:#eaf5ee;color:#4d8c66}.status-badge.uncertain{background:#fff2e8;color:#bd7b4c}.status-badge.missed{background:#fff0eb;color:#bd6f5b}.confirmed-time,.saved-note{display:block;color:#78877f;font-size:9px;margin-top:5px}.dose-note{font-size:10px;padding:7px}.uncertain-button{color:#b27a4e}.history-check.pending{background:#f0f3f1;color:#78847e}.history-check.uncertain{background:#fff2e8;color:#bd7b4c}.history-check.taken_late{background:#edf5ef;color:#4f8b67}.inventory-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.low-stock{background:#fff0e8;color:#b86d4b}.receipt-link{color:#4d8a71;text-decoration:none}.topbar .text-button{font-size:11px;cursor:pointer}.photo-slot{position:relative}.photo-slot.has-photo:after{content:"Saved";position:absolute;right:3px;bottom:3px;background:#163b2bbb;color:white;padding:2px 4px;border-radius:3px;font-size:8px}.late-button:disabled,.skip-button:disabled,.taken-button:disabled{opacity:.55;cursor:wait}@media(max-width:760px){.dose-card{grid-template-columns:34px 1fr}.dose-proof{grid-column:2}.dose-actions{grid-column:2;display:grid}.dose-actions,.schedule-edit-row{grid-template-columns:1fr 1fr}.schedule-edit-row label:first-child{grid-column:span 2}.schedule-edit-row .remove-schedule{position:absolute}.inventory-actions{grid-template-columns:1fr}.setup-page{padding-top:35px}.setup-modal{padding:21px}}.signin-page{max-width:480px;padding-top:9vh}.signin-page h1{margin-top:14px}.signin-form{background:#fff;border:1px solid #e8efea;border-radius:14px;padding:24px;box-shadow:0 10px 38px #1637280b}.signin-form label{display:block;font-size:11px;font-weight:700;color:#5d6a63;margin:0 0 14px}.signin-form input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #dfe8e1;border-radius:7px;font:13px DM Sans;outline-color:#78a88c}.auth-actions{display:flex;align-items:center;gap:17px;color:#63716a}.auth-actions,.auth-actions .text-button{font-size:11px}.signin-page>.form-note{line-height:1.6;margin-top:14px}.purchase-proof-field{margin-top:14px}.purchase-proof-label{display:block;font-size:10px;font-weight:700;color:#5d6a63}.purchase-proof-field>p{font-size:10px;color:#82908a;margin:5px 0 0}.receipt-upload{margin:9px 0 5px}.purchase-proof-help,.selected-proof{display:block;font-size:9px;color:#82908a;line-height:1.5}.selected-proof{color:#4c735f;margin-top:5px;overflow-wrap:anywhere}.field-error{margin-top:6px;color:#a34838;font-size:10px;line-height:1.4}.photo-pair{align-items:flex-start}.photo-slot-wrap{width:76px;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:4px}.photo-slot{padding:0;cursor:default;flex:none}.photo-slot.has-photo{border-style:solid;cursor:zoom-in}.photo-slot.has-photo:disabled,.photo-slot.no-photo{cursor:default}.photo-slot:focus-visible,.photo-upload-button:focus-visible,.photo-viewer button:focus-visible{outline:3px solid #75a98d;outline-offset:2px}.photo-upload-button{border:0;background:none;color:#4d806a;padding:2px 0;font:600 8px DM Sans;cursor:pointer}.photo-file-input{display:none}.photo-viewer-backdrop{position:fixed;inset:0;background:#10231dcc;display:grid;place-items:center;padding:20px;z-index:10}.photo-viewer{position:relative;width:min(100%,1000px);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:14px;padding:26px;box-shadow:0 18px 60px #07140f66}.photo-viewer h2{font:700 19px Manrope,sans-serif;margin:7px 35px 8px 0}.photo-viewer-meta,.photo-viewer-note,.photo-viewer-time{font-size:11px;line-height:1.5;color:#718078;margin:5px 0}.photo-viewer-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:15px 0 10px}.photo-viewer-controls button{min-width:34px;min-height:32px;border:1px solid #dce7df;border-radius:6px;background:#f8fbf9;color:#3c6f59;font:600 12px DM Sans;cursor:pointer}.photo-viewer-controls button:disabled{opacity:.45;cursor:default}.photo-viewer-controls span{min-width:44px;text-align:center;font-size:10px;color:#637169}.photo-viewer-image-wrap{width:100%;height:min(62vh,680px);overflow:auto;display:grid;place-items:center;background:#f5f8f6;border:1px solid #e8efea;border-radius:8px}.photo-viewer-image-wrap img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center;transition:transform .15s ease}.photo-viewer-note{text-align:center;margin-top:10px;font-size:10px}.photo-load-error{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;color:#6e7b74;font-size:11px}.photo-load-error b{color:#8f4e43}.photo-load-error .text-button{cursor:pointer}@media(max-width:760px){.photo-viewer-backdrop{padding:10px}.photo-viewer{max-height:calc(100vh - 20px);padding:20px}.photo-viewer-image-wrap{height:55vh}.photo-viewer-controls{gap:7px}}.photo-viewer-image-wrap{position:relative}.photo-loading{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:#f5f8f6;color:#718078;font-size:11px}.medicine-picker{display:flex;align-items:center;gap:6px;font-size:10px;color:#63716a}.medicine-picker select{max-width:190px;border:1px solid #e1e9e4;border-radius:6px;background:#fff;color:#3c4b43;padding:7px;font:11px DM Sans}.legacy-import{min-height:auto;margin:16px 0;padding:14px;background:#f7faf8;border:1px solid #e5eee8;border-radius:8px}.legacy-import p{font-size:10px;color:#78847e;margin:5px 0 10px}.dose-info h3{overflow-wrap:anywhere}.auth-actions{flex-wrap:wrap}