body{margin: 0;background: var(--bg);color: var(--ink);font: 14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}a{color: inherit}.region{font-size: 12px;color: var(--ink-2);padding: 0 8px}.side .nav a{display: flex;align-items: center;gap: 10px;width: 100%;color: var(--ink-2);font: 500 14px system-ui,sans-serif;padding: 9px 10px;border-radius: 9px;text-decoration: none}.side .nav a:hover{background: var(--soft);color: var(--ink)}.side .nav a[aria-current="page"]{background: var(--soft);color: var(--ink);font-weight: 600}.side .nav svg{width: 18px;height: 18px;fill: none;stroke: currentColor;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;flex: none}.content.wide{max-width: 1080px}.banner.ok-banner{background: #dcfce7;color: #166534}@media (prefers-color-scheme: dark){.banner.ok-banner{background: #12351f;color: #86efac}}.banner{margin: 0 0 16px;padding: 10px 14px;border-radius: 12px;background: #fff7d6;color: #6b5300;font-size: 13px}h1{font-size: 24px;letter-spacing: -0.015em;margin: 0 0 4px}h2{font-size: 16px;margin: 0 0 10px}.page-head.between{display: flex;align-items: flex-start;justify-content: space-between;gap: 16px}.login{min-height: calc(100vh - 5px);display: grid;place-items: center;padding: 24px 16px}.login .card{width: 100%;max-width: 400px;padding: 28px}.login .brand{padding: 0;margin-bottom: 18px}.login form{display: grid;gap: 12px;margin-top: 16px}.login .or{display: flex;align-items: center;gap: 10px;color: var(--muted);font-size: 12px;margin: 18px 0 12px}.login .or::before,.login .or::after{content: "";flex: 1;height: 1px;background: var(--line)}.login .tg{display: flex;justify-content: center;min-height: 40px}.code-input{font: 600 22px ui-monospace,"SF Mono",Menlo,monospace !important;letter-spacing: 0.3em;text-align: center}input,select{font: 14px system-ui,sans-serif;color: var(--ink);background: var(--surface);border: 1px solid var(--line);border-radius: 10px;padding: 9px 12px;width: 100%;box-sizing: border-box}input:focus-visible,select:focus-visible,.btn:focus-visible,a:focus-visible{outline: 2px solid var(--accent);outline-offset: 1px}.field{display: grid;gap: 6px;font-size: 13px;color: var(--ink-2)}.btn.big{padding: 12px 18px;font-size: 15px}.btn.accent{background: var(--accent);color: #111317}.points{display: grid;grid-template-columns: repeat(auto-fill,minmax(280px,1fr));gap: 14px}.point{display: grid;gap: 10px;padding: 18px;text-decoration: none;transition: box-shadow 0.15s,transform 0.15s}.point:hover{box-shadow: 0 10px 28px -16px rgba(17,19,23,0.35);transform: translateY(-1px)}.point .name{font: 600 16px system-ui,sans-serif}.point .addr{color: var(--ink-2);font-size: 13px}.point .nums{display: flex;gap: 18px;font-size: 13px;color: var(--ink-2)}.point .nums b{display: block;font-size: 20px;color: var(--ink);font-variant-numeric: tabular-nums}.chip{display: inline-flex;align-items: center;gap: 6px;font: 600 11.5px/1 system-ui,sans-serif;padding: 6px 9px;border-radius: 999px;background: var(--soft);color: var(--ink-2);width: fit-content}.chip.ok{background: #dcfce7;color: #166534}.chip.warn{background: #fef3c7;color: #92400e}.chip.bad{background: #fde2e2;color: #991b1b}.empty{text-align: center;padding: 48px 24px}.empty ol{text-align: left;max-width: 460px;margin: 18px auto;color: var(--ink-2);display: grid;gap: 8px}.bigcode{font: 700 56px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing: 0.12em;margin: 8px 0 6px;font-variant-numeric: tabular-nums}.steps{display: grid;gap: 12px;counter-reset: step;margin: 18px 0 0;padding: 0;list-style: none}.steps li{display: grid;grid-template-columns: 30px 1fr;gap: 12px;align-items: start}.steps li::before{counter-increment: step;content: counter(step);display: grid;place-items: center;width: 28px;height: 28px;border-radius: 50%;background: var(--ink);color: var(--surface);font-weight: 700;font-size: 13px}.steps a{font-weight: 600}.found{border: 2px solid var(--accent)}.waiting{display: flex;align-items: center;gap: 10px;color: var(--ink-2)}.spinner{width: 16px;height: 16px;border-radius: 50%;border: 2px solid var(--line);border-top-color: var(--ink);animation: spin 0.8s linear infinite}@keyframes spin{to{transform: rotate(360deg)}}.tabs{display: flex;gap: 4px;overflow-x: auto;border-bottom: 1px solid var(--line);margin: 6px 0 20px}.tabs a{padding: 10px 12px;color: var(--ink-2);text-decoration: none;font-weight: 500;border-bottom: 2px solid transparent;white-space: nowrap;margin-bottom: -1px}.tabs a[aria-current="page"]{color: var(--ink);border-bottom-color: var(--ink)}.stats{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 12px}.stat{padding: 16px}.stat small{color: var(--ink-2);font-size: 12.5px}.stat b{display: block;font-size: 30px;letter-spacing: -0.02em;font-variant-numeric: tabular-nums;margin-top: 4px}.stat.bad b{color: var(--bad)}.list{display: grid}.list .item{display: flex;align-items: center;gap: 12px;padding: 12px 0;border-top: 1px solid var(--line)}.list .item:first-child{border-top: 0}.list .grow{flex: 1;min-width: 0}.list .grow small{display: block;color: var(--ink-2);font-size: 12.5px}.bars{display: grid;grid-auto-flow: column;grid-auto-columns: minmax(0,1fr);gap: 6px;align-items: end;height: 180px;padding-top: 8px}.bars .bar{display: grid;align-content: end;gap: 4px;height: 100%;text-align: center;font-size: 11px;color: var(--ink-2)}.bars .bar i{display: block;background: var(--ink);border-radius: 6px 6px 2px 2px;min-height: 2px}.bars .bar.today i{background: var(--accent)}.bars .bar.fail i{box-shadow: inset 0 -4px 0 var(--bad)}.label-preview img{display: block;width: 100%;height: auto;border-radius: 8px;background: #fff;box-shadow: 0 0 0 1px var(--line),0 6px 18px -8px rgba(0,0,0,0.25);image-rendering: pixelated}.plans{display: grid;grid-template-columns: 1fr 1fr;gap: 12px}.card + .plans{margin-top: 14px}.plan-card{padding: 18px;display: grid;gap: 8px}.plan-card .price{font: 700 28px/1.1 system-ui,sans-serif;letter-spacing: -0.02em}.plan-card .price small{font-size: 14px;font-weight: 500;color: var(--ink-2)}.wall{max-width: 1000px;margin: 0 auto;padding: 24px}.wall .plan-wrap svg{width: 100%;height: auto}.wall .racks{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 8px;margin-top: 18px}.wall .racks div{border: 1.5px solid var(--ink);border-radius: 10px;padding: 8px 10px}.wall .racks b{font-size: 18px}@media print{.stripe,.noprint{display: none !important}body{background: #fff}.wall{padding: 0}}@media (max-width: 900px){.stats{grid-template-columns: 1fr 1fr}.plans{grid-template-columns: 1fr}.wall .racks{grid-template-columns: repeat(2,minmax(0,1fr))}}.stats .card + .card,.points .card + .card,.plans .card + .card,.checks .card + .card{margin-top: 0}a.btn{text-decoration: none}.btn.ghost.danger{color: var(--bad)}.tip-wrap{position: relative;display: inline-flex;border-radius: 10px}.tip-wrap > .btn:disabled{pointer-events: none}.tip{display: none;position: absolute;left: 0;bottom: 100%;z-index: 30;padding-bottom: 8px}.tip-wrap:hover .tip,.tip-wrap:focus .tip,.tip-wrap:focus-within .tip{display: block}.tip-box{display: block;width: max-content;max-width: min(340px,80vw);padding: 10px 12px;border-radius: 10px;background: var(--ink);color: var(--surface);font-size: 13px;line-height: 1.45;box-shadow: 0 8px 24px rgba(0,0,0,0.18)}.tip-box a{color: inherit;font-weight: 600;text-decoration: underline}.codes{font: 600 14px/1.7 ui-monospace,"SF Mono",Menlo,monospace;background: var(--surface);color: var(--ink);border-radius: 10px;padding: 10px 14px;margin: 10px 0;columns: 2;user-select: all}.qr-setup{display: grid;grid-template-columns: 168px 1fr;gap: 16px;align-items: center;margin-top: 14px}.qr-img{background: #fff;border-radius: 10px;padding: 6px;line-height: 0}.qr-img svg{width: 100%;height: auto}.mono{font: 500 13px ui-monospace,"SF Mono",Menlo,monospace;word-break: break-all}@media (max-width: 640px){.qr-setup{grid-template-columns: 1fr}.qr-img{max-width: 200px}}.lang-row{display: flex;justify-content: center;margin-top: 16px}.lang-select{font: inherit;font-size: 13px;color: var(--ink-2);background: var(--surface);border: 1px solid var(--line);border-radius: 8px;padding: 5px 8px;width: auto}.owner-dialog{width: min(420px,calc(100vw - 32px));border: 1px solid var(--line);border-radius: 16px;padding: 22px;background: var(--surface);color: var(--ink)}.owner-dialog::backdrop{background: rgba(17,19,23,0.45)}.owner-dialog h2{margin: 0 0 8px;font-size: 17px}.owner-dialog .code-input{margin-top: 12px}.owner-dialog .or{display: flex;align-items: center;gap: 10px;color: var(--muted);font-size: 12px;margin: 14px 0 4px}.owner-dialog .or::before,.owner-dialog .or::after{content: "";flex: 1;height: 1px;background: var(--line)}
