@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:dark;--bg: #050505;--bg-soft: #0a0b12;--panel: rgba(14, 16, 24, .78);--panel-strong: rgba(10, 12, 20, .92);--line: rgba(255, 255, 255, .1);--line-soft: rgba(255, 255, 255, .06);--ink: #f1f5ff;--muted: #8a95b3;--brand: #0d0df2;--brand-2: #3f4dff;--ok: #1ccf89;--warn: #f7bd67;--danger: #ff4d6d;--shadow: 0 24px 50px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(1200px 680px at 14% -18%,rgba(13,13,242,.25),transparent 58%),radial-gradient(760px 460px at 100% 0%,rgba(82,98,255,.16),transparent 62%),linear-gradient(180deg,#040406,#05070d 48%,#050505);overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:72px 72px;opacity:.18}.app{width:100%;max-width:1560px;height:100vh;margin:0 auto;padding:22px;overflow:hidden}.card{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel-strong));border:1px solid var(--line);border-radius:20px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);min-height:0}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;border:1px solid rgba(255,255,255,.04);pointer-events:none}.viewer-card{height:calc(100vh - 44px);padding:18px;display:grid;grid-template-rows:auto auto auto auto auto;gap:12px;animation:rise .35s ease}.hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.title-wrap{display:grid;gap:6px}h1,h2{margin:0;letter-spacing:-.02em}h1{font-size:clamp(1.5rem,1vw + 1.1rem,2.15rem);font-weight:700;display:flex;align-items:center;gap:11px}h1:before{content:"";width:8px;height:30px;border-radius:99px;background:linear-gradient(180deg,#495dff,var(--brand));box-shadow:0 0 20px #0d0df28c}h2{font-size:1.1rem;font-weight:700}.muted{margin:0;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.14em}.links-bar{display:flex;flex-wrap:wrap;gap:10px}.links-bar a{text-decoration:none;color:#e6ecff;font-size:.78rem;font-weight:600;border:1px solid var(--line);background:#ffffff08;border-radius:999px;padding:8px 12px;transition:transform .18s ease,background .18s ease,border-color .18s ease}.links-bar a:hover{transform:translateY(-1px);background:#ffffff14;border-color:#fff3}.viewer{position:relative;aspect-ratio:16 / 9;max-height:46vh;border-radius:16px;border:1px solid rgba(94,108,255,.45);background:#020205;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a inset,0 0 32px #0d0df23d}.viewer:before{content:"LIVE FEED";position:absolute;left:12px;top:12px;z-index:20;font-size:.65rem;letter-spacing:.11em;font-weight:700;color:#ff7b93;border:1px solid rgba(255,90,120,.35);background:#ff2f5c24;border-radius:999px;padding:4px 9px}.viewer:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(56,79,255,.95),transparent);z-index:19;animation:scan 3.2s linear infinite}#camera,#frameCanvas{width:100%;border:0}#camera{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;height:100%;object-fit:cover;background:#080a11;filter:contrast(1.08) saturate(1.05)}#frameCanvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;pointer-events:none;z-index:8}.row{display:flex;flex-wrap:wrap;gap:10px}.controls{display:grid;grid-template-columns:minmax(240px,1.35fr) repeat(2,minmax(0,1fr))}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.between{justify-content:space-between;align-items:center}button,.file-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(76,95,255,.4);border-radius:12px;padding:11px 13px;font-family:inherit;font-size:.84rem;font-weight:600;color:#fff;background:linear-gradient(160deg,var(--brand),var(--brand-2));box-shadow:0 12px 24px #0d0df24d;cursor:pointer;transition:transform .16s ease,box-shadow .2s ease,opacity .2s ease}button:hover,.file-input:hover{transform:translateY(-1px);box-shadow:0 14px 24px #0d0df26b}button:disabled{opacity:.46;cursor:not-allowed;box-shadow:none;transform:none}button.secondary,.modal-close,#openSettingsBtn,#openCacheBtn,#openMoreBtn,#addPersonBtn{border-color:var(--line);background:#ffffff0a;color:#c8d2ec;box-shadow:none}button.secondary:hover,.modal-close:hover,#openSettingsBtn:hover,#openCacheBtn:hover,#openMoreBtn:hover,#addPersonBtn:hover{box-shadow:none;background:#ffffff14}.capture-panel{border:1px dashed rgba(84,104,255,.45);border-radius:14px;padding:10px;background:#1e27582e}.capture-title{margin:0 0 8px;color:#9eb0df;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.capture-actions{margin-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}button.danger{border-color:#ff6e8e59;background:#ff416421;color:#ff8ea8;box-shadow:none}button.danger:hover{background:#ff416433}.status,.result{margin:0;display:flex;align-items:center;border-radius:12px;border:1px solid var(--line-soft);background:#ffffff08;color:#ccd6f6;padding:11px 13px;font-size:.84rem;min-height:46px;max-height:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#autoMetrics{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;color:#8d9ac0;min-height:40px;max-height:40px}.live-result{border-color:#1ccf8973;background:linear-gradient(180deg,#0b2f26b3,#071d18bf);color:#9df0c9;box-shadow:inset 0 0 0 1px #1dbe8133;font-size:.95rem;font-weight:700;min-height:50px;max-height:50px}.result.ok{border-color:#1dc68473;color:#9df0c9}.result.warn{border-color:#f7bd6773;color:#ffdca1}.tab-row{display:flex;gap:10px;margin-bottom:14px}.tab{border-radius:12px;border:1px solid var(--line);background:#ffffff08;color:#9aa4c8;padding:10px 14px}.tab.active{background:#0d0df238;border-color:#0d0df29e;color:#dce3ff;box-shadow:inset 0 -2px #0d0df299}.case{display:block}.case.hidden{display:none}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auto-grid{grid-template-columns:repeat(3,minmax(0,220px))}label{display:grid;gap:6px;color:#8190b8;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:600}input[type=text],input[type=number]{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#00000059;color:#f0f4ff;font-family:inherit;font-size:.95rem;transition:border-color .16s ease,box-shadow .16s ease}input[type=text]:focus,input[type=number]:focus{outline:none;border-color:#4657ffcc;box-shadow:0 0 0 3px #0d0df233}.file-input{position:relative;overflow:hidden}.file-input input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.hidden{display:none!important}body.modal-open{overflow:hidden!important}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:18px}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#03050acc;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-card{position:relative;z-index:1;width:min(980px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:18px}#cacheModal .modal-card{width:min(840px,100%)}#actionsModal .modal-card{width:min(460px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.workflow-card{overflow-x:hidden}.cache-card{display:flex;flex-direction:column;overflow:hidden}.action-list{display:grid;gap:10px}.action-list button{width:100%}.people-list{margin-top:8px;display:grid;gap:10px;overflow:auto;flex:1;min-height:0;padding-right:6px}.people-list::-webkit-scrollbar{width:6px}.people-list::-webkit-scrollbar-thumb{background:#0d0df257;border-radius:99px}.person{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:14px;border:1px solid var(--line-soft);background:#ffffff08;padding:10px;transition:border-color .16s ease,background .16s ease}.person:hover{border-color:#6270ff57;background:#ffffff0d}.person-title{font-weight:700;font-size:.93rem}.person-subtitle{color:#7f8bb1;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.person button{padding:8px 10px;font-size:.74rem}@media (max-height: 940px){.app{padding:14px}.viewer-card{height:calc(100vh - 28px);gap:10px}.viewer{max-height:41vh}button,.file-input{padding:9px 11px;font-size:.79rem}}@media (max-height: 780px){.viewer{max-height:37vh}}@media (max-width: 860px){html,body{height:100dvh}body{overflow:hidden}.app{height:100dvh;min-height:100dvh;padding:8px;overflow:hidden}.viewer-card{height:calc(100dvh - 16px);padding:10px;gap:8px;grid-template-rows:auto minmax(0,1fr) auto auto auto;overflow:hidden}.hero-head{flex-direction:column;gap:6px;padding-bottom:6px}h1{font-size:1.22rem;gap:8px}h1:before{width:6px;height:22px}.muted{font-size:.64rem;letter-spacing:.1em}.links-bar{gap:6px}.links-bar a{padding:6px 8px;font-size:.68rem}.viewer{width:min(100%,calc(46dvh * 16 / 9));max-width:100%;height:auto;min-height:0;aspect-ratio:16 / 9;border-radius:12px;align-self:center}.controls{grid-template-columns:1fr 1fr;gap:8px}#toggleRecognitionBtn{grid-column:1 / -1}.capture-actions{grid-template-columns:1fr 1fr}#closeCapturePanelBtn{grid-column:1 / -1}.capture-panel{position:fixed;left:8px;right:8px;bottom:8px;z-index:44;background:#0b0e1cf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}button,.file-input{padding:9px 10px;font-size:.76rem;border-radius:10px}.form-grid,.auto-grid{grid-template-columns:1fr}#status{display:none}.status,.result{padding:8px 10px;font-size:.76rem;border-radius:10px;min-height:40px;max-height:40px}.live-result{position:static;font-size:.82rem;padding:9px 10px;min-height:44px;max-height:44px}#autoMetrics{font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal{padding:10px}.modal-card{max-height:calc(100vh - 20px)}}@media (max-width: 860px) and (max-height: 740px){.muted{display:none}.links-bar{display:flex;width:100%;gap:6px}.links-bar a{flex:1 1 0;text-align:center;padding:5px 7px;font-size:.64rem}.viewer-card{grid-template-rows:auto minmax(0,1fr) auto auto}#autoMetrics{display:none}}@keyframes scan{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}to{top:100%;opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
