:root{--bg: #f4f6fb;--bg-elev: #ffffff;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #eef2f7;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--text-dim: #475569;--muted: #64748b;--brand: #1d4ed8;--brand-2: #2563eb;--brand-3: #3b82f6;--brand-soft: #eff6ff;--brand-soft-strong: #dbeafe;--accent: #2563eb;--accent-soft: #eff6ff;--success: #16a34a;--success-soft: #ecfdf5;--warn: #d97706;--warn-soft: #fffbeb;--danger: #dc2626;--danger-soft: #fef2f2;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 4px 14px rgba(15, 23, 42, .06);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;color:var(--text)}h2{font-size:22px;font-weight:600;margin:0 0 18px}h3{font-size:15px;font-weight:600}.app{display:grid;grid-template-columns:248px 1fr;height:100vh;height:100dvh;overflow:hidden;background:var(--bg)}.sidebar{height:100%;max-height:100%;overflow:hidden;padding:16px 12px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fff,#f8fafc);border-right:1px solid var(--border)}.brand{display:flex;align-items:flex-start;gap:10px;padding:6px 8px 8px}.sidebar .brand{justify-content:flex-start;background:transparent;border-radius:0;padding:8px 8px 12px;margin-bottom:0;border-bottom:1px solid var(--border)}.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;width:100%}.brand-logo{display:block;height:34px;width:auto;max-width:100%;object-fit:contain}.brand .logo{width:32px;height:32px;border-radius:9px;background:#fff;display:grid;place-items:center;box-shadow:0 6px 16px #11182733;color:#1f2f60;font-weight:800;font-size:15px}.brand .name{font-weight:700;font-size:17px;letter-spacing:.01em;color:#fff}.brand .name span{color:#d8e5ff}.nav{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow:hidden}.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#374151;font-size:14px;font-weight:500;transition:background .16s ease,color .16s ease}.nav a:hover{color:#111827;background:#ececf1;text-decoration:none}.nav a.active{color:#111827;background:var(--brand-soft);box-shadow:none}.nav a .ic{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav .section{padding:12px 12px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af}.me{border-top:1px solid var(--border);padding-top:14px;display:flex;justify-content:stretch;flex-shrink:0}.me .logout{width:100%;background:transparent;border:1px solid var(--border-strong);color:#374151;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.me .logout:hover{color:#111827;background:#ececf1}.logout-icon{display:none;place-items:center}.logout-icon svg{width:16px;height:16px}.main{display:flex;flex-direction:column;min-width:0;height:100%;min-height:0;overflow:hidden}.topbar{flex-shrink:0;z-index:10;display:flex;align-items:center;gap:12px;padding:12px 28px;background:#fff;border-bottom:1px solid var(--border)}.topbar .title{font-size:18px;font-weight:600;color:var(--text)}.topbar .spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--surface-2);color:#4b5563;border:1px solid var(--border);font-size:12px;font-weight:500;letter-spacing:0}.content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:26px 28px;display:flex;flex-direction:column;align-items:stretch}.content>*{width:100%}.content>.page-shell-chat{flex:1;min-height:0;overflow:hidden}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;margin-bottom:18px;box-shadow:none}.card h3{margin-top:0}.card>:first-child{margin-top:0}.card>:last-child{margin-bottom:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;overflow:hidden;animation:overlayIn .16s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal-card{position:relative;width:100%;max-width:820px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);padding:30px 32px 24px;animation:modalIn .18s ease}.upload-modal{display:flex;flex-direction:column;max-width:720px;max-height:calc(100vh - 32px);padding:22px 24px 18px;overflow:hidden;background:#fff}.upload-modal-wide{max-width:820px}.upload-modal .modal-close{top:10px;right:10px}.upload-modal-header{flex-shrink:0;margin-bottom:12px}.upload-modal-title{font-size:20px;font-weight:800;letter-spacing:.08em;margin:4px 0 0;color:var(--text);text-transform:uppercase}.upload-modal-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px}.upload-modal-body-pick{gap:8px}.upload-modal-extra{flex-shrink:0;margin-bottom:0}.upload-meta-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-meta-row label{margin-bottom:0}.upload-modal-error{flex-shrink:0;margin-top:8px}@keyframes modalIn{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}.modal-close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:10px;border:0;background:#ef4444;color:#fff;font-size:22px;line-height:1;font-weight:400;padding:0;box-shadow:0 10px 24px #ef444459;outline:none}.modal-close:hover{filter:brightness(1.05)}.modal-close:focus,.modal-close:focus-visible{outline:none;box-shadow:0 10px 24px #ef444459}.upload-modal .kicker{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--brand);text-transform:uppercase}.upload-modal .upload-modal-grid{flex:1;min-height:0;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.upload-modal .upload-dropzone-lg{min-height:0;height:100%;max-height:176px;padding:18px 16px;gap:10px}.upload-modal .upload-drop-icon{width:52px;height:52px}.upload-modal .upload-drop-icon svg{width:26px;height:26px}.upload-modal .upload-drop-text{font-size:13px}.upload-modal .upload-drop-sub{font-size:12px}.upload-modal .upload-queue{max-height:none;height:100%;overflow:hidden;padding-right:0}.upload-modal .upload-modal-actions{flex-shrink:0;margin-top:12px}.upload-modal-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:22px;align-items:stretch}.upload-dropzone-lg{border:1.5px dashed var(--border-strong);border-radius:16px;background:#fafafa;min-height:280px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;cursor:pointer;transition:background .16s ease,border-color .16s ease}.upload-dropzone-lg:hover,.upload-dropzone-lg.drag{background:#f4f4f5;border-color:#9ca3af}.upload-drop-icon{width:64px;height:64px;border-radius:50%;background:#ececf1;color:#374151;display:grid;place-items:center;flex-shrink:0;border:1px solid rgba(96,165,250,.28);box-shadow:0 4px 14px #1d4ed81a}.upload-drop-text{text-align:center;color:var(--text);font-size:14px;font-weight:500}.upload-drop-sub{color:var(--muted);font-size:13px;margin-top:4px;font-weight:400}.upload-drop-sub .link{color:var(--brand);font-weight:600}.upload-queue{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;padding-right:4px}.upload-queue-empty{padding:18px;text-align:center;border:1px dashed var(--border);border-radius:12px;background:var(--surface-2)}.queue-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);transition:box-shadow .16s ease}.queue-row.uploading{box-shadow:0 2px 10px #6366f126}.queue-row.error{border-color:#fecaca}.queue-row.done{border-color:#bbf7d0}.queue-icon{width:40px;height:48px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;box-shadow:0 4px 10px #00000014;position:relative}.queue-icon:before{content:"";position:absolute;top:0;right:0;width:10px;height:10px;background:#ffffff59;border-bottom-left-radius:4px}.queue-main{min-width:0}.queue-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-meta{font-size:11px;color:var(--muted);margin:2px 0 6px;overflow-wrap:anywhere;word-break:break-word}.queue-err{color:var(--danger)}.queue-bar{height:4px;width:100%;background:#eef0f7;border-radius:999px;overflow:hidden}.queue-bar-fill{height:100%;transition:width .12s linear,background .12s ease}.queue-status{display:flex;align-items:center;justify-content:flex-end;min-width:52px}.queue-status .dot{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;font-weight:700;color:#fff}.queue-status .dot.ok{background:#16a34a}.queue-status .dot.err{background:#dc2626}.queue-status .dot.up{background:transparent;color:var(--brand);border:1.5px solid var(--brand-soft-strong);font-size:10px;width:auto;height:auto;padding:3px 8px;border-radius:999px}button.tiny{padding:4px 9px;font-size:11px}.upload-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px}.upload-modal .upload-modal-actions button{min-height:40px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600}.upload-modal .upload-modal-actions button.ghost:hover{background:#f8fafc;color:#1f2937;border-color:#b8c4d9;filter:none}.upload-modal .upload-modal-actions button:disabled{opacity:.65;cursor:not-allowed}input:not([type=radio]):not([type=checkbox]),textarea,select{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;min-height:40px;font:inherit;transition:border-color .16s ease,box-shadow .16s ease}input[type=radio],input[type=checkbox]{width:16px;height:16px;min-height:0;margin:0;padding:0;flex-shrink:0;accent-color:var(--brand-2)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #6366f126}input::placeholder,textarea::placeholder{color:var(--muted)}label{display:block;margin-bottom:12px;font-size:13px;color:var(--text-dim)}label>span:not(.login-page__field-icon){display:block;margin-bottom:6px;font-size:12px;color:var(--muted);letter-spacing:.02em}button:not(.ghost):not(.btn-outline):not(.login-page__field-toggle):not(.login-page__submit):not(.sop-video-mode-card):not(.video-plan-scene-pill):not(.video-plan-script-toggle-btn):not(.modal-close):not(.tiny):not(.chat-mic-btn):not(.chat-new-btn):not(.chat-session-item):not(.chat-session-delete):not(.me .logout):not(.nav-toggle):not(.sidebar-backdrop):not(.sidebar-close),.btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:0;padding:9px 16px;min-height:40px;border-radius:10px;font:inherit;font-weight:600;color:#fff;background:#111827;box-shadow:none;transition:background .16s ease,transform .12s ease}button:not(.ghost):not(.btn-outline):not(.login-page__field-toggle):not(.login-page__submit):not(.sop-video-mode-card):not(.video-plan-scene-pill):not(.video-plan-script-toggle-btn):not(.modal-close):not(.tiny):not(.chat-mic-btn):not(.chat-new-btn):not(.chat-session-item):not(.chat-session-delete):not(.me .logout):not(.nav-toggle):not(.sidebar-backdrop):not(.sidebar-close):hover,.btn:hover{background:#2d2d2d;box-shadow:none;filter:none}button:not(.ghost):not(.btn-outline):not(.login-page__field-toggle):not(.login-page__submit):not(.sop-video-mode-card):not(.video-plan-scene-pill):not(.video-plan-script-toggle-btn):not(.modal-close):not(.tiny):not(.chat-mic-btn):not(.chat-new-btn):not(.chat-session-item):not(.chat-session-delete):not(.me .logout):not(.nav-toggle):not(.sidebar-backdrop):not(.sidebar-close):active{transform:translateY(1px)}button:not(.ghost):not(.btn-outline):not(.login-page__field-toggle):not(.login-page__submit):not(.sop-video-mode-card):not(.video-plan-scene-pill):not(.video-plan-script-toggle-btn):not(.modal-close):not(.tiny):not(.chat-mic-btn):not(.chat-new-btn):not(.chat-session-item):not(.chat-session-delete):not(.me .logout):not(.nav-toggle):not(.sidebar-backdrop):not(.sidebar-close):disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2);box-shadow:none}button.ghost{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:none}button.ghost:hover{background:var(--surface-2)}button.btn-outline{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:36px;padding:8px 16px;border-radius:10px;font:inherit;font-size:13px;font-weight:600;background:#fff;color:#374151;border:1px solid #d1d9e6;box-shadow:none;filter:none}button.btn-outline:hover:not(:disabled){background:#f8fafc;color:#1f2937;border-color:#b8c4d9}button.btn-outline:disabled{opacity:.45;cursor:not-allowed}button.danger{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 2px 6px #ef444440}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:none}table{width:100%;border-collapse:collapse}.data-table{table-layout:fixed;width:100%}.data-table col.col-title{width:32%}.data-table col.col-category{width:18%}.data-table col.col-tags{width:16%}.data-table col.col-sop{width:12%}.data-table col.col-status{width:11%}.data-table col.col-duration{width:9%}.data-table col.col-created{width:20%}.data-table col.col-actions{width:10%}.data-table-videos col.col-title{width:30%}.data-table-videos col.col-sop{width:22%}.data-table-videos col.col-status{width:12%}.data-table-videos col.col-duration{width:6%}.data-table-videos col.col-created{width:23%}.data-table-videos col.col-actions{width:7%}.data-table-videos.data-table--no-actions col.col-title{width:34%}.data-table-videos.data-table--no-actions col.col-sop{width:24%}.data-table-videos.data-table--no-actions col.col-status{width:12%}.data-table-videos.data-table--no-actions col.col-duration{width:6%}.data-table-videos.data-table--no-actions col.col-created{width:24%}.data-table-sops col.col-title{width:26%}.data-table-sops col.col-category{width:16%}.data-table-sops col.col-tags{width:14%}.data-table-sops col.col-status{width:11%}.data-table-sops col.col-created{width:23%}.data-table-sops col.col-actions{width:10%}.data-table-sops.data-table--no-actions col.col-title{width:28%}.data-table-sops.data-table--no-actions col.col-category{width:16%}.data-table-sops.data-table--no-actions col.col-tags{width:14%}.data-table-sops.data-table--no-actions col.col-status{width:11%}.data-table-sops.data-table--no-actions col.col-created{width:31%}.data-table thead th,.data-table tbody td{overflow:hidden;vertical-align:middle;text-align:center}.data-table th.col-status,.data-table td.col-status{overflow:visible;white-space:nowrap}.data-table .col-status .badge{display:inline-flex;width:max-content;max-width:none;flex-shrink:0;box-sizing:border-box}.data-table .col-actions{white-space:nowrap;padding-left:10px;padding-right:10px}.data-table td .flex{justify-content:center}.data-table .col-actions .ghost{padding:6px 12px;font-size:12px;font-weight:600;border-radius:8px;color:#b91c1c;border:1px solid #fecaca;background:#fff;min-height:0}.data-table .col-actions .ghost:hover{background:#fef2f2;color:#991b1b;border-color:#fca5a5;filter:none}.data-table .cell-clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .cell-clip a{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.data-table tbody tr:hover td:first-child{box-shadow:none}.data-table button.ghost{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:none;filter:none;min-height:0}.data-table button.ghost:hover{background:var(--surface-2);color:var(--text);filter:none}.data-table th.col-created,.data-table td.col-created,.data-table th.col-duration,.data-table td.col-duration{white-space:nowrap;overflow:visible}.data-table th.col-created,.data-table td.col-created{font-size:12px;font-variant-numeric:tabular-nums;padding-left:10px;padding-right:12px}th,td{text-align:left;vertical-align:middle;padding:12px 14px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}thead th{background:var(--surface-2);color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border)}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.03em;border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.PENDING,.badge.PROCESSING{background:var(--warn-soft);color:var(--warn);border-color:#fde68a}.badge.READY{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.badge.FAILED{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.badge.SOP,.badge.VIDEO{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-soft-strong)}.flex{display:flex;gap:12px;align-items:center}.flex.wrap{flex-wrap:wrap}.spacer{flex:1}.page-toolbar{margin-bottom:18px}.page-heading{margin-bottom:12px}.page-heading h3{margin:0}.toolbar-search{max-width:380px}.muted{color:var(--muted)}.text-dim{color:var(--text-dim)}.empty-state{padding:24px;text-align:center}.search-form{gap:10px}.search-input{flex:1}.search-type{width:140px}.search-summary{margin:4px 0 14px;font-size:13px}.search-result-card{padding-top:16px;padding-bottom:16px}.error{display:block;margin-bottom:12px;padding:10px 12px;border-radius:10px;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;font-size:13px;font-weight:500}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--text-dim)}mark{background:#fef08a;color:inherit;padding:1px 3px;border-radius:4px}.sop-keywords{display:inline-block;max-width:100%;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.sop-content{margin:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.protected-content,.sop-content,.detail-content-card,.detail-keywords,.segments .seg,.search-result-card,.chat-msg--assistant .chat-msg-bubble,.chat-msg--assistant .segments{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}.sop-video-mode{flex-shrink:0;margin-bottom:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.sop-video-mode-label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.sop-video-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sop-video-mode-card{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;width:100%;min-width:0;min-height:0;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);text-align:left;cursor:pointer;box-shadow:none;color:var(--text);font:inherit;font-weight:400;filter:none;transform:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.sop-video-mode-card:hover:not(:disabled){filter:none;border-color:var(--brand-3);background:var(--brand-soft);box-shadow:none}.sop-video-mode-card.selected{border-color:var(--brand-2);background:var(--brand-soft);box-shadow:inset 0 0 0 1px #1d4ed826}.sop-video-mode-card:disabled{opacity:.6;cursor:not-allowed}.sop-video-mode-card-radio{width:18px;height:18px;margin-top:2px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface);flex-shrink:0;position:relative}.sop-video-mode-card.selected .sop-video-mode-card-radio{border-color:var(--brand-2)}.sop-video-mode-card.selected .sop-video-mode-card-radio:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--brand-2)}.sop-video-mode-card-body{flex:1;min-width:0}.sop-video-mode-card-body strong{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.sop-video-mode-card-body .muted{display:block;font-size:11px;line-height:1.35;color:var(--text-dim);white-space:normal;overflow-wrap:anywhere}.linked-videos-list{margin:0;padding-left:1.2rem}.linked-videos-list li{margin-bottom:8px}.linked-video-generating{color:var(--text)}.linked-video-hint{font-size:12px}.sop-upload-progress{flex:1;min-height:0;overflow:hidden;margin-top:0}.sop-upload-status{margin:0 0 8px;font-size:13px;color:var(--brand);font-weight:600}.sop-extract-preview{margin-bottom:10px;padding:12px;box-shadow:none}.sop-content-compact{max-height:96px;overflow:hidden;font-size:12px}.upload-modal .video-preview-player{max-height:140px;width:100%}.video-plan-overlay{z-index:60}.video-plan-modal{display:flex;flex-direction:column;width:100%;max-width:760px;max-height:calc(100vh - 32px);padding:20px 22px 16px;overflow:hidden}.video-plan-modal .modal-close,.video-plan-modal-close{position:static;top:auto;right:auto;flex-shrink:0;width:32px;height:32px;font-size:20px;border-radius:8px;margin-top:2px}.video-plan-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-shrink:0;margin-bottom:12px;padding-right:0}.video-plan-modal-header-text{flex:1;min-width:0}.video-plan-sub{margin:6px 0 0;font-size:13px;line-height:1.4}.video-plan-modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-gutter:stable}.video-plan-modal-footer{flex-shrink:0;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.video-plan-modal-footer .upload-modal-actions{margin-top:0}.video-plan-modal-footer .upload-modal-actions button.btn-outline{min-height:40px;padding:10px 20px;font-size:14px}.video-plan-modal-footer .error{margin-bottom:10px}.video-plan-editor{display:flex;flex-direction:column;gap:10px}.video-plan-field{display:block;margin-bottom:0}.video-plan-field>span{display:block;font-size:11px;font-weight:600;color:var(--text-dim);margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}.video-plan-field-flush{margin-top:8px}.video-plan-textarea{width:100%;min-height:0;resize:none;overflow:hidden;font-family:inherit;font-size:13px;line-height:1.45;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2, #f8fafc)}.video-plan-script-toggle-btn{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600;box-shadow:none;filter:none}.video-plan-script-toggle-btn:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-3);filter:none;box-shadow:none}.video-plan-script-toggle-icon{font-size:16px;line-height:1;color:var(--brand)}.video-plan-scenes-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.video-plan-scenes-head h3{font-size:14px;margin:0}.video-plan-scene-nav{display:flex;align-items:center;gap:8px;flex-shrink:0}.video-plan-scene-counter{font-size:12px;font-weight:600;color:var(--text-dim);min-width:48px;text-align:center}.video-plan-scene-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.video-plan-scene-pill{min-width:32px;height:32px;padding:0 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12px;font-weight:600;box-shadow:none;filter:none}.video-plan-scene-pill:hover:not(:disabled){border-color:var(--brand-3);background:var(--brand-soft);filter:none;box-shadow:none}.video-plan-scene-pill.active{border-color:var(--brand-2);background:var(--brand-soft);color:var(--brand)}.video-plan-scene{margin-bottom:0;padding:14px;box-shadow:none}.video-plan-scene-head{margin-bottom:8px}.scene-num{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.video-actions-card .video-actions-desc{margin:0 0 14px;font-size:14px}.video-actions-btns{gap:10px;flex-wrap:wrap}.video-actions-hint{margin:12px 0 0;font-size:13px}.video-generated-preview{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.video-preview-player{width:100%;max-width:640px;margin-top:10px;border-radius:10px;background:#0f172a}.segments{display:flex;flex-direction:column;gap:4px;margin-top:12px}.seg{padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .12s ease}.seg:hover{background:var(--surface-2)}.seg .t{font-size:11px;color:var(--muted);margin-right:10px;font-family:ui-monospace,monospace}.chat-body{overflow-y:auto;scrollbar-gutter:stable}.chat-body::-webkit-scrollbar{width:10px}.chat-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.chat-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.chat-body::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d5d9e5;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#b8bdcf}::-webkit-scrollbar-track{background:transparent}@keyframes login-spin{to{transform:rotate(360deg)}}.login-page{position:relative;min-height:100vh;padding:16px;background-color:#0b1220}.login-page--ready{background-image:url(/login_page.gif);background-size:cover;background-position:center;background-repeat:no-repeat}.login-page__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(to bottom right,#080e1c59,#080e1c33);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.login-page__content{position:relative;z-index:1;display:flex;min-height:calc(100vh - 32px);width:100%;align-items:center;justify-content:flex-end;padding-right:32px}.login-page__card-wrap{width:100%;max-width:28rem}.login-page__card{border:0;border-radius:3rem;background:#f3f1f7;box-shadow:0 25px 50px -12px #00000047;padding:32px 32px 40px}.login-page__header{text-align:center;margin-bottom:28px}.login-page__logo{display:block;height:44px;width:auto;object-fit:contain;margin:0 auto 28px}.login-page__title{margin:0 0 10px;font-size:clamp(1.875rem,4vw,2.25rem);font-weight:700;line-height:1.15;color:#1a2744;letter-spacing:-.02em}.login-page__subtitle{margin:0;font-size:15px;font-weight:400;line-height:1.55;color:#5b6478}.login-page__form{display:grid;gap:16px}.login-page__field-group{display:grid;gap:8px}.login-page__field{position:relative;display:block}.login-page__field-icon{position:absolute;left:16px;top:50%;z-index:1;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;margin:0;color:#6b7280;pointer-events:none}.login-page__field-icon svg{width:100%;height:100%}.login-page .login-page__field input:not([type=radio]):not([type=checkbox]){width:100%;height:56px;padding:0 48px 0 46px;border:1px solid #d8dde6;border-radius:999px;background:#fff;color:#1a2744;font-size:15px;min-height:56px;box-shadow:none}.login-page .login-page__field input:not([type=radio]):not([type=checkbox])::placeholder{color:#8b95a8}.login-page .login-page__field input:not([type=radio]):not([type=checkbox]):focus{outline:none;border-color:#b8c4d9;background:#fff;box-shadow:0 0 0 3px #b8c4d959}.login-page .login-page__field input:not([type=radio]):not([type=checkbox]):disabled{opacity:.7;cursor:not-allowed}.login-page__field-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;border:0;border-radius:999px;background:transparent;box-shadow:none;color:#6b7280;display:grid;place-items:center;min-height:0;cursor:pointer;transition:background-color .15s ease,color .15s ease}.login-page__field-toggle svg{width:20px;height:20px}.login-page__field-toggle:hover{color:#1f2937;background:#0f172a0f;box-shadow:none;filter:none}.login-page__error{margin-bottom:24px;padding:12px 16px;border:1px solid #fca5a5;border-radius:.5rem;background:#fef2f2;color:#b91c1c;font-size:14px}.login-page__submit{width:100%;height:56px;margin-top:4px;border:0;border-radius:999px;background:#b8c4d9;color:#4b5563;font-size:16px;font-weight:700;box-shadow:none;cursor:not-allowed;opacity:1;filter:none;transition:transform .16s ease,background-color .16s ease,color .16s ease}.login-page__submit--ready:not(:disabled){background:#b8c4d9;color:#2b3350;cursor:pointer;box-shadow:none}.login-page__submit--ready:not(:disabled):active{transform:scale(.99)}.login-page__submit-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}.login-page__spinner{width:16px;height:16px;border:2px solid #2b3350;border-top-color:transparent;border-radius:50%;animation:login-spin .8s linear infinite}@media (min-width: 640px){.login-page__card{padding:40px 40px 44px}}@media (min-width: 768px){.login-page__card{padding:44px 44px 48px}.login-page__content{padding-right:64px}}@media (max-width: 640px){.login-page__content{justify-content:center;padding-right:0}}@media (max-width: 860px){.upload-modal .upload-modal-grid{grid-template-columns:1fr}.upload-modal .upload-dropzone-lg{max-height:140px}.sop-video-mode-options,.upload-meta-row{grid-template-columns:1fr}}.page-shell-video-detail{margin:0;max-width:none}.video-watch{display:flex;flex-direction:column;min-height:100%}.video-theater{background:#000;width:100%;aspect-ratio:16 / 9;max-height:min(70vh,820px);display:flex;align-items:center;justify-content:center;overflow:hidden}.video-theater__player{width:100%;height:100%;display:block;object-fit:contain;background:#000}.video-theater__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;min-height:240px;color:#f5f5f5;text-align:center;padding:24px}.video-theater__placeholder p{margin:0;font-size:18px;font-weight:600}.video-theater__placeholder .muted{color:#ffffff8c}.video-theater__spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#e50914;border-radius:50%;animation:video-spin .9s linear infinite}@keyframes video-spin{to{transform:rotate(360deg)}}.video-detail-body,.video-watch__panel{width:100%;padding:20px 28px 32px}.video-detail-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;font-size:13px;font-weight:500;color:var(--text-dim);text-decoration:none}.video-detail-back:hover{color:var(--text);text-decoration:none}.video-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.video-detail-title{margin:0 0 12px;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}.video-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.video-detail-meta__item{font-size:14px}.video-detail-sop-link{flex-shrink:0;white-space:nowrap}.video-detail-section-title{margin:0 0 16px;font-size:18px;font-weight:600}.video-detail-transcript{padding-top:4px;width:100%;display:flex;flex-direction:column;align-items:stretch}.video-detail-transcript .video-detail-section-title{width:100%;text-align:center}.video-detail-transcript__list{list-style:none;margin:0 auto;padding:0;width:100%;max-width:720px;display:flex;flex-direction:column;align-items:stretch;gap:14px}.video-detail-transcript__list>li{width:100%;max-width:none;text-align:justify;text-align-last:left;line-height:1.75;color:var(--text-dim);font-size:15px}.video-detail-transcript__list--chapters{gap:8px}.video-detail-transcript__list--chapters>li{max-width:680px}.video-chapters{display:flex;flex-direction:column;gap:2px;width:100%}.video-chapter{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:12px 14px;border:none;border-radius:8px;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background .15s ease}.video-chapter:hover{background:var(--surface-2)}.video-chapter__time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}.video-chapter__text{font-size:14px;line-height:1.65;color:var(--text-dim);text-align:justify;text-align-last:left}.video-detail-loading{padding:48px 28px;text-align:center}.page-shell-video-library{max-width:1400px}.video-library-toolbar{margin-bottom:20px}.video-library-empty{padding:48px 0;text-align:center}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px 20px}.video-card{position:relative}.video-card__link{display:block;text-decoration:none;color:inherit}.video-card__media{position:relative;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;background:#111827;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.video-card__media--ready{background:#000}.video-card:hover .video-card__media{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.video-card__preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.video-card__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.35) 38%,rgba(0,0,0,.05) 68%,transparent 100%);pointer-events:none}.video-card__footer{position:absolute;left:0;right:0;bottom:0;padding:32px 16px 14px;z-index:1;pointer-events:none}.video-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;font-weight:600;color:#fff;line-height:1.35;text-shadow:0 1px 3px rgba(0,0,0,.5)}.video-card__meta{display:flex;flex-direction:column;gap:2px;margin-top:4px}.video-card__sop,.video-card__date{font-size:11px;color:#ffffffc7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.45)}.video-card__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--surface-2);font-size:12px}.video-card__play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;background:#00000059}.video-card__play svg{width:52px;height:52px;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.video-card:hover .video-card__play{opacity:1}.video-card__duration{position:absolute;right:8px;bottom:8px;padding:2px 6px;border-radius:4px;background:#000000c7;color:#fff;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.video-card__badge{position:absolute;left:8px;top:8px}.video-card__status-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#0000008c;color:#fff;font-size:13px;font-weight:600}.video-card__spinner{width:28px;height:28px;border-width:2px}.video-card__delete{position:absolute;top:8px;right:8px;z-index:2;font-size:11px;padding:4px 8px;background:#ffffffeb;border-radius:6px;opacity:0;transition:opacity .15s ease}.video-card:hover .video-card__delete,.video-card:focus-within .video-card__delete{opacity:1}:root{--font-display: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-xl: 16px;--shadow-glow: 0 0 0 1px rgba(37, 99, 235, .08);--shadow-glow-lg: var(--shadow-lg)}body{background:var(--bg);color:var(--text)}.app{background:var(--bg)}.main:before{display:none}.content{padding:20px 28px 28px;background:radial-gradient(ellipse 80% 50% at 100% 0%,rgba(219,234,254,.45),transparent 55%),radial-gradient(ellipse 60% 40% at 0% 100%,rgba(241,245,249,.9),transparent 50%),var(--bg)}h1,h2,h3,.upload-modal-title,.page-hero h2{font-family:var(--font-display);letter-spacing:-.02em}.sidebar{background:linear-gradient(180deg,#fff,#f8fafc);border-right:1px solid var(--border);box-shadow:4px 0 24px #0f172a0a;padding:16px 12px}.sidebar-glow{display:none}.sidebar .brand{background:transparent;border:0;box-shadow:none;border-radius:0;border-bottom:1px solid var(--border);padding:8px 8px 12px;margin-bottom:4px}.brand-tag{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;background:transparent;border:0;border-radius:0;padding:0;margin:0 0 0 40px;line-height:1.3;white-space:nowrap}.nav .section{color:#9ca3af;font-size:11px;letter-spacing:.06em}.nav a{border:1px solid transparent;color:#475569}.nav a:hover{background:#f1f5f9;border-color:var(--border);color:#0f172a}.nav a.active{background:var(--brand-soft);border-color:#bfdbfe;box-shadow:var(--shadow-sm);color:#1d4ed8;font-weight:600}.nav a.active .ic{color:#2563eb;filter:none}.me{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:12px 4px 4px}.me .logout{border-color:var(--border-strong);color:#374151}.me .logout:hover{background:#ececf1;border-color:var(--border-strong)}.topbar{background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:0 1px #fffc inset}.chip{background:#fff;border-color:var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;color:#475569;box-shadow:var(--shadow-sm)}.chip-ai{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.chip-ai-dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e;animation:none}.chip-tenant{background:var(--brand-soft);border-color:#bfdbfe}.chip-tenant strong{color:#1d4ed8!important}.topbar-avatar{background:#111827;box-shadow:none}.page-hero{margin-bottom:18px;padding:18px 20px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:visible}.page-hero-compact{margin-bottom:14px;padding:16px 18px}.page-hero:before{display:none}.page-hero-kicker{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:none;-webkit-background-clip:unset;background-clip:unset;color:#2563eb;margin:0 0 6px;line-height:1.35;display:block}.page-hero h2{margin:0;font-weight:700;color:#0f172a;line-height:1.25}.page-hero-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-hero-compact .page-hero-inner{align-items:center}.page-hero-copy{min-width:0;flex:1;overflow:visible}.page-hero-actions{flex-shrink:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-hero-compact h2{font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.3}.page-hero-desc{margin:0;font-size:13px;color:var(--text-dim);max-width:56ch;line-height:1.4}.detail-hero-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.card-compact{padding:14px 18px;margin-bottom:14px}.detail-keywords{margin-bottom:14px}.detail-content-card h3{margin-top:0;margin-bottom:12px}.content:has(>.page-shell-chat){overflow:hidden;display:flex;flex-direction:column;padding:16px;background:var(--bg)}.content:has(>.page-shell-video-detail){padding:0}.main{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.me .logout{width:100%}.app--sidebar-collapsed .me .logout{width:40px}.topbar-slim{padding:10px 28px;min-height:48px}.topbar-crumb{font-size:14px;font-weight:600;letter-spacing:-.01em;text-transform:none;color:#0f172a}.sop-content-scroll{max-height:min(40vh,400px);overflow-y:auto;margin:0;padding:14px;background:#fafafa;border-radius:12px;border:1px solid var(--border)}.card,.table-wrap,.modal-card{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.card:hover,.table-wrap:hover,.detail-content-card:hover,.card-compact:hover{border-color:#cbd5e1;box-shadow:var(--shadow)}button:not(.ghost):not(.btn-outline):not(.sop-video-mode-card):not(.video-plan-scene-pill):not(.video-plan-script-toggle-btn):not(.modal-close):not(.login-page__submit):not(.login-page__field-toggle):not(.me .logout):not(.nav-toggle):not(.sidebar-backdrop):not(.sidebar-close):not(.chat-mic-btn):not(.chat-new-btn):not(.chat-session-item):not(.chat-session-delete),.btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);background-size:auto;border:1px solid #1d4ed8;box-shadow:0 4px 14px #2563eb38;color:#fff}button:not(.ghost):not(.btn-outline):not(.sop-video-mode-card):not(.video-plan-scene-pill):not(.video-plan-script-toggle-btn):not(.modal-close):not(.login-page__submit):not(.login-page__field-toggle):not(.me .logout):not(.nav-toggle):not(.sidebar-backdrop):not(.sidebar-close):not(.chat-mic-btn):not(.chat-new-btn):not(.chat-session-item):not(.chat-session-delete):hover,.btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 6px 18px #2563eb47}button.ghost{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--border-strong);color:#475569}button.ghost:hover{border-color:#93c5fd;background:var(--brand-soft);color:#1d4ed8}button.btn-outline{color:#1d4ed8;border-color:#bfdbfe;background:#fff}button.btn-outline:hover:not(:disabled){border-color:#93c5fd;background:var(--brand-soft);color:#1e40af}input:not([type=radio]):not([type=checkbox]),textarea,select{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--border-strong)}input:not([type=radio]):not([type=checkbox]):focus,textarea:focus,select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f626}.toolbar-search{border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.table-wrap{border-radius:var(--radius-lg)}thead th{background:#f8fafc;color:#64748b}tbody tr:hover{background:#f8fbff}.search-result-card:hover{border-left-color:#60a5fa;transform:none;background:#f8fbff}.badge:before{animation:none}.badge.READY:before,.badge.PROCESSING:before,.badge.PENDING:before{box-shadow:none}.modal-overlay{background:#0006;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-card{border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.modal-card.upload-modal,.modal-card.video-plan-modal,.modal-card.confirm-dialog{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.upload-modal .sop-video-mode{background:#f8fafc;border-color:#e2e8f0}.upload-modal .sop-video-mode-card{background:#fff;color:var(--text);border:1.5px solid var(--border);box-shadow:none;filter:none}.upload-modal .sop-video-mode-card:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-3);box-shadow:none;filter:none}.upload-modal .sop-video-mode-card.selected{background:var(--brand-soft);border-color:var(--brand-2)}.upload-modal .upload-modal-actions button.ghost{background:#fff;color:#374151;border:1px solid #d1d9e6;box-shadow:none;filter:none}.upload-modal .upload-modal-actions button.ghost:hover{background:#f8fafc;color:#1f2937;border-color:#b8c4d9}.upload-modal .upload-queue-empty{background:#f8fafc;border-color:#e2e8f0}.upload-modal .kicker,.video-plan-modal-header .kicker{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;background:none;-webkit-background-clip:unset;background-clip:unset}.upload-dropzone-lg{background:#fafafa;border-color:var(--border-strong)}.upload-dropzone-lg:hover,.upload-dropzone-lg.drag{border-color:#9ca3af;box-shadow:none;background:#f4f4f5}.sop-video-mode-card.selected{border-color:#2563eb;box-shadow:var(--shadow-glow)}.upload-modal .sop-video-mode-card.selected{background:var(--brand-soft);border-color:#2563eb}.search-result-card{border-left:3px solid transparent;transition:border-color .2s ease,background .2s ease}mark{background:#fef9c3;border-radius:3px;padding:1px 3px}.video-actions-card{background:#fff;border-color:var(--border)}.sop-content,.video-plan-textarea{background:#fafafa;border-radius:12px}.video-preview-player{border:1px solid var(--border);box-shadow:none}.page-shell-chat{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.card.chat-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);margin:0;padding:0;flex:1;min-height:0}.chat-panel{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;margin:0;overflow:hidden;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg)}.chat-layout{display:flex;flex:1;min-height:0;overflow:hidden}.chat-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding:12px 10px}.chat-new-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;padding:9px 12px;margin-bottom:12px;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:#0f172a;font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s ease,border-color .15s ease}.chat-new-btn:hover:not(:disabled){background:var(--brand-soft);border-color:#bfdbfe}.chat-new-btn:disabled{opacity:.55;cursor:not-allowed}.chat-sidebar-label{padding:0 6px 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.chat-session-list{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.chat-session-item-wrap{display:flex;align-items:center;gap:4px;border-radius:10px;padding-right:4px}.chat-session-item-wrap--active,.chat-session-item-wrap:hover{background:#ffffffbf}.chat-session-item{flex:1;min-width:0;display:block;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#334155;font-size:13px;font-weight:500;text-align:left;cursor:pointer;box-shadow:none;min-height:0}.chat-session-item--active{color:#1d4ed8;font-weight:600}.chat-session-item__title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-session-delete{flex-shrink:0;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:#94a3b8;display:grid;place-items:center;cursor:pointer;opacity:0;box-shadow:none;min-height:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.chat-session-item-wrap:hover .chat-session-delete,.chat-session-item-wrap--active .chat-session-delete{opacity:1}.chat-session-delete:hover{background:#fee2e2;color:#b91c1c}.chat-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:linear-gradient(180deg,#fff,#f8fbff);overflow:visible}.chat-panel-head .page-hero-kicker{margin:0 0 6px;line-height:1.35}.chat-panel-title{margin:4px 0 0;font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text)}.chat-panel-desc{margin:4px 0 0;font-size:13px;color:var(--text-dim)}.chat-clear-btn{flex-shrink:0;font-size:12px;white-space:nowrap}.chat-panel .chat-body{flex:1;min-height:0;overflow-y:auto;padding:18px 20px;background:transparent;border:0;border-radius:0}.chat-composer{border-top:1px solid var(--border);padding:14px 16px;flex-shrink:0;background:#fff}.chat-composer-status{margin-bottom:8px;font-size:13px}.chat-composer-form{gap:10px}.chat-composer-form input{flex:1;min-width:0;border-radius:24px;padding:12px 16px;background:#f4f4f5;border-color:transparent}.chat-composer-form input:focus{background:#fff;border-color:var(--border-strong)}.chat-msg-role{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9ca3af;margin-bottom:4px}.chat-msg{margin-bottom:16px}.chat-msg--user .chat-msg-role{text-align:right;color:#9ca3af}.chat-mic-btn{width:42px;height:42px;min-height:42px;padding:0;flex-shrink:0;display:inline-grid;place-items:center;border-radius:50%}.chat-video-panel{margin:8px 4px 14px}.chat-msg--assistant .chat-msg-role{color:#9ca3af}.chat-msg--user{margin-left:15%}.chat-msg-bubble{white-space:pre-wrap;line-height:1.6;padding:12px 16px;border-radius:18px;background:transparent;border:0;color:#111827}.chat-msg--user .chat-msg-bubble{background:var(--brand-soft);color:#0f172a;border:1px solid #dbeafe}.chat-msg--assistant .chat-msg-bubble{background:#f8fafc;color:#0f172a;border:1px solid var(--border);padding:12px 16px}.chat-msg-bubble--formatted{white-space:normal}.chat-msg-bubble--formatted strong{font-weight:700;color:var(--text)}.chat-md-line{margin:0}.chat-md-line+.chat-md-line{margin-top:6px}.chat-md-spacer{height:6px}.chat-md-bullet,.chat-md-numbered{display:flex;gap:8px;align-items:flex-start}.chat-md-bullet-marker,.chat-md-num{flex-shrink:0;font-weight:600;color:#6b7280;min-width:1.1em}.chat-msg-bubble--thinking{display:inline-flex;align-items:center;gap:10px;color:var(--text-dim);background:#f4f4f5;padding:12px 16px;border-radius:18px}.chat-thinking-dots span{background:#9ca3af}.chat-thinking-label{font-size:13px;font-style:italic}.chat-thinking-dots{display:inline-flex;align-items:center;gap:4px}.chat-thinking-dots span{width:7px;height:7px;border-radius:50%;background:var(--brand-3);animation:chat-thinking-bounce 1.2s ease-in-out infinite}.chat-thinking-dots span:nth-child(2){animation-delay:.15s}.chat-thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes chat-thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.chat-msg--thinking{animation:chat-thinking-in .2s ease}@keyframes chat-thinking-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.chat-body{background:#fff;border:0;border-radius:0}.login-page{background-color:#0b1220}.login-page--ready:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 55% 45% at 18% 22%,rgba(96,165,250,.18),transparent),radial-gradient(ellipse 45% 55% at 82% 78%,rgba(29,78,216,.12),transparent);pointer-events:none}.login-page__overlay{display:block;background:linear-gradient(to bottom right,#080e1c59,#080e1c33);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.login-page__content{justify-content:flex-end;padding-right:32px}.login-page__card{background:#f3f1f7;border:0;border-radius:3rem;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 25px 50px -12px #00000047}.login-page__title{color:#1a2744}.login-page__subtitle{color:#5b6478}.login-page__submit--ready:not(:disabled){background:#b8c4d9;color:#2b3350;box-shadow:none}.login-page__submit--ready:not(:disabled):hover{background:#a8b6cf;color:#1a2744;box-shadow:none}.login-page__field-toggle{background:transparent;border:0;box-shadow:none;filter:none}.login-page__field-toggle:hover{background:#0f172a0f;box-shadow:none;filter:none}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.nav-toggle{display:inline-grid;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;flex-shrink:0;place-items:center;min-height:0;box-shadow:none}.nav-toggle__bars{display:grid;gap:5px;width:18px}.nav-toggle__bar{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .22s ease,opacity .18s ease,width .22s ease;transform-origin:center}.nav-toggle--open .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle--open .nav-toggle__bar:nth-child(2){opacity:0;transform:scaleX(0)}.nav-toggle--open .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:8px}.sidebar-head .brand{flex:1;min-width:0;border-bottom:0;margin-bottom:0;padding-bottom:0}.sidebar-close{display:none;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;flex-shrink:0;place-items:center;min-height:0;box-shadow:none}.sidebar-close svg{width:18px;height:18px}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease,width .2s ease}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;border:0;padding:0;margin:0;min-height:0;border-radius:0;box-shadow:none;color:transparent;font-weight:400;background:#0f172a73;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-backdrop:hover,.sidebar-backdrop:active{background:#0f172a73;box-shadow:none;transform:none}body.body--nav-open{overflow:hidden}@media (min-width: 1025px){.app{grid-template-columns:248px 1fr;transition:grid-template-columns .24s ease}.app--sidebar-collapsed{grid-template-columns:76px 1fr}.sidebar{position:relative;transform:none!important;transition:padding .24s ease}.app--sidebar-collapsed .sidebar{padding-inline:10px}.app--sidebar-collapsed .brand-tag,.app--sidebar-collapsed .nav .section,.app--sidebar-collapsed .nav-label,.app--sidebar-collapsed .logout-label{opacity:0;width:0;max-width:0;overflow:hidden;pointer-events:none}.app--sidebar-collapsed .logout-label{display:none}.app--sidebar-collapsed .brand-lockup{align-items:center}.app--sidebar-collapsed .brand-logo{height:30px}.app--sidebar-collapsed .brand-tag{margin-left:0}.app--sidebar-collapsed .nav a{justify-content:center;padding-inline:10px;gap:0}.app--sidebar-collapsed .me{justify-content:center;padding-inline:0}.app--sidebar-collapsed .me .logout{opacity:1;width:40px;height:40px;max-width:none;min-height:0;margin:0;padding:0;display:inline-grid;place-items:center;place-content:center;pointer-events:auto;overflow:hidden;flex-shrink:0;align-self:center}.app--sidebar-collapsed .logout-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:0}.app--sidebar-collapsed .logout-icon svg{display:block;width:18px;height:18px}.sidebar-backdrop,.sidebar-close{display:none!important}}@media (max-width: 1024px){.app{grid-template-columns:1fr}.nav-toggle,.sidebar-close{display:inline-grid}.sidebar-backdrop{display:block}.app:not(.app--nav-open) .sidebar-backdrop{display:none}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:100;width:min(288px,88vw);height:100dvh;max-height:100dvh;flex-direction:column;align-items:stretch;overflow-x:hidden;overflow-y:auto;transform:translate(-105%);transition:transform .24s ease;box-shadow:var(--shadow-lg)}.app--nav-open .sidebar{transform:translate(0)}.sidebar .nav{flex-direction:column;overflow:visible}.me{padding-top:14px}.me .logout{width:100%;margin-top:4px}.topbar{padding:10px 16px;gap:10px;flex-wrap:wrap}.content{padding:16px}.content:has(>.page-shell-video-detail){padding:0}.page-hero-inner{flex-direction:column;align-items:stretch}.page-hero-actions,.page-hero-actions button{width:100%}.page-toolbar{flex-wrap:wrap;align-items:stretch}.page-toolbar .toolbar-search{flex:1 1 100%;max-width:none;min-width:0}.page-toolbar .spacer{display:none}.page-toolbar>button{flex:1 1 auto}.video-detail-header{flex-direction:column;align-items:stretch}.video-detail-sop-link{width:100%;text-align:center}.video-watch__panel{padding:16px}.video-theater{max-height:min(56vh,520px)}.chat-panel-head{flex-direction:column;align-items:stretch;gap:10px}.chat-layout{flex-direction:column}.chat-sidebar{width:100%;max-height:180px;border-right:0;border-bottom:1px solid var(--border);padding:10px}.chat-session-list{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;padding-bottom:4px}.chat-session-item-wrap{flex:0 0 auto;max-width:200px;padding-right:0}.chat-session-delete{opacity:1}.chat-msg--user{margin-left:0}.modal-overlay{padding:12px;align-items:flex-end}.modal-card{max-height:calc(100dvh - 24px);overflow-y:auto;padding:22px 18px 18px}.upload-modal-wide{max-width:100%}.video-plan-modal{max-width:100%;margin:0}.video-plan-modal-header{flex-direction:column;align-items:flex-start;gap:10px}.video-plan-scene-pills{flex-wrap:wrap}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:720px}.search-form{flex-wrap:wrap}.search-input{flex:1 1 100%;min-width:0}.search-type{flex:1 1 140px;width:auto}.video-actions-btns{flex-wrap:wrap}.video-actions-btns button{flex:1 1 180px}}@media (max-width: 640px){.topbar-crumb{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-tenant span:first-child{display:none}.card{padding:16px;border-radius:var(--radius)}.video-grid{grid-template-columns:1fr;gap:16px}.video-detail-title{font-size:1.35rem}.video-detail-transcript__list>li{font-size:14px}.video-chapter{padding:10px 8px}.chat-panel .chat-body{padding:14px 12px}.chat-composer{padding:12px}.chat-composer-form{flex-wrap:wrap}.chat-composer-form input{flex:1 1 calc(100% - 52px);min-width:0}.video-actions-btns{flex-direction:column;align-items:stretch}.video-actions-btns button{width:100%}.confirm-dialog{width:100%;max-width:none;margin:0}.upload-modal-actions{flex-direction:column-reverse;align-items:stretch}.upload-modal-actions button{width:100%}.sop-video-mode-options{grid-template-columns:1fr}.flex:not(.chat-composer-form){flex-wrap:wrap}.login-page{padding:12px}.login-page__card{border-radius:2.25rem;padding:28px 22px 36px}.login-page .login-page__field input:not([type=radio]):not([type=checkbox]),.login-page__submit{height:52px;min-height:52px}}@media (max-width: 400px){.chip-ai{display:none}.topbar{padding:8px 12px}.content{padding:12px}}
