:root{--ink:#38281f;--muted:#7b6d63;--forest:#b84e22;--green:#ad5d00;--sage:#f3e3bb;--cream:#fbf4e7;--paper:#fffdf7;--line:#eadcc8;--gold:#e5a21a;--shadow:0 14px 42px rgba(116,61,26,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh}.topbar{height:76px;padding:0 clamp(20px,5vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(255,254,250,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;color:var(--forest);text-decoration:none;font:26px 'DM Serif Display',serif}.brand-mark{display:grid;place-items:center;width:34px;height:38px;border-radius:48% 48% 45% 45%;background:var(--forest);color:white;font:700 19px 'DM Sans';position:relative}.brand-mark:after{content:'';position:absolute;width:5px;height:8px;background:var(--forest);bottom:-5px}.household-pill{background:#eef2ea;color:#526258;padding:9px 14px;border-radius:99px;font-size:13px;font-weight:600}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58a46e;margin-right:7px}.avatar{justify-self:end;border:0;background:#dce4d9;color:var(--forest);width:38px;height:38px;border-radius:50%;font-weight:700;cursor:pointer}.dashboard{max-width:1240px;margin:auto;padding:0 34px 70px}.hero{text-align:center;padding:70px 0 48px}.eyebrow,.section-kicker{color:#75856f;font-size:11px;font-weight:700;letter-spacing:.18em}.hero h1{font:clamp(42px,6vw,72px)/1.02 'DM Serif Display',serif;letter-spacing:-.03em;margin:17px 0 12px}.hero h1 em{color:var(--green);font-weight:400}.hero>p{color:var(--muted);font-size:18px;margin:0 0 34px}.search-box{max-width:670px;height:64px;margin:auto;background:var(--paper);display:flex;align-items:center;padding:0 17px 0 22px;border:1px solid #dcded6;border-radius:18px;box-shadow:0 10px 35px rgba(38,67,48,.08);transition:.2s}.search-box:focus-within{border-color:#7da18a;box-shadow:0 12px 38px rgba(38,67,48,.14)}.search-box>span{font-size:27px;color:#557063}.search-box input{border:0;outline:0;background:transparent;flex:1;padding:0 15px;font:500 16px 'DM Sans';color:var(--ink)}.search-box input::placeholder{color:#98a098}.search-box kbd{font:12px 'DM Sans';color:#7b857e;border:1px solid #d8dcd6;padding:5px 8px;border-radius:7px;background:#f8f8f4}.search-box button{border:0;background:transparent;color:#68766e;font-size:24px;cursor:pointer}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:670px;margin:18px auto 0}.action{text-align:left;display:grid;grid-template:20px 20px/34px 1fr;column-gap:7px;align-items:center;border:1px solid #dfe2da;border-radius:13px;background:rgba(255,255,255,.48);padding:13px 14px;color:var(--ink);cursor:pointer;transition:.18s}.action:hover{transform:translateY(-2px);background:white;box-shadow:var(--shadow)}.action>span{grid-row:1/3;display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#e1e9df;color:var(--green);font-size:18px}.action b{font-size:13px}.action small{color:#879188;font-size:10px}.action.primary{background:var(--forest);color:white;border-color:var(--forest)}.action.primary>span{background:#315a44;color:white}.action.primary small{color:#c0d0c5}.toast{position:fixed;top:90px;left:50%;transform:translateX(-50%);z-index:30;background:var(--forest);color:white;border-radius:99px;padding:11px 20px;box-shadow:var(--shadow);font-size:14px}.loading,.empty-state{text-align:center;padding:70px;color:var(--muted)}.content-section{padding:33px 0 50px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:21px}.section-heading h2,.inventory-summary h2,.sheet h2{font:32px 'DM Serif Display',serif;margin:5px 0 0}.section-heading a{color:var(--green);font-size:13px;font-weight:700;text-decoration:none}.section-heading a span{margin-left:5px}.count{font-size:13px;color:var(--muted)}.location-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.location-card{border-radius:15px;background:var(--paper);border:1px solid #e3e3db;overflow:hidden;box-shadow:0 4px 18px rgba(30,55,40,.035);transition:.2s;cursor:pointer}.location-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.location-art{height:112px;background:#dfe7dc;display:grid;place-items:center;position:relative;overflow:hidden}.location-art:before,.location-art:after{content:'';position:absolute;border:1px solid rgba(33,74,52,.16);border-radius:50%;width:150px;height:80px;transform:rotate(-20deg)}.location-art:after{width:210px;height:110px;transform:rotate(17deg)}.location-art span{z-index:1;font-size:42px;color:#416b50}.location-art.building{background:#e6dccb}.location-art.zone{background:#d6e5dc}.location-art.shelf{background:#dfddd2}.location-info{padding:16px}.location-info h3,.result-card h3,.timeline h3{margin:0 0 5px;font-size:15px}.location-info p,.result-card p,.timeline p{margin:0;color:var(--muted);font-size:12px}.location-info small{display:block;color:#9aa198;font-size:10px;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.split-section{display:grid;grid-template-columns:1.5fr 1fr;gap:34px;padding:38px 0;border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.timeline-icon{display:grid;place-items:center;width:36px;height:36px;background:#e4ece1;color:var(--green);border-radius:11px}.timeline time{font-size:11px;color:#929b94}.inventory-summary{background:var(--forest);color:white;border-radius:20px;padding:29px;align-self:start;box-shadow:var(--shadow)}.inventory-summary .section-kicker{color:#aec5b5}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 26px}.stats div{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.15);padding-left:16px}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong{font:30px 'DM Serif Display',serif}.stats span{font-size:10px;color:#b8cbbd}.tip{display:flex;gap:12px;background:rgba(255,255,255,.08);padding:14px;border-radius:13px}.tip>span{color:#edcc81}.tip b{font-size:12px}.tip p{font-size:11px;line-height:1.5;color:#c6d4c9;margin:4px 0 0}.result-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.result-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px}.result-card small{display:block;color:#829087;font-size:11px;margin-top:6px}.item-icon,.box-icon,.place-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e5ece1;color:#477057}.box-icon{background:#eee6d6;color:#8b7043}.place-icon{background:#e2e7e4;color:#567165}.chevron{font-size:26px;color:#9ca49e}.qty{font-size:11px;background:#e3ebe0;color:#51705a;padding:3px 6px;border-radius:99px;margin-left:4px}.empty-state span{font-size:42px}.empty-state h3{font:26px 'DM Serif Display';margin:10px}.sheet-backdrop{position:fixed;inset:0;background:rgba(14,30,22,.4);backdrop-filter:blur(4px);z-index:39}.sheet{position:fixed;right:0;top:0;bottom:0;width:min(440px,100%);z-index:40;background:var(--paper);padding:52px 38px;box-shadow:-20px 0 70px rgba(13,36,23,.2);animation:slidein .25s ease-out}.sheet-close{position:absolute;right:25px;top:22px;border:0;background:#edf0e9;width:35px;height:35px;border-radius:50%;font-size:22px;color:#617067;cursor:pointer}.sheet-handle{display:none}.sheet-intro{color:var(--muted);font-size:14px;margin:5px 0 28px}.sheet label{display:flex;flex-direction:column;gap:7px;margin:17px 0;color:#41574a;font-size:12px;font-weight:700}.sheet input,.sheet select{width:100%;height:50px;border:1px solid #daddd5;border-radius:10px;background:white;padding:0 13px;font:14px 'DM Sans';color:var(--ink);outline:none}.sheet input:focus,.sheet select:focus{border-color:#6e947a}.form-row{display:grid;grid-template-columns:1fr 2fr;gap:12px}.submit-button{width:100%;height:52px;margin-top:14px;border:0;border-radius:11px;background:var(--forest);color:white;font:700 14px 'DM Sans';cursor:pointer}.submit-button:disabled{opacity:.45;cursor:not-allowed}.scan-illustration{display:grid;place-items:center;height:190px}.scan-ring{display:grid;place-items:center;width:108px;height:108px;border:2px solid #82a28d;border-radius:50%;font-size:47px;color:var(--green);box-shadow:0 0 0 18px #e6ede3,0 0 0 36px #f1f3ec}.scan-copy{text-align:center;color:var(--muted);font-size:14px;line-height:1.6}.mobile-nav{display:none}#blazor-error-ui{color-scheme:light;background:#fff3cd;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);box-sizing:border-box;display:none;left:0;padding:.6rem 1.25rem;position:fixed;width:100%;z-index:1000}@keyframes slidein{from{transform:translateX(100%)}to{transform:none}}

@media(max-width:760px){.topbar{height:64px;padding:0 17px;grid-template-columns:1fr auto}.brand{font-size:23px}.household-pill{display:none}.avatar{width:34px;height:34px}.dashboard{padding:0 17px 90px}.hero{padding:45px 0 32px;text-align:left}.hero h1{font-size:44px}.hero>p{font-size:15px;line-height:1.5}.search-box{height:58px;border-radius:15px}.search-box kbd{display:none}.quick-actions{grid-template-columns:1fr 1fr}.action{min-height:60px}.action:nth-child(3){grid-column:1/3}.location-grid{grid-template-columns:1fr 1fr;gap:11px}.location-art{height:88px}.location-info{padding:13px}.location-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.split-section{grid-template-columns:1fr}.result-list{grid-template-columns:1fr}.section-heading h2,.inventory-summary h2{font-size:27px}.section-heading a{font-size:11px}.mobile-nav{position:fixed;display:flex;justify-content:space-around;align-items:center;left:0;right:0;bottom:0;height:70px;background:rgba(255,254,250,.96);border-top:1px solid var(--line);z-index:25;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;gap:3px;align-items:center;color:#88918b;text-decoration:none;font-size:9px;font-weight:600}.mobile-nav a span{font-size:21px}.mobile-nav a.active{color:var(--green)}.sheet{top:auto;width:100%;height:auto;max-height:91vh;border-radius:24px 24px 0 0;padding:34px 24px 28px;animation:slideup .25s ease-out}.sheet-handle{display:block;position:absolute;top:10px;left:calc(50% - 20px);width:40px;height:4px;background:#d4d8d0;border-radius:99px}@keyframes slideup{from{transform:translateY(100%)}to{transform:none}}}

@media(max-width:430px){.hero h1{font-size:39px}.location-grid{grid-template-columns:1fr}.location-card{display:grid;grid-template-columns:92px 1fr}.location-art{height:100%}.quick-actions{gap:8px}.action{padding:11px}.stats strong{font-size:25px}}

/* Harvest palette */
.household-pill{background:#fbebc2;color:#795a28}.online-dot{background:#e18a20}.avatar{background:#f4dfc6}.search-box:focus-within{border-color:#d99a38;box-shadow:0 12px 38px rgba(140,77,29,.15)}.search-box>span{color:#9b6535}.action>span{background:#fae9d5;color:#b45c21}.action.primary>span{background:#d66b31}.action.primary small{color:#f9dfce}.location-art{background:#f4dda2}.location-art:before,.location-art:after{border-color:rgba(128,71,25,.18)}.location-art span{color:#a45b24}.location-art.building{background:#f0c982}.location-art.zone{background:#f3d7ac}.location-art.shelf{background:#ead9b9}.location-info small,.result-card small{color:#988272}.timeline-icon{background:#fae4cc;color:#b65a22}.item-icon{background:#fae0ca;color:#b64f1e}.box-icon{background:#f6e5b6;color:#986318}.place-icon{background:#f2d79f;color:#a45d20}.qty{background:#f8e1c8;color:#a85020}.inventory-summary .section-kicker{color:#f8d8b7}.stats span{color:#f6d8c5}.tip p{color:#f8dfcf}.sheet input:focus,.sheet select:focus{border-color:#d58a34}.scan-ring{border-color:#dd9c4d;box-shadow:0 0 0 18px #f8e7cf,0 0 0 36px #fbf0df}

.avatar{display:grid;place-items:center;text-decoration:none}.card-link{color:inherit;text-decoration:none}.page-container{max-width:1120px;margin:0 auto;padding:54px 34px 90px}.page-header,.detail-header{padding:24px 0 42px}.page-header h1,.detail-header h1{font:clamp(42px,6vw,64px)/1 'DM Serif Display',serif;margin:12px 0}.page-header>p,.detail-header>p{color:var(--muted);font-size:16px}.back-link{display:inline-block;color:var(--green);font-size:13px;font-weight:700;text-decoration:none;margin-bottom:34px}.page-search{margin:28px 0 0;max-width:720px}.page-section{padding:34px 0;border-top:1px solid var(--line)}.place-tree{display:flex;flex-direction:column;gap:10px}.place-row{margin-left:calc(var(--depth) * 25px);display:grid;grid-template-columns:48px 1fr auto 22px;gap:14px;align-items:center;padding:15px 18px;background:var(--paper);border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;transition:.18s}.place-row:hover{transform:translateX(4px);box-shadow:var(--shadow)}.place-row-icon{width:42px;height:42px;display:grid;place-items:center;background:#f6e2b7;color:var(--green);border-radius:11px;font-size:20px}.place-row h2{font-size:15px;margin:0 0 4px}.place-row p,.place-meta{font-size:11px;color:var(--muted);margin:0}.detail-header{position:relative}.detail-header .breadcrumb{font-size:13px}.detail-stats{display:flex;gap:12px;margin-top:25px}.detail-stats span{background:#f6e8d1;padding:10px 14px;border-radius:10px;color:#7b644f;font-size:12px}.detail-stats strong{color:var(--ink);font-size:15px}.secondary-button{border:1px solid var(--forest);background:transparent;color:var(--forest);border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;margin-top:15px}.inline-empty{padding:28px;border:1px dashed #dbc9b2;border-radius:14px;color:var(--muted);text-align:center;background:rgba(255,255,255,.35)}.move-panel{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end;background:#f5e4c8;border-radius:17px;padding:22px;margin-bottom:28px}.move-panel h2{font:25px 'DM Serif Display';margin:5px 0}.move-panel select{height:48px;border:1px solid #d7bea0;border-radius:10px;background:white;padding:0 12px}.submit-button.compact{width:auto;padding:0 22px;margin:0}.text-button{border:0;background:transparent;color:var(--muted);font-weight:700;padding:12px;cursor:pointer}.inline-toast{position:static;transform:none;display:inline-block;margin-bottom:20px}.activity-page{max-width:780px}.settings-card{display:flex;gap:18px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:24px}.settings-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:white;font-weight:700}.settings-card h2{margin:0;font:25px 'DM Serif Display'}.settings-card p{margin:4px 0;color:var(--muted)}

@media(max-width:760px){.page-container{padding:30px 17px 95px}.page-header,.detail-header{padding:15px 0 30px}.page-header h1,.detail-header h1{font-size:43px}.place-row{margin-left:calc(var(--depth) * 8px);grid-template-columns:42px 1fr 18px}.place-meta{display:none}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr)}.detail-stats span{text-align:center;padding:9px 5px}.detail-stats strong{display:block}.move-panel{grid-template-columns:1fr}.move-panel .submit-button{width:100%}}

.brand{height:62px}.tree-logo{display:block;width:230px;height:62px;overflow:visible}.logo-mark{stroke-linecap:round;stroke-linejoin:round}.box{fill:#f5dfa9;stroke:var(--forest);stroke-width:1.2}.box.alt{fill:#efc97e}.box-top{fill:var(--gold)}.box-detail{fill:none;stroke:#a75b26;stroke-width:.8}.shelf-plank{fill:var(--forest)}.shelf-brace{fill:none;stroke:var(--forest);stroke-width:1.7}.tree-trunk-organic{fill:#9c552c;stroke:var(--forest);stroke-width:1.2}.tree-rings{fill:none;stroke:#d99650;stroke-width:1}.tree-roots{fill:none;stroke:var(--forest);stroke-width:1.7}.logo-wordmark{font-family:'DM Serif Display',Georgia,serif;font-size:29px;fill:var(--ink);letter-spacing:-.4px}

@media(max-width:760px){.brand{height:56px}.tree-logo{width:195px;height:54px}.topbar{overflow:visible}}

.narrow-page{max-width:850px}.primary-link-button,.secondary-link-button{display:inline-block;border-radius:10px;padding:12px 17px;font-size:13px;font-weight:700;text-decoration:none;margin-top:16px}.primary-link-button{background:var(--forest);color:white}.secondary-link-button{border:1px solid var(--forest);color:var(--forest);background:transparent}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.editor-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.editor-card h2{font:28px 'DM Serif Display';margin:6px 0 20px}.editor-card label{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;color:#6d5647;font-size:12px;font-weight:700}.editor-card input,.editor-card select{height:52px;border:1px solid #ddccb9;border-radius:10px;background:white;padding:0 14px;font:14px 'DM Sans';color:var(--ink);outline:none}.editor-card input:focus,.editor-card select:focus{border-color:#d58a34}.form-actions{display:flex;align-items:center;gap:9px}.form-actions .submit-button{width:auto;padding:0 25px;margin:0}.move-editor{margin-bottom:28px}.item-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 36px}.item-facts div{display:flex;flex-direction:column;gap:7px;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:18px}.item-facts span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.item-facts strong{font-size:15px}.section-title{font:30px 'DM Serif Display';margin:8px 0}.muted-copy{color:var(--muted);line-height:1.6;font-size:14px;max-width:650px}

@media(max-width:600px){.item-facts{grid-template-columns:1fr}.editor-card{padding:21px}.header-actions{display:grid}.primary-link-button,.secondary-link-button{text-align:center}.form-actions{align-items:stretch;flex-direction:column}.form-actions .submit-button{width:100%}}

.danger-zone{margin-top:38px;padding:22px 0;border-top:1px solid #e6c9bd;display:flex;justify-content:space-between;gap:20px;align-items:center}.danger-zone h2{font-size:15px;margin:0 0 5px;color:#8f3d25}.danger-zone p{font-size:12px;color:var(--muted);margin:0}.danger-button,.danger-outline{border-radius:9px;padding:10px 14px;font:700 12px 'DM Sans';cursor:pointer}.danger-button{border:0;background:#a33f25;color:white}.danger-outline{border:1px solid #c77a63;background:transparent;color:#a33f25}.danger-button:disabled,.danger-outline:disabled{opacity:.38;cursor:not-allowed}.header-actions .secondary-button{margin-top:16px}

@media(max-width:600px){.danger-zone{align-items:stretch;flex-direction:column}.danger-zone>div:last-child{display:flex;gap:5px}.danger-button,.danger-outline{width:100%}}

.breadcrumb-nav{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 0 18px;color:var(--muted);font-size:13px}.breadcrumb-nav a{color:#8e5123;text-decoration:none;border-bottom:1px solid transparent;padding:3px 1px;transition:.15s}.breadcrumb-nav a:hover{color:var(--forest);border-bottom-color:var(--gold)}.breadcrumb-nav a:last-of-type{font-weight:700;color:var(--ink)}.breadcrumb-pin{color:var(--green);font-size:17px;margin-right:2px}.breadcrumb-separator{color:#bda997;font-size:11px}
.breadcrumb-nav .breadcrumb-index{font-weight:700;color:var(--green)}
.detail-header>.section-kicker{display:block}
.page-header>.back-link{display:block;width:max-content;margin-bottom:14px}
.page-header>.section-kicker{display:block}
h1:focus{outline:none}
.account-link{text-decoration:none;justify-self:center}.account-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:48px 22px;background:radial-gradient(circle at 50% 18%,#fff9eb 0,transparent 42%)}.account-card{width:min(460px,100%);background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:0 22px 65px rgba(105,62,25,.1)}.account-card h1{font:clamp(36px,6vw,49px)/1.03 'DM Serif Display',serif;margin:10px 0 12px}.account-card>p{color:var(--muted);line-height:1.6;margin:0 0 24px}.account-card label{display:flex;flex-direction:column;gap:7px;margin:16px 0;color:#6d5647;font-size:12px;font-weight:700}.account-card input{height:50px;border:1px solid #ddccb9;border-radius:10px;background:white;padding:0 14px;font:14px 'DM Sans';color:var(--ink);outline:none}.account-card input:focus{border-color:#d58a34;box-shadow:0 0 0 3px rgba(213,138,52,.13)}.account-card label small{color:var(--muted);font-weight:500}.account-switch{text-align:center;color:var(--muted);font-size:13px;margin-top:22px}.account-switch a{color:var(--green);font-weight:700}.form-error{background:#f9e2da;color:#8f3d25;border-radius:10px;padding:11px 13px;font-size:13px}.account-settings-section{display:flex;align-items:center;justify-content:space-between;gap:24px}.account-settings-section .secondary-button{margin:0;white-space:nowrap}@media(max-width:600px){.account-card{padding:29px 22px}.account-settings-section{align-items:stretch;flex-direction:column}.account-settings-section .secondary-button{width:100%}}
.section-heading-actions{display:flex;align-items:center;gap:18px}
.detail-header>.breadcrumb-nav:first-child{margin:0 0 30px}

@media(max-width:600px){.breadcrumb-nav{gap:5px;font-size:12px}.breadcrumb-separator{font-size:9px}}
.action{position:relative}.action>kbd{position:absolute;right:10px;top:9px;min-width:22px;padding:3px 5px;border:1px solid rgba(82,70,56,.18);border-radius:5px;background:rgba(255,255,255,.55);color:#786d62;font:700 9px 'DM Sans';text-align:center}.action.primary>kbd{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:white}.shortcut-help-link{margin:12px auto 0;border:0;background:transparent;color:var(--muted);font:600 11px 'DM Sans';cursor:pointer}.shortcut-help-link kbd,.shortcut-list kbd{display:inline-block;border:1px solid #d8d2c8;border-radius:6px;background:#fffaf1;color:#6f6359;font:700 10px 'DM Sans';padding:4px 7px;box-shadow:0 1px 0 #e4d8c8}.shortcut-help-link kbd{margin-right:5px}.shortcut-backdrop{position:fixed;inset:0;z-index:49;background:rgba(40,29,21,.36);backdrop-filter:blur(3px)}.shortcut-guide{position:fixed;z-index:50;left:50%;top:50%;width:min(420px,calc(100% - 34px));transform:translate(-50%,-50%);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 28px 80px rgba(56,40,31,.24)}.shortcut-guide h2{font:30px 'DM Serif Display',serif;margin:7px 0 21px}.shortcut-list{display:grid}.shortcut-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.shortcut-list>div:last-child{border:0}.shortcut-guide>p{margin:18px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.account-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.account-divider::before,.account-divider::after{content:"";height:1px;flex:1;background:var(--line)}.passkey-button{width:100%;min-height:50px;border:1px solid #d7bea0;border-radius:10px;background:#fffaf1;color:var(--ink);font:700 13px 'DM Sans';cursor:pointer}.passkey-button:hover{border-color:var(--forest);background:#fff5e5}.passkey-button span{color:var(--forest);font-size:20px;margin-right:7px}.security-section{display:grid;gap:20px}.security-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.security-heading .section-title{margin:7px 0 5px}.security-heading .muted-copy{margin:0}.security-count{white-space:nowrap;background:#f6e8d1;color:#7b644f;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:700}.form-success{background:#e9f3df;color:#486d31;border-radius:10px;padding:11px 13px;font-size:13px}.passkey-list{display:grid;gap:8px}.passkey-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.passkey-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#f6e2b7;color:var(--forest);font-size:21px}.passkey-row strong,.passkey-row span{display:block}.passkey-row strong{font-size:14px}.passkey-row span{color:var(--muted);font-size:11px;margin-top:3px}.danger-text{color:#9b452d}.passkey-add-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px}.passkey-add-form label{display:flex;flex-direction:column;gap:7px;color:#6d5647;font-size:12px;font-weight:700}.passkey-add-form input{height:48px;border:1px solid #ddccb9;border-radius:10px;background:white;padding:0 14px;font:14px 'DM Sans';color:var(--ink);outline:none}.passkey-add-form input:focus{border-color:#d58a34;box-shadow:0 0 0 3px rgba(213,138,52,.13)}.passkey-add-form .submit-button{height:48px}.security-note{margin:0;color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:650px){.passkey-add-form{grid-template-columns:1fr}.passkey-add-form .submit-button{width:100%}.passkey-row{grid-template-columns:38px 1fr}.passkey-row form{grid-column:2}.security-heading{flex-direction:column}.security-count{align-self:flex-start}}
.tag-section{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}.tag-section .section-title{margin:7px 0}.tag-section .muted-copy{max-width:540px}.tag-card{width:330px;display:grid;grid-template-columns:116px 1fr;gap:16px;align-items:center;padding:15px;border:1px solid #d9c7ae;border-radius:14px;background:#fffefa;box-shadow:0 7px 24px rgba(78,48,24,.07)}.tag-card img{display:block;width:116px;height:116px;image-rendering:pixelated}.tag-card strong,.tag-card span,.tag-card small{display:block}.tag-card strong{font:22px/1.05 'DM Serif Display',serif}.tag-card span{margin-top:8px;color:var(--forest);font-size:11px;font-weight:800;letter-spacing:.12em}.tag-card small{margin-top:14px;color:var(--muted);font-size:10px}.scanner-page{max-width:780px}.scanner-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow)}.scanner-viewport{position:relative;overflow:hidden;min-height:390px;border-radius:15px;background:#2b241f}.scanner-viewport video{display:block;width:100%;height:390px;object-fit:cover}.scanner-frame{position:absolute;left:50%;top:50%;width:min(58vw,250px);aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid #f1b93e;border-radius:20px;box-shadow:0 0 0 999px rgba(24,18,14,.3)}.scanner-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-align:center}.scanner-placeholder>span{font-size:62px;color:#efbd4b}.scanner-placeholder strong{font:25px 'DM Serif Display',serif}.scanner-placeholder small{max-width:360px;margin-top:7px;color:#d2c8bf;line-height:1.5}.manual-tag-entry{margin-top:22px}.manual-tag-entry label{display:flex;flex-direction:column;gap:7px;color:#6d5647;font-size:12px;font-weight:700}.manual-tag-entry input{height:50px;border:1px solid #ddccb9;border-radius:10px;background:white;padding:0 14px;font:14px 'DM Sans';color:var(--ink);outline:none}.manual-tag-entry .secondary-button{width:100%}.manual-tag-entry .secondary-button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:720px){.tag-section{grid-template-columns:1fr}.tag-card{width:100%;max-width:360px}.scanner-card{padding:12px}.scanner-viewport,.scanner-viewport video{height:310px;min-height:310px}}@media print{body *{visibility:hidden!important}.tag-card,.tag-card *{visibility:visible!important}.tag-card{position:fixed;left:20mm;top:20mm;width:82mm;box-shadow:none;border:1px solid #777}.tag-card img{width:30mm;height:30mm}.topbar,.mobile-nav{display:none!important}}
.tag-actions{display:flex;align-items:center;gap:16px}.tag-actions a{color:var(--forest);font-size:12px;font-weight:700}.batch-controls{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.batch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.batch-toolbar>div{display:flex;align-items:center;gap:4px}.batch-toolbar .submit-button{margin:0}.batch-selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:20px}.batch-selector-grid fieldset{min-width:0;margin:0;padding:0;border:0}.batch-selector-grid legend{margin-bottom:10px;font:24px 'DM Serif Display',serif}.batch-selector-grid label{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:10px;padding:10px;border-radius:9px;cursor:pointer}.batch-selector-grid label:hover{background:#fbf3e5}.batch-selector-grid input{margin-top:3px;accent-color:var(--forest)}.batch-selector-grid strong,.batch-selector-grid small{display:block}.batch-selector-grid strong{font-size:13px}.batch-selector-grid small{margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-label-grid{display:grid;grid-template-columns:repeat(2,minmax(0,330px));gap:18px}.batch-label-grid .tag-card{width:100%}@media(max-width:720px){.batch-selector-grid,.batch-label-grid{grid-template-columns:1fr}.batch-toolbar{align-items:flex-start;flex-direction:column}.batch-toolbar>div{flex-wrap:wrap}}
@media print{.batch-print-page,.batch-print-page *{visibility:visible!important}.batch-print-page{position:absolute;inset:0;padding:0!important;max-width:none!important}.batch-print-header,.batch-controls,.batch-preview-heading,.topbar,.mobile-nav{display:none!important}.label-preview-section{border:0!important;padding:0!important}.batch-label-grid{display:grid!important;grid-template-columns:repeat(2,82mm);gap:7mm;width:max-content}.batch-label-grid .tag-card{position:static;width:82mm;min-height:42mm;break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:1px solid #777}.batch-label-grid .tag-card img{width:30mm;height:30mm}}
.link-button{display:inline-block;text-decoration:none}.nfc-page{max-width:900px}.nfc-writer-card{display:grid;grid-template-columns:250px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:var(--shadow)}.nfc-illustration{position:relative;min-height:440px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#b84e22,#db7b32);color:white}.nfc-illustration span{position:relative;z-index:2;font-size:92px}.nfc-illustration i{position:absolute;width:190px;height:190px;border:2px solid rgba(255,255,255,.34);border-radius:50%}.nfc-illustration i:last-child{width:280px;height:280px;border-color:rgba(255,255,255,.18)}.nfc-writer-content{padding:42px}.nfc-writer-content h2{font:32px 'DM Serif Display',serif;margin:7px 0 24px}.nfc-writer-content label{display:flex;flex-direction:column;gap:7px;color:#6d5647;font-size:12px;font-weight:700}.nfc-writer-content select{height:52px;border:1px solid #ddccb9;border-radius:10px;background:white;padding:0 13px;font:14px 'DM Sans';color:var(--ink)}.nfc-status{margin-top:16px;padding:11px 13px;border-radius:10px;background:#f6ead7;color:#765738;font-size:13px}.nfc-writer-content .form-success{margin-top:16px}.nfc-steps{margin:20px 0 0;padding-left:20px;color:var(--muted);font-size:12px;line-height:1.8}@media(max-width:700px){.nfc-writer-card{grid-template-columns:1fr}.nfc-illustration{min-height:170px}.nfc-illustration i{width:140px;height:140px}.nfc-illustration i:last-child{width:210px;height:210px}.nfc-writer-content{padding:28px 22px}}
.backup-section{display:flex;align-items:center;justify-content:space-between;gap:28px}.backup-section .section-title{margin:7px 0}.backup-section .muted-copy{max-width:650px;margin:0}.backup-section .secondary-link-button{white-space:nowrap}@media(max-width:650px){.backup-section{align-items:stretch;flex-direction:column}.backup-section .secondary-link-button{text-align:center}}
.tag-actions{flex-wrap:wrap}.danger-text-button{border:0;background:transparent;color:#9b452d;font:700 12px 'DM Sans';padding:6px 0;cursor:pointer}.tag-status{margin:14px 0 0;color:var(--green);font-size:12px;font-weight:700}
.active-move-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;padding:22px;border:2px solid var(--gold);border-radius:17px;background:#fff5d9}.active-move-panel h2{margin:5px 0;font:25px 'DM Serif Display',serif}.active-move-panel p{margin:0;color:var(--muted);font-size:13px}.active-move-panel>div:last-child{display:flex;align-items:center;gap:6px}@media(max-width:650px){.active-move-panel{align-items:stretch;flex-direction:column}.active-move-panel>div:last-child{align-items:stretch;flex-direction:column}.active-move-panel .submit-button{width:100%}}
.offline-queue-status{position:fixed;right:20px;bottom:20px;z-index:35;display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:center;min-width:260px;padding:13px 15px;border:1px solid #d39a45;border-radius:13px;background:#fff7df;box-shadow:var(--shadow);font-size:11px}.offline-queue-status span{color:var(--muted)}.offline-queue-status strong{grid-column:1}.offline-queue-status button{grid-column:2;grid-row:1/3;border:0;border-radius:8px;background:var(--forest);color:white;padding:9px 11px;font-weight:700;cursor:pointer}.offline-queue-status button:disabled{opacity:.5}.permission-note{padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff7df;color:var(--muted);font-size:12px}.action:disabled,.secondary-button:disabled{opacity:.5;cursor:not-allowed}.action:disabled:hover{transform:none;box-shadow:none}@media(max-width:760px){.offline-queue-status{right:12px;bottom:82px;left:12px}}
.photo-section{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:32px;align-items:center}.photo-preview{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#f2e7d5;color:var(--muted)}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-preview>span{font-size:54px}.photo-preview>small{margin-top:-35px}.photo-upload-button{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;padding:0 17px;border-radius:10px;background:var(--forest);color:white;font-size:13px;font-weight:700;cursor:pointer}.photo-upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.photo-section .form-error{margin-top:12px}@media(max-width:650px){.photo-section{grid-template-columns:1fr}.photo-preview{max-width:100%}.photo-upload-button{justify-content:center;width:100%}}
.restore-section{display:flex;align-items:center;justify-content:space-between;gap:28px}.restore-section>div{max-width:650px}.restore-section form{display:flex;align-items:center;gap:10px}.restore-section .photo-upload-button{margin:0;white-space:nowrap}.restore-section .danger-outline{white-space:nowrap}@media(max-width:760px){.restore-section{align-items:stretch;flex-direction:column}.restore-section form{align-items:stretch;flex-direction:column}.restore-section .photo-upload-button{justify-content:center}}
.household-switch-link{text-decoration:none}.household-list{display:grid;gap:9px;margin:22px 0}.household-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.household-row.active{border-color:var(--gold);background:#fff7df}.household-row strong,.household-row span{display:block}.household-row>div>span{margin-top:3px;color:var(--muted);font-size:11px}.household-row .secondary-button{margin:0}.current-household{color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.household-create-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;max-width:650px}.household-create-form label{display:flex;flex-direction:column;gap:7px;color:#6d5647;font-size:12px;font-weight:700}.household-create-form input{height:48px;border:1px solid #ddccb9;border-radius:10px;background:white;padding:0 14px;font:14px 'DM Sans';color:var(--ink)}.household-create-form .submit-button{height:48px}@media(max-width:650px){.household-create-form{grid-template-columns:1fr}.household-create-form .submit-button{width:100%}}
