:root{--bg:#fff;--fg:#0a0a0a;--muted-fg:#5a5a5a;--soft-fg:#8a8a8a;--line:#e6e6e6;--panel:#f7f7f7;--panel-elev:#f0f0f0;--focus:#000;--radius:16px;--radius-sm:10px;--shadow:0 10px 30px #00000014;--shadow-soft:0 6px 18px #0000000f;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Inter,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0a0a0a;--fg:#f8f8f8;--muted-fg:#c7c7c7;--soft-fg:#a9a9a9;--line:#1a1a1a;--panel:#101010;--panel-elev:#141414;color-scheme:dark}}*,:after,:before{box-sizing:border-box}#root,body,html{height:100%}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--bg);color:#0a0a0a;color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif;font-family:var(--font-sans);margin:0;padding:0}a{border-bottom:1px solid;color:inherit;text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.7}button,input,textarea{color:inherit;font-family:inherit}:focus-visible{outline:2px solid #000;outline:2px solid var(--focus);outline-offset:2px}.container{margin:0 auto;padding:0;width:min(1100px,92vw)}@media (max-width:768px){.container{width:94vw}}h1{font-size:clamp(28px,3.2vw,40px);font-weight:700;letter-spacing:-.02em}h1,h2{margin:0}h2{font-size:clamp(20px,2.4vw,26px);font-weight:650;letter-spacing:-.01em}h3{font-size:18px;font-weight:600}h3,p{margin:0}p{color:#5a5a5a;color:var(--muted-fg);line-height:1.6}.card{background:#f7f7f7;background:var(--panel);border:1px solid #e6e6e6;border:1px solid var(--line);border-radius:16px;border-radius:var(--radius);box-shadow:0 10px 30px #00000014;box-shadow:var(--shadow)}.input,input[type=file],input[type=password],input[type=text],select,textarea{background:#fff;background:var(--bg);border:1px solid #e6e6e6;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);font-size:16px;min-height:44px;outline:none;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}textarea{min-height:160px;resize:vertical}input[type=file]{cursor:pointer;padding:10px}label{color:#8a8a8a;color:var(--soft-fg);font-size:12px;letter-spacing:.02em;text-transform:uppercase}button{-webkit-tap-highlight-color:rgba(0,0,0,.1);-webkit-appearance:none;appearance:none;background:#0a0a0a;background:var(--fg);border:1px solid #0a0a0a;border:1px solid var(--fg);border-radius:999px;box-shadow:0 8px 20px #0000001f;color:#fff;color:var(--bg);cursor:pointer;font-weight:600;letter-spacing:.01em;min-height:44px;padding:12px 16px;transition:transform .06s ease,box-shadow .2s ease,opacity .2s ease,background .2s ease,color .2s ease}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.45}@media (hover:none){button:hover{transform:none}}button.ghost{background:#0000;border-color:#e6e6e6;border-color:var(--line);box-shadow:none;color:#0a0a0a;color:var(--fg)}button.ghost:hover{background:#f0f0f0;background:var(--panel-elev)}table{background:#f7f7f7;background:var(--panel);border:1px solid #e6e6e6;border:1px solid var(--line);border-collapse:collapse;border-radius:16px;border-radius:var(--radius);border-spacing:0;overflow:hidden;width:100%}thead th{background:#f0f0f0;background:var(--panel-elev);color:#8a8a8a;color:var(--soft-fg);font-size:12px;letter-spacing:.06em;text-align:left;text-transform:uppercase}tbody td,thead th{border-bottom:1px solid #e6e6e6;border-bottom:1px solid var(--line);padding:14px 16px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#f0f0f0;background:var(--panel-elev)}.status-message{background:#f7f7f7;background:var(--panel);border:1px solid #e6e6e6;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 6px 18px #0000000f;box-shadow:var(--shadow-soft);padding:14px 16px}.status-message h4{font-weight:700;margin:0 0 6px}.status-message.success{border-color:#cfcfcf}.status-message.warning{border-style:dashed}.status-message.error{background:#f9f9f9;border-color:#000}.loader{animation:spin .8s linear infinite;border:2px solid #e6e6e6;border-top-color:#0a0a0a;border:2px solid var(--line);border-radius:50%;border-top-color:var(--fg);height:38px;margin:20px auto;width:38px}@media (prefers-reduced-motion:reduce){.loader{animation:none}}.error-message{background:#f7f7f7;background:var(--panel);border:1px solid #e6e6e6;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);color:#0a0a0a;color:var(--fg);padding:12px 14px}.toggle-switch{align-items:center;display:flex;gap:10px;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#f0f0f0;background:var(--panel-elev);border:1px solid #e6e6e6;border:1px solid var(--line);border-radius:999px;height:26px;outline:none;position:relative;transition:background .2s ease,border-color .2s ease;width:44px}.toggle-switch input[type=checkbox]:after{background:#0a0a0a;background:var(--fg);border-radius:50%;content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .2s ease;width:20px}.toggle-switch input[type=checkbox]:checked:after{transform:translateX(18px)}.camera-capture{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:800px;width:100%}@media (max-width:768px){.camera-capture{background:#000;bottom:0;gap:0;left:0;margin:0;max-width:100%;padding:0;position:fixed;right:0;top:0;z-index:1000}}.camera-container{align-items:center;aspect-ratio:16/9;background:#000;border-radius:8px;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}@media (max-width:768px){.camera-container{aspect-ratio:unset;border-radius:0;flex:1 1;height:100vh;max-height:none}}.camera-preview{height:100%;object-fit:cover;width:100%}.camera-preview.mirrored{transform:scaleX(-1)}.camera-error,.camera-loading{align-items:center;color:#fff;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem;text-align:center}.error-icon{color:#ffc107}.error-message{font-size:1rem;line-height:1.5;max-width:400px}.btn-retry{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1.5rem}.btn-retry:hover{background:#0056b3}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.recording-indicator{align-items:center;background:#000000b3;border-radius:4px;color:#fff;display:flex;font-weight:700;gap:.5rem;left:1rem;padding:.5rem 1rem;position:absolute;top:1rem}.recording-dot{animation:pulse 1.5s ease-in-out infinite;background:red;border-radius:50%;height:12px;width:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.recording-time{font-family:Courier New,monospace;font-size:1.1rem}.btn-switch-camera{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border:2px solid #fff;border-radius:50%;bottom:1rem;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;right:1rem;transition:all .2s;width:48px;z-index:5}.btn-switch-camera:hover{background:#000000b3;transform:scale(1.1)}.btn-switch-camera:active{transform:scale(.95)}@media (max-width:768px){.btn-switch-camera{border:3px solid #fff;bottom:120px;box-shadow:0 4px 12px #0000004d;height:56px;right:1.5rem;width:56px}}.camera-controls{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex;gap:1.5rem;justify-content:center;padding:1.5rem}@media (max-width:768px){.camera-controls{grid-gap:1rem;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--panel);border-radius:0;border-top:1px solid var(--line);bottom:0;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;left:0;padding:2rem 1.5rem calc(2rem + env(safe-area-inset-bottom));position:fixed;right:0;z-index:10}.camera-controls .btn-switch-control{justify-self:start}.camera-controls .btn-pause-circle,.camera-controls .btn-record-circle,.camera-controls .btn-resume-circle{justify-self:center}.camera-controls .btn-cancel-text,.camera-controls .btn-stop-text{justify-self:end}}.camera-controls button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.camera-controls button:disabled{cursor:not-allowed;opacity:.5}.btn-record{background:#dc3545;color:#fff}.btn-record:hover:not(:disabled){background:#c82333;transform:scale(1.05)}.btn-pause{background:#ffc107;color:#000}.btn-pause:hover{background:#e0a800}.btn-resume{background:#28a745;color:#fff}.btn-resume:hover{background:#218838}.btn-stop{background:#007bff;color:#fff}.btn-stop:hover{background:#0056b3}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.pause-icon,.record-icon,.resume-icon,.stop-icon{display:inline-block;height:16px;position:relative;width:16px}.record-icon:before{background:#fff;border-radius:50%;content:"";height:16px;position:absolute;width:16px}.pause-icon:after,.pause-icon:before{background:#000;content:"";height:16px;position:absolute;width:5px}.pause-icon:before{left:2px}.pause-icon:after{right:2px}.resume-icon:before{border-bottom:8px solid #0000;border-left:12px solid #fff;border-top:8px solid #0000;content:"";height:0;left:4px;position:absolute;width:0}.stop-icon:before{background:#fff;content:"";height:16px;position:absolute;width:16px}.camera-info{min-height:1.5rem;padding:.5rem;text-align:center}@media (max-width:768px){.camera-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border-bottom:1px solid #ffffff1a;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10}}.recording-status{color:#f44}.ready-status,.recording-status{align-items:center;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center}.ready-status{color:#4caf50}@media (max-width:768px){.ready-status,.recording-status{color:#fff;font-size:1rem}}.btn-switch-control{align-items:center;background:var(--bg);border:2px solid var(--line);border-radius:50%;box-shadow:var(--shadow-soft);color:var(--fg);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .2s;width:48px}.btn-switch-control svg{stroke:var(--fg)}.btn-switch-control:hover{background:var(--panel-elev);box-shadow:var(--shadow);transform:translateY(-2px)}.btn-switch-control:active{transform:translateY(0)}.btn-pause-circle,.btn-record-circle,.btn-resume-circle{align-items:center;background:var(--bg);border:3px solid var(--fg);border-radius:50%;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-shrink:0;height:64px;justify-content:center;transition:all .2s;width:64px}.btn-record-circle:hover:not(:disabled){box-shadow:0 8px 24px #00000026;transform:scale(1.05)}.btn-pause-circle:active,.btn-record-circle:active,.btn-resume-circle:active{transform:scale(.95)}.btn-record-circle:disabled{cursor:not-allowed;opacity:.4}.btn-pause-circle:hover,.btn-resume-circle:hover{box-shadow:0 8px 24px #00000026;transform:scale(1.05)}.btn-record-circle svg circle{fill:#dc3545}.btn-pause-circle svg rect,.btn-resume-circle svg path{fill:var(--fg)}.btn-cancel-text,.btn-stop-text{background:var(--bg);border:2px solid var(--line);border-radius:999px;box-shadow:var(--shadow-soft);color:var(--fg);cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.02em;min-width:80px;padding:.75rem 1.25rem;transition:all .2s}.btn-cancel-text:hover{background:var(--panel-elev);box-shadow:var(--shadow);transform:translateY(-2px)}.btn-stop-text{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn-stop-text:hover{box-shadow:var(--shadow);opacity:.9;transform:translateY(-2px)}.btn-cancel-text:active,.btn-stop-text:active{transform:translateY(0)}@media (max-width:768px){.camera-controls{background:var(--bg)}.btn-switch-control{height:52px;width:52px}.btn-pause-circle,.btn-record-circle,.btn-resume-circle{border-width:4px;height:72px;width:72px}.btn-cancel-text,.btn-stop-text{font-size:1rem;min-width:90px;padding:.875rem 1.5rem}.btn-cancel,.btn-pause,.btn-record,.btn-resume,.btn-stop{display:none}}.App{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh}.App-header{background:var(--bg);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-inner{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:18px 0}.App main .container{grid-gap:24px;display:grid;gap:24px;padding:20px 0 40px}footer{border-top:1px solid var(--line)}footer .container{align-items:center;color:var(--soft-fg);display:flex;justify-content:space-between;padding:18px 0}.results-display{grid-gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:16px;padding:18px}.results-table{grid-gap:10px;display:grid;gap:10px}.results-table table{-webkit-overflow-scrolling:touch;border-collapse:collapse;display:block;overflow-x:auto;width:100%}.results-table tbody,.results-table thead,.results-table tr{display:table;table-layout:fixed;width:100%}.results-table td,.results-table th{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left}.results-table th{background:var(--bg);font-weight:600;position:-webkit-sticky;position:sticky;top:0}.results-table td:first-child,.results-table th:first-child{min-width:80px;width:15%}.results-table td:nth-child(2),.results-table th:nth-child(2){min-width:150px;width:45%}.results-table td:nth-child(3),.results-table th:nth-child(3){min-width:100px;width:25%}.results-table td:nth-child(4),.results-table th:nth-child(4){min-width:80px;text-align:center;width:15%}td.covered{font-weight:700}td.missing{opacity:.7}@media (max-width:768px){.results-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.results-table table{min-width:100%}.results-table td,.results-table th{word-wrap:break-word;font-size:13px;padding:8px 4px}.results-table td:first-child,.results-table th:first-child{min-width:auto;width:25%}.results-table td:nth-child(2),.results-table th:nth-child(2){min-width:auto;width:50%}.results-table td:nth-child(3),.results-table th:nth-child(3){display:none}.results-table td:nth-child(4),.results-table th:nth-child(4){min-width:auto;width:25%}.raw-json{display:none!important}}.raw-json{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.raw-json pre{color:var(--muted-fg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px;line-height:1.6;margin:0;max-height:360px;overflow:auto;padding:16px}.upload-form{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin:0 auto;max-width:1200px}.form-section{grid-gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:12px;padding:24px;transition:box-shadow .2s ease}.form-section:hover{box-shadow:var(--shadow)}.form-section h2{color:var(--fg);font-size:18px;font-weight:600;margin:0 0 12px}.progress-section{background:linear-gradient(135deg,var(--panel) 0,var(--bg) 100%);border:2px solid var(--line)}.progress-bar-container{align-items:center;display:flex;gap:16px;margin-top:8px}.progress-bar{background:var(--bg);border:1px solid var(--line);box-shadow:inset 0 2px 4px #0000001a;flex:1 1;height:24px}.progress-bar,.progress-fill{border-radius:12px;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,#000,#333);height:100%;transition:width .3s ease}.progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-text{font-feature-settings:"tnum";color:var(--fg);font-size:16px;font-variant-numeric:tabular-nums;font-weight:700;min-width:50px;text-align:right}.form-actions{display:flex;justify-content:center;padding:8px 0}.form-actions button{background:var(--fg);border:none;border-radius:var(--radius);box-shadow:var(--shadow-soft);color:var(--bg);cursor:pointer;font-size:16px;font-weight:600;max-width:400px;padding:16px 32px;transition:all .2s ease;width:100%}.form-actions button:hover:not(:disabled){box-shadow:var(--shadow);transform:translateY(-2px)}.form-actions button:active:not(:disabled){transform:translateY(0)}.form-actions button:disabled{cursor:not-allowed;opacity:.5;transform:none}.file-input-wrapper{display:inline-block;margin-bottom:16px;position:relative;width:100%}.file-input-wrapper input[type=file]{height:0;left:-9999px;opacity:0;position:absolute;width:0}.file-input-label{align-items:center;background:var(--bg);border:2px dashed var(--line);border-radius:var(--radius);color:var(--muted-fg);cursor:pointer;display:flex;flex-direction:column;font-size:15px;font-weight:500;gap:12px;justify-content:center;min-height:160px;padding:48px 24px;text-align:center;transition:all .2s ease;width:100%}.file-input-label:hover{background:var(--panel);border-color:var(--fg);color:var(--fg)}.file-input-label:hover .file-input-icon{transform:translateY(-4px)}.file-input-label.has-file{background:var(--panel);border-color:var(--fg);border-style:solid;color:var(--fg);flex-direction:row;min-height:auto;padding:24px}.file-input-icon{align-items:center;display:flex;justify-content:center;transition:transform .2s ease}.file-input-icon svg{color:var(--muted-fg)}.file-input-label:hover .file-input-icon svg{color:var(--fg)}.file-info{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:4px}.file-name{color:var(--fg);font-size:15px;font-weight:600;word-break:break-word}.file-size{color:var(--soft-fg);font-size:13px}.file-input-mobile-text{display:none}@media (max-width:768px){.file-input-desktop-text{display:none}.file-input-mobile-text{display:inline}.file-input-label{min-height:100px;padding:36px 20px}.file-input-icon svg{height:28px;width:28px}}.recorded-video-header{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.recorded-status{align-items:center;color:var(--fg);display:flex;font-size:15px;font-weight:600;gap:8px}.recorded-status svg{color:#28a745;flex-shrink:0}.btn-switch-upload{align-items:center;background:var(--fg);border:2px solid var(--fg);border-radius:999px;box-shadow:var(--shadow-soft);color:var(--bg);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-switch-upload:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.btn-switch-upload:active{transform:translateY(0)}.btn-switch-upload svg{flex-shrink:0}@media (max-width:768px){.recorded-video-header{align-items:stretch;flex-direction:column;gap:12px}.btn-switch-upload,.recorded-status{justify-content:center}.btn-switch-upload{font-size:15px;padding:12px 20px;width:100%}}.vp-aspect{aspect-ratio:16/9;background:var(--panel-elev);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;width:100%}.vp-empty{color:var(--soft-fg);display:grid;font-size:14px;height:100%;place-items:center}.vp-controls{grid-gap:10px;display:grid;gap:10px;margin-top:10px}.vp-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.vp-spacer{flex:1 1}.vp-time{font-feature-settings:"tnum";color:var(--soft-fg);font-size:12px;font-variant-numeric:tabular-nums;min-width:45px}.vp-seek{accent-color:#000;flex:1 1;min-height:32px}.vp-rate{background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--fg);min-height:36px;padding:6px 8px}.vp-rate-label{color:var(--soft-fg);font-size:12px}@media (max-width:768px){.vp-controls,.vp-row{gap:8px}.vp-row button{font-size:13px;min-width:44px;padding:8px 12px}.vp-time{font-size:13px}.vp-rate{font-size:14px}@media (max-width:480px){.vp-row{justify-content:center}.vp-spacer{display:none}}}@media (max-width:768px){.upload-form{gap:16px}.form-section{padding:18px}.form-section h2{font-size:16px}.form-actions button{max-width:none;min-height:48px}.progress-bar-container{align-items:stretch;flex-direction:column}.progress-text{font-size:18px;text-align:center}}.login-shell{display:grid;min-height:calc(100dvh - 120px);padding:24px 0;place-items:center}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;width:min(460px,92vw)}.login-header h1{font-size:28px;margin:0 0 6px}.login-header p{margin:0 0 16px}.login-form{grid-gap:14px;display:grid;gap:14px}.login-form .form-group{grid-gap:8px;display:grid;gap:8px}.login-actions{margin-top:6px}.login-actions .primary{border-radius:999px;min-height:48px;padding:14px 16px;width:100%}.login-form .input{height:44px}@media (max-width:768px){.login-shell{min-height:calc(100dvh - 80px);padding:16px 0}.login-card{padding:24px 20px;width:94vw}.login-header h1{font-size:24px}.login-header p{font-size:14px}.login-actions .primary,.login-form .input{font-size:16px}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:var(--fg);-webkit-box-shadow:0 0 0 1000px var(--bg) inset;-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s}.package-of-truth-container{grid-gap:20px;display:grid;gap:20px}.welcome-banner{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:24px}.welcome-banner h2{font-size:24px;margin:0 0 12px}.info-text{color:var(--muted-fg);line-height:1.6;margin:0}.package-form{grid-gap:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:18px;padding:24px}.form-group{grid-gap:8px;display:grid;gap:8px}.form-group label{font-size:14px;font-weight:600}.form-group small{color:var(--muted-fg);font-size:13px;margin-top:4px}.package-header{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;padding:20px}.package-header h2{font-size:20px;margin:0}.button-group{align-items:center;display:flex;gap:10px}.package-info{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.info-row{border-bottom:1px solid var(--line);padding:10px 0}.info-row:last-child{border-bottom:none}.steps-display{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.steps-display h3{font-size:18px;margin:0 0 12px}.steps-display ol{margin:0;padding-left:24px}.steps-display li{line-height:1.6;padding:8px 0}.info-banner{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:32px;text-align:center}.info-banner h2{font-size:24px;margin:0 0 12px}.info-banner p{color:var(--muted-fg);line-height:1.6;margin:0 0 20px}.info-box{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 0 1px 3px #0000000d;padding:20px}.info-box p{color:var(--fg);font-size:15px;font-weight:600;margin:0 0 12px}.info-box ol{grid-gap:8px;display:grid;gap:8px;margin:12px 0 0;padding-left:28px}.info-box li{background:var(--panel);border-left:3px solid var(--fg);border-radius:var(--radius-sm);font-size:14px;line-height:1.5;padding:10px;transition:all .2s ease}.info-box li:hover{background:var(--panel-elev);transform:translateX(4px)}.info-box li strong{color:var(--fg);font-weight:700;margin-right:6px}.btn-primary{background:var(--fg);border:none;border-radius:var(--radius);color:var(--bg);cursor:pointer;font-weight:600;padding:12px 20px;transition:opacity .2s}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-primary.btn-large{font-size:16px;padding:16px 32px}.btn-secondary{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);cursor:pointer;font-weight:500;padding:10px 18px;transition:background .2s}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:#dc3545;border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-weight:500;padding:10px 18px;transition:opacity .2s}.btn-danger:hover:not(:disabled){opacity:.85}.btn-danger:disabled{cursor:not-allowed;opacity:.5}.header-actions{align-items:center;display:flex;gap:12px}@media (max-width:768px){.header-inner{align-items:stretch;flex-direction:column;gap:12px;padding:12px 0}.header-inner h1{font-size:22px}.header-inner p{font-size:14px;margin-top:4px}.package-header{align-items:flex-start;flex-direction:column;gap:16px;padding:16px}.button-group{flex-direction:column;width:100%}.button-group button{min-height:44px;width:100%}.header-actions{flex-direction:column;gap:8px;width:100%}.header-actions button{min-height:44px;width:100%}.info-banner{padding:20px 16px}.info-banner h2{font-size:20px}.form-section,.results-display{padding:14px}}.model-video-player{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px}.model-video-player h3{font-size:18px;margin:0 0 16px}.video-container{background:#000;border-radius:var(--radius);overflow:hidden;position:relative;width:100%}.video-container video{display:block;max-height:500px;object-fit:contain;width:100%}.edit-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr}.model-video-player-sticky{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);max-height:calc(100vh - 180px);overflow:hidden;padding:20px;position:-webkit-sticky;position:sticky;top:20px}.model-video-player-sticky h3{font-size:18px;margin:0 0 16px}.package-form-scrollable{grid-gap:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:18px;padding:24px}@media (max-width:1024px){.edit-layout{grid-template-columns:1fr}.model-video-player-sticky{max-height:none;position:relative;top:0}}.steps-editor{grid-gap:12px;display:grid;gap:12px}.step-edit-row{grid-gap:12px;align-items:start;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);cursor:move;display:grid;gap:12px;grid-template-columns:30px 40px 1fr auto;padding:14px;transition:all .2s}.step-edit-row:hover{background:var(--panel-elev);box-shadow:0 2px 8px #0000001a}.step-edit-row.dragging{cursor:grabbing;opacity:.5}.drag-handle{color:var(--muted-fg);cursor:grab;display:grid;font-size:18px;font-weight:700;height:32px;letter-spacing:-2px;place-items:center;-webkit-user-select:none;user-select:none;width:24px}.drag-handle:active{cursor:grabbing}.step-number{background:var(--fg);border-radius:50%;color:var(--bg);display:grid;flex-shrink:0;font-size:14px;font-weight:700;height:32px;place-items:center;width:32px}.step-fields{grid-gap:10px;display:grid;flex:1 1;gap:10px}.step-field{grid-gap:6px;display:grid;gap:6px}.step-field label{color:var(--muted-fg);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.step-field input{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--fg);font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s}.step-field input:focus{border-color:var(--fg);outline:none}.step-field-desc{grid-column:1/-1}.btn-delete-step{background:#0000;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted-fg);cursor:pointer;display:grid;flex-shrink:0;font-size:18px;height:36px;place-items:center;transition:all .2s;width:36px}.btn-delete-step:hover{background:#dc3545;border-color:#dc3545;color:#fff}.error-message{background:#fee;border:1px solid #fcc;border-radius:var(--radius);color:#c33;font-size:14px;font-weight:500;padding:12px 16px}@media (max-width:768px){.step-edit-row{gap:12px;grid-template-columns:30px 1fr}.drag-handle{grid-row:1/span 2}.step-number{justify-self:start}.step-fields,.step-number{grid-column:2}.btn-delete-step{grid-column:2;height:40px;width:100%}}.packages-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:20px}.package-card{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:20px;transition:all .2s}.package-card:hover{border-color:var(--fg);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.package-card.selected{background:var(--panel-elev);border-color:var(--fg);box-shadow:0 4px 12px #00000026}.package-card h3{font-size:18px;margin:0 0 8px}.package-card p{font-size:14px;margin:4px 0}.package-details{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.package-details h3,.package-details h4{margin-top:0}@media (max-width:768px){.packages-grid{grid-template-columns:1fr}}.package-details-modern{grid-gap:32px;display:grid;gap:32px;margin-top:32px}.package-details-header{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:28px}.package-details-title{color:var(--fg);font-size:24px;font-weight:700;margin:0 0 8px}.package-details-description{color:var(--muted-fg);font-size:15px;line-height:1.6;margin:0}.section-title{color:var(--fg);font-size:18px;font-weight:600;margin:0 0 16px}.model-video-section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:24px}.video-wrapper-modern{background:#000;border-radius:var(--radius);box-shadow:0 4px 16px #00000026;overflow:hidden;position:relative;width:100%}.model-video{display:block;max-height:600px;object-fit:contain;width:100%}.package-metadata{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.metadata-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex;gap:16px;padding:20px;transition:all .2s ease}.metadata-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.metadata-icon{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--fg);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.metadata-content{flex:1 1;min-width:0}.metadata-label{color:var(--soft-fg);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.metadata-value{word-wrap:break-word;color:var(--fg);font-size:14px;line-height:1.5}.steps-section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:24px}.steps-list-modern{grid-gap:12px;display:grid;gap:12px}.step-item-modern{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;gap:16px;padding:16px;transition:all .2s ease}.step-item-modern:hover{background:var(--panel-elev);box-shadow:var(--shadow-soft);transform:translateX(4px)}.step-number-badge{align-items:center;background:var(--fg);border-radius:50%;color:var(--bg);display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.step-content{flex:1 1;min-width:0}.step-id{color:var(--fg);font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.step-description{color:var(--muted-fg);font-size:15px;line-height:1.6}@media (max-width:768px){.package-details-modern{gap:20px;margin-top:20px}.package-details-header{padding:20px}.package-details-title{font-size:20px}.package-metadata{grid-template-columns:1fr}.metadata-card{padding:16px}.model-video-section,.steps-section{padding:18px}.step-item-modern{padding:14px}.step-number-badge{font-size:13px;height:32px;width:32px}}.create-package-header{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-bottom:24px;padding:28px}.create-package-header h2{color:var(--fg);font-size:24px;font-weight:700;margin:0 0 8px}.create-package-header .info-text{color:var(--muted-fg);font-size:15px;line-height:1.6;margin:0}.create-form-container{margin-top:24px}.package-form-modern{grid-gap:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:24px;padding:32px}.package-form-modern .form-group{grid-gap:8px;display:grid;gap:8px}.package-form-modern label{color:var(--fg);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.package-form-modern .input,.package-form-modern input[type=text],.package-form-modern textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--fg);font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s ease;width:100%}.package-form-modern .input:focus,.package-form-modern input[type=text]:focus,.package-form-modern textarea:focus{border-color:var(--fg);box-shadow:0 0 0 3px #0000000d;outline:none}.package-form-modern textarea{line-height:1.6;min-height:100px;resize:vertical}.logs-box-modern{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:200px;overflow-y:auto;padding:16px}.log-entry{border-bottom:1px solid var(--line);color:var(--muted-fg);font-size:13px;line-height:1.5;padding:8px 0}.log-entry:last-child{border-bottom:none}@media (max-width:768px){.create-package-header{padding:20px}.create-package-header h2{font-size:20px}.package-form-modern{padding:20px}}
/*# sourceMappingURL=main.49bc026c.css.map*/