:root{--bg: #f6f5f2;--surface: #ffffff;--border: #e2ded6;--text: #22201d;--muted: #6f6a62;--accent: #1f6f5c;--accent-soft: #e3f0ec;--danger: #a33a2c;--warn: #9a6b12;--radius: 10px;--shadow: 0 1px 2px rgba(34, 32, 29, .06), 0 4px 12px rgba(34, 32, 29, .04);color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-text-size-adjust:100%}a{color:var(--accent)}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:1.5rem;padding:.85rem 1.5rem;padding-top:max(.85rem,env(safe-area-inset-top));padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.app-header h1{font-size:1.05rem;margin:0;letter-spacing:.01em}.app-header nav{display:flex;gap:.25rem;flex:1}.app-header nav a{padding:.4rem .7rem;border-radius:var(--radius);text-decoration:none;color:var(--muted);font-size:.9rem;min-height:44px;display:inline-flex;align-items:center}.app-header nav a:hover{background:var(--bg)}.app-header nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.app-user{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--muted)}.app-main{flex:1;width:min(1120px,100%);margin:0 auto;padding:1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-head h2{margin:0;font-size:1.4rem}.page-head .count{color:var(--muted);font-size:.9rem}button,.button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);padding:.45rem .85rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;min-width:44px}button:hover:not(:disabled),.button:hover{border-color:var(--muted)}button:disabled{opacity:.55;cursor:not-allowed}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger);border-color:#e6cdc8}input,select,textarea{font:inherit;font-size:max(1rem,16px);color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .6rem;width:100%;min-height:44px}textarea{min-height:7rem;resize:vertical}label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.25rem}.field{margin-bottom:.9rem}.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}.filters>*{width:auto;min-width:9rem}.filters input[type=search]{min-width:14rem;flex:1}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.item-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}.item-card:hover{border-color:var(--muted)}.item-card .thumb{aspect-ratio:4 / 3;background:#efece6;display:flex;align-items:center;justify-content:center;overflow:hidden}.item-card .thumb img{width:100%;height:100%;object-fit:cover}.item-card .thumb .placeholder{color:var(--muted);font-size:.8rem}.item-card .body{padding:.7rem .8rem .85rem;display:flex;flex-direction:column;gap:.45rem;flex:1}.item-card .name{font-weight:600;line-height:1.3}.item-card .price{color:var(--muted);font-size:.9rem}.item-card .price strong{color:var(--text)}.item-card .row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto}.item-card select{width:auto;font-size:.8rem;padding:.2rem .35rem}.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--muted);white-space:nowrap}.pill.status-InSell{background:var(--accent-soft);color:var(--accent);border-color:transparent}.pill.status-Reserved{background:#fdf1d9;color:var(--warn);border-color:transparent}.pill.status-Sold{background:#e7e5e0;color:#4b463f;border-color:transparent}.pill.status-Kept,.pill.status-Donated{background:#eceef3;color:#4a5169;border-color:transparent}.spinner{width:.85rem;height:.85rem;border:2px solid rgba(31,111,92,.25);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.notice{padding:.6rem .8rem;border-radius:var(--radius);font-size:.85rem;margin-bottom:1rem}.notice.error{background:#fbeeeb;color:var(--danger)}.notice.info{background:var(--accent-soft);color:var(--accent)}.empty{padding:3rem 1rem;text-align:center;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.5rem;align-items:start}@media (max-width: 860px){.detail-grid{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:1.25rem}.panel h3{margin:0 0 .8rem;font-size:.95rem}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}.gallery figure{margin:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#efece6}.gallery figure.primary{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.gallery figcaption{display:flex;gap:.2rem;padding:.3rem;background:var(--surface);flex-wrap:wrap}.gallery figcaption button{padding:.15rem .35rem;font-size:.7rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}td.numeric,th.numeric{text-align:right;white-space:nowrap}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.stat .label{color:var(--muted);font-size:.8rem;margin-bottom:.35rem}.stat .value{font-size:1.7rem;font-weight:600;line-height:1.1}.stat .hint{color:var(--muted);font-size:.78rem;margin-top:.35rem}.stat.attention .value{color:var(--warn)}.narrow{max-width:34rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.link-button{border:none;background:none;color:var(--accent);padding:.45rem 0;min-width:0}.capture{max-width:34rem;margin:0 auto}.capture-form{margin-bottom:0}.capture-buttons{display:grid;grid-template-columns:1fr;gap:.6rem;margin-bottom:1rem}button.big{min-height:56px;font-size:1.05rem;font-weight:600}.thumb-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;margin-bottom:.8rem}.thumb-strip figure{margin:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#efece6}.thumb-strip figure.primary{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.thumb-strip img,.thumb-placeholder{width:100%;aspect-ratio:1;object-fit:cover;display:block}.thumb-placeholder{display:flex;align-items:center;justify-content:center}.thumb-strip figcaption{display:flex;gap:.25rem;padding:.3rem;background:var(--surface);font-size:.75rem;color:var(--muted);justify-content:center}.thumb-strip figcaption button{flex:1;padding:.3rem .2rem;font-size:.75rem;min-width:0}.capture-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1rem -1rem -1rem;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}.capture-bar .grow{flex:1}.capture-bar button{min-height:48px}.capture-progress{flex-basis:100%;font-size:.8rem;color:var(--muted)}.gallery figure.web{border-style:dashed;background:#f1efea}.gallery figure.web img{opacity:.85}.photo-origin{display:block;padding:.25rem .4rem 0;font-size:.7rem;color:var(--muted);background:var(--surface)}@media (max-width: 640px){.app-header{flex-wrap:wrap;gap:.5rem .75rem;padding:.6rem .9rem;padding-top:max(.6rem,env(safe-area-inset-top))}.app-header h1{flex:1}.app-header nav{order:3;flex-basis:100%;gap:.15rem;overflow-x:auto;scrollbar-width:none}.app-header nav::-webkit-scrollbar{display:none}.app-header nav a{white-space:nowrap}.app-user{gap:.5rem}.app-user-name{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{padding:1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.card-grid,.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.field-row{grid-template-columns:1fr}.filters>*{min-width:0;flex:1 1 45%}.filters input[type=search]{min-width:0;flex-basis:100%}.page-head .actions{width:100%}.page-head .actions>*{flex:1}.capture-buttons{grid-template-columns:1fr 1fr}.capture-bar{margin-left:-1rem;margin-right:-1rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media (max-width: 380px){.card-grid,.capture-buttons{grid-template-columns:1fr}}.app-booting{padding:3rem 1rem;text-align:center;color:var(--muted)}.signin{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;padding-top:max(1.5rem,env(safe-area-inset-top));padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.signin-card{width:min(24rem,100%);display:flex;flex-direction:column;gap:.6rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.signin-card h1,.signin-card p{margin:0}.signin-card label{font-weight:600;margin-top:.4rem}.signin-card input{font-size:16px;min-height:44px}.signin-card button{margin-top:.6rem;min-height:44px}.signin-card .error{color:var(--danger);background:#fbeeeb;padding:.5rem .7rem;border-radius:var(--radius);font-size:.85rem}.signin-card code{background:var(--bg);padding:.1rem .3rem;border-radius:4px;font-size:.85em}
