:root{font-family:Segoe UI,system-ui,sans-serif;color:#263c32;background:#f7f8f4;--green:#244c3c;--muted:#6c776f;--border:#e0e5dc}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,summary{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #af802b;outline-offset:3px}[hidden]{display:none!important}.preview{background:#e9eee6;padding:10px 30px;font-size:10px;font-weight:750;letter-spacing:1.4px;color:#52624f;text-align:center}.preview span{font-weight:400;letter-spacing:0;margin-left:15px;font-size:12px}.shell{display:grid;grid-template-columns:246px 1fr;min-height:calc(100vh - 36px)}aside{padding:37px 23px 22px;background:white;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:48px}.brand{display:flex;gap:12px;text-decoration:none;color:var(--green);font-size:21px;font-weight:700;letter-spacing:-.5px}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.brand-icon{font-size:34px;line-height:1;background:#eef3e8;padding:8px;border-radius:12px}nav{display:grid;gap:8px}nav button{border:0;background:transparent;border-radius:9px;text-align:left;padding:14px 16px;color:#667468;font-size:19px;display:flex;align-items:center;gap:13px}nav button span{font-size:14px}nav button.active{background:#eaf0e6;color:var(--green);font-weight:650}.badge{margin-left:auto;font-size:11px!important;background:#d9e3d1;padding:2px 7px;border-radius:12px}.shelf-note{margin-top:25px;background:#f6f5ee;border:1px solid #e8e6d8;border-radius:12px;padding:20px 16px}.shelf-note>span{font-size:9px;letter-spacing:1.5px;color:#7f816b}.shelf-note strong{display:block;margin-top:12px;font-family:Georgia,serif;font-size:20px;font-weight:400}.shelf-note p{font-size:12px;line-height:1.7;color:var(--muted)}.shelf-note div{font-size:14px;margin-top:20px}.shelf-note small{display:block;font-size:10px;color:var(--muted);margin-top:8px}footer{margin-top:auto;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6a8c5a;margin-right:7px}main{min-width:0;width:100%;max-width:1440px;padding:44px 48px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#7f8775}h1{font-family:Georgia,serif;font-weight:400;font-size:39px;letter-spacing:-1.1px;margin:12px 0}header p:last-child{font-size:14px;color:var(--muted);margin:12px 0}.primary,.secondary{border-radius:8px;padding:12px 18px;border:1px solid var(--border);font-size:13px;font-weight:600}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#37634e}.secondary{background:white;color:var(--green)}.secondary:hover{background:#f0f3ec}.summary{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--border);border-radius:12px;margin:30px 0;padding:25px 0}.summary>div{padding:0 25px;border-right:1px solid var(--border)}.summary>div:last-child{border:0}.summary span{display:block;font-size:10px;letter-spacing:1.3px;color:#7e897b}.summary strong{display:block;font-family:Georgia,serif;font-size:35px;font-weight:400;margin:8px 0}.summary small{color:#899084;font-size:11px}.tools{display:flex;gap:12px}.search-wrap{position:relative;flex:1;min-width:0}.search{background:white;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 16px}.search>span{font-size:28px;color:#82907d}.search input{border:0;min-width:0;width:100%;padding:15px 0;background:transparent;font-size:13px}.filter select{height:100%;background:white;border:1px solid var(--border);border-radius:8px;padding:0 14px;max-width:220px;color:#51664f}
#search-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:5;border:1px solid #ced9c7;border-radius:9px;background:white;box-shadow:0 8px 25px #18302420;max-height:320px;overflow-y:auto;padding:5px}.search-option{padding:11px 13px;border-radius:6px;cursor:pointer}.search-option:hover,.search-option.selected{background:#eaf0e6}.search-option strong{display:block;font-size:13px;font-weight:600}.search-option small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.search-no-results{padding:16px;font-size:13px;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:26px 0 16px}.section-heading h2{margin:0}h2{font-size:17px;font-weight:650}.section-heading>span,.section-heading h2 span{font-size:11px;color:#87907e;font-weight:400}.section-heading h2 span{margin-left:8px}.items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.item{background:white;border:1px solid var(--border);border-radius:11px;padding:20px;min-width:0}.item-top{display:flex;align-items:flex-start;gap:13px}.item-icon{display:grid;place-items:center;width:47px;height:51px;background:#f0f1e6;border-radius:9px;flex-shrink:0;color:#73836c;font-size:25px}.item.medical .item-icon{background:#e9eef0;color:#71848c}.item h3{font-size:14px;line-height:1.45;margin:1px 0 7px;font-weight:650}.item-location{font-size:11px;color:#7d8776;margin-top:5px}.location-pill{display:inline-block;color:#3a6243;background:#eef3e7;border:1px solid #e0e9d6;padding:3px 7px;border-radius:5px;font-size:11px;font-weight:650;margin-right:6px}.item-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;padding-top:15px;border-top:1px solid #f0f1eb}.quantity{font-size:19px;font-weight:650}.quantity.unknown{font-size:12px;color:#928c73;font-weight:400}.quantity small{font-size:11px;font-weight:400;color:#92978a;margin-left:5px}.item-actions{display:flex;gap:6px}.item-actions button{padding:8px 11px;font-size:12px}.edit-item{border:0;background:transparent;color:#738069;font-size:11px;padding:7px 0 0;text-decoration:underline}.expiry,.alert-label{font-size:11px;margin:12px 0 0;color:#8b6737}.alert-label{background:#fbf2de;display:inline-block;padding:4px 7px;border-radius:4px}.empty{grid-column:1/-1;padding:40px;background:white;border:1px dashed var(--border);border-radius:10px;color:var(--muted);text-align:center;line-height:1.8;font-size:14px}.bottom-note{text-align:center;font-family:Georgia,serif;font-style:italic;color:#99a08f;font-size:13px;margin-top:34px}.help{font-size:13px;line-height:1.8;color:var(--muted)}
.location-tree{display:grid;gap:12px;margin-top:20px}.location-node{min-width:0}.root-location{background:white;border:1px solid var(--border);border-radius:11px;overflow:hidden}.location-node summary{display:flex;align-items:center;gap:13px;padding:16px 20px;list-style:none;border-radius:6px}.location-node summary::-webkit-details-marker{display:none}.location-node summary:hover{background:#f0f4eb}.tree-arrow{font-size:25px;color:#74866d;transition:transform .15s}details[open]>.location-contents{border-top:1px solid #edf0e8}details[open]>summary>.tree-arrow{transform:rotate(90deg)}.tree-label{min-width:0;flex:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px}.tree-label strong{font-size:16px;font-weight:650}.tree-label>span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}summary>small{color:var(--muted);font-size:11px;white-space:nowrap}.location-contents{padding:0 12px 12px 28px}.location-actions{display:flex;flex-wrap:wrap;gap:7px;padding:13px 8px}.location-actions button{padding:8px 10px;font-size:11px}.location-directions{padding-left:10px;font-size:12px}.location-contents .location-node{border-left:2px solid #e4ebdc}
.activity{padding:17px;background:white;border-bottom:1px solid var(--border);font-size:13px;display:flex;justify-content:space-between;gap:20px}.activity small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.activity strong{white-space:nowrap}dialog{border:1px solid var(--border);border-radius:14px;padding:25px;width:min(480px,calc(100% - 28px));color:#263c32;max-height:90vh}dialog::backdrop{background:#18302470;backdrop-filter:blur(2px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dialog-heading h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0}.icon-button{background:transparent;border:0;font-size:26px;color:#6b7a6c;padding:5px 9px}#dialog-fields label{display:block;font-size:12px;font-weight:600;margin:16px 0}#dialog-fields input,#dialog-fields select{display:block;width:100%;border:1px solid #cfd8c9;background:white;border-radius:7px;padding:11px;margin-top:7px;color:#263c32}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.error{font-size:12px;color:#a44532;line-height:1.6}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:13px 23px;border-radius:8px;box-shadow:0 5px 25px #0002;font-size:13px;z-index:10}#connection{padding:13px;background:#fff2dd;color:#8b5c25;border-radius:8px;font-size:13px;margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.item-photo{width:64px;height:74px;object-fit:contain;border:1px solid var(--border);border-radius:9px;background:#fff;flex-shrink:0}.photo-editor{padding:12px;background:#f5f7f0;border:1px solid var(--border);border-radius:9px}.photo-preview{display:block;width:100%;height:140px;object-fit:contain;margin-bottom:12px;background:white;border-radius:7px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.file-button,#dialog-fields label.file-button{display:inline-block;position:relative;margin:0;font-size:12px;font-weight:600;cursor:pointer}.file-button:focus-within{outline:3px solid #af802b;outline-offset:3px}.photo-actions .secondary{padding:10px 12px}.photo-editor .help{font-size:11px;margin-bottom:0}#scanner-video{width:100%;max-height:280px;background:#18261d;border-radius:9px;margin-bottom:12px}#barcode-form{display:grid;gap:12px;margin-top:18px}.barcode-manual{font-size:12px;font-weight:600}.barcode-manual input{display:block;width:100%;padding:12px;border:1px solid var(--border);border-radius:7px;margin-top:7px}#scanner-dialog{width:min(500px,calc(100% - 28px))}#scan-inventory{white-space:nowrap}
.photo-thumbnail{position:relative;display:block;flex-shrink:0;padding:0;border:0;border-radius:9px;background:white;cursor:zoom-in;line-height:0}.photo-thumbnail:hover{box-shadow:0 0 0 2px #8caa7c}.photo-thumbnail .item-photo{display:block}.photo-expand-icon{position:absolute;bottom:2px;right:2px;display:grid;place-items:center;width:19px;height:19px;border-radius:4px;background:#244c3ce8;color:white;font-size:17px;line-height:1}#photo-viewer{width:min(880px,calc(100% - 24px));max-height:94dvh;padding:20px}#photo-viewer .dialog-heading{gap:12px;align-items:flex-start}#photo-viewer-title{font-size:clamp(20px,4vw,30px);line-height:1.25;overflow-wrap:anywhere}#close-photo-viewer{flex-shrink:0;min-width:44px;min-height:44px}#photo-viewer-location{margin:0 0 16px}#expanded-photo{display:block;width:100%;height:min(68dvh,720px);object-fit:contain;background:#f7f8f4;border-radius:9px}body:has(#photo-viewer[open]){overflow:hidden}

@media(min-width:1500px){main{padding:50px 70px}.items{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px){.shell{grid-template-columns:195px 1fr}aside{padding:30px 15px}.brand{font-size:17px;gap:8px}.brand-icon{font-size:26px}main{padding:28px}.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.items{grid-template-columns:1fr}h1{font-size:32px}.summary>div{padding:0 14px}.summary small{font-size:10px}}@media(max-width:650px){.preview{padding:8px 12px}.preview span{display:block;margin:4px 0 0;font-size:10px}.shell{display:block}aside{padding:17px 18px;gap:18px;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:19px}.brand-icon{font-size:24px}.brand small{font-size:10px}nav{display:flex;gap:3px}nav button{padding:10px;flex:1;justify-content:center;gap:6px;font-size:14px}nav button span{font-size:11px}.badge{margin-left:0}.shelf-note,footer{display:none}main{padding:25px 17px}header{align-items:flex-start;gap:12px}h1{font-size:29px}.eyebrow{font-size:8px;letter-spacing:1px}header .primary{white-space:nowrap;padding:11px;font-size:11px;margin-top:31px}header p:last-child{font-size:12px;line-height:1.6}.summary{margin:22px 0;padding:18px 0}.summary>div{padding:0 10px}.summary span{font-size:8px;letter-spacing:.5px}.summary strong{font-size:28px}.summary small{display:block;font-size:9px;line-height:1.5}.tools{flex-direction:column}.filter select{padding:12px;width:100%;max-width:none}.section-heading>span{font-size:9px}.section-heading h2{font-size:15px}.item{padding:17px}.location-grid{grid-template-columns:1fr 1fr}.section-heading .primary{font-size:11px;padding:10px}.activity{padding:14px 10px}.activity strong{font-size:11px}.bottom-note{font-size:12px}}
#photo-viewer-location{text-align:center;font-size:clamp(18px,3vw,24px);font-weight:700;line-height:1.4;color:var(--green)}
.auth-screen{min-height:calc(100vh - 40px);display:grid;place-items:center;padding:30px 16px}.auth-card{width:min(460px,100%);padding:30px;background:white;border:1px solid var(--border);border-radius:16px;box-shadow:0 15px 50px #244c3c0a}.auth-card .brand{margin-bottom:30px}.auth-card h1{font-size:32px}.auth-card label,#household-dialog label{display:block;font-size:13px;font-weight:600;margin:17px 0}.auth-card input,#household-dialog input,#household-dialog select,#household-dialog textarea{display:block;width:100%;margin-top:7px;border:1px solid #cfd8c9;border-radius:7px;padding:12px;background:white;color:#263c32;font:inherit}.auth-card input[readonly]{background:#f4f6ef}.auth-card form>.primary{width:100%;margin-top:8px}.auth-help{font-size:11px;margin-top:24px}.household-button{text-align:left;overflow-wrap:anywhere}.household-button strong,.household-button span,.household-button small{display:block}.household-button span{font-size:12px;font-weight:400;margin:7px 0}.household-button small{font-size:10px;color:var(--muted);font-weight:400}#household-members p{padding-bottom:12px;border-bottom:1px solid var(--border);font-size:13px;line-height:1.7}#household-members small,#household-members span{color:var(--muted);font-size:11px}.member-heading{font-size:14px;margin-top:24px}#invitation-link{font-size:12px;overflow-wrap:anywhere}#sign-out{margin-top:18px}
