:root{--bg: #f2f2f7;--card: #ffffff;--text: #000000;--muted: #8e8e93;--line: #c6c6c8;--accent: #007aff;--danger: #ff3b30;--tabbar: rgba(249, 249, 249, .94);color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent}@media (prefers-color-scheme: dark){:root{--bg: #000000;--card: #1c1c1e;--text: #ffffff;--muted: #8e8e93;--line: #38383a;--accent: #0a84ff;--danger: #ff453a;--tabbar: rgba(22, 22, 23, .94)}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body.no-scroll{overflow:hidden}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:disabled{opacity:.4;cursor:default}input,textarea{font:inherit;color:var(--text)}main{max-width:640px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 80px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:12px}.nav h1{font-size:32px;margin:8px 0}.nav-actions{display:flex;align-items:center;gap:18px}.page-title{font-size:30px;margin:4px 0 16px;overflow-wrap:anywhere}.link{color:var(--accent);font-size:17px}.link.strong{font-weight:600}.icon{color:var(--accent);font-size:30px;line-height:1;width:36px;height:36px}.search{width:100%;border:0;border-radius:10px;padding:9px 12px;margin:4px 0 16px;background:#7676801f;font-size:17px;outline:none}.group{background:var(--card);border-radius:12px;overflow:hidden;margin:0 0 20px}.list{list-style:none;padding:0}.list li{position:relative}.list li+li:before{content:"";position:absolute;top:0;left:16px;right:0;border-top:.5px solid var(--line)}.row{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;min-height:44px;padding:10px 16px;text-align:left;position:relative}.row.static{flex-direction:row;justify-content:space-between;align-items:center}.row.item{flex-direction:row;align-items:center;gap:12px}.row.accent{color:var(--accent)}.row.chevron{padding-right:36px}.row.chevron:after{content:"›";position:absolute;right:16px;top:50%;transform:translateY(-52%);color:var(--muted);font-size:22px}.grow{flex:1;display:flex;flex-direction:column;min-width:0}.title{font-size:17px;overflow-wrap:anywhere}.subtitle{font-size:14px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.muted{color:var(--muted)}.section{font-size:13px;font-weight:400;text-transform:uppercase;color:var(--muted);margin:0 16px 6px}.row-button{display:block;width:100%;padding:12px 16px;text-align:center;color:var(--accent);font-size:17px}.group .row-button+.row-button{border-top:.5px solid var(--line)}.danger{color:var(--danger)!important}.empty{text-align:center;color:var(--muted);padding:16px;overflow-wrap:anywhere}.empty.big{padding-top:80px}.empty.big strong{color:var(--text);font-size:22px;display:block;margin:8px 0}.empty-icon{font-size:48px;filter:grayscale(1)}.hint{color:var(--muted);font-size:14px;line-height:1.4}.hint.center{text-align:center}.hint.small{font-size:12px}.primary,.secondary{display:block;width:100%;padding:14px;border-radius:12px;font-size:17px;font-weight:600;margin:0 0 12px}.primary{background:var(--accent);color:#fff}.secondary{background:#76768029;color:var(--accent)}form.group input,form.group textarea,.stepper{display:block;width:100%;border:0;background:transparent;padding:12px 16px;font-size:17px;outline:none;resize:none}form.group>*+*{border-top:.5px solid var(--line)!important}.stepper{display:flex;justify-content:space-between;align-items:center;padding:6px 16px}.stepper div{display:flex;background:#76768029;border-radius:8px}.stepper button{width:46px;height:32px;font-size:22px}.stepper button+button{border-left:.5px solid var(--line)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0006;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}.sheet{width:100%;max-width:640px;max-height:calc(100dvh - env(safe-area-inset-top) - 20px);background:var(--bg);border-radius:14px 14px 0 0;display:flex;flex-direction:column;animation:slide .25s ease-out}.sheet-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 16px}.sheet-header h2{font-size:17px;margin:0;text-align:center;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-header>:first-child{justify-self:start}.sheet-header>:last-child{justify-self:end}.sheet-body{overflow-y:auto;padding:8px 16px calc(env(safe-area-inset-bottom) + 16px)}@keyframes slide{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:space-around;background:var(--tabbar);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:.5px solid var(--line);padding:6px 0 calc(env(safe-area-inset-bottom) + 4px)}.tabbar button{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--muted);min-width:80px;gap:2px}.tabbar button span{font-size:22px;line-height:26px;filter:grayscale(1);opacity:.6}.tabbar button.active{color:var(--accent)}.tabbar button.active span{filter:none;opacity:1}.scanner{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:3 / 4}.scanner video{width:100%;height:100%;object-fit:cover;display:block}code{font-size:12px;overflow-wrap:anywhere}.label{display:flex;align-items:center;gap:16px;background:#fff;color:#000;width:480px;height:200px;padding:16px;font-family:-apple-system,Helvetica,Arial,sans-serif}.label-qr{width:168px;height:168px;flex:none}.label-qr svg{width:100%;height:100%;display:block}.label-text{min-width:0}.label-name{font-size:28px;font-weight:700;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.label-location{font-size:18px;margin-top:6px}.label-id{font-family:ui-monospace,Menlo,monospace;font-size:12px;margin-top:8px}.label-preview{display:flex;justify-content:center;margin:8px 0 24px;height:140px}.label-preview .label{transform:scale(.7);transform-origin:top center;box-shadow:0 2px 12px #00000040}@media (max-width: 380px){.label-preview{height:120px}.label-preview .label{transform:scale(.6)}}#print-area{display:none}@media print{@page{margin:8mm}body>*:not(#print-area){display:none!important}#print-area{display:block}#print-area .label{width:100mm;height:42mm;padding:3mm;gap:4mm}#print-area .label-qr{width:36mm;height:36mm}#print-area .label-name{font-size:18pt}#print-area .label-location{font-size:12pt}#print-area .label-id{font-size:8pt}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
