@import "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap";
:root{color:#f6f6f2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel:#111218db;--panel-strong:#16171ef5;--panel-soft:#ffffff08;--border:#ffffff14;--border-strong:#ffffff29;--text-muted:#f6f6f2a3;--accent:#f0f2f5;--signal:#85ffc7;--info:#9ec5ff;--warning:#f8d77a;--error:#ff8d8d;--shadow:0 32px 90px #00000059;background:radial-gradient(circle at 0 0,#ffffff0d,#0000 18%),radial-gradient(circle at right 20%,#6b82ff24,#0000 24%),linear-gradient(145deg,#07080b 0%,#101115 48%,#171920 100%);font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.operator-shell{place-items:stretch stretch;gap:.85rem;padding:1.25rem;display:grid}.app-badge,.panel-label,.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--text-muted);margin:0;font-size:.72rem}.panel h2,.panel h3,.unsupported-panel h1{margin:0;font-family:Chakra Petch,sans-serif}.command-copy,.folder-row p,.status-hint,.empty-state,.session-card p,.unsupported-panel p{color:var(--text-muted);margin:0;line-height:1.6}.stage-indicator,.status-pill{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;background:#ffffff08;border-radius:999px;align-items:center;gap:.4rem;min-height:2.1rem;padding:.45rem .8rem;font-size:.76rem;display:inline-flex}.status-flagged,.is-alert{color:#ffb298;background:#ff855e24;border-color:#ff855e61}.studio-layout{grid-template-columns:minmax(0,1.85fr) minmax(360px,420px);gap:1rem;min-height:0;display:grid}.stage-column,.control-rail{min-height:0}.control-rail{align-content:start;gap:.9rem;display:grid}.panel{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff0a, transparent), var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px;padding:1rem;position:relative;overflow:hidden}.command-bar{justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .95rem;display:flex}.brand-compact{gap:.2rem;display:grid}.brand-compact .command-copy{letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.status-icon-strip{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.status-icon{border:1px solid var(--border);background:linear-gradient(#ffffff0f,#ffffff05),#080a0ed6;border-radius:15px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.status-icon-glyph{color:currentColor;width:1.05rem;height:1.05rem;display:inline-flex}.status-icon-glyph svg{width:100%;height:100%;display:block}.status-icon-ok{color:var(--signal);border-color:#85ffc73d}.status-icon-warn{color:var(--warning);border-color:#f8d77a38}.status-icon-neutral{color:var(--info);border-color:#9ec5ff38}.panel:before{content:"";pointer-events:none;background:linear-gradient(160deg,#ffffff08,#0000 28%);position:absolute;inset:0}.panel-accent{background:linear-gradient(160deg, #9ec5ff1f, transparent 32%), var(--panel-strong)}.camera-panel{grid-template-rows:auto 1fr;gap:.9rem;min-height:calc(100vh - 2.5rem);padding:1rem;display:grid}.camera-stage-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.camera-stage-header h2{font-size:clamp(1.35rem,2vw,1.9rem)}.camera-stage-hint{max-width:32rem;color:var(--text-muted);margin:.35rem 0 0;font-size:.92rem;line-height:1.5}.camera-stage-meta{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.stage-indicator.is-live{color:var(--signal);border-color:#85ffc73d}.stage-indicator.is-idle{color:var(--warning);border-color:#f8d77a33}.session-indicator,.timer-indicator{max-width:14rem}.session-indicator svg,.timer-indicator svg{flex:none;width:.9rem;height:.9rem}.session-indicator span,.timer-indicator span{text-overflow:ellipsis;white-space:nowrap;display:inline-block;overflow:hidden}.session-indicator.is-session-active{color:var(--info);border-color:#9ec5ff33}.session-indicator.is-session-idle{color:var(--text-muted)}.camera-shell{border:1px solid var(--border-strong);background:linear-gradient(145deg,#0000001a,#00000094),linear-gradient(135deg,#9ec5ff29,#ffffff05);border-radius:20px;min-height:100%;position:relative;overflow:hidden}.camera-shell video{object-fit:cover;width:100%;height:100%;min-height:clamp(520px,76vh,920px);display:block}.camera-guides{pointer-events:none;border:1px solid #ffffff0f;position:absolute;inset:0}.camera-guides:before,.camera-guides:after,.camera-guides span:before,.camera-guides span:after{content:"";border-style:solid;border-color:#ffffff47;width:44px;height:44px;position:absolute}.camera-guides:before{border-width:2px 0 0 2px;top:1rem;left:1rem}.camera-guides:after{border-width:2px 2px 0 0;top:1rem;right:1rem}.camera-guides span:before{border-width:0 0 2px 2px;bottom:1rem;left:1rem}.camera-guides span:after{border-width:0 2px 2px 0;bottom:1rem;right:1rem}.camera-burnin{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#04060ab8;border:1px solid #ffffff2e;gap:.22rem;padding:.8rem .95rem;display:grid;position:absolute;top:1.4rem;right:1.4rem;box-shadow:0 10px 24px #00000038}.camera-burnin p{letter-spacing:.06em;color:#f3f7fa;text-transform:uppercase;text-align:right;margin:0;font-family:Chakra Petch,monospace;font-size:.95rem}.camera-overlay{text-align:center;background:#06070abd;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.folder-row{gap:1rem;display:grid}.folder-row h2,.status-grid h2{font-size:1.35rem}.folder-path,.session-location{color:var(--accent);word-break:break-word;margin-top:.45rem;font-size:.88rem}.scan-panel,.camera-settings-panel,.status-panel,.history-panel{padding-top:.9rem}.camera-settings-panel{gap:.95rem;display:grid}.camera-settings-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.camera-settings-header h2,.camera-settings-facts p{font-size:1.18rem}.camera-settings-header p,.camera-settings-footnote{color:var(--text-muted);margin:.35rem 0 0;line-height:1.55}.camera-settings-form,.camera-settings-grid{gap:.75rem;display:grid}.camera-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-settings-field,.scan-form-field{gap:.45rem;display:grid}.camera-settings-field span{color:var(--text-muted);font-size:.88rem}.camera-settings-field select,.scan-form input,.scan-form select{border:1px solid var(--border-strong);min-width:0;color:inherit;background:#050609d6;border-radius:16px;padding:.95rem 1rem}.scan-form select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#e5ecffd1 50%),linear-gradient(135deg,#e5ecffd1 50%,#0000 50%);background-position:calc(100% - 20px) calc(50% - 2px),calc(100% - 14px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:2.75rem}.camera-settings-footer{justify-content:space-between;align-items:end;gap:.9rem;display:flex}.camera-settings-facts{gap:.25rem;display:grid}.camera-settings-facts p{margin:0;font-family:Chakra Petch,sans-serif}.action-button{border:1px solid var(--border-strong);color:var(--accent);background:linear-gradient(#ffffff14,#ffffff08);border-radius:16px;padding:.9rem 1.1rem;font-weight:700;transition:transform .15s,border-color .15s,background .15s,opacity .15s}.action-button:hover:not(:disabled),.action-button:focus-visible:not(:disabled),.retry-button:hover,.retry-button:focus-visible{border-color:#ffffff52;transform:translateY(-1px)}.action-button:disabled{cursor:not-allowed;opacity:.55}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem;display:grid}.status-panel{gap:.8rem;display:grid}.status-panel-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.status-grid>div{background:var(--panel-soft);border:1px solid #ffffff0a;border-radius:18px;padding:.8rem}.message{border-radius:16px;margin:0 0 .8rem;padding:.8rem .95rem}.error-message{color:#220605;background:#ff8d8deb}.info-message{color:#07131b;background:#9ec5ffeb}.scan-form{gap:.9rem;display:grid}.scan-form-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.scan-form label{color:var(--text-muted);font-size:.92rem}.scan-submit-button{white-space:nowrap;min-width:132px;min-height:55px}.camera-settings-field select:focus-visible,.scan-form input:focus-visible,.scan-form select:focus-visible,.action-button:focus-visible,.retry-button:focus-visible{outline:2px solid var(--info);outline-offset:3px}.session-list{gap:.75rem;max-height:36vh;padding-right:.15rem;display:grid;overflow:auto}.session-card{background:var(--panel-strong);border:1px solid #ffffff0d;border-radius:18px;padding:.95rem}.session-card-header{justify-content:space-between;align-items:start;gap:.75rem;margin-bottom:.55rem;display:flex}.session-title-wrap{gap:.45rem;display:grid}.session-title-wrap h3{font-size:1rem}.pill-row{flex-wrap:wrap;gap:.45rem;display:flex}.status-saved,.cloud-uploaded{color:var(--signal);border-color:#85ffc733}.status-recording,.cloud-pending,.cloud-uploading{color:var(--warning);border-color:#f8d77a2e}.cloud-failed,.status-failed,.status-aborted{color:var(--error);border-color:#ff8d8d38}.session-error{color:var(--error)}.retry-button{border:1px solid var(--border-strong);color:var(--info);background:#ffffff08;border-radius:999px;justify-content:center;align-items:center;padding:.55rem .9rem;text-decoration:none;display:inline-flex}.unsupported-shell{place-items:center}.unsupported-panel{border:1px solid var(--border);background:var(--panel);width:min(100%,760px);max-width:760px;box-shadow:var(--shadow);border-radius:28px;padding:2rem}.gallery-shell{place-items:stretch stretch;padding:1.25rem}.gallery-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,430px);align-items:start;gap:1rem;display:grid}.gallery-player-panel,.gallery-library-panel{min-height:0}.gallery-player-panel{grid-template-rows:auto auto auto;align-content:start;gap:1rem;display:grid}.gallery-header,.gallery-library-header,.gallery-player-meta,.gallery-player-footer{justify-content:space-between;align-items:start;gap:1rem;display:flex}.photo-capture-panel{gap:.85rem;display:grid}.photo-capture-panel p{color:var(--text-muted);margin:0;line-height:1.5}.gallery-heading h1,.gallery-library-panel h2,.gallery-empty-state h2,.gallery-player-meta h2{margin:0;font-family:Chakra Petch,sans-serif}.gallery-heading h1{font-size:clamp(1.8rem,2.6vw,3rem)}.gallery-copy,.gallery-count,.gallery-library-count,.gallery-list-empty p,.gallery-empty-state p{color:var(--text-muted);margin:0;line-height:1.6}.gallery-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.gallery-action-button,.gallery-link-button{justify-content:center;align-items:center;min-width:11rem;text-decoration:none;display:inline-flex}.gallery-player-shell{align-content:start;gap:1rem;display:grid}.gallery-video-frame,.gallery-empty-state{border:1px solid var(--border-strong);background:radial-gradient(circle at 0 0,#9ec5ff29,#0000 28%),linear-gradient(#ffffff0a,#07080beb);border-radius:24px;min-height:clamp(320px,52vh,680px);overflow:hidden}.gallery-video-frame{place-items:center;width:100%;min-height:auto;display:grid;position:relative}.gallery-video-frame video{object-fit:contain;background:#050608;width:100%;height:auto;max-height:min(68vh,760px);display:block}.gallery-playback-burnin{z-index:2;background:#04060ab8;border:1px solid #ffffff2e;gap:.22rem;padding:.72rem .85rem;display:grid;position:absolute;top:1rem;right:1rem;box-shadow:0 10px 24px #00000038}.gallery-playback-burnin p,.timestamp-export-status p{margin:0}.gallery-playback-burnin p{letter-spacing:.06em;color:#f3f7fa;text-transform:uppercase;text-align:right;font-family:Chakra Petch,monospace;font-size:.88rem}.timestamp-export-status{gap:.25rem;min-width:9rem;display:grid}.timestamp-export-status p:last-child{color:var(--accent);font-weight:700}.gallery-photo-strip{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem;display:grid}.gallery-photo-card{border:1px solid var(--border-strong);background:#05060994;border-radius:18px;gap:.55rem;margin:0;padding:.65rem;display:grid}.gallery-photo-card img{aspect-ratio:16/10;object-fit:cover;background:#050608;border-radius:12px;width:100%}.gallery-photo-card figcaption{color:var(--text-muted);gap:.5rem;font-size:.78rem;display:grid}.gallery-empty-state{text-align:center;place-items:center;padding:2rem;display:grid}.gallery-player-facts{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.gallery-operator-line{color:var(--text-muted);margin:.4rem 0 0;line-height:1.5}.gallery-operator-line strong{color:var(--text-primary)}.gallery-count{color:var(--accent);font-size:1.35rem}.gallery-refresh-button:disabled{opacity:.55;cursor:not-allowed}.gallery-error{margin:0}.gallery-library-panel{grid-template-rows:auto auto minmax(0,1fr);gap:.9rem;max-height:calc(100vh - 2.5rem);display:grid}.gallery-library-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.gallery-filter-toggle{white-space:nowrap}.gallery-search{color:var(--text-muted);gap:.55rem;font-size:.92rem;display:grid}.gallery-filters{gap:.75rem;display:grid}.gallery-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.gallery-search input,.gallery-search select{border:1px solid var(--border-strong);min-width:0;color:inherit;background:#050609d6;border-radius:16px;padding:.95rem 1rem}.gallery-filter-error{color:var(--error);align-items:center;gap:.45rem;font-size:.82rem;display:flex}.inline-link-button{color:var(--info);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.inline-link-button:hover{color:var(--signal)}.gallery-inline-error{margin:0}.gallery-list{gap:.8rem;min-height:0;padding-right:.15rem;display:grid;overflow:auto}.gallery-list-empty{text-align:center;background:#ffffff05;border:1px dashed #ffffff1f;border-radius:20px;place-items:center;min-height:14rem;padding:1rem;display:grid}.gallery-card{text-align:left;width:100%;color:inherit;background:linear-gradient(#ffffff0a,#0000),#0c0d12f5;border:1px solid #ffffff0f;border-radius:20px;gap:.7rem;padding:1rem;transition:transform .16s,border-color .16s,background .16s;display:grid}.gallery-card:hover,.gallery-card:focus-visible,.gallery-card.is-selected{background:linear-gradient(#9ec5ff1f,#0000),#0c0d12fa;border-color:#9ec5ff52;transform:translateY(-1px)}.gallery-card h3,.gallery-card p{margin:0}.gallery-card h3{font-family:Chakra Petch,sans-serif;font-size:1.1rem}.gallery-card-topline,.gallery-card-meta{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.gallery-card-meta{flex-wrap:wrap;align-items:flex-start}.gallery-card-label{text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);font-size:.72rem}.retake-shell .studio-layout{align-items:start}.retake-links{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.retake-form{gap:1rem;display:grid}.retake-form label,.retake-save-mode{color:var(--text-muted);gap:.55rem;font-size:.92rem;display:grid}.retake-form input,.retake-save-mode select{border:1px solid var(--border-strong);min-width:0;color:inherit;background:#050609d6;border-radius:16px;padding:.95rem 1rem}.retake-action-row,.retake-review-actions{flex-wrap:wrap;gap:.75rem;display:flex}.auth-shell{justify-content:center;align-items:center}.auth-panel{width:min(32rem,100%);padding:1.4rem}.auth-login-panel{gap:1.1rem}.auth-copy{color:var(--text-muted)}.auth-form{gap:.9rem;display:grid}.auth-form label,.admin-user-actions label{color:var(--text-muted);gap:.55rem;font-size:.92rem;display:grid}.auth-form input,.auth-form select,.admin-user-actions input,.admin-user-actions select{border:1px solid var(--border-strong);min-width:0;color:inherit;background:#050609d6;border-radius:16px;padding:.95rem 1rem}.auth-submit-button{justify-self:start}.session-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.session-user-pill{background:#ffffff08;border:1px solid #ffffff17;border-radius:16px;gap:.12rem;padding:.7rem .9rem;display:grid}.session-user-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.session-signout-button{white-space:nowrap}.admin-shell .gallery-layout{align-items:start}.admin-shell{place-items:start center}.admin-actions,.admin-toolbar{flex-wrap:wrap;gap:.75rem;display:flex}.admin-users-panel{width:min(100%,960px)}.admin-create-form{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:end}.admin-library-panel{background:#ffffff05;gap:1rem;margin-top:.5rem}.admin-library-panel .gallery-empty-state{min-height:220px}.admin-user-list{gap:.85rem;max-height:min(62vh,920px);padding-right:.35rem;display:grid;overflow-y:auto}.admin-user-list::-webkit-scrollbar{width:10px}.admin-user-list::-webkit-scrollbar-thumb{background:#92aeff47;border-radius:999px}.admin-user-list::-webkit-scrollbar-track{background:#ffffff08;border-radius:999px}.admin-user-card{background:#ffffff05;border:1px solid #ffffff14;border-radius:20px;gap:.9rem;padding:1rem;display:grid}.admin-user-card-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.8rem;display:flex}.admin-user-card-header h3{margin:0}.admin-user-card-header p{color:var(--text-muted);margin:.18rem 0 0}.admin-user-actions{gap:.75rem;display:grid}.admin-user-button-row{flex-wrap:wrap;gap:.65rem;display:flex}@media (max-width:1180px){.studio-layout,.gallery-layout{grid-template-columns:1fr}.status-icon-strip{justify-content:start}.camera-panel{min-height:auto}.camera-shell video{min-height:460px}.session-list{max-height:none}}@media (max-width:720px){.app-shell,.operator-shell{padding:.85rem}.command-bar,.panel,.unsupported-panel{border-radius:20px;padding:.9rem}.command-bar{flex-direction:column;align-items:start}.camera-stage-header,.camera-settings-header,.camera-settings-footer,.session-card-header,.gallery-header,.gallery-library-header,.gallery-player-meta,.gallery-player-footer{flex-direction:column}.gallery-date-grid{grid-template-columns:1fr}.camera-stage-meta{justify-content:start}.status-grid,.camera-settings-grid,.scan-form,.scan-form-row{grid-template-columns:1fr}.camera-shell video{min-height:320px}.gallery-video-frame,.gallery-empty-state{min-height:240px}.action-button{width:100%}.session-controls{justify-content:start;width:100%}.gallery-actions,.gallery-action-button,.gallery-link-button,.session-signout-button,.auth-submit-button{width:100%}}

