:root{font-family:system-ui,-apple-system,sans-serif;color:#172033;background:#f3f6fb;font-size:16px}*{box-sizing:border-box}body{margin:0}.topbar{height:60px;padding:0 max(16px,calc((100% - 960px)/2));display:flex;align-items:center;justify-content:space-between;background:#172554;color:#fff}.brand{color:#fff;text-decoration:none;font-weight:750}.link-button{border:0;background:none;color:#fff;font:inherit;text-decoration:underline}.container{max-width:960px;margin:auto;padding:24px 16px 64px}h1{font-size:clamp(1.5rem,6vw,2.2rem);margin:0 0 20px}.card,.photo-card,.empty{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 24px #17255412}.login-card{max-width:480px;margin:12vh auto;text-align:left}.login-card h1{text-align:center}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.button{display:flex;min-height:52px;padding:12px 18px;align-items:center;justify-content:center;border:0;border-radius:12px;background:#dbe5f7;color:#172554;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.primary{background:#1d4ed8;color:#fff}.secondary{background:#fff;border:1px solid #cbd5e1}.stack{display:grid;gap:10px}label{font-weight:700;margin-top:8px}input[type=text],input[type=password],input[name=username],input[name=number],input[name=scooter_number]{width:100%;font:inherit;font-size:18px;border:1px solid #94a3b8;border-radius:10px;padding:13px}input[type=file]{font:inherit;padding:10px 0}.muted{color:#64748b}.notice{padding:14px;border-radius:10px;margin:0 0 18px;background:#e0f2fe}.notice.error,.errorlist{background:#fee2e2;color:#991b1b}.notice.success{background:#dcfce7;color:#166534}.errorlist{list-style:none;padding:10px;border-radius:8px}.reader{max-width:620px;background:#fff;border-radius:16px;overflow:hidden;margin-bottom:20px}.title-row{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px}.title-row h1{margin:0}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.photo-card{padding:0;overflow:hidden}.photo-card img{width:100%;height:260px;object-fit:cover;display:block}.meta{padding:14px;display:grid;gap:4px}.meta span,.meta time{color:#64748b}@media(max-width:600px){.actions{grid-template-columns:1fr}.container{padding-top:18px}.title-row{align-items:stretch;flex-direction:column}.title-row .button{width:100%}}

.wizard-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.wizard-head h1{margin:0}.stepper{display:flex;align-items:flex-start;min-width:310px}.step-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dbe5f7;color:#64748b;font-weight:800;position:relative;flex:none}.step-dot small{position:absolute;top:39px;font-size:12px;font-weight:600;white-space:nowrap}.step-dot.active{background:#1d4ed8;color:#fff}.step-dot.done{background:#16a34a;color:#fff}.step-line{height:3px;background:#dbe5f7;flex:1;margin-top:15px}.wizard-step{max-width:680px;margin:auto}.wizard-step h2{margin:0 0 8px;font-size:1.35rem}.wizard-step .card{display:grid;gap:14px}.reader{width:100%;min-height:280px;display:grid;place-items:center;background:#0f172a}.reader:empty::after{content:"Камера выключена";color:#cbd5e1}.reader video{object-fit:cover}.split-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-button{margin:0}.field-hint{font-size:13px;color:#64748b;margin:0}.confirmed-number{padding:12px 14px;border-radius:10px;background:#eff6ff;color:#1e3a8a}.photo-picker{display:grid;place-items:center;min-height:260px;border:2px dashed #94a3b8;border-radius:14px;background:#f8fafc;color:#475569;text-align:center;cursor:pointer;overflow:hidden;margin:0}.photo-picker img{width:100%;max-height:440px;object-fit:contain}.button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:680px){.wizard-head{display:block;margin-bottom:42px}.wizard-head h1{margin-bottom:20px}.stepper{min-width:0;width:100%}.wizard-step .card{padding:16px}.split-actions{grid-template-columns:1fr}.reader{min-height:250px}}

.photo-picker{width:100%;height:min(68dvh,680px);min-height:420px;background:#0f172a;color:#e2e8f0}.photo-picker img{width:100%;height:100%;max-height:none;object-fit:contain}@media(max-width:680px){.wizard-step[data-step="3"] .card{padding:12px}.photo-picker{height:calc(100dvh - 245px);min-height:430px;max-height:760px}}

.camera-stage{position:relative;width:100%;overflow:hidden;border-radius:14px;background:#0f172a}.camera-stage[hidden]{display:none}.camera-stage .reader{margin:0;min-height:min(68dvh,680px);border-radius:0}.photo-mode #qr-shaded-region,.photo-mode canvas{display:none!important}.capture-button{position:absolute;z-index:5;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 22px;border:3px solid #fff;border-radius:999px;background:#1d4ed8;color:#fff;font:inherit;font-weight:800;box-shadow:0 4px 18px #0008;cursor:pointer;white-space:nowrap}.capture-button svg{width:30px;height:30px;fill:currentColor}@media(max-width:680px){.camera-stage .reader{min-height:calc(100dvh - 260px)}.capture-button{bottom:16px;min-height:62px;padding:10px 18px}.capture-button svg{width:34px;height:34px}}

[hidden]{display:none!important}.camera-stage .reader{height:min(78dvh,850px);min-height:560px}.camera-stage .reader video{width:100%!important;height:100%!important;object-fit:cover}.camera-photo-preview{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;background:#0f172a}.camera-stage.has-photo .reader{visibility:hidden}.camera-stage.has-photo .capture-button{background:#334155}@media(max-width:680px){.camera-stage .reader{height:calc(100dvh - 170px);min-height:600px;max-height:none}.camera-stage{border-radius:10px}.wizard-step[data-step="3"]{width:calc(100% + 16px);margin-left:-8px}.wizard-step[data-step="3"] .card{gap:10px}}

.search-panel{margin-bottom:26px}.search-panel h1{margin-bottom:16px}.search-form{display:grid;gap:8px}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.records-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.records-title h2{margin:0}.records-title span{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#dbe5f7;font-weight:800}.record-number{font-size:1.15rem;font-weight:800;color:#1d4ed8;text-decoration:none}.load-more{margin:24px auto 0;min-width:220px}.record-card{content-visibility:auto;contain-intrinsic-size:330px}@media(max-width:600px){.search-row{grid-template-columns:1fr}.records-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.records-grid .photo-card img{height:180px}.records-grid .meta{padding:10px}.records-grid .meta span,.records-grid .meta time{font-size:12px}}

.photo-detail{display:grid;gap:18px}.photo-detail-image{display:block;width:100%;max-height:72dvh;object-fit:contain;border-radius:16px;background:#0f172a}.photo-detail-meta{display:flex;flex-wrap:wrap;gap:14px 28px}.danger{background:#b91c1c;color:#fff}.delete-button{width:100%;max-width:320px;margin-left:auto}@media(max-width:600px){.photo-detail-image{max-height:68dvh}.photo-detail-meta{display:grid}.delete-button{max-width:none}}

.order-button{background:#7c3aed;color:#fff}.notice.warning{background:#fef3c7;color:#92400e}.order-title>div{min-width:0}.order-title p{margin:6px 0 0}.order-scanner-card{display:grid;gap:14px;max-width:720px;margin:auto}.order-reader{min-height:440px}.order-manual-form{grid-template-columns:minmax(0,1fr) auto}.order-list-title{margin-top:30px}.order-table-wrap{overflow:hidden;border:1px solid #94a3b8;border-radius:12px;background:#fff}.order-table{width:100%;border-collapse:collapse;font-size:18px}.order-table th,.order-table td{padding:13px 16px;border-bottom:1px solid #cbd5e1;text-align:left}.order-table th{position:sticky;top:0;background:#172554;color:#fff}.order-table tbody tr:last-child td{border-bottom:0}.order-table tbody tr:first-child{animation:order-added .5s ease}@keyframes order-added{from{background:#bbf7d0}to{background:#fff}}@media(max-width:600px){.order-title{align-items:stretch}.order-manual-form{grid-template-columns:1fr}.order-reader{min-height:calc(100dvh - 280px)}.order-table th,.order-table td{padding:12px}}
