@import url('/static/fonts.css');
:root{color-scheme:dark;--bg:#0b1017;--panel:#111923;--line:#26313e;--text:#ecf1f5;--muted:#929faf;--mint:#83f3c7;--mint-dark:#0b2e25;--red:#ffa6a6;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:4px}svg{stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.hidden{display:none!important}.app-shell{max-width:1440px;margin:auto;padding:0 64px}.topbar{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.brand>svg{width:34px;height:34px;color:var(--mint)}.brand>span{display:flex;align-items:center;font-size:27px;font-weight:700;letter-spacing:-1px}.brand-id{color:var(--mint)}.brand-divider{width:1px;height:20px;background:var(--line);margin:0 18px}.brand-sub{font-size:12px;font-weight:500;letter-spacing:3px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:20px;font-size:13px}.server-status{color:var(--muted);display:flex;align-items:center;gap:8px}.server-status.ready:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--mint)}.prototype-tag{border:1px solid var(--line);padding:5px 11px;border-radius:6px;color:#b8c4d0}main{padding:40px 0 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--mint);margin:0 0 12px}h1{font-size:36px;font-weight:500;letter-spacing:-1px;line-height:1.2;margin:0}p{margin:0}.intro{margin-top:12px;color:var(--muted)}.text-button{border:0;background:none;color:#b2c0ce;font-size:14px;display:flex;gap:8px;align-items:center;padding:10px 0}.text-button:hover{color:var(--mint)}.text-button svg{width:19px;height:19px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:28px;align-items:start}.capture-card{border:1px solid #2a3846;border-radius:18px;background:#101821;overflow:hidden}.capture-toolbar{height:58px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;font-size:13px;gap:12px}.camera-label{display:flex;align-items:center;gap:8px;color:#b1becc}.camera-dot{width:6px;height:6px;background:#5e6c7b;border-radius:50%}.camera-dot.on{background:var(--mint);box-shadow:0 0 8px #83f3c766}.mesh-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.mesh-toggle input{position:absolute;opacity:0;width:1px}.switch{width:28px;height:16px;border-radius:10px;background:#39434d;position:relative;transition:background .2s}.switch:after{content:'';position:absolute;top:3px;left:3px;width:10px;height:10px;background:#aab4bf;border-radius:50%;transition:transform .2s}.mesh-toggle input:checked+.switch{background:#244e43}.mesh-toggle input:checked+.switch:after{background:var(--mint);transform:translateX(12px)}.mesh-toggle input:focus-visible+.switch{outline:2px solid var(--mint);outline-offset:4px}.camera-stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#172a32 0,#111e27 38%,#0a141d 80%);isolation:isolate}.camera-stage:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#b6e2ff06 1px,transparent 1px),linear-gradient(90deg,#b6e2ff06 1px,transparent 1px);background-size:36px 36px;pointer-events:none}video,canvas#overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}video{opacity:0;transition:opacity .4s}.camera-stage.active video{opacity:1}canvas#overlay{z-index:3;pointer-events:none}.camera-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#08121b15 60%,#08121bc9);pointer-events:none;z-index:4}.guide-oval{position:absolute;left:28%;right:28%;top:12%;bottom:16%;border:1px dashed #83f3c74d;border-radius:48%;transition:border-color .25s,box-shadow .25s;z-index:2}.guide-oval.tracking{border:1px solid #83f3c77a;box-shadow:0 0 50px #83f3c707}.oval-notch{position:absolute;left:calc(50% - 12px);width:24px;top:-2px;height:3px;border-radius:2px;background:var(--mint);opacity:.65}.camera-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;z-index:5;padding:28px}.camera-placeholder>svg{width:43px;height:43px;color:#8da3ae;margin-bottom:20px}.camera-placeholder h2{font-size:19px;font-weight:500;margin:0 0 10px;color:#d5e0e6}.camera-placeholder p{font-size:14px;line-height:1.7;color:#7e96a4}.camera-corner{position:absolute;width:18px;height:18px;border-color:#506973;border-style:solid;z-index:5;opacity:.7}.left-top{top:22px;left:22px;border-width:1px 0 0 1px}.right-top{top:22px;right:22px;border-width:1px 1px 0 0}.left-bottom{bottom:22px;left:22px;border-width:0 0 1px 1px}.right-bottom{bottom:22px;right:22px;border-width:0 1px 1px 0}.capture-instruction{position:absolute;bottom:32px;left:30px;right:30px;z-index:6;display:flex;align-items:center;justify-content:center;gap:14px;text-shadow:0 1px 6px #0008}.instruction-icon{display:grid;place-items:center;font-size:30px;line-height:1;border:1px solid #ffffff40;width:52px;height:52px;border-radius:50%;background:#0d1a2480;color:var(--mint);flex-shrink:0}.capture-instruction strong{display:block;font-size:20px;font-weight:500}.capture-instruction span:not(.instruction-icon){display:block;font-size:13px;margin-top:3px;color:#b7c7d1}.scan-status{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;z-index:6;font:12px/1.5 monospace;color:#d9e7ed;text-shadow:0 1px 5px #000}.capture-bottom{padding:20px 22px}.capture-progress{height:3px;border-radius:2px;background:#25343e;overflow:hidden}.capture-progress>div{width:0;height:100%;background:var(--mint);transition:width .25s ease}.bottom-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);padding-top:14px}.bottom-caption>span:last-child{white-space:nowrap;color:#c5d3dd}.control-panel{background:var(--panel);padding:25px;border-radius:18px;border:1px solid var(--line)}.tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#090f17;border:1px solid #1e2936;border-radius:9px;gap:4px;margin-bottom:25px}.tabs button{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:6px;padding:9px 8px;font-size:14px}.tabs button[aria-selected=true]{background:#23313d;color:var(--text);border-color:#34434e;box-shadow:0 2px 4px #0003}.field-label{display:block;margin-bottom:9px;font-size:14px;color:#c3cdd7}input[type=text],select{width:100%;background:#0c141e;border:1px solid #33404d;color:var(--text);border-radius:8px;padding:12px 14px;min-height:48px;font-size:15px}input::placeholder{color:#708193}select{padding-right:30px;cursor:pointer}.field-help{font-size:13px;color:var(--muted);line-height:1.65;margin-top:10px}.field-help button{border:0;background:transparent;padding:0;color:var(--mint);font-size:inherit;text-decoration:underline;text-underline-offset:3px}.primary-button{border:1px solid var(--mint);background:var(--mint);color:#0c231a;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:13px 18px;width:100%;min-height:49px;transition:background .2s,transform .2s}.primary-button:hover:not(:disabled){background:#acffdf;border-color:#acffdf;transform:translateY(-1px)}.primary-button>svg{width:21px;height:21px}.primary-button .button-arrow{margin-left:auto;font-size:21px;font-weight:400;line-height:1}#start-button{margin-top:22px}.secondary-button{background:transparent;border:1px solid #41515f;border-radius:8px;color:#c8d5df;min-height:45px;padding:10px 18px;font-size:14px}.secondary-button:hover{border-color:#8498a9}#stop-button{width:100%;margin-top:10px}.steps-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:26px;padding-top:23px;gap:8px}.steps-heading h2{font-size:14px;font-weight:500;margin:0;color:#c0cbd5}.steps-heading>span{font:11px monospace;color:#677b8e}.check-list{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:20px}.check-list li{display:flex;align-items:center;gap:12px;min-height:44px}.check-number{width:32px;height:32px;display:grid;place-items:center;border:1px solid #30404d;border-radius:50%;color:#8b9aab;font:12px monospace;flex-shrink:0;transition:.2s}.check-list strong{font-size:14px;font-weight:500;color:#c5cfda}.check-list p{font-size:12px;margin-top:3px;color:#7d90a1;line-height:1.5}.check-indicator{margin-left:auto;color:var(--mint);font-size:17px}.check-list li.active .check-number{border-color:#83f3c76b;color:var(--mint);background:#83f3c709}.check-list li.done .check-number{border-color:#83f3c730;background:#83f3c710;color:var(--mint)}.check-list li.done .check-indicator:after{content:'✓'}.check-list li.failed .check-indicator:after{content:'×';color:var(--red)}.prototype-note{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:9px;color:#8397a9}.prototype-note svg{width:17px;height:17px;flex-shrink:0;margin-top:2px}.prototype-note p{font-size:12px;line-height:1.65}.consent{display:flex;gap:9px;align-items:flex-start;margin-top:14px;font-size:12px;line-height:1.6;color:#a1b2c1;cursor:pointer}.consent input{margin-top:4px;accent-color:var(--mint);width:15px;height:15px;flex-shrink:0}.operator-message{background:#1f2830;padding:12px;border-radius:8px;margin-top:14px;font-size:12px;color:#a9bbc8;overflow-wrap:anywhere}.operator-message strong,.operator-message span{display:block;margin-bottom:6px}.operator-message code{font-size:12px;color:var(--mint)}.operator-active{display:block;font-size:12px;color:var(--mint);margin-top:12px}.message{padding:12px;border:1px solid #805c513d;border-radius:8px;margin-top:14px;background:#a06a4612;color:#f1bd9e;font-size:13px;line-height:1.6;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0 34px;color:#728598;font-size:12px}footer>div{display:flex;align-items:center;gap:20px;font:10px monospace;letter-spacing:1px}.footer-chip{border:1px solid #2a3948;border-radius:4px;padding:3px 6px;color:#a3b2c1;white-space:nowrap}.result-panel{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,#153b32,#0c1820 65%);z-index:10;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px}.result-panel.rejected{background:radial-gradient(ellipse at 50% 30%,#38292a,#101820 65%)}.result-symbol{width:64px;height:64px;border-radius:50%;border:1px solid #83f3c766;background:#83f3c712;color:var(--mint);display:grid;place-items:center;font-size:30px;margin-bottom:23px}.rejected .result-symbol{border-color:#e9a6a64d;background:#e9a6a610;color:var(--red)}.result-panel h2{font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-.6px;margin:0 0 12px}.result-panel>p:not(.eyebrow){max-width:350px;color:#adbdc8;font-size:14px;line-height:1.7}.result-panel .primary-button{width:auto;min-width:230px;margin-top:24px}.result-panel .eyebrow{margin-bottom:12px;font-size:10px}.delete-button{margin-top:20px;width:100%;border:0;background:transparent;color:#9babb9;font-size:12px;text-decoration:underline;text-underline-offset:3px}.delete-button:hover{color:var(--red)}dialog{color:var(--text);background:#131d28;border:1px solid #354655;border-radius:18px;padding:32px;max-width:520px;width:calc(100% - 32px);box-shadow:0 24px 80px #0008}dialog::backdrop{background:#02060cc4;backdrop-filter:blur(5px)}dialog h2{font-size:25px;line-height:1.25;font-weight:500;margin:0 0 20px}dialog p:not(.eyebrow){color:#aabbca;font-size:14px;line-height:1.8;margin-bottom:18px}.dialog-close{position:absolute;right:15px;top:10px;background:transparent;border:0;color:var(--muted);font-size:28px;padding:2px 8px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.danger-button{background:#c57676;border:0;border-radius:8px;padding:10px 18px;color:#1f1010;font-size:14px;font-weight:600}body.capturing .tabs{pointer-events:none;opacity:.6}body.capturing #mode-panel{opacity:.65;pointer-events:none}
@media(min-width:1450px){.app-shell{max-width:1480px;padding:0 80px}main{padding-top:48px}.camera-stage{aspect-ratio:1.39}.control-panel{padding:30px}}
@media(max-width:1100px){.app-shell{padding:0 32px}.workspace{gap:20px;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}.control-panel{padding:20px}.camera-stage{aspect-ratio:1.12}.guide-oval{left:18%;right:18%;top:15%;bottom:15%}h1{font-size:31px}.bottom-caption{font-size:11px}.capture-bottom{padding:18px}.capture-instruction{left:18px;right:18px}.capture-instruction strong{font-size:18px}.topbar{height:86px}}
@media(max-width:800px){.app-shell{padding:0 20px}.topbar{height:76px}.workspace{grid-template-columns:1fr}.control-panel{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.tabs{grid-column:1/-1;margin-bottom:18px}#mode-panel{grid-column:1/-1}#start-button{grid-column:1/-1;margin-top:16px}#stop-button,.message,.prototype-note,.delete-button{grid-column:1/-1}.steps-heading,.check-list{display:none}.prototype-note{margin-top:16px;padding-top:14px}.camera-stage{aspect-ratio:4/3}.page-heading{align-items:flex-start;margin-bottom:24px}h1{font-size:28px}.intro{font-size:14px}.text-button{font-size:0;padding-top:2px}.text-button svg{width:24px;height:24px}.page-heading{gap:16px}main{padding-top:28px}.eyebrow{font-size:10px}.guide-oval{left:28%;right:28%;top:12%;bottom:16%}footer{flex-direction:column;align-items:flex-start;gap:10px;padding:22px 0}.topbar-right{gap:12px}.prototype-tag{font-size:11px}.server-status{font-size:11px}.brand-sub,.brand-divider{display:none}.brand>span{font-size:24px}.brand>svg{width:29px;height:29px}.brand{gap:8px}body.capturing .control-panel{display:none}body.capturing .workspace{gap:0}.camera-stage.active{aspect-ratio:3/4}.camera-stage.active .guide-oval{left:18%;right:18%;top:20%;bottom:20%}.capture-instruction{bottom:35px}.capture-toolbar{padding:0 16px}.bottom-caption{font-size:11px;flex-wrap:wrap}.camera-placeholder h2{font-size:17px}.camera-placeholder p{font-size:13px}.camera-placeholder svg{margin-bottom:14px}body.capturing .capture-bottom:after{content:'Чтобы остановить, нажмите Escape или вернитесь на страницу';font-size:11px;display:block;color:var(--muted);padding-top:8px}.camera-stage.active .mobile-stop{display:block}.result-panel h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
#mobile-stop{font-size:13px;color:var(--red);padding:4px 8px;margin-left:auto}#mobile-stop.hidden{display:none!important}
.spaced{margin-top:16px}.choice-group{border:0;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:9px}.choice-group.spaced{margin-top:18px}.choice-group legend{font-size:13px;color:var(--muted);margin-bottom:10px}.choice-group label{font-size:14px;display:flex;gap:8px;align-items:center;cursor:pointer}.choice-group input{accent-color:var(--mint);width:16px;height:16px}.choice-group label>span{margin-left:auto;font:12px monospace;color:var(--mint)}#tenant-field{margin-bottom:20px}.partner-info{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.partner-info>strong{font-size:21px;font-weight:500;overflow-wrap:anywhere}.partner-info>p:last-child{font-size:13px;color:var(--muted);margin-top:9px}.upload-label{display:flex;flex-direction:column;gap:10px;padding:15px;border:1px dashed #4a6268;border-radius:8px;color:var(--mint);font-size:14px}.upload-label input{max-width:100%;font-size:12px;color:var(--muted)}#integration-link{font-size:13px}#profile-subject{font-size:13px}.result-panel h2{overflow-wrap:anywhere;max-width:100%}@media(max-width:800px){#tenant-field,#partner-info{grid-column:1/-1}.topbar-right{gap:9px}#integration-link{font-size:12px}.prototype-tag{display:none}}
.integration-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.4fr);gap:36px}.section-title{font-weight:500;font-size:22px;margin:0 0 24px}.integration-layout textarea{width:100%;resize:vertical;background:#0c141e;border:1px solid #33404d;border-radius:8px;padding:12px;color:var(--text);font:14px/1.6 monospace}.integration-layout input[type=password]{width:100%;padding:12px;background:#0c141e;color:var(--mint);border:1px solid #33404d;border-radius:8px}.credentials{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}.credentials h3{font-size:18px;font-weight:500}.integration-guide{padding:8px 0}.integration-guide h2{font-size:24px;font-weight:500}.integration-guide ol{padding-left:20px;color:#b2c2ce}.integration-guide li{margin-bottom:18px;padding-left:8px}.integration-guide code{font-size:13px;color:var(--mint)}.integration-guide a{color:var(--mint)}.integration-flow{display:flex;align-items:center;gap:12px;background:#12221f;border:1px solid #304d43;border-radius:12px;padding:20px;font-size:14px;flex-wrap:wrap}.integration-flow b{color:var(--mint);font-weight:400}.connections-section{margin-top:40px}.clients-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.client-card{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.client-card h3{margin:0 0 10px;font-size:18px;font-weight:500}.client-card code{font-size:12px;color:var(--muted)}.client-card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin:10px 0;color:#aebecb}.client-state{font-size:12px;color:var(--mint)}@media(max-width:800px){.integration-layout{grid-template-columns:1fr}.integration-layout>.control-panel{display:block}.integration-flow{gap:8px;font-size:12px;padding:15px}.integration-guide{padding-top:0}}
@media(max-width:800px){.topbar-right a.text-button{font-size:12px}}
.connections-section a{color:var(--mint)}
