:root{color-scheme:light;--brand: #211f7e;--brand-dark: #17155f;--brand-soft: #ecebfa;--accent: #04d3bc;--accent-text: #027e70;--accent-soft: #e0faf6;--bg: #ffffff;--surface: #ffffff;--surface-alt: #f6f6ff;--border: #e5e7eb;--border-strong: #cfd3e0;--text: #121212;--muted: #6b6b7b;--ok-bg: #e0faf6;--ok: #027e70;--warn-bg: #fff6d6;--warn: #8a6500;--bad-bg: #fdecec;--bad: #c21212;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(18, 18, 40, .05), 0 4px 14px rgba(18, 18, 40, .05)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%}h1{font-size:1.35rem;line-height:1.25;margin:0;color:var(--brand)}h2{font-size:1.05rem;margin:.5rem 0 0}a{color:var(--brand)}.shell{min-height:100%;display:flex;flex-direction:column;background:var(--bg)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border)}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--brand),var(--accent))}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.brand img{display:block;height:26px;width:auto}.brand-name{color:var(--muted);font-size:.85rem;font-weight:600;padding-left:10px;border-left:1px solid var(--border-strong);white-space:nowrap}.topbar-right{display:flex;align-items:center;gap:8px;flex:none}.role{font-size:.75rem;font-weight:600;color:var(--brand);background:var(--brand-soft);padding:3px 10px;border-radius:999px;white-space:nowrap}.topbar button.link{font-size:.85rem;padding:6px 4px}@media (max-width: 560px){.brand-name{display:none}}.content{width:100%;max-width:1080px;margin:0 auto;padding:16px;padding-bottom:calc(32px + env(safe-area-inset-bottom))}.narrow{width:100%;max-width:640px;margin-left:auto;margin-right:auto}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row>h1{min-width:0;overflow-wrap:anywhere}.gap{gap:8px}.grow{flex:1;min-width:0}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid2>*,.grid3>*{min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;color:inherit;text-decoration:none;box-shadow:var(--shadow)}a.card.row{display:flex}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.muted{color:var(--muted)}.small{font-size:.85rem}.back{font-size:.9rem;text-decoration:none;font-weight:600}.error,.warning,.notice{margin:0;padding:10px 12px;border-radius:var(--radius-sm);font-size:.92rem;overflow-wrap:anywhere}.error{background:var(--bad-bg);color:var(--bad)}.warning{background:var(--warn-bg);color:var(--warn)}.notice{background:var(--ok-bg);color:var(--ok)}.warn-text{color:var(--warn)}.error-text{color:var(--bad)}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted);min-width:0}.label-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:8px;row-gap:2px;min-height:1.4em;min-width:0}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:11px 12px;width:100%;min-height:46px}input[type=date]{min-width:0;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block}input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #04d3bc59}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled,select:disabled{background:var(--surface-alt);color:var(--muted)}details summary{cursor:pointer;font-weight:600;color:var(--brand)}details>.stack{margin-top:12px}button,.button{font:inherit;border:0;border-radius:12px;padding:12px 16px;min-height:46px;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:var(--brand);color:#fff;font-weight:600}.primary:hover:not(:disabled){background:var(--brand-dark)}.secondary{background:var(--surface);color:var(--brand);border:1px solid var(--border-strong);font-weight:600}.secondary:hover:not(:disabled){background:var(--brand-soft)}.danger{background:var(--surface);color:var(--bad);border:1px solid var(--border-strong);font-weight:600}.big{min-height:56px;font-size:1.05rem}.big small{font-weight:400;opacity:.85;font-size:.8rem}button.link{background:transparent;color:var(--brand);padding:6px 8px;min-height:0;font-weight:600;text-decoration:underline}.chip{display:inline-block;white-space:nowrap;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.chip-neutral{background:var(--surface-alt);color:var(--muted)}.chip-ok,.chip-done{background:var(--ok-bg);color:var(--ok)}.chip-warn{background:var(--warn-bg);color:var(--warn)}.chip-bad{background:var(--bad-bg);color:var(--bad)}.chip-busy{background:var(--brand-soft);color:var(--brand)}.flag{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.flag-needs_review{background:var(--warn-bg);color:var(--warn)}.flag-not_visible{background:var(--bad-bg);color:var(--bad)}.flag-suggested{background:var(--brand-soft);color:var(--brand)}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary>div{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;min-width:0}.summary dt{font-size:.72rem;color:var(--muted);font-weight:600}.summary dd{margin:0;font-size:1.25rem;font-weight:700;color:var(--brand);line-height:1.2}.summary dl{display:contents}.sheet{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sheet-head{display:none}.sheet-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:"thumb name status" "nums  nums nums" "notes notes notes";column-gap:12px;row-gap:10px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;text-decoration:none}.sheet-row:hover{border-color:var(--brand)}.sheet-thumb{grid-area:thumb;width:52px;height:52px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-alt);border:1px solid var(--border)}.sheet-name{grid-area:name;min-width:0;display:flex;flex-direction:column}.sheet-name strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.sheet-status{grid-area:status;align-self:start}.sheet-nums{grid-area:nums;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sheet-nums>div{background:var(--surface-alt);border-radius:var(--radius-sm);padding:6px 10px;min-width:0}.sheet-nums dt{font-size:.7rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.sheet-nums dd{margin:0;font-weight:700;overflow-wrap:anywhere}.sheet-notes{grid-area:notes;display:flex;flex-direction:column;gap:2px;font-size:.85rem;overflow-wrap:anywhere}.sheet-notes:empty{display:none}@media (min-width: 760px){.summary{grid-template-columns:repeat(3,minmax(0,220px))}.sheet{gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.sheet-head,.sheet-row{display:grid;grid-template-columns:56px minmax(0,1fr) 90px 120px 120px 150px;column-gap:14px;align-items:center;padding:10px 16px}.sheet-head{background:var(--surface-alt);color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.sheet-head span:first-child{grid-column:1 / 3}.sheet-row{grid-template-areas:"thumb name qty cost sell status" ".     notes notes notes notes notes";row-gap:4px;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none}.sheet li:last-child .sheet-row{border-bottom:0}.sheet-row:hover{background:var(--surface-alt)}.sheet-nums{display:contents}.sheet-nums>div{background:transparent;padding:0}.sheet-nums dt{display:none}.sheet-nums>div:nth-child(1){grid-area:qty}.sheet-nums>div:nth-child(2){grid-area:cost}.sheet-nums>div:nth-child(3){grid-area:sell}.sheet-status{align-self:center;justify-self:start}}.actions{margin-top:8px}@media (min-width: 760px){.stack>a.button.big{align-self:flex-start;min-width:280px}.actions{flex-direction:row;flex-wrap:wrap;align-items:center}.actions>button,.actions>.button{min-width:240px}}.preview{width:100%;max-height:60vh;object-fit:contain;border-radius:var(--radius-sm);background:var(--surface-alt)}.snaps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.snaps li{position:relative;aspect-ratio:1}.snaps img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.snap-label{position:absolute;left:6px;bottom:6px;background:#111128bf;color:#fff;font-size:.72rem;padding:1px 7px;border-radius:999px}.snap-remove{position:absolute;top:4px;right:4px;width:30px;height:30px;min-height:0;padding:0;border-radius:999px;background:#111128bf;color:#fff;font-size:1.1rem;line-height:1}.image-choice{display:flex;flex-wrap:wrap;gap:8px}.image-choice button{position:relative;width:84px;height:84px;padding:0;min-height:0;border:2px solid var(--border);background:var(--surface);overflow:hidden}.image-choice button.selected{border-color:var(--accent);box-shadow:0 0 0 2px #04d3bc4d}.image-choice img{width:100%;height:100%;object-fit:cover}.login{max-width:420px;margin:0 auto;padding:40px 20px;padding-top:calc(40px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:16px}.login-logo{display:block;height:44px;width:auto;align-self:flex-start;margin-bottom:8px}progress{width:100%;height:10px;accent-color:var(--accent)}.camera{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000;display:flex;flex-direction:column}.camera-video{flex:1;width:100%;min-height:0;object-fit:cover;background:#000}.camera-controls{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-around;padding:20px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#000000a6)}.shutter{width:76px;height:76px;min-height:0;padding:0;border-radius:999px;background:#fff;border:5px solid rgba(255,255,255,.55);background-clip:padding-box}.camera-side,.camera-side-spacer{width:48px;height:48px;min-height:0;padding:0;border-radius:999px;background:#ffffff2e;color:#fff;font-size:1.3rem}.camera-side-spacer{background:transparent}.camera-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;color:#fff;background:#000000d9}.atc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.atc-option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text)}.atc-option:hover:not(:disabled){border-color:var(--brand);background:var(--surface-alt)}.atc-option.selected{border-color:var(--accent);box-shadow:0 0 0 2px #04d3bc4d}.atc-option strong{overflow-wrap:anywhere}.atc-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.atc-top code{font-weight:700;color:var(--brand)}.atc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.atc-meta .muted{overflow-wrap:anywhere}.atc-change{border-top:1px solid var(--border);padding-top:10px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented button{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);font-weight:600}.segmented button small{font-weight:700;color:var(--muted);font-size:.75rem}.segmented button.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.segmented button.active small{color:var(--brand)}.unit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.unit-row{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;display:flex;flex-direction:column;gap:10px}.unit-head,.unit-foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;align-items:end}.unit-head>strong{font-size:1.05rem}.unit-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.unit-default{flex-direction:row;align-items:center;gap:8px;color:var(--text)}.unit-default input{width:20px;height:20px;min-height:0;padding:0}.small-button{min-height:36px;padding:6px 12px;font-size:.85rem}.stack.tight{gap:6px}.segmented.four,.segmented:has(button:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.segmented:has(button:nth-child(4)) button{padding-inline:4px;font-size:.92rem}button.linkish{background:none;border:0;color:var(--brand);text-decoration:underline;font-weight:600;padding:6px 0;min-height:0;width:auto;text-align:left}button.back.linkish{text-decoration:none}.sheet-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.sheet-actions button{min-height:0;padding:6px 12px;font-size:.85rem}.sheet-group{margin-top:6px}.sheet-group h2{font-size:1.02rem;margin:0}.sheet-group>.card{background:var(--surface-alt)}
