:root{--bg:#121110;--surface:#1c1a17;--surface-2:#26231f;--line:#36312a;--text:#ede7dc;--muted:#9b9183;--brass:#c9a45c;--brass-hi:#e0c07f;--brass-ink:#1a1408;--danger:#d0705c;--ok:#8fb17a;--radius:14px;--tap:52px;--serif:"Cormorant Garamond", Georgia, serif;--sans:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{font:17px/1.45 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.page{max-width:1200px;padding:0 16px calc(120px + env(safe-area-inset-bottom));margin:0 auto}.narrow{max-width:640px}.top{z-index:10;min-height:60px;padding:env(safe-area-inset-top) 0 0;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0 -16px 16px;padding-left:16px;padding-right:8px;display:flex;position:sticky;top:0}.top h1{font:600 26px/1.1 var(--serif);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;overflow:hidden}.icon-btn{width:var(--tap);height:var(--tap);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn:active{background:var(--surface-2)}.icon-btn svg{width:26px;height:26px}.btn{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5}.btn.primary{background:var(--brass);border-color:var(--brass);color:var(--brass-ink)}.btn.primary:active{background:var(--brass-hi)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line));background:0 0}.btn.block{width:100%}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.btn-row>.btn{flex:160px}.fab{z-index:20;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));background:var(--brass);width:76px;height:76px;color:var(--brass-ink);cursor:pointer;box-shadow:0 8px 28px #0000008c, 0 0 0 6px var(--bg);border:0;border-radius:50%;font-size:44px;font-weight:300;line-height:1;position:fixed;transform:translate(-50%)}.fab:active{background:var(--brass-hi)}.field{margin-bottom:16px;display:block}.field>span{color:var(--muted);letter-spacing:.03em;margin-bottom:6px;font-size:14px;display:block}.field small{color:var(--muted);margin-top:4px;font-size:13px;display:block}.input,select.input,textarea.input{width:100%;min-height:var(--tap);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);appearance:none;outline:none;padding:12px 14px}select.input{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 22px),calc(100% - 16px);background-repeat:no-repeat;background-size:6px 6px;padding-right:40px}textarea.input{resize:vertical;min-height:96px}.input:focus{border-color:var(--brass)}.input.bad{border-color:var(--danger)}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.search{margin-bottom:10px;position:relative}.search svg{width:22px;color:var(--muted);position:absolute;top:50%;left:14px;translate:0 -50%}.search .input{padding-left:46px}.filters{gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.filters select.input{flex:1 1 0;width:auto;min-width:0;font-size:15px}.chip{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;flex:none;padding:0 16px;font-size:15px}.chip.on{border-color:var(--brass);color:var(--brass)}.grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=720px){.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}}.card{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0;display:block;overflow:hidden}.card:active{border-color:var(--brass)}.card .ph{aspect-ratio:1;background:var(--surface-2)}.card .ph img{object-fit:cover;width:100%;height:100%}.card .body{padding:10px 12px 12px}.inv{font:600 15px/1 var(--sans);color:var(--brass);letter-spacing:.08em;font-variant-numeric:tabular-nums}.card .name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:15px;line-height:1.3;display:-webkit-box;overflow:hidden}.card .where{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:13px;overflow:hidden}.count{color:var(--muted);margin:0 0 10px;font-size:14px}.shots{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.shot{aspect-ratio:3/4;border-radius:var(--radius);border:1.5px dashed var(--line);background:var(--surface);cursor:pointer;color:var(--muted);place-items:center;display:grid;position:relative;overflow:hidden}.shot.done{border-style:solid;border-color:var(--brass)}.shot.bad{border-color:var(--danger)}.shot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.shot .lbl{justify-items:center;gap:6px;font-size:15px;display:grid}.shot .lbl svg{width:40px;height:40px;color:var(--brass)}.shot .state{color:var(--text);text-align:center;background:#000000b3;border-radius:10px;padding:6px 10px;font-size:13px;position:absolute;bottom:8px;left:8px;right:8px}.shot input{display:none}.photos{grid-template-columns:1fr 1fr;gap:8px;margin:0 -16px 16px;display:grid}@media (width>=720px){.photos{margin:0 0 20px}}.photos a{aspect-ratio:3/4;background:var(--surface-2);display:block;overflow:hidden}.photos img{object-fit:cover;width:100%;height:100%}.big-inv{font:600 44px/1 var(--sans);color:var(--brass);letter-spacing:.06em;font-variant-numeric:tabular-nums}.item-title{font:600 30px/1.15 var(--serif);margin:8px 0 4px}.item-desc{color:var(--text);opacity:.9;margin:0 0 18px}.facts{border-top:1px solid var(--line);margin:0 0 20px}.facts div{border-bottom:1px solid var(--line);gap:12px;padding:12px 0;display:flex}.facts dt{color:var(--muted);flex:0 0 40%;font-size:15px}.facts dd{flex:1;margin:0}.badge{border:1px solid var(--danger);color:var(--danger);border-radius:99px;margin-bottom:12px;padding:4px 10px;font-size:13px;display:inline-block}.section-title{font:600 22px/1.2 var(--serif);color:var(--brass);margin:28px 0 10px}.history{color:var(--muted);margin:0;padding:0;font-size:14px;list-style:none}.history li{border-bottom:1px solid var(--line);padding:8px 0}.history b{color:var(--text);font-weight:500}.rows{border-top:1px solid var(--line);margin:0 0 12px}.rows>div{min-height:var(--tap);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.rows>div>span{flex:1}.rows .muted{color:var(--muted);font-size:14px}.add-row{gap:8px;display:flex}.add-row .input{flex:1}.add-row .btn{padding:0 18px}.center{text-align:center;min-height:70dvh;color:var(--muted);place-items:center;padding:24px;display:grid}.msg{border-radius:var(--radius);margin-bottom:16px;padding:12px 14px;font-size:15px}.msg.err{background:color-mix(in srgb, var(--danger) 15%, var(--surface));color:#f3c4b8;align-items:center;gap:12px;display:flex}.msg.err .btn{min-height:40px;margin-left:auto;padding:0 14px}.msg.ok{background:color-mix(in srgb, var(--ok) 15%, var(--surface));color:#cfe3c3}.login{max-width:400px;margin:0 auto;padding:12vh 16px 40px}.login .mark{font:600 40px/1.05 var(--serif);margin:0 0 6px}.login .rule{background:var(--brass);width:56px;height:2px;margin:18px 0 28px}.login p{color:var(--muted);margin:0 0 20px}.lang-switch{border:1px solid var(--line);border-radius:var(--radius);display:inline-flex;overflow:hidden}.lang-switch button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 16px;font-size:15px}.lang-switch button.on{background:var(--surface-2);color:var(--brass)}.login .lang-switch{margin-bottom:28px}.voice-btn{border-radius:var(--radius);border:1.5px solid var(--brass);width:100%;min-height:64px;color:var(--brass);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:12px;margin-bottom:16px;padding:0 18px;font-size:18px;font-weight:600;display:flex}.voice-btn svg{flex:none;width:28px;height:28px}.voice-btn.listening{background:var(--brass);color:var(--brass-ink);animation:1.4s ease-in-out infinite pulse}.voice-btn.recognizing{opacity:.7}@keyframes pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--brass) 25%, transparent)}}.save-row{gap:6px;display:grid}.btn-link{min-height:48px;color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:15px;text-decoration:underline}.actions{gap:10px;display:grid}.btn svg{width:22px;height:22px}.select-btn{appearance:none;text-align:center;text-align-last:center;color:var(--text)}.label-preview{max-width:100%;margin:8px auto 16px}.label{color:#000;transform:scale(var(--scale));transform-origin:0 0;background:#fff;border-radius:1mm;align-items:center;gap:2mm;font-family:Inter,Arial,sans-serif;display:flex;overflow:hidden}.label-qr{flex:none}.label-qr svg{width:100%;height:100%;display:block}.label-text{flex:1;min-width:0}.label-inv{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.label-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.8mm;line-height:1.15;display:-webkit-box;overflow:hidden}@media print{html,body{min-height:0;margin:0;padding:0;background:#fff!important}.label-page{max-width:none;margin:0;padding:0}.label-page>:not(.label-preview){display:none!important}.label-preview{margin:0;width:auto!important;height:auto!important}.label{break-inside:avoid;border-radius:0;transform:none}}.visitor{max-width:720px;padding:0 0 calc(32px + env(safe-area-inset-bottom));margin:0 auto}.visitor-top .inv{flex:1}.visitor-top{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;justify-content:space-between;align-items:center;gap:12px;display:flex}.visitor-top .lang-switch button{min-height:40px;padding:0 12px;font-size:14px}.visitor-photos{gap:4px;display:grid}.visitor-photos img{object-fit:contain;background:#000;width:100%;max-height:82dvh}.visitor-text{padding:24px 20px 8px}.visitor-text .kicker{color:var(--brass);letter-spacing:.16em;text-transform:uppercase;font-size:13px;font-weight:600}.visitor-text h1{font:600 36px/1.1 var(--serif);margin:10px 0 14px}.visitor-text p{color:var(--text);opacity:.92;margin:0;font-size:18px;line-height:1.6}.visitor-staff{margin:32px auto 0;display:block}.scanner{aspect-ratio:3/4;border-radius:var(--radius);background:#000;margin-bottom:12px;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scanner-frame{border:2px solid var(--brass);border-radius:12px;position:absolute;inset:22% 18%;box-shadow:0 0 0 100vmax #00000059}.catalog .no-print{margin-bottom:16px}.catalog-head h1{font:600 30px/1.1 var(--serif);margin:0}.catalog-head p{color:var(--muted);margin:4px 0 16px}.catalog-item{border-top:1px solid var(--line);break-inside:avoid;grid-template-columns:1fr;gap:12px;padding:14px 0;display:grid}@media (width>=640px){.catalog-item{grid-template-columns:260px 1fr}}.catalog-photos{grid-template-columns:1fr 1fr;gap:4px;display:grid}.catalog-photos img{aspect-ratio:3/4;object-fit:cover;width:100%}.catalog-inv{color:var(--brass);letter-spacing:.06em;font-weight:600}.catalog-body h2{font:600 22px/1.2 var(--serif);margin:2px 0 4px}.catalog-body p{margin:0 0 8px}.catalog-body dl{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;font-size:14px;display:grid}.catalog-body dt{color:var(--muted)}.catalog-body dd{margin:0}@media print{.catalog{color:#000}.catalog .top,.catalog .no-print{display:none!important}.catalog-item{border-color:#ccc;grid-template-columns:62mm 1fr;padding:4mm 0}.catalog-inv{color:#000}.catalog-head p,.catalog-body dt{color:#555}}.visitor-fields{border:1px solid var(--line);border-radius:var(--radius);margin:4px 0 20px;padding:8px 14px 4px}.visitor-fields legend{color:var(--brass);font:600 18px var(--serif);padding:0 6px}.check{min-height:var(--tap);cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;display:flex}.check input{width:24px;height:24px;accent-color:var(--brass)}.visitor-box{border:1px solid var(--line);border-radius:var(--radius);margin-top:20px;padding:12px 14px}.visitor-box .status{color:var(--muted);margin-bottom:6px;font-size:14px}.visitor-box .status.on{color:var(--ok)}.visitor-box b{font:600 19px var(--serif);margin-bottom:2px;display:block}.visitor-box p{color:var(--text);opacity:.9;margin:0 0 10px;font-size:15px}.date-parts{grid-template-columns:1.1fr 1fr .9fr;gap:8px;display:grid}.date-parts select:disabled{opacity:.45}.cert-row{align-items:center;gap:12px;display:flex}.cert-row span{color:var(--ok);flex:1}.heard{border-left:3px solid var(--brass);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;color:var(--muted);margin:-6px 0 16px;padding:10px 14px;font-size:15px}.viewer{z-index:50;cursor:zoom-out;background:#000;place-items:center;display:grid;position:fixed;inset:0}.viewer img{object-fit:contain;max-width:100%;max-height:100%}.viewer .icon-btn{top:calc(10px + env(safe-area-inset-top));color:#fff;font-size:30px;position:absolute;right:10px}.photos button{aspect-ratio:3/4;background:var(--surface-2);cursor:zoom-in;border:0;padding:0;display:block;overflow:hidden}.link-row{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.danger-link{color:var(--danger)}
