@charset "UTF-8";:root{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #fafbfc;--text: #1f2933;--muted: #4b5563;--border: #e5e7eb;--accent: #0d9488;--accent-dark: #0f766e;--accent-darker: #0b5e57;--accent-soft: #e6fffa;--danger: #dc2626;--ok: #15803d;--warn: #b45309;--radius: 14px;--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--maxw: 860px;--sidenav: 240px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{display:flex;min-height:100vh;align-items:stretch}.sidenav{flex:0 0 var(--sidenav);width:var(--sidenav);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem .75rem;position:sticky;top:0;height:100vh}.sidenav .brand{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem 1.1rem;font-weight:700;font-size:1.02rem}.sidenav .brand img{width:28px;height:28px;border-radius:7px}.nav{display:flex;flex-direction:column;gap:.2rem}.nav a{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:10px;color:var(--muted);font-weight:600;font-size:.92rem}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.on{background:var(--accent-soft);color:var(--accent-dark)}.nav a.on .ico{color:var(--accent)}.nav a.nav-add{margin-top:.6rem;background:var(--accent-dark);color:#fff}.nav a.nav-add:hover,.nav a.nav-add.on{background:var(--accent-darker);color:#fff}.nav-add.on .ico,.nav-add .ico{color:#fff}.ico{width:20px;height:20px;flex:0 0 auto}.ico-lg{width:30px;height:30px}.ico-xl{width:46px;height:46px}.sidenav-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}.app-bar{display:none}.app-bar h1{font-size:1.1rem;margin:0;font-weight:650}.app-bar-mark{width:26px;height:26px;border-radius:6px}.user-chip{font-size:.85rem}.signout{background:#ffffff29;border-color:transparent;color:#fff}.offline-banner{background:#fff7ed;color:var(--warn);border-bottom:1px solid #fed7aa;padding:.6rem 1rem;font-size:.85rem;text-align:center}.content{flex:1 1 auto;max-width:var(--maxw);margin:0 auto;padding:1.5rem;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.item-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:640px){.item-grid{grid-template-columns:1fr 1fr}}.item-card{display:flex;gap:.8rem;padding:.7rem;align-items:center;transition:box-shadow .12s,transform .12s}.item-card:hover{box-shadow:0 4px 14px #1018281a;transform:translateY(-1px)}.item-card .thumb{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--surface-2);flex:0 0 auto;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:1.4rem}.item-card .meta{min-width:0;flex:1}.item-card .title{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card .sub{color:var(--muted);font-size:.82rem}.badge{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700}.badge.active{background:var(--accent-soft);color:var(--accent-dark)}.badge.sold{background:#f3f4f6;color:var(--muted)}.badge.profit{background:#ecfdf5;color:var(--ok)}.badge.loss{background:#fef2f2;color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.55rem .9rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.btn-primary:hover{background:var(--accent-darker);border-color:var(--accent-darker)}.btn-danger{background:#fff;border-color:#fecaca;color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--accent-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:.35rem .6rem;font-size:.8rem}.btn-block{width:100%}.photo-pick{margin-bottom:1.2rem}.photo-pick-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;border:2px dashed var(--border);border-radius:var(--radius);padding:1.5rem 1rem;color:var(--muted);cursor:pointer;background:var(--surface-2);font-weight:600;text-align:center;width:100%;font-family:inherit;font-size:.95rem}.photo-pick-btn input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-pick-btn:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}.photo-pick-btn small{font-weight:500}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:.5rem;margin-top:.6rem}.pick-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.pick-thumb img{width:100%;height:100%;object-fit:cover}.pick-thumb button{position:absolute;top:3px;right:3px;width:20px;height:20px;line-height:1;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:.7rem;cursor:pointer}.field{margin-bottom:.9rem}.field label{display:block;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:.3rem}.field input,.field select,.field textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:10px;font-size:1rem;background:var(--surface);color:var(--text);font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}.field .err{color:var(--danger);font-size:.78rem;margin-top:.25rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(min-width:640px){.stat-grid{grid-template-columns:repeat(3,1fr)}}.stat-card{padding:1rem}.stat-card .label{color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.stat-card .value{font-size:1.5rem;font-weight:750;margin-top:.25rem}.section{margin-top:1.25rem}.section h3{font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.6rem}.photo{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--border);aspect-ratio:1}.photo img{width:100%;height:100%;object-fit:cover}.photo.is-primary{outline:3px solid var(--accent)}.photo .acts{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;background:#00000073}.photo .acts button{background:none;border:none;color:#fff;font-size:.72rem;padding:.25rem .4rem;cursor:pointer}.sale-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--border)}.sale-row:last-child{border-bottom:none}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--muted)}.spacer{flex:1}.kv{display:flex;justify-content:space-between;padding:.3rem 0;border-bottom:1px dashed var(--border);font-size:.9rem}.kv .k{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:3rem 1rem}.empty-state{text-align:center;color:var(--muted);padding:3.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.empty-state .ico-xl{color:var(--border);margin-bottom:.4rem}.empty-state h3{color:var(--text);margin:0}.empty-state p{margin:0 0 .9rem;max-width:320px}@media(max-width:767px){.shell{display:block}.app-bar{display:flex;align-items:center;gap:.5rem;background:var(--accent-dark);color:#fff;padding:.8rem 1rem;position:sticky;top:0;z-index:20}.sidenav{position:fixed;inset:auto 0 0;flex-direction:row;width:auto;height:auto;border-right:none;border-top:1px solid var(--border);padding:0;z-index:30}.sidenav .brand,.sidenav-foot{display:none}.nav{flex-direction:row;flex:1;gap:0}.nav a{flex:1;flex-direction:column;gap:.15rem;padding:.5rem .2rem;border-radius:0;font-size:.66rem}.nav a span{font-size:.66rem}.nav a.on{background:transparent;color:var(--accent-dark)}.nav a.on .ico{color:var(--accent-dark)}.nav a.nav-add,.nav a.nav-add:hover,.nav a.nav-add.on{background:transparent;color:var(--accent-dark)}.nav-add .ico{color:var(--accent-dark)}.content{padding:1rem 1rem 5rem;max-width:100%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.5rem;top:-3.5rem;z-index:100;background:var(--accent-dark);color:#fff;padding:.55rem .9rem;border-radius:8px;font-weight:600;transition:top .15s}.skip-link:focus{top:.5rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.item-card:hover{transform:none}}:focus-visible{outline:3px solid var(--accent-dark);outline-offset:2px}.skip-link:focus-visible{outline-color:#fff}.photo-pick-btn:focus-within{outline:3px solid var(--accent-dark);outline-offset:2px;border-color:var(--accent-dark)}#main:focus{outline:none}
