*{box-sizing:border-box}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.2}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{font-family:inherit}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.notification-bell-container{position:relative;display:flex;align-items:center;overflow:visible}.notification-bell-button{background-color:#f3f4f6;border:1px solid #e5e7eb;cursor:pointer;padding:.625rem;border-radius:.5rem;color:#6b7280;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}.notification-bell-button:hover{background-color:#e5e7eb;color:#374151;border-color:#d1d5db}.notification-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.6875rem;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 4px #ef444466;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.notification-panel{position:fixed;top:64px;right:1rem;width:380px;min-width:380px;max-height:calc(100vh - 100px);background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 10px 40px #00000026,0 4px 12px #0000001a;z-index:9999;overflow:hidden;display:flex;flex-direction:column}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.notification-panel-header h3{margin:0;font-size:.9375rem;font-weight:600;color:#111827}.mark-all-read-button{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#2563eb;font-size:.8125rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:background-color .2s}.mark-all-read-button:hover{background-color:#eff6ff}.notification-header-actions{display:flex;align-items:center;gap:.5rem}.clear-read-button{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#dc2626;font-size:.8125rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:background-color .2s}.clear-read-button:hover{background-color:#fef2f2}.notification-panel-content{flex:1;overflow-y:auto}.notification-loading{padding:2rem;text-align:center;color:#6b7280}.notification-empty{padding:3rem 1rem;text-align:center;color:#9ca3af}.notification-empty .empty-icon{margin-bottom:.75rem;opacity:.5}.notification-empty p{margin:0;font-size:.875rem}.notification-list{list-style:none;margin:0;padding:0}.notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 2rem .875rem 1rem;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s;position:relative}.notification-item:hover{background-color:#f9fafb}.notification-item:last-child{border-bottom:none}.notification-item.unread{background-color:#fefce8}.notification-item.unread:hover{background-color:#fef9c3}.notification-item-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center}.notification-icon{color:#6b7280}.notification-icon.video{color:#10b981}.notification-icon.approval{color:#f59e0b}.notification-item-content{flex:1;min-width:0}.notification-item-title{font-size:.875rem;font-weight:600;color:#111827;margin-bottom:.125rem}.notification-item-message{font-size:.8125rem;color:#6b7280;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:.75rem;color:#9ca3af;margin-top:.25rem}.notification-unread-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background-color:#2563eb;margin-top:.5rem}.notification-delete-button{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;aspect-ratio:1;background:transparent;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;transition:all .15s;font-size:14px;font-weight:400;line-height:1;padding:0;opacity:0;box-sizing:border-box}.notification-item:hover .notification-delete-button{opacity:1}.notification-delete-button:hover{color:#dc2626;background:#fef2f2}@media (max-width: 480px){.notification-panel{position:fixed;top:64px;left:.5rem;right:.5rem;width:auto;min-width:auto;max-height:70vh}}:root{--header-height: 64px;--header-bg: #ffffff;--header-border: #e5e7eb;--header-shadow: 0 1px 3px rgba(0, 0, 0, .1);--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--bg-hover: #f3f4f6;--bg-light: #f9fafb;--border-light: #e5e7eb;--border-medium: #d1d5db;--focus-ring: #667eea;--transition-fast: .15s ease;--transition-normal: .2s ease}.app-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-height);background:#fff!important;border-bottom:1px solid rgba(102,126,234,.15);box-shadow:0 2px 8px #667eea14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;overflow:visible}.header-content{height:100%;width:100%;max-width:none;margin:0 auto;padding:0 1.5rem;display:grid!important;grid-template-columns:auto 1fr auto!important;grid-template-rows:1fr;grid-auto-flow:column;align-items:center;gap:1.5rem;overflow:visible}.header-left{display:flex;align-items:center;justify-content:flex-start;grid-column:1!important;position:relative}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:none;border:none;border-radius:.5rem;color:#1f2937;cursor:pointer;transition:all var(--transition-fast);position:relative;flex-shrink:0}.sidebar-toggle:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.5rem;background:transparent;opacity:0;transition:opacity var(--transition-fast)}.sidebar-toggle:hover:before{opacity:0}.sidebar-toggle:hover{color:#111827}.sidebar-toggle:focus{outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.sidebar-toggle:active{transform:scale(.95)}.sidebar-toggle svg{position:relative;z-index:1}.app-title{display:flex;justify-content:center;align-items:center;text-decoration:none;color:inherit;transition:opacity var(--transition-fast);text-align:center;white-space:nowrap;grid-column:2!important;position:relative;width:100%}.app-title:hover{opacity:.85}.app-title h1{margin:0;font-size:1.5rem;font-weight:700;line-height:1.2;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;letter-spacing:-.02em}.full-title{display:inline}.mobile-title{display:none}.user-menu{display:flex;align-items:center;justify-content:flex-end;gap:1rem;min-width:fit-content;height:100%;grid-column:3!important;position:relative;overflow:visible}.user-info{display:flex;align-items:center;gap:.75rem;padding:.375rem 1rem .375rem .375rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:9999px;transition:all var(--transition-fast);min-width:0;max-width:280px}.user-info:hover{background:linear-gradient(135deg,#7b8ff0,#8a5bb0);box-shadow:0 2px 8px #667eea4d}.user-avatar,.user-avatar-mobile{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background-color:var(--border-light);display:flex;align-items:center;justify-content:center;border:2px solid #ffffff;box-shadow:0 1px 3px #0000001a}.user-avatar img,.user-avatar-mobile img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--primary-gradient);color:#fff;font-weight:600;font-size:.875rem;-webkit-user-select:none;user-select:none}.user-avatar-mobile{display:none;cursor:pointer;transition:transform var(--transition-fast)}.user-avatar-mobile:hover{transform:scale(1.05)}.user-details{display:flex;flex-direction:column;justify-content:center;gap:.125rem;min-width:0;flex:1}.user-name{color:#fff!important;font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.user-email{color:#ffffffe6!important;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.logout-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--bg-light);color:var(--text-primary);border:1px solid var(--border-light);border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;position:relative;overflow:hidden}.logout-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-hover);opacity:0;transition:opacity var(--transition-fast)}.logout-button:hover:not(:disabled):before{opacity:1}.logout-button:hover:not(:disabled){border-color:var(--border-medium);box-shadow:0 1px 3px #0000000d}.logout-button:focus{outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.logout-button:active:not(:disabled){transform:scale(.98)}.logout-button:disabled{opacity:.7;cursor:not-allowed}.logout-icon,.logout-text{position:relative;z-index:1}.logout-loading{display:flex;align-items:center;gap:.5rem}.mini-spinner{width:14px;height:14px;border:2px solid var(--border-medium);border-top:2px solid var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 1024px){.header-content{padding:0 1.25rem;gap:1.25rem}.user-menu .user-info{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;overflow:hidden!important}.user-menu .user-avatar-mobile{display:none!important;visibility:hidden!important}}@media (max-width: 768px){:root{--header-height: 56px}.app-header{height:var(--header-height)}.header-content{padding:0 1rem;gap:1rem;grid-template-columns:auto 1fr auto}.user-menu .user-info{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}.user-menu .user-avatar-mobile{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important}.full-title{display:none}.mobile-title{display:inline}.app-title h1{font-size:1.25rem}.logout-button{padding:.5rem;min-width:36px;justify-content:center;border:none;background:transparent}.logout-icon{width:18px;height:18px;color:#1f2937}.logout-text{display:none}}@media (max-width: 480px){:root{--header-height: 52px}.header-content{padding:0 .75rem;gap:.75rem;grid-template-columns:auto 1fr auto}.app-title h1{font-size:1.1rem}.sidebar-toggle{width:36px;height:36px}.sidebar-toggle svg{width:18px;height:18px}.logout-button{padding:.5rem;min-width:36px;justify-content:center;border:none;background:transparent}.logout-text{display:none}.logout-icon{margin:0;width:18px;height:18px;color:#1f2937}}@media (max-width: 360px){.header-content{padding:0 .5rem;gap:.5rem;grid-template-columns:auto 1fr auto}.app-title h1{font-size:1rem}.user-menu{gap:.5rem}.sidebar-toggle{width:32px;height:32px}.sidebar-toggle svg{width:16px;height:16px}.logout-button{padding:.375rem;min-width:32px}.logout-icon{width:16px;height:16px}}@media (min-width: 1200px){.header-content{padding:0 2rem;gap:2rem}.user-info{max-width:300px}.user-details{max-width:none}.logout-button{padding:.5rem 1.25rem}}@media (prefers-reduced-motion: reduce){.sidebar-toggle,.app-title,.logout-button,.user-info,.mini-spinner{animation:none;transition:none}}@media print{.app-header{position:static;box-shadow:none;border-bottom:1px solid #000}.sidebar-toggle,.logout-button{display:none}}@media (prefers-contrast: high){.app-header{border-bottom-width:2px}.sidebar-toggle,.logout-button{border-width:2px}}@media (prefers-color-scheme: dark){:root{--header-bg: #1f2937;--header-border: #374151;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #9ca3af;--bg-hover: #374151;--bg-light: #2d3748;--border-light: #4b5563;--border-medium: #6b7280}.app-header{box-shadow:0 1px 3px #0000004d}}.navigation-saving-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:navOverlayFadeIn .2s ease-out}@keyframes navOverlayFadeIn{0%{opacity:0}to{opacity:1}}.app-sidebar{width:260px;background-color:#fff;border-right:1px solid #e5e7eb;box-shadow:1px 0 3px #0000000d;transition:width .3s ease,transform .3s ease;position:fixed;top:64px;left:0;bottom:0;overflow-y:auto;overflow-x:hidden;z-index:900}.app-sidebar.collapsed{width:70px}.sidebar-nav{padding:1.5rem 0}.navigation-saving-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.navigation-saving-dialog{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 3rem;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003}.navigation-saving-dialog span{font-size:1.125rem;font-weight:600;color:#1f2937}.navigation-saving-hint{margin:0;font-size:.875rem;color:#6b7280}.navigation-saving-dialog .spinning{color:#6366f1;animation:spin 1s linear infinite}.app-sidebar::-webkit-scrollbar{width:6px}.app-sidebar::-webkit-scrollbar-track{background:transparent}.app-sidebar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.app-sidebar::-webkit-scrollbar-thumb:hover{background:#9ca3af}.app-sidebar{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:#6b7280;text-decoration:none;transition:all .2s ease;border-left:3px solid transparent;font-weight:500;position:relative}.nav-item:hover{background-color:#f9fafb;color:#374151}.nav-item.active{background-color:#eff6ff;color:#2563eb;border-left-color:#2563eb}.nav-icon{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-text{font-size:.875rem;white-space:nowrap;transition:opacity .3s ease}.app-sidebar.collapsed .nav-text{display:none}.app-sidebar.collapsed .nav-item{padding:.75rem;justify-content:center;position:relative}.app-sidebar.collapsed .nav-item:hover .nav-text{display:block;position:absolute;left:calc(100% + .5rem);top:50%;transform:translateY(-50%);background:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:.375rem;white-space:nowrap;font-size:.875rem;z-index:1000;box-shadow:0 4px 12px #00000026;animation:tooltipFadeIn .2s ease-out}.app-sidebar.collapsed .nav-item:hover .nav-text:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1f2937}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translate(-10px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.nav-divider{height:1px;background-color:#e5e7eb;margin:1rem 1.5rem}.app-sidebar.collapsed .nav-divider{margin:.75rem 1rem}.nav-section{margin-top:1rem}.nav-section-title{display:block;padding:.5rem 1.5rem;font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;transition:opacity .3s ease}.app-sidebar.collapsed .nav-section-title{display:none}.app-sidebar.collapsed .nav-section{margin-top:.5rem}@media (max-width: 1023px){.app-sidebar{transform:translate(-100%);width:280px!important;z-index:1000;top:56px}.app-sidebar.mobile-open{transform:translate(0)}.app-sidebar.collapsed{width:280px!important}.app-sidebar.collapsed .nav-text{display:block}.app-sidebar.collapsed .nav-item{padding:.75rem 1.5rem;justify-content:flex-start}.app-sidebar.collapsed .nav-section-title{display:block}}@media (max-width: 480px){.app-sidebar{width:85vw!important;max-width:320px!important;top:52px}.app-sidebar.collapsed{width:85vw!important;max-width:320px!important}}.dashboard-layout{min-height:100vh;display:flex;flex-direction:column;background-color:#f8fafc}.dashboard-body{display:flex;flex:1;margin-top:64px}.dashboard-main{flex:1;margin-left:260px;padding:1rem 2rem 2rem;transition:margin-left .3s ease;min-height:calc(100vh - 64px);background-color:#f8fafc;overflow-x:hidden;max-width:calc(100vw - 260px);box-sizing:border-box}.dashboard-main.sidebar-collapsed{margin-left:70px;max-width:calc(100vw - 70px)}.sidebar-backdrop{position:fixed;top:64px;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;animation:fadeIn .3s ease;cursor:pointer}@media (max-width: 1023px){.dashboard-body{margin-top:56px}.sidebar-backdrop{top:56px}.dashboard-main{margin-left:0;padding:.75rem 1rem 1rem;min-height:calc(100vh - 56px);max-width:100vw}.dashboard-main.sidebar-collapsed{margin-left:0;max-width:100vw}.dashboard-main.mobile-menu-open{overflow:hidden;height:calc(100vh - 56px)}}@media (max-width: 480px){.dashboard-body{margin-top:52px}.sidebar-backdrop{top:52px}.dashboard-main{padding:0 .75rem .75rem;min-height:calc(100vh - 52px)}.dashboard-main.mobile-menu-open{height:calc(100vh - 52px)}}.legacy-layout{display:flex;flex-direction:column;height:100vh;background-color:#fff;color:#000}.legacy-header{background-color:#2d2d2d;border-bottom:1px solid #404040;padding:0 2rem;height:64px;display:flex;align-items:center;box-shadow:0 2px 4px #0000001a}.legacy-header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.legacy-app-title{text-decoration:none;color:inherit}.legacy-app-title h1{font-size:1.5rem;font-weight:600;margin:0;color:#fff}.legacy-app-title:hover h1{color:#60a5fa}.legacy-nav{display:flex;align-items:center;gap:2rem}.legacy-nav-link{text-decoration:none;color:#ccc;font-size:1.125rem;font-weight:700;padding:.5rem 0;transition:color .2s}.legacy-nav-link:hover{color:#fff}.legacy-nav-link.active{color:#60a5fa;font-weight:700}.legacy-main{flex:1;overflow-y:auto;background-color:#fff;padding:2rem}@media (max-width: 768px){.legacy-header{padding:0 1rem}.legacy-header-content{flex-direction:column;gap:1rem;align-items:flex-start}.legacy-nav{gap:1rem}.legacy-nav-link{padding:.375rem 0;font-size:1rem;font-weight:700}.legacy-main{padding:1rem}.legacy-app-title h1{font-size:1.25rem}}@media (max-width: 480px){.legacy-header-content{align-items:center}.legacy-nav{gap:.5rem}.legacy-nav-link{padding:.25rem 0;font-size:.875rem;font-weight:700}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.loader{border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loader-small{width:30px;height:30px;border-width:2px}.loader-medium{width:50px;height:50px;border-width:3px}.loader-large{width:70px;height:70px;border-width:4px}.loading-message{color:#666;font-size:1rem;margin:0;text-align:center}.toast{display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;padding:16px;margin-bottom:12px;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;background:#fff;border-left:4px solid}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:16px;font-weight:700;flex-shrink:0}.toast-message{flex:1;font-size:14px;line-height:1.5;color:#333}.toast-close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:#666;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.toast-close:hover{color:#333}.toast-success{border-left-color:#10b981}.toast-success .toast-icon{background:#d1fae5;color:#10b981}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{background:#fee2e2;color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{background:#fef3c7;color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{background:#dbeafe;color:#3b82f6}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;pointer-events:none}.toast-container>*{pointer-events:auto}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:100%}}.login-container{display:flex;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-left{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.05"/><circle cx="20" cy="80" r="0.5" fill="white" opacity="0.05"/><circle cx="80" cy="20" r="0.5" fill="white" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');pointer-events:none}.login-brand{text-align:center;color:#fff;z-index:1}.login-brand h1{font-size:3rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-brand p{font-size:1.2rem;opacity:.9;max-width:400px;line-height:1.6;margin-bottom:2rem}.login-features{display:flex;flex-direction:column;gap:1rem;max-width:400px}.feature-item{display:flex;align-items:center;gap:.75rem;color:#fff;opacity:.9}.feature-icon{width:20px;height:20px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.login-right{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem;background:#fff;position:relative}.login-form-container{width:100%;max-width:400px;position:relative}.login-form-header{text-align:center;margin-bottom:2rem}.login-form-header h2{font-size:2rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.login-form-header p{color:#666;font-size:1rem}.login-right .cl-rootBox{width:100%}.login-right .cl-card{box-shadow:none!important;border:none!important;background:transparent!important}@media (max-width: 768px){.login-container{flex-direction:column}.login-left{min-height:40vh;padding:1.5rem}.login-brand h1{font-size:2rem}.login-brand p{font-size:1rem}.login-features{display:none}.login-right{padding:1.5rem}}@media (max-width: 480px){.login-left{min-height:30vh;padding:1rem}.login-right{padding:1rem}.login-form-header h2{font-size:1.5rem}}.signup-container{display:flex;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.signup-left{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.signup-left:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.05"/><circle cx="20" cy="80" r="0.5" fill="white" opacity="0.05"/><circle cx="80" cy="20" r="0.5" fill="white" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');pointer-events:none}.signup-brand{text-align:center;color:#fff;z-index:1}.signup-brand h1{font-size:3rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.signup-brand p{font-size:1.2rem;opacity:.9;max-width:400px;line-height:1.6;margin-bottom:2rem}.signup-benefits{display:flex;flex-direction:column;gap:1.5rem;max-width:400px}.benefit-item{display:flex;align-items:flex-start;gap:1rem;color:#fff;opacity:.9}.benefit-icon{width:24px;height:24px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:2px}.benefit-content h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}.benefit-content p{font-size:.9rem;margin:0;opacity:.8;line-height:1.4}.signup-right{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem;background:#fff;position:relative}.signup-form-container{width:100%;max-width:400px;position:relative}.signup-form-header{text-align:center;margin-bottom:2rem}.signup-form-header h2{font-size:2rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.signup-form-header p{color:#666;font-size:1rem}.signup-right .cl-rootBox{width:100%}.signup-right .cl-card{box-shadow:none!important;border:none!important;background:transparent!important}@media (max-width: 768px){.signup-container{flex-direction:column}.signup-left{min-height:40vh;padding:1.5rem}.signup-brand h1{font-size:2rem}.signup-brand p{font-size:1rem}.signup-benefits{display:none}.signup-right{padding:1.5rem}}@media (max-width: 480px){.signup-left{min-height:30vh;padding:1rem}.signup-right{padding:1rem}.signup-form-header h2{font-size:1.5rem}}.video-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.video-modal-content{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.video-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.video-modal-header h2{margin:0;font-size:1.25rem;color:#111827;font-weight:600}.video-modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.video-modal-close:hover{background-color:#f3f4f6;color:#111827}.video-modal-body{padding:1.5rem;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.video-player{width:100%;max-height:calc(90vh - 120px);border-radius:8px;box-shadow:0 4px 6px #0000001a}.video-loading{padding:3rem;text-align:center;color:#6b7280;font-size:1.125rem}@media (max-width: 768px){.video-modal-content{max-width:100%;max-height:100vh;border-radius:0}.video-modal-header,.video-modal-body{padding:1rem}.video-player{max-height:calc(100vh - 100px)}}.storyboard-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1.5rem}.storyboard-list-loading .spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}.storyboard-list-loading .loading-text{color:#666;font-size:1rem;margin:0}.storyboard-list-error,.storyboard-list-empty{text-align:center;padding:3rem;color:#666}.storyboard-list-empty p{margin-bottom:1.5rem;font-size:1.1rem}.storyboard-list-empty .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.storyboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1rem;overflow:visible}.storyboard-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;overflow:visible}.storyboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.storyboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.storyboard-header h3{margin:0;font-size:1.2rem;color:#333;flex:1;margin-right:1rem}.status-badge{padding:.375rem .875rem;border-radius:16px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;display:inline-flex;align-items:center;gap:.375rem}.status-draft{background:linear-gradient(135deg,#e5e7eb,#d1d5db);color:#374151;box-shadow:0 2px 8px #d1d5db4d}.status-generating{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#1e3a8a;box-shadow:0 2px 8px #60a5fa4d;animation:pulse-generating 2s ease-in-out infinite}@keyframes pulse-generating{0%,to{opacity:1}50%{opacity:.85}}.status-completed{background:linear-gradient(135deg,#34d399,#10b981);color:#064e3b;box-shadow:0 2px 8px #34d3994d}.status-failed{background:linear-gradient(135deg,#f87171,#ef4444);color:#7f1d1d;box-shadow:0 2px 8px #f871714d}.status-pending-approval{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;box-shadow:0 2px 12px #fbbf2466;animation:pulse-approval 2s ease-in-out infinite}@keyframes pulse-approval{0%,to{box-shadow:0 2px 12px #fbbf2466}50%{box-shadow:0 4px 20px #fbbf2499}}.storyboard-description{margin:.75rem 0;padding:.75rem;background:#f9fafb;border-radius:4px;border-left:3px solid #E5E7EB}.storyboard-description p{margin:0;color:#4b5563;font-size:.9rem;line-height:1.5}.storyboard-meta{margin-bottom:1.5rem;color:#666;font-size:.9rem}.storyboard-meta p{margin:.25rem 0}.last-stage{margin-top:.5rem;font-style:italic;color:#888;text-transform:capitalize}.error-hint{margin-left:.5rem;cursor:help}.storyboard-actions{overflow:visible}.actions-row{display:flex;align-items:center;gap:.5rem}.primary-actions{display:flex;flex:1;min-width:0;gap:.5rem}.primary-actions button{flex:1;min-width:0;height:42px;padding:0 1rem;margin:0;border:2px solid transparent;border-radius:8px;font-size:.9rem;font-weight:500;line-height:1;cursor:pointer;transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.kebab-menu-container{position:relative}.kebab-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:2px solid #E5E7EB;border-radius:8px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s}.kebab-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.kebab-dropdown,.kebab-dropdown-portal{min-width:180px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid #E5E7EB;padding:.5rem 0;animation:dropdownFadeIn .15s ease-out}.kebab-dropdown{position:absolute;right:0;top:calc(100% + 4px);z-index:50}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.kebab-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;color:#374151;font-size:.9rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s}.kebab-item:hover{background:#f3f4f6}.kebab-item:disabled{opacity:.5;cursor:not-allowed}.kebab-item svg{color:#6b7280;flex-shrink:0}.kebab-item:hover svg{color:#374151}.kebab-divider{height:1px;background:#e5e7eb;margin:.5rem 0}.kebab-item-danger{color:#dc2626}.kebab-item-danger:hover{background:#fef2f2}.kebab-item-danger svg{color:#dc2626}.storyboard-delete-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .15s ease-out}.storyboard-delete-modal{background:#fff;border-radius:16px;max-width:420px;width:100%;box-shadow:0 20px 60px #0003;animation:slideUp .2s ease-out}.delete-modal-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem 1.5rem 0}.delete-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.delete-warning-icon{color:#dc2626;flex-shrink:0}.delete-modal-body{padding:1rem 1.5rem 1.5rem}.delete-modal-body p{margin:0;color:#4b5563;line-height:1.5}.delete-modal-body p strong{color:#1f2937}.delete-modal-warning{margin-top:.75rem!important;font-size:.875rem;color:#6b7280!important}.delete-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #E5E7EB}.delete-modal-footer button{padding:.625rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.delete-modal-footer .btn-secondary{background:#fff;color:#4b5563;border:1px solid #D1D5DB}.delete-modal-footer .btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.delete-modal-footer .btn-danger{background:#dc2626;color:#fff;border:none}.delete-modal-footer .btn-danger:hover:not(:disabled){background:#b91c1c}.delete-modal-footer button:disabled{opacity:.6;cursor:not-allowed}.button-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;align-items:stretch}.button-row button{width:100%;min-width:0;margin:0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid transparent!important}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#5e3a8f);transform:translateY(-1px);box-shadow:0 4px 6px -1px #667eea4d}.btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}.btn-secondary{background:transparent;color:#4b5563;border:2px solid #D1D5DB!important}.btn-secondary:hover{background:#f3f4f6;color:#1f2937;border:2px solid #9CA3AF!important;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.btn-danger{background:#ef4444;color:#fff;border:2px solid transparent!important}.btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 6px #ef44444d}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed}.btn-edit{background:#3b82f6;color:#fff;border:2px solid transparent!important}.btn-edit:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.btn-purple{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid transparent!important}.btn-purple:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#5e3a8f);transform:translateY(-1px);box-shadow:0 4px 6px -1px #667eea4d}.btn-purple:disabled{background:#a5b4fc;cursor:not-allowed}.storyboard-edit-form{padding:1rem 0}.edit-title-input,.edit-description-input{width:100%;padding:.5rem;margin-bottom:.5rem;border:1px solid #E5E7EB;border-radius:4px;font-family:inherit}.edit-title-input{font-size:1.125rem;font-weight:600}.edit-description-input{resize:vertical;min-height:60px}.edit-title-input:focus,.edit-description-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-save,.btn-cancel{padding:.375rem 1rem;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-save{background:#10b981;color:#fff}.btn-save:hover{background:#059669}.btn-cancel{background:#e5e7eb;color:#374151}.btn-cancel:hover{background:#d1d5db}.share-dropdown{position:absolute;right:0;z-index:30;width:240px;margin-top:8px;background:#fff;box-shadow:0 8px 32px #667eea1f;border-radius:16px;padding:8px 0;overflow:hidden;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.share-dropdown .dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:14px 20px;font-size:1rem;color:#374151;background:none;border:none;cursor:pointer;transition:background .15s;border-radius:8px}.share-dropdown .dropdown-item:hover{background:#eef2ff;color:#4f46e5}.share-dropdown .dropdown-divider{border-top:1px solid #e5e7eb;margin:6px 0}.share-dropdown .dropdown-success{color:#10b981;font-weight:600;padding-left:20px}.share-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000003}.share-dropdown .dropdown-item svg{min-width:24px;min-height:24px;margin-right:8px;flex-shrink:0}@media (max-width: 600px){.storyboard-grid{grid-template-columns:1fr;gap:1rem}.storyboard-card{padding:1rem;border-radius:16px}.storyboard-actions{width:100%}.actions-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:.5rem;width:100%}.primary-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;flex:1;min-width:0;gap:.5rem}.primary-actions button{flex:1 1 auto;min-width:70px;max-width:none;height:38px;font-size:.8rem;padding:0 .75rem}.kebab-menu-container{flex:0 0 auto}.kebab-btn{width:38px;height:38px;flex-shrink:0}.kebab-dropdown{right:0;min-width:160px}.kebab-item{padding:1rem;font-size:.95rem}.share-dropdown{right:50%;left:50%;transform:translate(-50%);width:95vw;min-width:180px;max-width:340px}.share-dropdown .dropdown-item{padding:18px;font-size:1.08rem}.storyboard-delete-modal{margin:1rem;max-width:calc(100% - 2rem)}.delete-modal-footer{display:flex;flex-direction:row;gap:.5rem}.delete-modal-footer button{flex:1;min-width:0;padding:.625rem .75rem;font-size:.85rem}}.public-viewer-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 1rem 1rem;border-radius:24px 24px 0 0;text-align:center}.public-viewer-video{background:#000;border-radius:0 0 24px 24px;overflow:hidden;margin-bottom:0}.public-viewer-info{background:#fff;border-radius:0 0 24px 24px;box-shadow:0 4px 24px #667eea14;padding:2rem 1rem;margin-bottom:2rem}.public-viewer-stats{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem}.public-viewer-stat{background:#f3f4f6;border-radius:12px;padding:1rem 2rem;text-align:center}.public-viewer-cta{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px;padding:2rem 1rem;text-align:center;margin-top:2rem}.public-viewer-cta .cta-btn{background:#fff;color:#764ba2;font-weight:700;border-radius:999px;padding:1rem 2.5rem;margin-top:1rem;box-shadow:0 2px 12px #667eea1f;transition:background .2s,color .2s,transform .2s}.public-viewer-cta .cta-btn:hover{background:#f3f4f6;color:#667eea;transform:scale(1.04)}.progress-component{width:100%;height:12px;background-color:#e5e7eb;border-radius:6px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .3s ease-in-out;border-radius:6px;box-shadow:0 2px 4px #3b82f64d}.progress-bar-fill{animation:pulse 2s ease-in-out infinite}.progress-component.complete .progress-bar-fill{animation:none;background:linear-gradient(90deg,#10b981,#059669)}.generation-progress-container{padding:1.5rem;background:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;max-width:800px;margin:0 auto}.generation-progress-container h2{font-size:1.5rem;margin-bottom:1.5rem;color:#1a202c}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-step{font-weight:500;color:#4a5568}.progress-percentage{font-weight:600;color:#2b6cb0}.progress-message{color:#333;font-size:1.125rem;font-weight:500}.progress-submessage{color:#666;font-size:.95rem;margin-top:.25rem}.progress-bar-container{position:relative;height:70px;background-color:#e9ecef;border-radius:15px;overflow:hidden;margin-bottom:3rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#007bff,#0056b3);transition:width .5s ease}.progress-percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#333;font-weight:700}.progress-steps{display:flex;justify-content:space-between;position:relative;margin-bottom:2rem}.progress-step{flex:1;text-align:center;position:relative}.step-connector{position:absolute;top:20px;left:50%;right:-50%;height:2px;background-color:#e9ecef;z-index:0}.progress-step:last-child .step-connector{display:none}.progress-step.completed .step-connector,.progress-step.active .step-connector{background-color:#007bff}.step-icon{width:40px;height:40px;border-radius:50%;background-color:#e9ecef;color:#666;display:flex;align-items:center;justify-content:center;margin:0 auto .5rem;position:relative;z-index:1;font-weight:700;transition:all .3s}.progress-step.active .step-icon{background-color:#007bff;color:#fff;transform:scale(1.1)}.progress-step.completed .step-icon{background-color:#28a745;color:#fff}.step-label{font-size:.875rem;color:#666}.progress-step.active .step-label{color:#007bff;font-weight:500}.progress-step.completed .step-label{color:#28a745}.progress-error{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:.25rem;margin:2rem 0;border:1px solid #f5c6cb}.progress-info{text-align:center;color:#666;font-size:.875rem}.progress-info p{margin:.25rem 0}.connection-status{display:flex;align-items:center;margin-bottom:1rem;font-size:.8rem;color:#718096}.connection-status .connected{color:#48bb78;margin-right:.5rem}.connection-status .disconnected{color:#f56565;margin-right:.5rem}.job-dashboard-link{color:#007bff;text-decoration:underline;font-weight:500}.job-dashboard-link:hover{color:#0056b3}.job-id-info{margin:.5rem 0;font-size:.875rem;color:#6c757d}.job-id-info code{background-color:#f1f3f5;padding:.2rem .4rem;border-radius:.25rem;font-family:Courier New,monospace;color:#495057}.progress-details{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:.5rem;padding:1rem;margin:1.5rem 0;font-size:.875rem}.progress-details h4{margin:0 0 .5rem;color:#495057;font-size:1rem}.batch-info,.duration-info,.token-usage{margin:.5rem 0}.batch-info p,.duration-info p,.token-usage p{margin:.25rem 0;color:#6c757d}.token-info{font-family:Courier New,monospace;color:#007bff;font-size:.875rem}.progress-details>div{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.interview-list{width:100%;max-width:900px;margin:0 auto}.interview-list-loading,.interview-list-error,.interview-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#6b7280}.interview-list-loading .spinner,.interview-list-error svg,.interview-list-empty svg{margin-bottom:1rem;color:#9ca3af}.interview-list-loading .spinner{animation:spin 1s linear infinite}.interview-list-empty h3{margin:.5rem 0;font-size:1.25rem;color:#374151}.interview-list-empty p{margin-bottom:1.5rem;color:#6b7280}.interview-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.125rem;font-weight:600;color:#374151}.section-title svg{color:#6b7280}.interview-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem 1.25rem;margin-bottom:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative}.interview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.interview-card.expanded:before{transform:scaleX(1)}.interview-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.interview-card.expanded{border-color:#667eea;box-shadow:0 8px 16px -4px #667eea33;transform:translateY(0)}.interview-card.in-progress{border-left:4px solid #f59e0b}.interview-card.completed{border-left:4px solid #10b981}.interview-card.highlighted{animation:highlightPulse 2s ease-in-out;box-shadow:0 0 0 4px #6366f14d;border:2px solid #6366f1}@keyframes highlightPulse{0%,to{box-shadow:0 0 0 4px #6366f14d}50%{box-shadow:0 0 0 8px #6366f133}}.interview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:0;-webkit-user-select:none;user-select:none;flex-shrink:0;cursor:pointer;border-radius:8px;transition:background-color .2s ease;min-height:auto}.interview-header:hover{background-color:#f9fafb}.interview-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.interview-info h4{margin:0;font-size:1rem;font-weight:600;color:#111827;flex:1;line-height:1.4}.header-actions{display:flex;align-items:center;gap:.5rem}.interview-list .header-delete-btn{background:transparent;border:none;cursor:pointer;padding:.375rem;display:flex;align-items:center;justify-content:center;color:#6b7280;border-radius:8px;transition:all .2s ease;flex-shrink:0;width:32px;height:32px}.interview-list .header-delete-btn:hover:not(:disabled){background:#fee2e2;color:#dc2626;transform:scale(1.05)}.interview-list .header-delete-btn:active:not(:disabled){transform:scale(.95)}.interview-list .header-delete-btn:disabled{opacity:.5;cursor:not-allowed}.interview-list .header-delete-btn svg{width:18px;height:18px}.interview-list .expand-toggle{background:#fff;border:none;cursor:pointer;padding:.375rem;display:flex;align-items:center;justify-content:center;color:#6b7280;border-radius:8px;transition:all .2s ease;flex-shrink:0;width:32px;height:32px}.interview-list .expand-toggle:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151;transform:scale(1.05)}.interview-list .expand-toggle:active{transform:scale(.95)}.interview-list .expand-toggle.expanded{background:#667eea;border-color:#667eea;color:#fff}.interview-list .expand-toggle.expanded:hover{background:#5e3a8f;border-color:#5e3a8f}.interview-list .expand-toggle svg{width:20px;height:20px;transition:transform .3s ease}.interview-info h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#111827}.interview-meta{margin:.25rem 0 0;font-size:.8125rem;color:#6b7280;line-height:1.3}.interview-status{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#fef3c7;color:#92400e;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap;margin-left:.75rem}.interview-status.completed{background:#d1fae5;color:#065f46}.interview-status svg{width:16px;height:16px}.interview-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;flex-shrink:0;justify-content:flex-start}.interview-card .interview-actions button.btn-sm,.interview-list .interview-card .interview-actions button.btn-sm,.interview-card .interview-actions-expanded .interview-actions button.btn-sm,.interview-list .interview-card .interview-actions-expanded .interview-actions button.btn-sm,.interview-card .interview-actions-expanded .interview-actions .btn-primary.btn-sm,.interview-card .interview-actions-expanded .interview-actions .btn-secondary.btn-sm,.interview-card .interview-actions-expanded .interview-actions .btn-ghost.btn-sm{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:0!important;padding:.625rem!important;font-size:.875rem!important;font-weight:600!important;border-radius:8px!important;border:none!important;cursor:pointer!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;white-space:nowrap!important;min-height:36px!important;min-width:36px!important;max-width:36px!important;width:36px!important;overflow:hidden!important;position:relative!important;box-sizing:border-box!important}.interview-card .interview-actions button.btn-sm:hover,.interview-list .interview-card .interview-actions button.btn-sm:hover,.interview-card .interview-actions-expanded .interview-actions button.btn-sm:hover,.interview-list .interview-card .interview-actions-expanded .interview-actions button.btn-sm:hover,.interview-card .interview-actions-expanded .interview-actions .btn-primary.btn-sm:hover,.interview-card .interview-actions-expanded .interview-actions .btn-secondary.btn-sm:hover,.interview-card .interview-actions-expanded .interview-actions .btn-ghost.btn-sm:hover{gap:.5rem!important;padding:.625rem 1rem!important;min-width:auto!important;max-width:300px!important;width:auto!important}.interview-card .interview-actions button.btn-sm .btn-text,.interview-list .interview-card .interview-actions button.btn-sm .btn-text,.interview-card .interview-actions-expanded .interview-actions button.btn-sm .btn-text,.interview-list .interview-card .interview-actions-expanded .interview-actions button.btn-sm .btn-text{max-width:0!important;opacity:0!important;overflow:hidden!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;white-space:nowrap!important;display:inline-block!important;width:0!important}.interview-card .interview-actions button.btn-sm:hover .btn-text,.interview-list .interview-card .interview-actions button.btn-sm:hover .btn-text,.interview-card .interview-actions-expanded .interview-actions button.btn-sm:hover .btn-text,.interview-list .interview-card .interview-actions-expanded .interview-actions button.btn-sm:hover .btn-text{max-width:200px!important;opacity:1!important;margin-left:.25rem!important;width:auto!important}.interview-card .interview-actions button.btn-sm svg,.interview-list .interview-card .interview-actions button.btn-sm svg,.interview-card .interview-actions-expanded .interview-actions button.btn-sm svg,.interview-list .interview-card .interview-actions-expanded .interview-actions button.btn-sm svg{width:18px!important;height:18px!important;flex-shrink:0!important;display:block!important}.interview-list .btn-primary,.interview-card .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea33}.interview-list .btn-primary:hover:not(:disabled),.interview-card .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#5e3a8f);transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.interview-card .interview-actions-expanded .interview-actions .btn-primary.btn-sm:hover:not(:disabled),.interview-card .interview-actions-expanded .interview-actions .btn-secondary.btn-sm:hover,.interview-card .interview-actions-expanded .interview-actions .btn-ghost.btn-sm:hover{padding-right:1rem!important}.interview-list .btn-primary:active:not(:disabled),.interview-card .btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #667eea33}.interview-list .btn-primary:disabled,.interview-card .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.interview-list .btn-secondary,.interview-card .btn-secondary{background:#fff;color:#374151;border:1.5px solid #d1d5db;box-shadow:0 1px 2px #0000000d}.interview-list .btn-secondary:hover,.interview-card .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;color:#1f2937;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.interview-list .btn-secondary:active,.interview-card .btn-secondary:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.interview-list .btn-ghost,.interview-card .btn-ghost{background:#f9fafb;color:#6b7280;border:1.5px solid #e5e7eb}.interview-list .btn-ghost:hover,.interview-card .btn-ghost:hover{background:#f3f4f6;color:#374151;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.interview-list .btn-ghost:active,.interview-card .btn-ghost:active{transform:translateY(0);background:#e5e7eb}.interview-actions-expanded{padding-top:1rem;border-top:1px solid #e5e7eb;animation:slideDown .3s cubic-bezier(.4,0,.2,1);margin-top:.75rem}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;padding-top:1.5rem;transform:translateY(0)}}.expanded-loading{display:flex;align-items:center;gap:.75rem;padding:2rem;justify-content:center;color:#6b7280;font-size:.875rem}.expanded-loading .spinner{animation:spin 1s linear infinite}.expanded-empty{padding:2rem;text-align:center;color:#6b7280;font-size:.875rem}.interview-responses{display:flex;flex-direction:column;gap:1.5rem}.response-item{padding:0;background:#f9fafb;border-radius:8px;border-left:3px solid #667eea;transition:all .2s ease;margin-bottom:.75rem;overflow:hidden}.response-item:last-child{margin-bottom:0}.response-item:hover{background:#f3f4f6;border-left-color:#764ba2}.response-item.expanded{border-left-color:#764ba2;box-shadow:0 2px 4px #0000000d}.response-question-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;-webkit-user-select:none;user-select:none}.response-question{display:flex;gap:.75rem;align-items:flex-start;flex:1}.response-question{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:flex-start}.question-number{font-weight:600;color:#667eea;font-size:.875rem;flex-shrink:0;min-width:24px}.question-text{color:#374151;font-weight:500;font-size:.9375rem;line-height:1.5;flex:1}.response-answer{padding:1rem;margin-left:calc(24px + .75rem);animation:slideDownAnswer .3s cubic-bezier(.4,0,.2,1);border-top:1px solid #e5e7eb;margin-top:.5rem}@keyframes slideDownAnswer{0%{opacity:0;max-height:0;padding-top:0;margin-top:0}to{opacity:1;max-height:1000px;padding-top:1rem;margin-top:.5rem}}.response-answer p{margin:0;color:#4b5563;font-size:.875rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.question-expand-toggle{background:transparent;border:1px solid #d1d5db;cursor:pointer;padding:.375rem;display:flex;align-items:center;justify-content:center;color:#6b7280;border-radius:6px;transition:all .2s ease;flex-shrink:0;width:28px;height:28px}.question-expand-toggle:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.question-expand-toggle.expanded{background:#667eea;border-color:#667eea;color:#fff}.question-expand-toggle.expanded:hover{background:#5e3a8f;border-color:#5e3a8f}.question-expand-toggle svg{width:18px;height:18px;transition:transform .2s ease}.interview-list-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.interview-list-modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;box-shadow:0 20px 25px -5px #0000001a}.prerequisite-modal .modal-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.prerequisite-modal .modal-header h3{margin:0;font-size:1.25rem;color:#111827}.prerequisite-modal .warning-icon{color:#f59e0b}.prerequisite-modal .modal-body{padding:1.5rem}.prerequisite-modal .modal-body p{margin:0 0 1rem;color:#374151;line-height:1.6}.missing-items-list{list-style:none;padding:0;margin:1rem 0}.missing-items-list li{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fef3c7;border-radius:8px;margin-bottom:.5rem;color:#92400e;font-size:.875rem}.missing-items-list li svg{flex-shrink:0;width:16px;height:16px}.help-text{font-size:.875rem;color:#6b7280}.prerequisite-details{margin-top:1.5rem;border-top:1px solid #e5e7eb;padding-top:1rem}.prerequisite-detail{margin-bottom:1rem;padding:.75rem;background:#f3f4f6;border-radius:8px}.prerequisite-detail h4{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:#374151}.prerequisite-detail p{margin:0;font-size:.875rem;color:#4b5563;line-height:1.5}.interview-list-modal-content .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid #e5e7eb}.interview-list-modal-content .modal-footer button{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.interview-list-modal-content .modal-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin:0}.interview-list-modal-content .modal-footer .btn-primary:hover{background:linear-gradient(135deg,#764ba2,#5e3a8f);transform:translateY(-1px);box-shadow:0 4px 6px -1px #667eea4d}.interview-list-modal-content .modal-footer .btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.interview-list-modal-content .modal-footer .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width: 640px){.interview-card{padding:1rem}.interview-header{flex-direction:column;gap:.75rem;align-items:flex-start}.interview-status{align-self:flex-start}.interview-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-start;gap:.5rem}.interview-card .interview-actions-expanded .interview-actions button.btn-sm{width:40px!important;max-width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:.5rem!important;flex-shrink:0!important}.interview-card .interview-actions-expanded .interview-actions button.btn-sm:hover{width:40px!important;min-width:40px!important;max-width:40px!important;padding:.5rem!important}.interview-card .interview-actions-expanded .interview-actions button.btn-sm:hover .btn-text{max-width:0!important;opacity:0!important;width:0!important;margin-left:0!important}.interview-title-row{gap:.5rem}.interview-info h4{font-size:1rem}.expand-toggle{padding:.125rem}.expand-toggle svg{width:18px;height:18px}.interview-expanded-content{margin-top:1rem;padding-top:1rem}.response-item{padding:0}.response-question-header{padding:.75rem;flex-direction:column;gap:.75rem}.response-question{flex-direction:column;gap:.5rem;width:100%}.question-expand-toggle{align-self:flex-end}.response-answer{margin-left:0;padding:0 .75rem .75rem;margin-top:.5rem}.question-number{font-size:.8125rem}.question-text{font-size:.875rem}.response-answer p{font-size:.8125rem}}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.title-modal .modal-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.title-modal .modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.title-modal .video-icon{color:#3b82f6;flex-shrink:0}.title-modal .modal-body{padding:1.5rem}.title-modal .modal-body p{margin:0 0 1rem;color:#374151;line-height:1.6}.title-modal .title-input{width:100%;padding:1rem 1.25rem;font-size:1.125rem;min-height:3rem;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s ease;font-family:inherit;background:#fff}.title-modal .title-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.title-modal .title-input::placeholder{color:#9ca3af}.title-modal .help-text{margin-top:.75rem;margin-bottom:0;font-size:.875rem;color:#6b7280}.title-modal .edit-icon{color:#667eea;flex-shrink:0}.title-with-edit{display:flex;align-items:center;gap:.5rem}.title-with-edit h4{margin:0}.title-edit-btn{background:transparent;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:#9ca3af;border-radius:4px;transition:all .2s ease;opacity:0;flex-shrink:0}.interview-card:hover .title-edit-btn{opacity:1}.title-edit-btn:hover{background:#f3f4f6;color:#667eea}.title-edit-btn:active{transform:scale(.95)}.title-edit-btn svg{width:14px;height:14px}.quick-generate-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;margin-top:.75rem;font-size:.875rem;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #667eea4d}.quick-generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#5e3a8f);transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.quick-generate-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.quick-generate-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.quick-generate-btn svg{width:16px;height:16px;flex-shrink:0}.quick-generate-btn .spinner{animation:spin 1s linear infinite}.quick-actions-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin-top:.75rem}.quick-actions-wrapper .quick-generate-btn{margin-top:0;width:auto}.more-options-hint{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .5rem;font-size:.75rem;font-weight:500;color:#6b7280;background:transparent;border:none;cursor:pointer;transition:all .2s ease;align-self:flex-start}.more-options-hint:hover{color:#667eea}.more-options-hint .hint-chevron{transition:transform .2s ease;animation:bounceDown 1.5s ease-in-out infinite}@keyframes bounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.more-options-hint:hover .hint-chevron{animation:none;transform:translateY(2px)}@media (max-width: 640px){.quick-actions-wrapper{align-items:stretch}.quick-actions-wrapper .quick-generate-btn{width:100%;justify-content:center;padding:.75rem 1rem}.more-options-hint{align-self:center}}.media-gallery{width:100%}.gallery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.gallery-title{display:flex;align-items:center;gap:.5rem}.gallery-title h3{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.upload-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.upload-button:hover{background:#5a67d8;transform:translateY(-1px)}.upload-button.primary{padding:.75rem 1.5rem;font-size:1rem;background:#667eea}.media-gallery.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#6b7280}.loading-spinner{animation:spin 1s linear infinite}.media-gallery.error{display:flex;align-items:center;justify-content:center;min-height:200px}.error-state{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#ef4444}.retry-button{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:background .2s ease}.retry-button:hover{background:#dc2626}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:#6b7280}.empty-icon{margin-bottom:1rem;opacity:.5}.empty-state h4{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#374151}.empty-state p{margin:0 0 1.5rem;max-width:300px;line-height:1.5}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.single-image-container{display:flex;justify-content:center;margin-top:1rem}.gallery-item.single{width:100%;max-width:300px;margin:0 auto}.gallery-item{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;overflow:hidden;transition:all .2s ease;cursor:default}.gallery-item.selectable{cursor:pointer}.gallery-item.selectable:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.gallery-item.selected{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.image-container{position:relative;aspect-ratio:1;overflow:hidden}.image-container img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.gallery-item.selectable:hover .image-container img{transform:scale(1.05)}.selection-indicator{position:absolute;top:.5rem;right:.5rem;background:#667eea;color:#fff;border-radius:50%;padding:.25rem;display:flex;align-items:center;justify-content:center}.face-indicator{position:absolute;top:.5rem;left:.5rem}.face-badge{background:#22c55ee6;color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.primary-indicator{position:absolute;bottom:.5rem;left:.5rem}.primary-badge{background:#f59e0be6;color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-info{padding:.75rem}.image-name{font-size:.875rem;font-weight:500;color:#1f2937;margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-meta{display:flex;align-items:center;gap:1rem}.meta-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280}.image-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity .2s ease}.gallery-item:hover .image-actions{opacity:1}.delete-button{background:#ef4444e6;color:#fff;border:none;border-radius:.375rem;padding:.375rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.delete-button:hover{background:#dc2626e6;transform:scale(1.05)}.delete-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10}.delete-confirmation{background:#fff;padding:1rem;border-radius:.5rem;text-align:center;max-width:200px}.delete-confirmation p{margin:0 0 1rem;font-size:.875rem;color:#374151}.delete-actions{display:flex;gap:.5rem;justify-content:center}.confirm-delete{background:#ef4444;color:#fff;border:none;padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;cursor:pointer;transition:background .2s ease;display:flex;align-items:center;gap:.25rem}.confirm-delete:hover{background:#dc2626}.confirm-delete:disabled{opacity:.7;cursor:not-allowed}.cancel-delete{background:#6b7280;color:#fff;border:none;padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;cursor:pointer;transition:background .2s ease}.cancel-delete:hover{background:#4b5563}.spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.gallery-item.single{max-width:250px}}@media (max-width: 480px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.empty-state{padding:2rem .5rem}.delete-confirmation{padding:.75rem}.delete-actions{flex-direction:column}.gallery-item.single{max-width:200px}}.media-gallery.single-image .gallery-header h3{font-size:1.1rem}.media-gallery.single-image .single-image-container{padding:1rem 0}.journey-image-selector{width:100%;max-width:600px;margin:0 auto}.image-choice-view{text-align:center}.choice-header{margin-bottom:2rem}.choice-header h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#1f2937}.choice-header p{margin:0;color:#6b7280;line-height:1.6}.choice-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.choice-option{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.choice-option:hover:not(:disabled){border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea1a}.choice-option:hover:not(:disabled) .option-content h4{color:#1f2937!important}.choice-option:hover:not(:disabled) .option-content p{color:#6b7280!important}.choice-option:hover:not(:disabled){color:#1f2937!important}.choice-option:hover:not(:disabled) *{color:inherit!important}.choice-option:disabled{opacity:.6;cursor:not-allowed}.option-icon{flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:.75rem}.upload-option .option-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.upload-option:hover:not(:disabled) .option-content h4{color:#1f2937!important}.upload-option:hover:not(:disabled) .option-content p{color:#6b7280!important}.gallery-option .option-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.gallery-option .option-icon.image-thumbnail{background:none;padding:0;overflow:hidden;border:2px solid #e5e7eb}.gallery-option:hover .option-icon.image-thumbnail{border-color:#667eea}.option-content{flex:1}.option-content h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#1f2937}.option-content p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.4}.choice-actions{display:flex;justify-content:center}.skip-button{background:none;border:1px solid #d1d5db;color:#6b7280;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:all .2s ease}.skip-button:hover:not(:disabled){border-color:#9ca3af;color:#4b5563}.skip-button:disabled{opacity:.5;cursor:not-allowed}.image-upload-view{width:100%}.upload-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.upload-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.back-button{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid #d1d5db;color:#6b7280;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:all .2s ease}.back-button:hover:not(:disabled){border-color:#9ca3af;color:#4b5563}.back-button:disabled{opacity:.5;cursor:not-allowed}.journey-image-upload{margin:0}.image-gallery-view{width:100%}.gallery-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.gallery-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.gallery-description{margin-bottom:1.5rem}.gallery-description p{margin:0;color:#6b7280;line-height:1.6}.journey-media-gallery{margin-bottom:1.5rem}.gallery-actions{display:flex;justify-content:center;padding-top:1rem;border-top:1px solid #e5e7eb}@media (max-width: 768px){.journey-image-selector{max-width:100%;padding:0 1rem}.choice-options{gap:.75rem}.choice-option{padding:1rem;flex-direction:column;text-align:center;gap:.75rem}.option-icon{width:50px;height:50px}.option-content h4{font-size:1rem}.option-content p{font-size:.8125rem}.upload-header,.gallery-header{flex-direction:column;align-items:stretch;text-align:center;gap:.75rem}.back-button{align-self:flex-start}}@media (max-width: 480px){.journey-image-selector{padding:0 .5rem}.choice-header{margin-bottom:1.5rem}.choice-header h3{font-size:1.25rem}.choice-option{padding:.75rem}.option-icon{width:40px;height:40px}.upload-header h3,.gallery-header h3{font-size:1.125rem}}.physical-characteristics-review{padding:0;height:100%;display:flex;flex-direction:column;background:#f9fafb;min-height:0}.review-header-compact{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;border-radius:16px 16px 0 0;min-height:72px;box-sizing:border-box}.header-icon-compact{width:36px;height:36px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-text-compact h2{font-size:1.125rem;font-weight:600;margin:0;color:#fff;letter-spacing:-.01em}.header-text-compact p{font-size:.875rem;margin:0;color:#ffffffe6;font-weight:400;opacity:.9}.characteristics-content-compact{flex:1;overflow-y:auto;overflow-x:visible;padding:1.5rem 3rem;display:flex;flex-direction:column;gap:1.25rem;background:#f9fafb;max-width:100%}.characteristics-content-compact .summary-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;flex:none}.profile-image-preview{width:100%;margin-bottom:1rem}.profile-image-preview .image-wrapper{position:relative;width:200px;height:200px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000001a;border:3px solid white}.profile-image-preview .image-wrapper img{width:100%;height:100%;object-fit:cover}.profile-image-preview .image-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;padding:.5rem;font-size:.75rem;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.5px}.no-image-notice{width:100%;padding:2rem 1rem;text-align:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:16px;margin-bottom:1rem}.no-image-icon{color:#9ca3af;margin-bottom:.75rem}.no-image-text{font-size:1rem;font-weight:600;color:#6b7280;margin:0 0 .5rem}.no-image-hint{font-size:.875rem;color:#9ca3af;max-width:300px;margin:0 auto}.profile-warning-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;margin:0 1rem}.profile-warning-notice .warning-icon{color:#d97706;flex-shrink:0;margin-top:2px}.profile-warning-notice p{margin:0;font-size:.875rem;color:#92400e;line-height:1.5}.summary-grid{display:grid!important;grid-template-columns:repeat(2,minmax(280px,1fr))!important;gap:1.5rem;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.summary-card{display:block!important;background:#fff;border-radius:12px;border:2px solid #e5e7eb;overflow:visible;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;width:100%;min-width:0;box-sizing:border-box}.summary-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#cbd5e1;transform:translateY(-1px)}.card-header{padding:1rem 1.25rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb;display:flex;flex-direction:row!important;align-items:center;justify-content:flex-start;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;flex-wrap:nowrap;gap:1rem;min-height:48px}.card-header:hover{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.card-header h3{font-size:1rem;font-weight:700;color:#1f2937;margin:0;display:inline-flex;align-items:center;gap:.5rem;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 40px)}.card-header>svg{color:#6b7280;flex-shrink:0;flex-grow:0;width:18px;height:18px;order:2}.card-content{padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.5rem;animation:slideDown .2s ease-out;background:#fff;width:100%;box-sizing:border-box;overflow:visible;min-height:auto}.summary-card.full-width{grid-column:1 / -1}.info-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 0;border-bottom:1px solid #e5e7eb;min-height:52px;width:100%;box-sizing:border-box;flex-wrap:wrap;overflow:visible}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-label{font-size:.9375rem;font-weight:600;color:#4b5563;flex-shrink:0;min-width:140px;max-width:160px;letter-spacing:.01em;white-space:nowrap;display:inline-block}.info-value{font-size:.9375rem;font-weight:500;color:#111827;text-align:right;flex:1 1 auto;min-width:120px;overflow-wrap:break-word;word-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;white-space:normal;line-height:1.5;display:block;max-width:none;unicode-bidi:normal;direction:ltr;overflow:visible}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.info-grid .info-row{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb;min-height:auto}.info-grid .info-label{min-width:auto;font-size:.875rem;color:#6b7280}.info-grid .info-value{text-align:left;font-size:.9375rem;font-weight:600;color:#111827}.review-actions{display:flex;gap:1rem;padding:1rem 1.5rem;background:#fff;border-top:2px solid #e5e7eb;position:sticky;bottom:0;flex-shrink:0}.review-actions button{flex:1;padding:.875rem 1.25rem;border-radius:10px;font-size:.9375rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;cursor:pointer;border:none;outline:none}.review-actions .btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.review-actions .btn-secondary:hover:not(:disabled){background:#f5f7ff;transform:translateY(-1px);box-shadow:0 4px 12px #667eea33}.review-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 12px #667eea4d}.review-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.review-actions button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.characteristics-content-compact .summary-grid{grid-template-columns:1fr!important}.info-grid{grid-template-columns:1fr}.review-header-compact{padding:.875rem 1rem}.header-text-compact h2{font-size:1.125rem}.profile-image-preview .image-wrapper{width:150px;height:150px}.profile-image-preview .image-label{font-size:.625rem;padding:.375rem}.header-text-compact p{font-size:.8125rem}.characteristics-content-compact{padding:1rem;gap:1rem}.info-row{padding:.75rem 0;gap:1rem}.info-label{font-size:.875rem;min-width:100px}.info-value{font-size:.875rem}.review-actions{padding:.875rem 1rem;flex-direction:row;gap:.75rem}.review-actions button{flex:1;min-width:0}}@media (max-width: 480px){.characteristics-content-compact{padding:.75rem;gap:.75rem}.profile-image-preview .image-wrapper{width:120px;height:120px}.card-header{padding:.625rem .75rem;min-height:40px;gap:.5rem;align-items:center;flex-wrap:nowrap}.card-header h3{font-size:.8125rem;white-space:normal;overflow:visible;text-overflow:clip;flex:1;min-width:0;max-width:none;line-height:1.3}.card-header>svg{flex-shrink:0;width:16px;height:16px;margin-left:0}.card-content{padding:.75rem}.info-row{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.25rem;padding:.5rem 0}.info-label{font-size:.75rem;min-width:auto;max-width:none;text-align:left;width:100%;margin:0}.info-value{font-size:.8125rem;text-align:left;width:100%;margin:0}.info-grid .info-row{padding:.625rem}.review-actions{padding:.75rem;flex-direction:row;gap:.5rem}.review-actions button{flex:1;min-width:0;padding:.625rem .5rem;font-size:.75rem}.no-image-notice{padding:1.5rem .75rem}.no-image-text{font-size:.9375rem}.no-image-hint{font-size:.8125rem}}.characteristics-content-compact::-webkit-scrollbar{width:6px}.characteristics-content-compact::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.characteristics-content-compact::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.characteristics-content-compact::-webkit-scrollbar-thumb:hover{background:#94a3b8}.success-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.success-modal{background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.success-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 2rem 1.5rem;text-align:center;position:relative;overflow:hidden;flex-shrink:0}.success-modal-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 3s infinite}@keyframes shimmer{0%,to{transform:translate(-10%,-10%)}50%{transform:translate(10%,10%)}}.success-icon-wrapper{position:relative;display:inline-block;margin-bottom:1rem}.success-icon-bg{width:80px;height:80px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:iconPop .5s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes iconPop{0%{transform:scale(0)}to{transform:scale(1)}}.sparkle{position:absolute;color:gold;animation:sparkleFloat 2s ease-in-out infinite}.sparkle-1{top:-8px;right:0;animation-delay:0s}.sparkle-2{top:5px;left:-5px;animation-delay:.3s}.sparkle-3{bottom:5px;right:0;animation-delay:.6s}@keyframes sparkleFloat{0%,to{transform:translateY(0) rotate(0);opacity:1}50%{transform:translateY(-5px) rotate(15deg);opacity:.7}}.success-modal-header h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:#fff;position:relative}.success-modal-header p{margin:0;font-size:1rem;color:#ffffffe6;position:relative}.success-modal-body{padding:1.75rem 2rem;flex:1;overflow-y:auto;min-height:0}.success-message p{margin:0 0 1.25rem;color:#374151;line-height:1.6;font-size:.9375rem}.requirements-checklist{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.requirement-item{display:flex;align-items:center;gap:.625rem;padding:.5rem 0;font-size:.875rem}.requirement-item.completed{color:#374151}.requirement-item.incomplete{color:#6b7280}.requirement-status{display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon.success{color:#10b981}.status-icon.error{color:#ef4444}.requirement-icon{color:#9ca3af;flex-shrink:0}.requirement-item.completed .requirement-icon{color:#6b7280}.requirement-label{flex:1;font-weight:500}.requirement-action{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;color:#667eea;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.requirement-action:hover{background:#667eea;color:#fff;border-color:#667eea}.requirement-action svg{flex-shrink:0}.btn-disabled{background:#9ca3af!important;box-shadow:none!important;cursor:not-allowed!important}.btn-disabled:hover{transform:none!important;background:#9ca3af!important}.generation-info{display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f9fafb;border-radius:10px;font-size:.875rem;color:#4b5563;transition:all .2s ease}.info-item:hover{background:#f3f4f6;transform:translate(4px)}.info-icon{font-size:1.25rem;flex-shrink:0}.title-input-section{animation:slideIn .3s ease-out}.title-input-section label{display:block;font-size:.9375rem;font-weight:500;color:#374151;margin-bottom:.75rem}.video-title-input{width:100%;padding:1rem 1.25rem;font-size:1.125rem;border:2px solid #e5e7eb;border-radius:12px;transition:all .2s ease;font-family:inherit;background:#fff;box-sizing:border-box}.video-title-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.video-title-input::placeholder{color:#9ca3af}.title-help-text{margin:.75rem 0 0;font-size:.8125rem;color:#6b7280}.success-modal-footer{display:flex;align-items:stretch;gap:.75rem;padding:1.25rem 2rem 1.5rem;border-top:1px solid #e5e7eb;flex-shrink:0;background:#fff}.success-modal-footer button{flex:1;padding:1rem 1.25rem;font-size:.9375rem;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;height:52px;min-height:52px;max-height:52px;box-sizing:border-box;min-width:fit-content}.success-modal-footer .btn-secondary{background:#fff;color:#374151;border:2px solid #e5e7eb;white-space:nowrap}.success-modal-footer .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.success-modal-footer .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.success-modal-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #667eea59;white-space:nowrap;margin:0}.success-modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#5e3a8f);transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.success-modal-footer .btn-primary:active:not(:disabled){transform:translateY(0)}.success-modal-footer .btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-generate svg{flex-shrink:0;display:block}.btn-generate .arrow-icon{transition:transform .2s ease}.btn-generate:hover:not(:disabled) .arrow-icon{transform:translate(4px)}.btn-generate .spinner{animation:spin 1s linear infinite;flex-shrink:0;display:flex;align-items:center;justify-content:center}@media (max-width: 480px){.success-modal{max-width:100%;margin:.5rem;border-radius:16px}.success-modal-header{padding:2rem 1.5rem 1.5rem}.success-modal-header h2{font-size:1.5rem}.success-modal-body{padding:1.5rem}.success-modal-footer{padding:1rem 1.5rem 1.5rem;gap:.5rem}.success-modal-footer button{height:44px;min-height:44px;max-height:44px;padding:.75rem .875rem;font-size:.8125rem}.success-modal-footer .btn-primary{border-width:1.5px;padding-right:1rem}.success-modal-footer .btn-secondary{border-width:1.5px}}.confirmation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:confirmFadeIn .3s ease-out}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirmation-modal{background:#fff;border-radius:16px;max-width:420px;width:100%;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;animation:confirmSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes confirmSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirmation-modal-header{display:flex;justify-content:center;align-items:center;padding:1.5rem 1.5rem .5rem;position:relative}.confirmation-icon-wrapper{display:flex;align-items:center;justify-content:center}.confirmation-icon-bg{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:iconBounce .5s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes iconBounce{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.confirmation-close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#9ca3af;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.confirmation-close-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.confirmation-close-btn:disabled{opacity:.5;cursor:not-allowed}.confirmation-modal-body{padding:1rem 2rem 1.5rem;text-align:center}.confirmation-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:600;color:#1f2937}.confirmation-message{margin:0;font-size:.9375rem;color:#6b7280;line-height:1.6}.confirmation-modal-footer{display:flex;align-items:stretch;gap:.75rem;padding:0 2rem 1.5rem}.confirmation-modal-footer button{flex:1;padding:.875rem 1.25rem;font-size:.9375rem;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;height:48px;min-height:48px;box-sizing:border-box}.confirmation-modal-footer .btn-secondary{background:#fff;color:#374151;border:2px solid #e5e7eb}.confirmation-modal-footer .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.confirmation-modal-footer .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.confirmation-modal-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #667eea59;margin:0}.confirmation-modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#5e3a8f);transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.confirmation-modal-footer .btn-primary:active:not(:disabled){transform:translateY(0)}.confirmation-modal-footer .btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.confirmation-modal-footer .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #ef444459}.confirmation-modal-footer .btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 6px 16px #ef444466}.confirmation-modal-footer .btn-danger:active:not(:disabled){transform:translateY(0)}.confirmation-modal-footer .btn-danger:disabled{opacity:.7;cursor:not-allowed;transform:none}.confirmation-modal-footer .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:confirmSpin 1s linear infinite}@keyframes confirmSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.confirmation-modal{max-width:100%;margin:.5rem;border-radius:12px}.confirmation-modal-header{padding:1.25rem 1.25rem .5rem}.confirmation-icon-bg{width:56px;height:56px}.confirmation-icon-bg svg{width:28px;height:28px}.confirmation-modal-body{padding:.75rem 1.5rem 1.25rem}.confirmation-title{font-size:1.125rem}.confirmation-message{font-size:.875rem}.confirmation-modal-footer{padding:0 1.5rem 1.25rem;flex-direction:column;gap:.5rem}.confirmation-modal-footer button{height:44px;min-height:44px;font-size:.875rem}}.chat-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out;padding:1rem}.chat-modal{width:100%;max-width:600px;height:80vh;max-height:700px;background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .4s ease-out;position:relative;transition:all .3s ease}.chat-modal.image-upload-mode{max-height:90vh;height:90vh}.chat-modal.characteristics-review-mode{max-width:1400px;width:98vw;max-height:90vh;height:90vh}.chat-modal.minimized{height:60px;max-height:60px}.chat-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.header-left{display:flex;align-items:center;gap:.75rem}.bot-avatar{width:36px;height:36px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-info h3{margin:0;font-size:1.125rem;font-weight:600}.header-info .status{margin:0;font-size:.875rem;opacity:.9;font-weight:400}.header-info .status.creating{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.9}50%{opacity:.6}}.header-controls{display:flex;gap:.5rem;margin-left:auto}.control-btn{width:32px;height:32px;border:none;background:#ffffff1a;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.control-btn:hover{background:#fff3;transform:scale(1.05)}.close-btn:hover{background:#ef444433}.progress-container{height:3px;background:#667eea1a;position:relative;z-index:1}.progress-bar{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease;border-radius:0 3px 3px 0}.chat-messages-area{flex:1;padding:2rem;overflow-y:auto;background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;flex-direction:column;gap:1.25rem}.chat-message{display:flex;gap:.75rem;animation:messageSlideIn .4s ease-out}.chat-message.user{flex-direction:row-reverse;align-self:flex-end;max-width:90%}.chat-message.bot{max-width:90%}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:.875rem}.chat-message.bot .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2)}.chat-message.user .message-avatar{background:linear-gradient(135deg,#06b6d4,#3b82f6)}.chat-message.user .message-content{align-items:flex-end}.chat-message.user.editing .message-content{align-items:stretch}.message-bubble{padding:1rem 1.25rem;border-radius:18px;line-height:1.6;word-wrap:break-word;position:relative;box-shadow:0 2px 12px #00000014;min-width:200px;max-width:100%}.chat-message.bot .message-bubble{background:#fff;border:1px solid #e2e8f0}.chat-message.user .message-bubble{background:linear-gradient(135deg,#06b6d4,#3b82f6);color:#fff}.message-bubble p+p{margin-top:.75rem}.message-header{font-weight:600;color:#667eea;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.message-timestamp{font-size:.75rem;color:#94a3b8}.chat-message.user:hover .edit-message-btn{opacity:1;transform:translateY(0)}.message-edit-container{padding:1rem 1.25rem;border-radius:18px;line-height:1.6;word-wrap:break-word;position:relative;box-shadow:0 2px 12px #00000014;background:#fff;border:2px solid #667eea;display:flex;flex-direction:column;gap:.75rem;min-width:400px}.message-edit-input{width:100%;min-height:60px;max-height:350px;border:none;padding:0;margin:0;font-size:.9375rem;font-family:inherit;line-height:1.6;resize:none;background:transparent;color:inherit;outline:none;overflow-y:auto;box-sizing:border-box}.chat-message.editing{background:#667eea05;border-radius:12px;padding:.5rem;margin:.25rem 0}.typing-bubble{background:#fff!important;border:1px solid #e2e8f0!important;padding:1rem 1.25rem!important}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#cbd5e0;animation:typingBounce 1.4s infinite ease-in-out}.chat-input-container{padding:1.5rem 2rem;background:#fff;border-top:1px solid #e2e8f0}.input-wrapper{display:flex;gap:.75rem;align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:.75rem;transition:all .2s ease}.chat-input{flex:1;border:none;background:transparent;font-size:1rem;line-height:1.5;resize:none;min-height:54px;max-height:120px;font-family:inherit;transition:opacity .2s ease}.chat-input:focus{outline:none}.chat-input::placeholder{color:#94a3b8}.send-btn{width:46px;height:36px;border:none;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0;margin-bottom:.75rem}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.send-btn svg{color:#fff;stroke:#fff;display:block;transform:rotate(45deg);margin-left:-2px}.input-hint{text-align:center;margin-top:.5rem;font-size:.75rem;color:#94a3b8}.completion-state{padding:2rem;background:#fff;border-top:1px solid #e2e8f0}.completion-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.completion-icon{font-size:3rem;margin-bottom:.5rem}.completion-content h3{margin:0;font-size:1.5rem;font-weight:600;color:#1e293b}.completion-content p{margin:0;color:#64748b;font-size:1rem;line-height:1.6}.next-step-btn{padding:.875rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.next-step-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}@media (max-width: 1023px){.chat-modal-overlay{padding:.5rem}.chat-modal{max-width:100%;max-height:95vh}.chat-modal.characteristics-review-mode{max-width:95vw;width:95vw}}@media (max-width: 768px){.chat-modal-overlay{padding:0;align-items:stretch}.chat-modal{width:100%;height:100%;max-height:100vh;max-width:100vw;border-radius:0}.chat-modal.image-upload-mode,.chat-modal.characteristics-review-mode{width:100%;max-width:100vw;height:100%;max-height:100vh;border-radius:0}.chat-modal-header{padding:1rem}.header-info h3{font-size:1rem}.header-info .status{font-size:.75rem}.chat-messages-area{padding:1rem;gap:1rem}.chat-message.user,.chat-message.bot{max-width:95%}.message-bubble{min-width:unset;padding:.875rem 1rem;font-size:.9375rem}.message-edit-container{min-width:unset;padding:.875rem 1rem}.message-edit-input{font-size:.875rem;min-height:50px;max-height:250px}.message-edit-actions{flex-direction:row;justify-content:stretch}.edit-action-btn{flex:1;justify-content:center;font-size:.813rem;padding:.5rem .75rem}.chat-input-container{padding:1rem}.input-wrapper{padding:.625rem}.chat-input{font-size:.9375rem}.completion-state{padding:1.5rem}.completion-content h3{font-size:1.25rem}.completion-content p{font-size:.9375rem}.no-characteristics-actions{flex-direction:column;max-width:100%}.no-characteristics-actions button{padding:.875rem 1.25rem;font-size:.9375rem}}@media (max-width: 480px){.chat-modal-header{padding:.75rem 1rem}.bot-avatar{width:32px;height:32px}.header-info h3{font-size:.9375rem}.header-info .status{font-size:.688rem}.control-btn{width:28px;height:28px}.chat-messages-area{padding:.75rem;gap:.875rem}.message-avatar{width:28px;height:28px;font-size:.75rem}.message-bubble{padding:.75rem .875rem;font-size:.875rem}.message-header{font-size:.75rem}.chat-input-container{padding:.75rem}.input-wrapper{padding:.5rem}.chat-input{font-size:.875rem}.send-btn{width:40px;height:36px;margin-bottom:.5rem}.input-hint{font-size:.688rem}.completion-state{padding:1rem}.completion-icon{font-size:2.5rem}.completion-content h3{font-size:1.125rem}.completion-content p{font-size:.875rem}.next-step-btn{padding:.75rem 1.5rem;font-size:.9375rem}}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);flex:1}.loading-state .spinning{animation:spin 1s linear infinite;color:#667eea;margin-bottom:1rem}.loading-state p,.error-state p{margin:0;color:#64748b;font-size:1rem}.error-state button{margin-top:1rem;padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer}.chat-messages-area::-webkit-scrollbar{width:6px}.chat-messages-area::-webkit-scrollbar-track{background:transparent}.chat-messages-area::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.chat-messages-area::-webkit-scrollbar-thumb:hover{background:#94a3b8}.image-upload-state{padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);flex:1;display:flex;flex-direction:column;overflow-y:auto}.upload-intro{margin-bottom:1.5rem}.bot-message{display:flex;align-items:flex-start;gap:.75rem}.bot-message .message-avatar{width:32px;height:32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bot-message .message-content{flex:1}.bot-message .message-bubble{background:#fff;padding:1rem 1.25rem;border-radius:1rem 1rem 1rem .25rem;box-shadow:0 2px 8px #0000001a;border:1px solid #e2e8f0}.bot-message .message-bubble p{margin:0;color:#374151;line-height:1.5}.chat-image-upload{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:300px}.chat-journey-selector{margin:1rem 0;background:#fff;border-radius:.75rem;padding:1.5rem;border:1px solid #e5e7eb}.media-loading-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;min-height:300px}.media-loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:400px}.media-loading-content .spinning{color:#3b82f6;animation:spin 1s linear infinite}.media-loading-content h3{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.media-loading-content p{margin:0;color:#6b7280;font-size:.875rem;max-width:24rem}.characteristics-review-state{height:100%;display:flex;flex-direction:column;overflow:hidden;background:#f9fafb;position:relative;z-index:10}.no-characteristics-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;height:100%;gap:2rem}.no-characteristics-actions{display:flex;gap:1rem;width:100%;max-width:400px}.no-characteristics-actions button{flex:1;padding:1rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;cursor:pointer;border:none;outline:none}.no-characteristics-actions .btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.no-characteristics-actions .btn-secondary:hover{background:#f5f7ff;transform:translateY(-1px);box-shadow:0 4px 12px #667eea33}.no-characteristics-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 12px #667eea4d}.no-characteristics-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.save-status-indicator{position:fixed;bottom:20px;right:20px;padding:8px 16px;border-radius:20px;font-size:12px;background:#fffffff2;box-shadow:0 2px 12px #00000026;z-index:10000;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05)}.save-error-banner{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:8px;padding:12px 16px;margin:0 16px 12px;box-shadow:0 4px 12px #ef444433;animation:slideDown .3s ease-out}.retry-btn svg{animation:spin 1s linear infinite}.saving-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:16px}.image-upload-container{width:100%;max-width:500px;margin:0 auto}.existing-image-option{margin-bottom:2rem;text-align:center}.existing-image-preview{position:relative;width:200px;height:200px;margin:0 auto 1rem;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.existing-image-preview img{width:100%;height:100%;object-fit:cover}.existing-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#10b981e6;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .3s ease}.existing-image-preview:hover .existing-image-overlay{opacity:1}.existing-image-overlay p{margin:.5rem 0 0;font-weight:500}.existing-image-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.upload-section{margin-bottom:1.5rem}.upload-dropzone{border:2px dashed #d1d5db;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa}.upload-dropzone:hover,.upload-dropzone.drag-active{border-color:#667eea;background:#f0f4ff;transform:translateY(-2px)}.upload-icon{color:#9ca3af;margin-bottom:1rem}.upload-dropzone h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#374151}.upload-dropzone p{margin:0 0 .5rem;color:#6b7280}.upload-hint{font-size:.875rem!important;color:#9ca3af!important;margin-bottom:1.5rem!important}.upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.upload-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.image-preview-container{text-align:center}.image-preview{position:relative;display:inline-block;max-width:100%;margin-bottom:1rem;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.image-preview img{max-width:100%;max-height:300px;display:block}.face-detection-overlay{position:absolute;top:0;left:0;pointer-events:none}.remove-image-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;background:#ef4444e6;color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.remove-image-btn:hover{background:#ef4444;transform:scale(1.1)}.detection-status{margin-bottom:1.5rem}.detecting{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#6b7280;font-weight:500}.detection-result{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-weight:500}.detection-result.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.detection-result.warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.image-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:140px;justify-content:center}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#374151!important;transform:translateY(-1px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.skip-section{text-align:center;padding-top:1rem;border-top:1px solid #e5e7eb}.skip-btn{color:#6b7280;background:none;border:none;font-size:.875rem;cursor:pointer;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease}.skip-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.skip-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.image-upload-container{padding:0 1rem}.upload-dropzone{padding:2rem 1rem}.existing-image-actions,.image-actions{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;max-width:200px}}.dashboard-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f8fafc}.top-nav{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;height:60px;display:flex;align-items:center}.nav-content{max-width:1400px;margin:0 auto;width:100%;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.user-info{display:flex;align-items:center;gap:1rem}.user-greeting{color:#fff;font-size:.95rem;font-weight:500}.dashboard-layout{display:flex;flex:1;max-width:none;margin:0;width:100%;gap:0}.sidebar{width:280px;background:#fff;border-right:1px solid #e5e7eb;padding:1.5rem 0;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto}.sidebar-section{padding:0 1rem}.sidebar-heading{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem .5rem}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;border:none;background:transparent;color:#4b5563;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.sidebar-item:hover{background:#f3f4f6;color:#1f2937}.sidebar-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.sidebar-item svg{flex-shrink:0}.main-content-area{flex:1;padding:2rem;overflow-y:auto;max-height:calc(100vh - 60px)}.component-render-area{max-width:1000px;margin:0 auto}.dashboard{max-width:100%;margin:0;padding:0;background-color:#f8fafc}@keyframes progressBar{0%{transform:translate(-100%)}to{transform:translate(300%)}}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1rem;color:#fff;padding:2rem;margin-bottom:2rem;margin-top:0;box-shadow:0 10px 25px #667eea33}.dashboard-header-content{display:grid;grid-template-columns:1fr 420px;gap:1.5rem;align-items:start;width:100%}.welcome-section h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:1.125rem;margin:0;opacity:.9;font-weight:400}.quick-actions{display:flex;justify-content:center;align-items:center;width:100%}.primary-action,.secondary-action,.tertiary-action{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.75rem .5rem;border-radius:.75rem;text-decoration:none;font-weight:600;font-size:.675rem;transition:all .2s ease;white-space:nowrap;border:none;cursor:pointer;text-align:center;min-height:42px}.primary-action{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.primary-action:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.journey-only-button{max-width:280px;width:100%;padding:1rem 2rem;font-size:1rem;font-weight:700;min-height:56px;border-radius:1rem;background:#ffffff40;border:2px solid rgba(255,255,255,.4);box-shadow:0 4px 15px #00000026}.journey-only-button:hover{background:#ffffff59;transform:translateY(-3px);box-shadow:0 8px 30px #00000040}.journey-only-button .action-icon{font-size:1.25rem}.secondary-action{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.secondary-action:hover{background:#fff3;transform:translateY(-2px)}.tertiary-action{background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tertiary-action:hover{background:#ffffff26;transform:translateY(-2px)}.action-icon{font-size:1rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;padding:0 .5rem}.stat-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px #0000000d;border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;gap:1rem;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.stat-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:1rem;flex-shrink:0;color:#fff}.stat-content h3{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.stat-number{margin:0;font-size:2rem;font-weight:700;color:#1f2937}.dashboard-content{display:grid;grid-template-columns:4fr 1fr;gap:1rem;align-items:start}.main-content{background:#fff;border-radius:1rem;box-shadow:0 4px 6px #0000000d;border:1px solid rgba(0,0,0,.05);overflow:visible}.section-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.25rem;border-bottom:1px solid #e5e7eb}.section-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#1f2937}.view-all-link{color:#667eea;text-decoration:none;font-weight:600;font-size:.875rem;transition:color .2s ease}.view-all-link:hover{color:#764ba2}.storyboard-list-container,.interview-list-container{padding:0 2rem 2rem;overflow:visible}.sidebar-content{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .2s ease}.info-card:hover{transform:translateY(-1px);box-shadow:0 8px 15px #00000014}.info-card h3{margin:0 0 1rem;font-size:1.125rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:.5rem}.card-icon{color:#667eea}.info-card p{margin:0 0 1rem;color:#6b7280;line-height:1.6}.info-card ul{margin:0;padding-left:1.25rem;color:#6b7280}.info-card li{margin-bottom:.5rem;line-height:1.5}.info-card li:last-child{margin-bottom:0}.feature-grid{display:grid;grid-template-columns:1fr;gap:1rem}.feature-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.feature-number{width:24px;height:24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;flex-shrink:0}.feature-card h4{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#1f2937}.feature-card p{margin:0;font-size:.75rem;color:#6b7280;line-height:1.4}.workflow-steps{display:flex;flex-direction:column;gap:.75rem}.workflow-step{padding:.75rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.workflow-step h4{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#1f2937}.workflow-step p{margin:0;font-size:.75rem;color:#6b7280;line-height:1.4}.workflow-arrow{text-align:center;color:#9ca3af;font-size:1rem;margin:.25rem 0}.example-content{display:flex;flex-direction:column;gap:1rem}.example-item{padding:.75rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.example-item h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#1f2937}.example-item p{margin:0 0 .5rem;font-size:.75rem;color:#6b7280;line-height:1.4}.example-item ul{margin:0;padding-left:1rem;font-size:.75rem;color:#6b7280}.example-item li{margin-bottom:.25rem;line-height:1.4}.example-item li:last-child{margin-bottom:0}.activity-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px #0000000d;border:1px solid rgba(0,0,0,.05)}.activity-card h3{margin:0 0 1rem;font-size:1.125rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:.5rem}.activity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.activity-item:last-child{border-bottom:none}.activity-icon{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.activity-content{flex:1}.activity-title{font-size:.875rem;font-weight:600;color:#1f2937;margin:0 0 .25rem}.activity-time{font-size:.75rem;color:#6b7280;margin:0}@media (max-width: 1200px){.dashboard-content{grid-template-columns:1fr}.sidebar-content{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}}@media (max-width: 1300px){.dashboard-header-content{grid-template-columns:1fr 380px;gap:1.25rem}.quick-actions{gap:.5rem}.primary-action,.secondary-action,.tertiary-action{padding:.625rem .5rem;font-size:.625rem;gap:.25rem}}@media (max-width: 1024px){.dashboard-header-content{grid-template-columns:1fr 340px;gap:1rem}.quick-actions{gap:.375rem}.primary-action,.secondary-action,.tertiary-action{padding:.5rem .375rem;font-size:.6rem;min-height:38px;gap:.25rem}.primary-action .action-icon,.secondary-action .action-icon,.tertiary-action .action-icon{width:14px;height:14px}}@media (max-width: 768px){.dashboard-header{padding:1.5rem;margin-top:0}.dashboard-header-content{grid-template-columns:1fr;gap:1.5rem;text-align:center}.welcome-section h1{font-size:2rem}.quick-actions{justify-content:center}.journey-only-button{max-width:320px;font-size:.95rem}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:0 .25rem}.stat-card{padding:1rem}.stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-number{font-size:1.5rem}.main-content,.info-card,.activity-card{border-radius:.75rem}.section-header{padding:1.5rem 1.5rem 1rem}.storyboard-list-container,.interview-list-container{padding:0 1.5rem 1.5rem}.info-card,.activity-card{padding:1rem}.sidebar-content{grid-template-columns:1fr}}@media (max-width: 480px){.dashboard-header{padding:1rem;margin-top:0;margin-bottom:1rem}.welcome-section h1{font-size:1.75rem}.welcome-subtitle{font-size:1rem}.quick-actions{justify-content:center}.journey-only-button{max-width:100%;padding:1rem 1.5rem;font-size:.9rem;min-height:52px}.dashboard-stats{grid-template-columns:1fr;gap:.75rem;padding:0}.section-header{padding:1.25rem 1.25rem .75rem}.storyboard-list-container,.interview-list-container{padding:0 1.25rem 1.25rem}.dashboard-content{gap:1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-container{background:#fff;border-radius:12px;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@media (max-width: 768px){.modal-container{margin:.5rem;max-height:95vh}}.interview-upload{width:100%}.sample-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef;text-align:center}.sample-section p{margin-bottom:.5rem;color:#666}.sample-button{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:background-color .2s}.sample-button:hover{background-color:#5a6268}.format-details{margin-top:2rem;padding:1rem;background-color:#f8f9fa;border-radius:.25rem}.format-details summary{cursor:pointer;color:#007bff;font-weight:500}.format-details pre{margin-top:1rem;padding:1rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;overflow-x:auto;font-size:.875rem}.configuration-panel{background:#fff;padding:1.5rem;border-radius:.5rem;border:1px solid #e9ecef}.config-section{margin-bottom:1.5rem}.config-section h3{margin-bottom:1rem;color:#333;font-size:1.125rem}.config-group{margin-bottom:1rem}.config-group label{display:block;margin-bottom:.25rem;color:#666;font-size:.875rem;font-weight:500}.config-group input,.config-group select,.config-group textarea{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:.25rem;font-size:1rem;font-family:inherit}.config-group textarea{resize:vertical;min-height:60px}.config-group input:focus,.config-group select:focus,.config-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.required{color:#dc3545;font-weight:400}.advanced-toggle{background:none;border:none;color:#007bff;cursor:pointer;font-size:.875rem;padding:.5rem 0;text-decoration:underline}.advanced-toggle:hover{color:#0056b3}.config-section.advanced{padding-top:1rem;border-top:1px solid #e9ecef}.config-summary{margin-top:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:.25rem}.config-summary h4{margin-bottom:.5rem;color:#333;font-size:.875rem}.config-summary ul{margin:0;padding-left:1.5rem}.config-summary li{color:#666;font-size:.875rem;margin-bottom:.25rem}.narrative-config-summary{background:#f8f9fa;padding:1rem;border-radius:4px;font-size:.9rem}.narrative-config-summary p{margin:.5rem 0;color:#555}.narrative-config-summary strong{color:#333}.config-link{display:inline-block;margin-top:.75rem;color:#3498db;text-decoration:none;font-weight:500}.config-link:hover{text-decoration:underline}.config-loaded{color:#27ae60;font-weight:500}.config-default{color:#7f8c8d;font-style:italic}.scene-config-summary{background:#f0f9ff;padding:1rem;border-radius:4px;margin-bottom:1rem;border:1px solid #bae6fd}.scene-config-summary p{margin:.5rem 0;color:#0369a1}.scene-config-summary .config-link{margin-top:.5rem}.help-text{margin-top:.5rem;font-size:.875rem;color:#666}.character-import{width:100%}.upload-area{border:2px dashed #ccc;border-radius:.5rem;padding:3rem;text-align:center;transition:all .2s;cursor:pointer;background-color:#fafafa}.upload-area:hover{border-color:#007bff;background-color:#f0f8ff}.upload-area.drag-active{border-color:#007bff;background-color:#e7f3ff}.upload-icon{width:48px;height:48px;margin:0 auto 1rem;color:#666}.upload-text{margin-bottom:1rem;color:#666}.upload-button{background-color:#007bff;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:.25rem;cursor:pointer;font-size:1rem;transition:background-color .2s}.upload-button:hover{background-color:#0056b3}.upload-info{margin-top:1rem;font-size:.875rem;color:#666}.upload-error{margin-top:1rem;padding:.75rem;background-color:#f8d7da;color:#721c24;border-radius:.25rem;border:1px solid #f5c6cb}.character-loaded{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:.5rem;padding:1.5rem}.loaded-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.loaded-header>div{display:flex;align-items:center;gap:.75rem}.check-icon{width:24px;height:24px;color:#28a745}.loaded-header h3{margin:0;color:#28a745;font-size:1.125rem;font-weight:500}.character-info{display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;align-items:baseline;gap:.75rem;font-size:.9rem;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-label{color:#6c757d;font-weight:600;min-width:120px;flex-shrink:0}.info-value{color:#212529;flex:1;word-wrap:break-word}.replace-button{background-color:#6c757d;color:#fff;border:none;padding:.375rem 1rem;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:background-color .2s}.replace-button:hover{background-color:#5a6268}.journey-review{padding:2rem;max-width:1200px;margin:0 auto}.journey-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.journey-review-header h2{margin:0;color:#333}.journey-metadata{display:flex;gap:1rem;align-items:center}.influence-badge,.goals-count,.analysis-time{padding:.25rem .75rem;border-radius:1rem;font-size:.9rem;background:#f0f0f0}.view-prompt-btn{padding:.25rem .75rem;border-radius:1rem;font-size:.9rem;background:#fff3e0;color:#e65100;border:1px solid #ffcc80;cursor:pointer;transition:all .2s ease}.view-prompt-btn:hover{background:#ffe0b2;border-color:#ffb74d}.influence-badge{background:#e3f2fd;color:#1976d2}.goals-count{background:#e8f5e9;color:#4caf50}.prompt-section{margin:2rem 0;padding:1.5rem;background:#2d2d2d;border:2px solid #444;border-radius:8px}.prompt-section h3{margin-top:0;color:#ff9800;font-size:1.2rem}.prompt-content{margin:1rem 0;padding:1rem;background:#1e1e1e;border:1px solid #444;border-radius:4px;max-height:400px;overflow-y:auto}.prompt-content pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;color:#f0f0f0}.prompt-info{display:flex;gap:2rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #444;font-size:.9rem;color:#b0b0b0}.prompt-info p{margin:0;color:#b0b0b0}.prompt-info strong{color:#f0f0f0}.journey-content{margin-bottom:2rem}.journey-section{margin-bottom:2.5rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.journey-section h3{margin-top:0;margin-bottom:1rem;color:#444;font-size:1.3rem}.summary-text,.destination-text{line-height:1.6;color:#555;font-size:1.05rem}.goals-list{display:flex;flex-direction:column;gap:1rem}.goal-card{padding:1rem;border-left:4px solid #4caf50;background:#f9f9f9;border-radius:4px}.goal-card h4{margin:0 0 .75rem;color:#333}.goal-details{display:flex;flex-direction:column;gap:.5rem}.goal-field{font-size:.95rem;color:#666}.goal-field strong{color:#444;margin-right:.5rem}.goal-field ul{margin:.5rem 0 0 1.5rem;padding:0}.stages-timeline{display:flex;flex-direction:column;gap:1rem;position:relative;padding-left:2rem}.stages-timeline:before{content:"";position:absolute;left:.75rem;top:0;bottom:0;width:2px;background:#e0e0e0}.stage-item{position:relative;padding:1rem;background:#f5f5f5;border-radius:4px}.stage-item:before{content:"";position:absolute;left:-1.5rem;top:1.5rem;width:12px;height:12px;border-radius:50%;background:#1976d2;border:2px solid #fff}.stage-number{font-weight:700;color:#1976d2;margin-bottom:.25rem}.stage-type{font-size:.9rem;color:#666;margin-bottom:.5rem}.stage-description{color:#444;margin-bottom:.5rem}.stage-emotion{font-size:.9rem;color:#777;font-style:italic}.scenes-list{display:flex;flex-direction:column;gap:.75rem}.scene-item{padding:.75rem;border-radius:4px;background:#f9f9f9;display:flex;align-items:flex-start;gap:.75rem}.scene-priority{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700;text-transform:uppercase;flex-shrink:0}.priority-must_have .scene-priority{background:#ffebee;color:#c62828}.priority-should_have .scene-priority{background:#fff3e0;color:#e65100}.priority-nice_to_have .scene-priority{background:#e8f5e9;color:#2e7d32}.scene-description{flex:1;margin:0;color:#555}.scene-action{margin:.5rem 0 0;font-size:.9rem;color:#777;font-style:italic}.quotes-list{display:flex;flex-direction:column;gap:1rem}.powerful-quote{margin:0;padding:1rem;border-left:3px solid #1976d2;background:#f5f5f5;font-style:italic;color:#555;font-size:1.05rem}.journey-actions{display:flex;gap:1rem;align-items:center;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;position:sticky;bottom:1rem}.btn-approve,.btn-reject,.btn-regenerate{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-approve{background:#4caf50;color:#fff}.btn-approve:hover{background:#45a049}.btn-reject{background:#f44336;color:#fff}.btn-reject:hover{background:#da190b}.btn-regenerate{background:#2196f3;color:#fff}.btn-regenerate:hover:not(:disabled){background:#0b7dda}.btn-regenerate:disabled{opacity:.5;cursor:not-allowed}.influence-selector{margin-left:auto;display:flex;align-items:center;gap:.75rem}.influence-selector label{font-size:.9rem;color:#666}.influence-selector select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem}.reject-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.reject-dialog{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026}.reject-dialog h3{margin-top:0;color:#333}.reject-dialog textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;resize:vertical}.dialog-actions{margin-top:1rem;display:flex;gap:.75rem;justify-content:flex-end}.dialog-actions button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer}.dialog-actions button:first-child{background:#f44336;color:#fff}.dialog-actions button:last-child{background:#e0e0e0;color:#333}.generate-page{max-width:800px;margin:0 auto}.generate-page h1{text-align:center;margin-bottom:3rem;color:#1a1a1a}.upload-section,.config-section,.profile-section{background:#f8f9fa;padding:2rem;border-radius:.5rem;margin-bottom:2rem}.upload-section h2,.config-section h2,.profile-section h2{margin-bottom:1.5rem;color:#333}.interview-summary{margin-top:1.5rem;padding:1.5rem;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:.5rem}.interview-summary .loaded-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.interview-summary h3{margin:0;color:#28a745;font-size:1.125rem;font-weight:500}.interview-summary .info-grid{display:flex;flex-direction:column;gap:.75rem}.interview-summary .info-item{display:flex;align-items:baseline;gap:.75rem;font-size:.9rem;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.interview-summary .info-item:last-child{border-bottom:none}.interview-summary .info-label{color:#6c757d;font-weight:600;min-width:100px;flex-shrink:0}.interview-summary .info-value{color:#212529;flex:1}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:.25rem;margin-bottom:1rem;border:1px solid #f5c6cb}.action-section{text-align:center;margin-top:2rem}.generate-button{background-color:#28a745;color:#fff;border:none;padding:1rem 2rem;font-size:1.125rem;border-radius:.5rem;cursor:pointer;font-weight:500;transition:background-color .2s}.generate-button:hover:not(:disabled){background-color:#218838}.generate-button:disabled{background-color:#6c757d;cursor:not-allowed}.profile-summary{padding:1.5rem;background:#fff;border-radius:8px;border:1px solid #dee2e6}.profile-summary h3{margin-bottom:1rem;color:#28a745}.profile-summary p{margin-bottom:.5rem;color:#495057}.profile-summary strong{color:#343a40}.edit-profile-btn{margin-top:1rem;padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.edit-profile-btn:hover{background:#5a6268}.prompt-details-toggle{background:#4a5568;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;margin-top:10px;transition:background .2s}.prompt-details-toggle:hover{background:#2d3748}.prompt-details-viewer{background:#1a202c;border:1px solid #2d3748;border-radius:8px;margin-top:20px;overflow:hidden}.prompt-details-header{background:#2d3748;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #4a5568}.prompt-details-header h3{margin:0;color:#e2e8f0;font-size:18px}.close-button{background:transparent;border:none;color:#a0aec0;font-size:20px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background:#4a5568;color:#fff}.prompt-section{padding:20px;border-bottom:1px solid #2d3748}.prompt-section:last-child{border-bottom:none}.prompt-section h4{color:#63b3ed;margin:0 0 15px;font-size:16px}.subsection{margin-bottom:20px}.subsection:last-child{margin-bottom:0}.subsection h5{color:#a0aec0;margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.prompt-content{background:#2d3748;padding:15px;border-radius:4px}.prompt-field{margin-bottom:15px}.prompt-field:last-child{margin-bottom:0}.prompt-field strong{color:#e2e8f0;display:block;margin-bottom:5px}pre{margin:0;padding:10px;background:#1a202c;border-radius:4px;color:#e2e8f0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto}.system-prompt{background:#2b2d42;border-left:3px solid #8b5cf6;color:#c9d1d9}.generated-prompt{background:#1e3a29;border-left:3px solid #10b981;color:#c9d1d9}.negative-prompt{background:#3a1e1e;border-left:3px solid #ef4444;color:#c9d1d9}.technical-specs{background:#1e2a3a;border-left:3px solid #3b82f6;color:#c9d1d9}.api-payload{background:#3a2e1e;border-left:3px solid #f59e0b;color:#c9d1d9;max-height:400px;overflow-y:auto}.api-payload::-webkit-scrollbar,pre::-webkit-scrollbar{width:8px;height:8px}.api-payload::-webkit-scrollbar-track,pre::-webkit-scrollbar-track{background:#1a202c}.api-payload::-webkit-scrollbar-thumb,pre::-webkit-scrollbar-thumb{background:#4a5568;border-radius:4px}.api-payload::-webkit-scrollbar-thumb:hover,pre::-webkit-scrollbar-thumb:hover{background:#718096}.scene-viewer{background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 2px 4px #0000001a}.scene-navigation{display:flex;overflow-x:auto;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1rem;gap:.5rem}.scene-nav-button{flex-shrink:0;background:#fff;border:2px solid #e9ecef;border-radius:.5rem;padding:.75rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;min-width:80px}.scene-nav-button:hover{background-color:#f8f9fa;transform:translateY(-2px)}.scene-nav-button.active{background-color:#007bff;color:#fff;border-color:#007bff}.scene-number{font-weight:700;font-size:1.125rem}.scene-duration{font-size:.75rem;opacity:.8}.scene-content{padding:2rem}.scene-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.scene-header h3{margin:0;color:#1a1a1a}.scene-badges{display:flex;gap:.5rem}.scene-type-badge,.emotional-tone-badge,.duration-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.scene-type-badge{background-color:#e9ecef;color:#495057}.emotional-tone-badge{color:#fff}.duration-badge{background-color:#6c757d;color:#fff}.scene-details{display:flex;flex-direction:column;gap:1.5rem}.detail-section h4{margin-bottom:.5rem;color:#007bff;font-size:1rem}.detail-section p{margin:0;color:#666;line-height:1.6}.narrator-script{font-style:italic;font-size:1.125rem;color:#333;background-color:#f8f9fa;padding:1rem;border-radius:.25rem;border-left:4px solid #007bff}.theme-tags{display:flex;flex-wrap:wrap;gap:.5rem}.theme-tag{background-color:#e7f3ff;color:#007bff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem}.video-prompt{background-color:#f0f8ff;padding:1rem;border-radius:.25rem;border:1px solid #bee5eb;font-family:monospace;font-size:.875rem}.tech-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;background-color:#f8f9fa;padding:1rem;border-radius:.25rem}.spec-item{display:flex;justify-content:space-between}.spec-label{font-weight:500;color:#495057}.continuity-notes,.thumbnail-prompt{background-color:#fff8dc;padding:.75rem;border-radius:.25rem;border:1px solid #ffeaa7;font-size:.875rem}.section-header-with-button{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.toggle-button{background-color:#007bff;color:#fff;border:none;padding:.375rem .75rem;border-radius:.25rem;font-size:.875rem;cursor:pointer;transition:background-color .2s}.toggle-button:hover{background-color:#0056b3}.prompt-container{margin-top:.5rem}.scene-prompt{background-color:#f0f8ff;border:1px solid #bee5eb;border-radius:.25rem;padding:1rem;font-family:monospace;font-size:.875rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;color:#333;max-height:400px;overflow-y:auto}.scene-image-container{margin-top:1rem;text-align:center}.scene-image{max-width:100%;height:auto;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;margin-bottom:.5rem}.image-timestamp{font-size:.875rem;color:#6c757d;margin-top:.5rem}.image-prompt{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:.25rem;padding:1rem;font-size:.875rem;line-height:1.5;color:#495057;margin-top:.5rem}.generate-image-button{margin-top:1rem;padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.generate-image-button:hover:not(:disabled){background-color:#218838}.generate-image-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.generate-image-button.secondary{background-color:#6c757d}.generate-image-button.secondary:hover:not(:disabled){background-color:#5a6268}.generate-image-button.regenerate{background-color:#17a2b8;margin-top:.5rem}.generate-image-button.regenerate:hover:not(:disabled){background-color:#138496}.generation-section{margin-top:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:.5rem;border:1px solid #e9ecef}.section-title{margin:0 0 1rem;color:#333;font-size:1.25rem;font-weight:600}.prompt-status{margin-bottom:1rem;color:#666;font-style:italic}.prompt-details{margin-top:1rem;padding:1rem;background-color:#fff;border-radius:.25rem;border:1px solid #dee2e6}.prompt-details summary{cursor:pointer;font-weight:500;color:#007bff;-webkit-user-select:none;user-select:none}.prompt-details summary:hover{color:#0056b3}.generation-details{margin-top:2rem;padding:1rem;background-color:#f0f8ff;border-radius:.25rem;border:1px solid #bee5eb}.generation-details summary{cursor:pointer;font-weight:500;color:#6c757d;-webkit-user-select:none;user-select:none}.generate-video-button{background-color:#e83e8c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.25rem;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s;display:inline-flex;align-items:center;gap:.5rem}.generate-video-button:hover:not(:disabled){background-color:#d91a72}.generate-video-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.video-generation-controls{margin:1rem 0;padding:1rem;background:#fff;border-radius:.5rem;border:1px solid #dee2e6}.video-generation-info{margin:.5rem 0 0;font-size:.875rem;color:#6c757d;font-style:italic}.scene-video-container{margin:1.5rem 0;text-align:center}.scene-video{border-radius:.5rem;box-shadow:0 4px 8px #0000001a;max-width:100%;height:auto}.video-timestamp{font-size:.875rem;color:#6c757d;margin-top:.5rem}.video-pending-status{padding:1.5rem;background-color:#fff3cd;border:1px solid #ffeeba;border-radius:.5rem;text-align:center}.video-pending-status p:first-child{font-size:1.125rem;font-weight:600;color:#856404;margin-bottom:1rem}.generate-narration-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:#fff;background-color:#9b59b6;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.generate-narration-button:hover:not(:disabled){background-color:#8e44ad;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.generate-narration-button:disabled{opacity:.6;cursor:not-allowed}.generate-narration-button.regenerate{background-color:#6c757d;font-size:.875rem;padding:.5rem 1rem}.generate-narration-button.regenerate:hover:not(:disabled){background-color:#5a6268}.narration-generation-controls{margin:1.5rem 0}.narration-generation-info{font-size:.875rem;color:#6c757d;margin-top:.5rem}.narration-pending-status{padding:1.5rem;background-color:#e7d4f4;border:1px solid #d6a3e8;border-radius:.5rem;text-align:center}.narration-pending-status p:first-child{font-size:1.125rem;font-weight:600;color:#6f42c1;margin-bottom:1rem}.scene-audio-container{margin:1.5rem 0}.scene-audio{margin-bottom:1rem}.audio-info{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:#6c757d}.audio-duration{font-weight:500}.merge-audio-video-button,.regenerate-merge-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:#fff;background-color:#e74c3c;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.merge-audio-video-button:hover:not(:disabled){background-color:#c0392b;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.merge-audio-video-button:disabled{opacity:.6;cursor:not-allowed}.regenerate-merge-button{background-color:#95a5a6;font-size:.875rem;padding:.5rem 1rem;margin-top:.5rem}.regenerate-merge-button:hover:not(:disabled){background-color:#7f8c8d}.merge-controls{margin:1.5rem 0}.merge-info{font-size:.875rem;color:#6c757d;margin-top:.5rem}.merged-video-container{margin:1.5rem 0}.merged-video-container h4{color:#27ae60;margin-bottom:1rem}.scene-video.merged-video{border:2px solid #27ae60;border-radius:.5rem}.merge-timestamp{font-size:.875rem;color:#6c757d;margin-top:.5rem}.audio-timestamp{color:#6c757d;font-size:.75rem}@media (max-width: 768px){.scene-header{flex-direction:column;align-items:flex-start;gap:1rem}.scene-badges{flex-wrap:wrap}}.narrative-viewer{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 2px 4px #0000001a}.narrative-stats{display:flex;gap:2rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.stat-item{color:#666;font-size:.875rem}.stat-item strong{color:#333;font-weight:600}.narrative-content{margin-bottom:1.5rem;max-height:300px;overflow:hidden;position:relative;transition:max-height .3s ease}.narrative-content.expanded{max-height:none}.narrative-content:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(to bottom,transparent,white);pointer-events:none;opacity:1;transition:opacity .3s}.narrative-content.expanded:after{opacity:0}.narrative-paragraph{margin-bottom:1rem;line-height:1.8;color:#333;font-size:1.0625rem}.narrative-paragraph:last-child{margin-bottom:0}.narrative-toggle{background:none;border:none;color:#007bff;cursor:pointer;font-size:1rem;padding:.5rem 0;margin-bottom:1rem;text-decoration:underline}.narrative-toggle:hover{color:#0056b3}.narrative-actions{display:flex;gap:1rem}.copy-button{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:background-color .2s}.copy-button:hover{background-color:#5a6268}.storyboard-download{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.download-button{display:inline-flex;align-items:center;gap:.5rem;background-color:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;min-width:180px;justify-content:center}.download-button:hover{background-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.download-button.primary{background-color:#3b82f6}.download-button.primary:hover{background-color:#2563eb}.download-icon{width:18px;height:18px;stroke-width:2;flex-shrink:0}.results-page .arc-card{max-width:800px;margin:0 auto 2rem}.prompts-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.prompts-viewer-modal{background:#fff;border-radius:8px;width:90%;max-width:1200px;height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.prompts-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.prompts-header h2{margin:0;color:#333}.prompts-content{display:flex;flex:1;overflow:hidden}.stages-sidebar{width:300px;border-right:1px solid #e0e0e0;padding:1.5rem;overflow-y:auto}.stages-sidebar h3{margin:0 0 1rem;color:#333;font-size:1.1rem}.stages-list{display:flex;flex-direction:column;gap:.5rem}.stage-button{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:1rem;text-align:left;cursor:pointer;transition:all .2s}.stage-button:hover{border-color:#3498db;background:#f8f9fa}.stage-button.active{border-color:#3498db;background:#e3f2fd}.stage-name{font-weight:500;color:#333;margin-bottom:.5rem}.stage-meta{display:flex;gap:.5rem;align-items:center;margin-bottom:.25rem}.status-badge{font-size:.75rem;padding:.2rem .5rem;border-radius:3px;font-weight:500}.status-badge.completed{background:#d4edda;color:#155724}.status-badge.in_progress{background:#fff3cd;color:#856404}.status-badge.failed{background:#f8d7da;color:#721c24}.status-badge.pending{background:#e2e3e5;color:#383d41}.model-badge{font-size:.75rem;padding:.2rem .5rem;border-radius:3px;background:#e9ecef;color:#495057}.token-info{font-size:.8rem;color:#666}.prompt-details{flex:1;padding:1.5rem;overflow-y:auto}.prompt-details h3{margin:0 0 1rem;color:#333}.stage-info{background:#f8f9fa;border-radius:4px;padding:1rem;margin-bottom:1.5rem}.info-row{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.info-row:last-child{margin-bottom:0}.info-label{font-weight:500;color:#666;min-width:120px}.prompt-content{margin-top:1.5rem}.prompt-content h4{margin:0 0 1rem;color:#333}.prompt-text{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;padding:1rem;overflow-x:auto;font-family:Consolas,Monaco,monospace;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.no-prompt{text-align:center;padding:3rem;color:#666}.no-prompt .hint{color:#999;font-size:.9rem;margin-top:.5rem}.error-section{margin-top:1.5rem;padding:1rem;background:#f8d7da;border-radius:4px}.error-section h4{margin:0 0 .5rem;color:#721c24}.error-text{background:#fff;border:1px solid #f5c6cb;border-radius:4px;padding:.5rem;font-family:monospace;font-size:.85rem;color:#721c24;white-space:pre-wrap}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#666;text-align:center}body,html{overflow-x:hidden;max-width:100vw;width:100%;position:relative}*{max-width:100%}img,video{max-width:100%;height:auto}.results-page{max-width:100%;width:100%;margin:0;overflow-x:hidden;box-sizing:border-box;position:relative;padding:0;min-height:auto}.results-page *{box-sizing:border-box;max-width:100%}.results-page img,.results-page video{max-width:100%;height:auto}.results-loading{text-align:center;padding:4rem}.loader{display:inline-block;width:50px;height:50px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.results-error{text-align:center;padding:4rem}.results-error h2{color:#dc3545;margin-bottom:1rem}.back-link{display:inline-block;margin-top:1rem;color:#007bff;text-decoration:none}.back-link:hover{text-decoration:underline}.results-header{text-align:center;margin-bottom:1.5rem;padding:1rem 1rem 1.5rem;border-bottom:1px solid #e9ecef;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.results-header h1{margin-bottom:.5rem;color:#1a1a1a;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.results-meta{color:#666;font-size:.875rem}.results-meta span{margin:0 .5rem}.results-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}.actions-row{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;width:100%;max-width:100%;box-sizing:border-box}.action-button{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.75rem;border-radius:6px;text-decoration:none;font-weight:500;font-size:1rem;transition:all .2s;border:none;cursor:pointer;min-width:200px;max-width:100%;box-sizing:border-box;word-wrap:break-word}.new-button{background-color:#6366f1;color:#fff}.regenerate-button{background-color:#10b981;color:#fff}.new-button:hover{background-color:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.regenerate-button:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.results-content{padding:0 1rem 2rem;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.results-section{margin-bottom:1.5rem;padding:1.5rem;background-color:#f8f9fa;border-radius:.5rem;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.results-section h2{margin-bottom:1.5rem;color:#333}.character-profile h3{color:#007bff;margin-bottom:.5rem;font-size:1.125rem}.character-profile p{margin-bottom:1rem;color:#666;line-height:1.6}.character-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.character-details h4{color:#333;margin-bottom:.5rem;font-size:1rem}.video-duration-info{background:#f0f9ff;border:1px solid #3498db;border-radius:4px;padding:1rem;margin-bottom:1.5rem;font-size:1.1rem;color:#2c3e50}.video-duration-info strong{color:#3498db;margin-right:.5rem}.story-elements{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.element-group h3{color:#007bff;margin-bottom:.5rem;font-size:1.125rem}.element-group ul{list-style-position:inside;color:#666}.element-group li{margin-bottom:.5rem;line-height:1.5}.actions-row.image-row{justify-content:center;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e0e0e0}.action-button.image-button{background-color:#6c757d;color:#fff}.action-button.image-button:hover:not(:disabled){background-color:#5a6268;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.action-button.image-button.primary{background-color:#17a2b8}.action-button.image-button.primary:hover:not(:disabled){background-color:#138496;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.action-button.narration-button{background-color:#9b59b6;color:#fff}.action-button.narration-button:hover:not(:disabled){background-color:#8e44ad;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.action-button.narration-button.primary{background-color:#8e44ad}.action-button.narration-button.primary:hover:not(:disabled){background-color:#7a3a9a;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.action-button.merge-button{background-color:#e74c3c;color:#fff}.action-button.merge-button:hover:not(:disabled){background-color:#c0392b;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.action-button.merge-button.primary{background-color:#c0392b}.action-button.merge-button.primary:hover:not(:disabled){background-color:#a93226;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.action-button:disabled{opacity:.6;cursor:not-allowed}.generation-status{text-align:center;padding:.75rem;margin:.5rem auto;max-width:600px;background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:.25rem;font-size:.875rem}.pipeline-status-container{padding:1rem;background-color:#f0f9ff;border-radius:8px;margin:0 1rem 1rem;border:2px solid #0284c7;width:calc(100% - 2rem);max-width:100%;box-sizing:border-box}.pipeline-status-title{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#0c4a6e}.pipeline-status-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;width:100%;overflow-x:auto}.pipeline-status-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.pipeline-status-grid::-webkit-scrollbar{display:none}.pipeline-stage{text-align:center}.pipeline-stage-name{font-size:.8rem;font-weight:500;margin-bottom:.25rem}.pipeline-stage-count{padding:.25rem;border-radius:4px;font-size:.9rem;font-weight:600}.pipeline-stage-count.completed{background-color:#10b981;color:#fff}.pipeline-stage-count.incomplete{background-color:#e5e7eb;color:#374151}.admin-approval-container{margin-top:1rem;padding:1rem;background-color:#fef2f2;border-radius:8px;border:2px solid #dc2626;text-align:center}.admin-approval-icon{font-size:1.5rem;margin-bottom:.5rem}.admin-approval-title{color:#991b1b;font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.admin-approval-message{color:#7f1d1d;font-size:.95rem;margin:.5rem 0}.admin-approval-status{margin-top:1rem;padding:.75rem;background-color:#fff;border-radius:6px}.admin-approval-status strong{color:#991b1b}.results-page table,.results-page pre,.results-page code{max-width:100%;overflow-x:auto;word-wrap:break-word}.results-page>*{max-width:100%;overflow-x:hidden}.results-page [style*="position: fixed"]{max-width:calc(100vw - 2rem)}@media (max-width: 1023px){.pipeline-status-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.results-page{padding:0;max-width:100%;width:100%}.results-content{padding:0 .75rem 1.5rem}.pipeline-status-container{margin:0 .75rem 1rem;width:calc(100% - 1.5rem)}.action-button{min-width:150px;padding:.75rem 1.25rem;font-size:.9rem}.results-header,.results-content{padding:0 .5rem}}@media (max-width: 768px){.pipeline-status-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.results-page{padding:0;margin:0;width:100%;max-width:100vw}.results-header{padding:.75rem;margin-bottom:1rem}.results-content{padding:0 .75rem 1.5rem}.results-header h1{font-size:1.5rem}.results-meta{font-size:.75rem;display:flex;flex-direction:column;gap:.25rem}.results-meta span{margin:0}.pipeline-status-container{padding:.75rem;margin:0 .75rem 1rem;width:calc(100% - 1.5rem)}.pipeline-status-title{font-size:1rem}.pipeline-stage-name{font-size:.7rem;word-break:break-word}.pipeline-stage-count{font-size:.8rem}.action-button{min-width:unset;padding:.625rem 1rem;font-size:.875rem}.results-section{padding:1rem;margin:0 .75rem 1rem;width:calc(100% - 1.5rem);max-width:calc(100% - 1.5rem)}.results-content{padding:0}.actions-row{gap:.5rem}.character-details,.story-elements{grid-template-columns:1fr}.admin-approval-container{padding:.75rem;margin:1rem .5rem}.admin-approval-icon{font-size:1.2rem}.admin-approval-title{font-size:.95rem}.admin-approval-message{font-size:.85rem}}@media (max-width: 480px){.pipeline-status-grid{grid-template-columns:1fr;gap:.5rem}.pipeline-stage{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:#fff;border-radius:6px}.pipeline-stage-name{margin-bottom:0;text-align:left;font-size:.85rem;word-break:break-word;flex:1;min-width:0}.pipeline-stage-count{min-width:50px;text-align:center;flex-shrink:0}.results-page{padding:0 .5rem;margin:0;max-width:100vw;width:100%;overflow-x:hidden}.results-header{padding:0 .5rem}.results-header h1{font-size:1.25rem;word-wrap:break-word}.results-meta{font-size:.7rem}.pipeline-status-container{margin:0 .5rem 1rem;padding:.5rem}.pipeline-status-title{font-size:.9rem}.action-button{width:100%;min-width:unset}.actions-row{flex-direction:column;width:100%}.results-section{padding:1rem .75rem;margin:0 .5rem 1rem;width:calc(100% - 1rem);max-width:calc(100% - 1rem)}.results-section h2{font-size:1.1rem}.results-content{padding:0}.video-duration-info{padding:.75rem;font-size:.95rem}.admin-approval-container{padding:.75rem;margin:1rem .5rem;width:calc(100% - 1rem);max-width:calc(100% - 1rem);box-sizing:border-box}.admin-approval-icon{font-size:1rem}.admin-approval-title{font-size:.85rem}.admin-approval-message{font-size:.75rem}.admin-approval-status{padding:.5rem}}@media (max-width: 360px){.results-page{padding:0 .5rem}.pipeline-status-container{padding:.5rem;margin:0 .25rem 1rem}.results-header h1{font-size:1.1rem}.action-button{min-width:unset;width:100%;padding:.625rem .75rem;font-size:.8rem}.results-section{padding:1rem .5rem;margin:0 .25rem 1rem}}.story-arc-manager{max-width:1400px;margin:0 auto;padding:2rem}.arc-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.arc-manager-header h2{color:#333;font-size:1.8rem;margin:0}.arc-manager-header .arc-actions{display:flex;gap:1rem}.arc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.arc-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .2s}.arc-card:hover{border-color:#3498db;box-shadow:0 4px 12px #0000001a}.arc-card.selected{border-color:#27ae60;background:#f0f9f4}.arc-header{margin-bottom:1rem}.arc-header h3{color:#333;margin:0 0 .5rem;font-size:1.3rem}.arc-meta{color:#666;font-size:.875rem}.arc-description{color:#555;margin-bottom:1.5rem;font-size:.95rem;line-height:1.4}.arc-segments{margin-bottom:1.5rem}.segment-preview{margin-bottom:.75rem}.arc-card .arc-actions{display:flex;gap:.5rem;flex-wrap:wrap}.arc-card .arc-actions button{padding:.4rem .8rem;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-select{background:#27ae60;color:#fff}.btn-select:hover{background:#219a52}.btn-edit{background:#3498db;color:#fff}.btn-edit:hover{background:#2980b9}.btn-duplicate{background:#9b59b6;color:#fff}.btn-duplicate:hover{background:#8e44ad}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover{background:#c0392b}.arc-editor{background:#fff;border:2px solid #3498db;border-radius:8px;padding:2rem;max-width:800px;margin:0 auto}.arc-editor h3{color:#333;margin-bottom:1.5rem}.editor-field{margin-bottom:1.5rem}.editor-field label{display:block;color:#555;font-weight:500;margin-bottom:.5rem}.editor-field input,.editor-field textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem}.segments-editor{margin-bottom:2rem}.segments-editor h4{color:#333;margin-bottom:1rem}.total-percentage{margin-bottom:1rem;font-weight:700;color:#333}.total-percentage .warning{color:#e74c3c;font-weight:400}.segment-editor{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.75rem;background:#f8f9fa;border-radius:4px}.segment-editor .segment-name{width:150px}.segment-editor .segment-percentage{width:60px}.segment-editor .segment-description{flex:1}.segment-editor input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.add-segment-btn{background:#3498db;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background .2s;margin-top:.5rem}.editor-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.btn-save{background:#27ae60;color:#fff;padding:.75rem 2rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-save:hover{background:#219a52}.btn-cancel{background:#95a5a6;color:#fff;padding:.75rem 2rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:#7f8c8d}.btn-primary{background:#3498db;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#95a5a6;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#7f8c8d}.narrative-prompt-editor{max-width:1200px;margin:0 auto;padding:2rem;background:#f8f9fa;border-radius:8px}.narrative-prompt-editor h2{color:#333;margin-bottom:2rem;font-size:1.8rem}.config-section textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;resize:vertical}.config-section label{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}.config-section input[type=number]{width:80px;padding:.5rem;border:1px solid #ddd;border-radius:4px}.arc-total{margin-bottom:1rem;font-weight:700;color:#333}.arc-total .warning{color:#e74c3c;font-weight:400}.arc-segment{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem;background:#f8f9fa;border-radius:4px}.segment-name{width:150px;padding:.5rem;border:1px solid #ddd;border-radius:4px}.segment-percentage{width:60px;padding:.5rem;border:1px solid #ddd;border-radius:4px}.segment-description{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px}.remove-btn{background:#e74c3c;color:#fff;border:none;border-radius:4px;width:30px;height:30px;font-size:1.2rem;cursor:pointer;transition:background .2s}.remove-btn:hover{background:#c0392b}.add-segment-btn{background:#3498db;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background .2s}.add-segment-btn:hover{background:#2980b9}.config-section input[type=checkbox]{width:auto;margin-right:.5rem}.prompt-preview{background:#1a252f;padding:1rem;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.length-presets{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.length-presets h4{color:#666;font-size:.9rem;margin-bottom:.75rem}.length-presets button{margin-right:.5rem;margin-bottom:.5rem;padding:.5rem 1rem;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.length-presets button:hover{background:#e0e0e0;border-color:#ccc}.length-presets button:active{background:#d0d0d0}.arc-selector{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:4px}.current-arc{display:flex;flex-direction:column;gap:.25rem}.current-arc strong{color:#2c3e50}.arc-summary{color:#666;font-size:.875rem}.manage-arcs-btn{background:#3498db;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background .2s}.manage-arcs-btn:hover{background:#2980b9}.arc-preview h4{color:#555;font-size:.9rem;margin-bottom:1rem}.arc-segment-preview{margin-bottom:.75rem}.segment-info{margin-bottom:.25rem;color:#333;font-size:.9rem}.segment-info strong{color:#2c3e50}.segment-bar{height:8px;background:linear-gradient(to right,#3498db,#2980b9);border-radius:4px;transition:width .3s ease}.arc-manager-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;overflow-y:auto;padding:2rem}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:1200px;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{margin:0;color:#333}.close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-btn:hover{background:#f0f0f0}.prompt-config-page{min-height:100vh;background-color:#f5f5f5;padding:2rem 0}.page-header{text-align:center;margin-bottom:3rem;padding:0 1rem}.page-header h1{color:#333;font-size:2.5rem;margin-bottom:.5rem}.page-header p{color:#666;font-size:1.125rem}.additional-notes{max-width:1200px;margin:3rem auto 2rem;padding:2rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.additional-notes h3{color:#333;margin-bottom:1rem}.additional-notes li:before{content:"•";position:absolute;left:0;color:#3498db;font-weight:700;font-size:1.2rem}.scene-config-editor{max-width:1200px;margin:0 auto;padding:2rem;background:#f8f9fa;border-radius:8px}.scene-config-editor h2{color:#333;margin-bottom:2rem;font-size:1.8rem}.config-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.config-section h3{color:#555;margin-bottom:1rem;font-size:1.2rem}.section-description{color:#666;font-size:.9rem;margin-bottom:1rem}.duration-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.duration-controls label{display:flex;flex-direction:column;gap:.5rem}.duration-controls input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.help-text{color:#666;font-size:.875rem;margin-left:.5rem}.duration-presets{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.duration-presets h4{color:#666;font-size:.9rem;margin-bottom:.75rem}.duration-presets button{margin-right:.5rem;margin-bottom:.5rem;padding:.5rem 1rem;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.duration-presets button:hover{background:#e0e0e0;border-color:#ccc}.scene-type-config{margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:4px;border:1px solid #e0e0e0}.scene-type-header{margin-bottom:.75rem}.scene-type-header label{display:flex;align-items:center;gap:.5rem;font-size:1rem}.scene-type-header input[type=checkbox]{width:auto;margin:0}.scene-type-controls{display:flex;gap:1rem;align-items:center;margin-left:1.5rem}.scene-type-controls label{display:flex;align-items:center;gap:.5rem}.scene-type-controls input{width:60px;padding:.25rem;border:1px solid #ddd;border-radius:4px}.estimate{color:#3498db;font-size:.875rem;font-weight:500;margin-left:auto}.config-section select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;margin-top:.5rem}.config-section label{display:block;margin-bottom:.75rem}.config-section input[type=checkbox]{margin-right:.5rem}.preview-section{background:#2c3e50;color:#ecf0f1;border-radius:8px;padding:1.5rem;margin-top:2rem}.preview-section h3{color:#ecf0f1;margin-bottom:1rem}.preview-stats{background:#1a252f;padding:1rem;border-radius:4px;font-size:.9rem;line-height:1.6}.preview-stats p{margin-bottom:.5rem}.scene-distribution{margin-top:1rem;padding-top:1rem;border-top:1px solid #34495e}.scene-distribution h4{color:#ecf0f1;font-size:.9rem;margin-bottom:.5rem}.scene-distribution div{margin-bottom:.25rem;text-transform:capitalize}.config-actions{display:flex;gap:1rem;margin:2rem 0}.config-actions button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.save-btn{background:#27ae60;color:#fff}.save-btn:hover{background:#219a52}.load-btn{background:#3498db;color:#fff}.load-btn:hover{background:#2980b9}.reset-btn{background:#95a5a6;color:#fff}.reset-btn:hover{background:#7f8c8d}.saved-configs-select{padding:.75rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background:#fff;cursor:pointer;min-width:200px}.saved-configs-select:focus{outline:none;border-color:#3498db}.prompt-preview-section{background:#2c3e50;color:#ecf0f1;border-radius:8px;padding:1.5rem;margin-top:2rem}.prompt-preview-section h3{color:#ecf0f1;margin-bottom:.5rem;font-size:1.2rem}.preview-description{color:#bdc3c7;font-size:.9rem;margin-bottom:1rem}.prompt-preview{background:#1a252f;padding:1.5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;border:1px solid #34495e;max-height:600px;overflow-y:auto}.prompt-preview::-webkit-scrollbar{width:8px}.prompt-preview::-webkit-scrollbar-track{background:#1a252f}.prompt-preview::-webkit-scrollbar-thumb{background:#34495e;border-radius:4px}.prompt-preview::-webkit-scrollbar-thumb:hover{background:#4e5f70}.scene-config-page{max-width:1400px;margin:0 auto;padding:2rem}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.page-header p{color:#7f8c8d;font-size:1.125rem}.additional-notes{margin-top:3rem;padding:2rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.additional-notes h3{color:#2c3e50;margin-bottom:1rem}.additional-notes ul{list-style:none;padding:0}.additional-notes li{margin-bottom:1rem;padding-left:1.5rem;position:relative}.additional-notes li:before{content:"→";position:absolute;left:0;color:#3498db;font-weight:700}.additional-notes strong{color:#2c3e50}.chat-interview{display:flex;flex-direction:column;height:100vh;max-height:800px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.loading-state,.error-state,.empty-state{display:flex;align-items:center;justify-content:center;height:100%;background:#fff}.loading-content,.error-content,.empty-content{text-align:center;padding:2rem;max-width:400px}.spinner{animation:spin 1s linear infinite;color:#667eea;margin-bottom:1rem}.error-icon,.empty-icon{color:#6b7280;margin-bottom:1rem}.loading-content h3,.error-content h3,.empty-content h3{margin:0 0 .5rem;color:#1f2937;font-size:1.25rem;font-weight:600}.loading-content p,.error-content p,.empty-content p{margin:0 0 1.5rem;color:#6b7280;font-size:.875rem;line-height:1.5}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;position:sticky;top:0;z-index:10}.chat-header-content{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.bot-icon{background:#fff3;padding:.5rem;border-radius:50%}.chat-header h3{margin:0;font-size:1.25rem;font-weight:600}.chat-header p{margin:0;opacity:.9;font-size:.875rem}.progress-bar{background:#fff3;height:4px;border-radius:2px;overflow:hidden}.progress-fill{background:#fffc;height:100%;border-radius:2px;transition:width .3s ease}.chat-messages{flex:1;padding:2rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;background:#f8fafc}.message{display:flex;gap:.75rem;max-width:90%}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.message.bot .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2)}.message.user .message-avatar{background:linear-gradient(135deg,#4facfe,#00f2fe)}.message-content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.message.user .message-content{align-items:flex-end}.message.user.editing .message-content{align-items:stretch}.message-bubble{padding:1rem 1.25rem;border-radius:18px;line-height:1.5;word-wrap:break-word;position:relative;min-width:200px;max-width:100%}.message.bot .message-bubble{background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.message.user .message-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message-bubble p{margin:0}.message-bubble p+p{margin-top:.5rem}.question-header{font-weight:600;font-size:.875rem;color:#667eea;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0;text-transform:none;letter-spacing:.01em}.message-bubble strong{font-weight:600;color:#4a5568}.message.user .message-bubble strong{color:#ffffffe6}.message-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;gap:.5rem}.message-time{font-size:.75rem;color:#a0aec0}.edit-message-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;color:#64748b;background:transparent;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s ease;opacity:0;transform:translateY(2px);white-space:nowrap;flex-shrink:0}.message.user:hover .edit-message-btn{opacity:1;transform:translateY(0)}.edit-message-btn:hover{color:#667eea;border-color:#667eea;background:#667eea0d;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.edit-message-btn span{font-weight:500}.edit-message-btn:disabled{opacity:.7;cursor:not-allowed}.edit-message-btn.pending{color:#94a3b8;border-color:#cbd5e1;cursor:not-allowed}.edit-message-btn.pending:hover{color:#94a3b8;border-color:#cbd5e1;background:transparent;transform:none;box-shadow:none}.pending-indicator{display:inline-flex;align-items:center;margin-left:.25rem}.pending-dot{width:6px;height:6px;background:#f59e0b;border-radius:50%;animation:pendingPulse 1.5s ease-in-out infinite}@keyframes pendingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.message-edit-container{padding:1rem 1.25rem;border-radius:18px;line-height:1.5;word-wrap:break-word;position:relative;box-shadow:0 2px 8px #0000000d;background:#fff;border:2px solid #667eea;display:flex;flex-direction:column;gap:.75rem;width:100%}.message-edit-input{width:100%;min-height:60px;max-height:350px;border:none;padding:0;margin:0;font-size:.9375rem;font-family:inherit;line-height:1.5;resize:none;background:transparent;color:inherit;outline:none;overflow-y:auto;box-sizing:border-box}.message-edit-container:focus-within{border-color:#764ba2;box-shadow:0 0 0 3px #667eea1a}.message-edit-input:disabled{opacity:.6;cursor:not-allowed}.message-edit-container:has(.message-edit-input:disabled){opacity:.6;cursor:not-allowed}.message-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.edit-action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.edit-action-btn.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.edit-action-btn.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#5e3a8f);transform:translateY(-1px);box-shadow:0 4px 6px -1px #667eea4d}.edit-action-btn.save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.edit-action-btn.cancel-btn{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.edit-action-btn.cancel-btn:hover:not(:disabled){background:#e2e8f0;color:#475569}.edit-action-btn.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.message.editing{background:#667eea05;border-radius:12px;padding:.5rem;margin:.25rem 0}.spinning{animation:spin 1s linear infinite}.typing{background:#fff!important;border:1px solid #e2e8f0!important;padding:1rem 1.25rem!important}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#cbd5e0;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.chat-input-area{padding:1.5rem 2rem;background:#fff;border-top:1px solid #e2e8f0}.input-container{display:flex;flex-direction:column}.input-wrapper{display:flex;gap:.75rem;align-items:flex-end;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:.75rem;transition:all .2s ease}.input-wrapper:focus-within{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.chat-input{flex:1;min-height:24px;max-height:120px;padding:0;border:none;background:transparent;font-size:1rem;line-height:1.5;resize:none;font-family:inherit;outline:none}.chat-input:disabled{opacity:.6;cursor:not-allowed;color:#94a3b8}.chat-input:focus{outline:none;box-shadow:none;border-color:transparent}.chat-input::placeholder{color:#a0aec0}.send-button{width:36px;height:36px;border:none;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.send-button svg{color:#fff;stroke:#fff;display:block;transform:rotate(45deg);margin-left:-2px}.send-button:hover:not(:disabled){transform:scale(1.05) translateY(-1px);box-shadow:0 4px 12px #667eea66}.send-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.input-hints{margin-top:.5rem;text-align:center}.input-hints p{margin:0;font-size:.75rem;color:#a0aec0}.completion-actions{padding:2rem;background:#fff;border-top:1px solid #e2e8f0;text-align:center}.upload-photo-prompt{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:12px;border:2px dashed #cbd5e0}.upload-photo-prompt svg{color:#667eea}.upload-photo-prompt p{margin:0;font-size:1.125rem;font-weight:500;color:#4a5568}.upload-photo-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.upload-photo-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.debug-panel{margin:1rem;padding:1rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.debug-panel summary{cursor:pointer;font-weight:600;color:#4a5568}.debug-panel pre{margin-top:.5rem;font-size:.75rem;color:#718096;white-space:pre-wrap}@media (max-width: 1023px){.chat-interview{max-height:95vh}.chat-header,.chat-messages{padding:1.25rem}.message{max-width:90%}}@media (max-width: 768px){.chat-interview{height:100%;max-height:100vh;border-radius:0}.chat-header{padding:1rem}.chat-header-content h2{font-size:1rem}.chat-header-content p{font-size:.875rem}.chat-messages{padding:1rem}.message{max-width:95%}.message-edit-container{min-width:unset;padding:.875rem 1rem}.message-edit-input{font-size:.875rem;min-height:50px;max-height:250px}.message-edit-actions{flex-direction:row;justify-content:stretch}.edit-action-btn{flex:1;justify-content:center;font-size:.813rem}.chat-input-area,.completion-actions{padding:1rem}.upload-photo-prompt{padding:1.5rem}.retry-button{padding:.625rem 1.25rem;font-size:.813rem}}@media (max-width: 480px){.chat-interview{height:100%;max-height:100vh}.chat-header{padding:.75rem 1rem}.chat-header-content{gap:.75rem}.chat-header-content h2{font-size:.9375rem}.chat-header-content p{font-size:.813rem}.chat-messages{padding:.75rem}.message{font-size:.875rem}.message-edit-container{padding:.75rem .875rem}.message-edit-input{font-size:.813rem;min-height:45px;max-height:200px}.edit-action-btn{font-size:.75rem;padding:.5rem .625rem}.chat-input-area{padding:.75rem}.input-wrapper{padding:.5rem}.chat-input{font-size:.875rem}.send-button{width:32px;height:32px}.completion-actions{padding:.75rem}.upload-photo-prompt,.loading-content,.error-content,.empty-content{padding:1rem}.retry-button{padding:.625rem 1rem;font-size:.75rem}}.debug-panel{background:#f8fafc;border-top:1px solid #e2e8f0;padding:1rem;font-size:.75rem}.debug-panel summary{cursor:pointer;font-weight:600;color:#475569;margin-bottom:.5rem}.debug-info{margin-bottom:1rem;padding:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem}.debug-info p{margin:.25rem 0;color:#64748b}.debug-panel pre{background:#1e293b;color:#e2e8f0;padding:1rem;border-radius:.375rem;overflow-x:auto;font-size:.6875rem;line-height:1.4;max-height:200px;overflow-y:auto}.message{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.save-status-indicator{position:fixed;bottom:20px;right:20px;padding:8px 16px;border-radius:20px;font-size:12px;background:#fffffff2;box-shadow:0 2px 12px #00000026;z-index:1000;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05)}.save-status-indicator .saving{color:#f59e0b;font-weight:500;display:flex;align-items:center;gap:6px}.save-status-indicator .saved{color:#10b981;font-weight:500}.save-status-indicator .spin{animation:spin 1s linear infinite}.save-error-banner{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:8px;padding:12px 16px;margin:12px 16px;box-shadow:0 4px 12px #ef444433;animation:slideDown .3s ease-out}.error-banner-content{display:flex;align-items:center;gap:12px}.error-banner-content svg{color:#dc2626;flex-shrink:0}.error-message{flex:1}.error-message strong{display:block;color:#991b1b;font-size:14px;margin-bottom:4px}.error-message p{color:#7f1d1d;font-size:12px;margin:0}.error-actions{display:flex;gap:8px;flex-shrink:0}.retry-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.retry-btn:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 8px #dc26264d}.dismiss-btn{padding:6px 12px;background:transparent;color:#991b1b;border:1px solid #dc2626;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.dismiss-btn:hover{background:#dc26261a}.saving-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px}.saving-overlay-content{text-align:center;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:400px}.saving-overlay-content .spinning{color:#667eea;margin-bottom:1rem}.saving-overlay-content h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.saving-overlay-content p{font-size:.9rem;color:#64748b;margin:0}.edit-mode-actions{padding:1rem 1.5rem;display:flex;justify-content:center}.done-editing-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d;width:100%;max-width:400px}.done-editing-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.done-editing-button:active{transform:translateY(0)}.interview-view-page{min-height:100vh;background:#f9fafb;padding:2rem 1rem}.interview-view-page.loading,.interview-view-page.error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6b7280}.interview-view-page .spinner{margin-bottom:1rem;animation:spin 1s linear infinite}.interview-view-page.error svg{color:#ef4444;margin-bottom:1rem}.interview-view-page.error h2{margin:.5rem 0;color:#111827}.interview-view-page.error p{margin-bottom:1.5rem;color:#6b7280}.interview-view-container{max-width:900px;margin:0 auto}.interview-view-header{margin-bottom:2rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin-bottom:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#f9fafb;border-color:#d1d5db}.interview-title-section{display:flex;align-items:flex-start;gap:1rem;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.interview-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;color:#fff;flex-shrink:0}.interview-title-section h1{margin:0 0 .5rem;font-size:1.875rem;font-weight:700;color:#111827}.interview-metadata{margin:0;font-size:.875rem;color:#6b7280}.interview-responses{margin-bottom:2rem}.interview-responses h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:#111827}.responses-list{display:flex;flex-direction:column;gap:1.5rem}.response-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s ease}.response-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.response-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.response-number{font-size:.75rem;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.05em}.emotional-tone{padding:.25rem .75rem;background:#dbeafe;color:#1e40af;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.response-question{margin-bottom:1rem}.response-question p{margin:0;font-size:1.125rem;font-weight:600;color:#111827;line-height:1.6}.response-answer{padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:.75rem}.response-answer p{margin:0;color:#374151;line-height:1.6;white-space:pre-wrap}.response-meta{font-size:.75rem;color:#9ca3af}.no-responses{padding:3rem;text-align:center;background:#fff;border:2px dashed #e5e7eb;border-radius:12px}.no-responses p{margin:0;color:#6b7280}.interview-actions{display:flex;gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width: 640px){.interview-title-section{flex-direction:column;text-align:center;align-items:center}.interview-title-section h1{font-size:1.5rem}.response-card{padding:1rem}.response-question p{font-size:1rem}.interview-actions{flex-direction:column}.interview-actions button{width:100%}}.admin-controls{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.search-form{display:flex;gap:1rem;align-items:center;position:relative}.search-loading{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.85rem;color:#667eea;font-weight:500}.search-input{flex:1;padding:.75rem 1rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea}@media (max-width: 768px){.search-form{flex-direction:column}.search-input{width:100%}}.skeleton-row{opacity:.7}.skeleton-text{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;height:16px}.skeleton-name{width:120px;margin-bottom:4px}.skeleton-username{width:80px;height:12px}.skeleton-email{width:160px}.skeleton-status{width:60px}.skeleton-date{width:100px}.skeleton-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-button{width:60px;height:28px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:6px}.users-table{display:flex;flex-direction:column}.table-header{display:grid;grid-template-columns:2.5fr 1fr 1.5fr 1.5fr 2fr;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:2px solid #e1e5e9;font-weight:600;color:#666;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.table-row{display:grid;grid-template-columns:2.5fr 1fr 1.5fr 1.5fr 2fr;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e1e5e9;align-items:center;transition:background-color .2s}.table-row:hover{background:#f8f9fa}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #e1e5e9}.user-name{font-weight:600;color:#1a1a1a;font-size:.95rem}.user-username{font-size:.85rem;color:#666;margin-top:.125rem}.user-email{font-size:.85rem;color:#666;margin-top:.25rem;word-break:break-word}.status-badges{display:flex;gap:.5rem}.status-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.banned{background:#f8d7da;color:#721c24}.status-badge.locked{background:#fff3cd;color:#856404}.col-created,.col-last-signin{font-size:.85rem;color:#666}.action-buttons{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.action-btn{padding:.5rem 1.25rem;border-radius:50px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s ease;min-width:fit-content;border:none;outline:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;text-align:center}.action-btn:hover:not(:disabled){opacity:.9}.action-btn:active{opacity:.8}.action-btn:disabled{opacity:.5;cursor:not-allowed}.button-spinner{display:inline-block;width:14px;height:14px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.ban-btn{background:#dc3545!important;color:#fff!important}.unban-btn{background:#28a745!important;color:#fff!important}.lock-btn{background:#fd7e14!important;color:#fff!important}.unlock-btn{background:#007bff!important;color:#fff!important}.reset-btn{background:#6f42c1!important;color:#fff!important}@media (max-width: 1200px){.table-header,.table-row{grid-template-columns:2.5fr 1fr 1fr 2fr}.col-created{display:none}.action-btn{padding:.45rem 1rem;font-size:.8rem;min-width:fit-content}}@media (max-width: 768px){.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header{display:none}.table-row{padding:1rem;border-radius:8px;margin-bottom:.5rem;border:1px solid #e1e5e9}.action-buttons{gap:.5rem}.action-btn{padding:.5rem 1rem;font-size:.85rem;min-width:fit-content}}@media (max-width: 480px){.action-buttons{flex-direction:row;flex-wrap:wrap;width:100%;justify-content:flex-end;gap:.5rem}.action-btn{width:auto;padding:.4rem .8rem;font-size:.8rem;flex:0 0 auto}.col-user,.col-status,.col-last-signin,.col-actions{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;flex-wrap:wrap}.col-user:before{content:"User: ";font-weight:600;margin-right:.5rem}.col-status:before{content:"Status: ";font-weight:600;margin-right:.5rem}.col-last-signin:before{content:"Last Sign In: ";font-weight:600;margin-right:.5rem}.col-actions:before{content:"Actions: ";font-weight:600;margin-right:.5rem;width:100%;margin-bottom:.25rem}.col-actions{flex-direction:column;align-items:flex-start}}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f8f9fa;border-top:1px solid #e1e5e9}.pagination-btn{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.pagination-btn:hover:not(:disabled){background:#5a6fd8}.pagination-btn:disabled{background:#ccc;cursor:not-allowed}.pagination-info{color:#666;font-size:.9rem}.password-reset-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.password-reset-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:700px;width:95%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out;word-wrap:break-word;overflow-wrap:break-word}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.password-reset-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.password-reset-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#059669;display:flex;align-items:center;gap:8px}.password-reset-modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.password-reset-modal-close:hover{background-color:#f3f4f6;color:#374151}.password-reset-modal-content{padding:24px}.password-reset-message{margin-bottom:24px}.success-message{font-size:1.1rem;color:#059669;margin-bottom:12px;font-weight:500}.email-info{color:#374151;margin:0;padding:12px;background-color:#f9fafb;border-radius:8px;border-left:4px solid #10b981}.password-reset-note{margin-bottom:24px;padding:16px;background-color:#fef3c7;border-radius:8px;border-left:4px solid #f59e0b;word-wrap:break-word;overflow-wrap:break-word}.password-reset-note h3{margin:0 0 8px;font-size:1rem;font-weight:600;color:#92400e}.password-reset-note p{margin:0;color:#92400e;line-height:1.5}.password-reset-url{margin-bottom:24px}.password-reset-url h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:#374151}.url-container{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start;flex-wrap:wrap}.reset-url-input{flex:1;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-family:Monaco,Menlo,monospace;font-size:.875rem;background-color:#f9fafb;color:#374151;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;min-height:80px;resize:vertical;line-height:1.4}.reset-url-input:focus{outline:none;border-color:#3b82f6;background-color:#fff}.copy-button{padding:12px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:4px;flex-shrink:0;min-width:fit-content}.copy-button:hover{background-color:#2563eb;transform:translateY(-1px)}.copy-button.copied{background-color:#059669;transform:scale(1.05)}.copy-button.copied:hover{background-color:#047857}.url-note{font-size:.9rem;color:#666;margin-top:.5rem;font-style:italic}.password-reset-warning{margin-top:1rem;padding:1rem;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px}.password-reset-warning h4{margin:0 0 .5rem;color:#856404;font-size:.95rem}.password-reset-warning ul{margin:.5rem 0;padding-left:1.2rem}.password-reset-warning li{margin-bottom:.3rem;font-size:.9rem;color:#856404}.alternative-note{margin-top:.8rem;font-size:.9rem;color:#856404;background-color:#f8f9fa;padding:.5rem;border-radius:3px;border-left:3px solid #007bff}.password-reset-modal-footer{padding:16px 24px 24px;display:flex;justify-content:flex-end;border-top:1px solid #e5e7eb}.close-modal-button{padding:12px 24px;background-color:#6b7280;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.close-modal-button:hover{background-color:#4b5563;transform:translateY(-1px)}@media (max-width: 640px){.password-reset-modal{width:98%;margin:10px;max-height:95vh}.url-container{flex-direction:column}.copy-button{justify-content:center;width:100%}.password-reset-modal-header{padding:16px}.password-reset-modal-header h2{font-size:1.25rem}.password-reset-modal-content{padding:16px}.password-reset-modal-footer{padding:12px 16px 16px}.reset-url-input{font-size:.75rem;min-height:60px}}@media (max-width: 480px){.password-reset-modal{width:100%;height:100vh;max-height:100vh;border-radius:0}.password-reset-modal-overlay{padding:0}}.admin-page{padding:2rem;max-width:1400px;margin:0 auto;background:#f8f9fa;min-height:100vh}.admin-header{margin-bottom:2rem;text-align:center}.admin-header h1{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.admin-header p{font-size:1.1rem;color:#666;margin:0}.admin-error{background:#fee;border:1px solid #fcc;border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.admin-error h1,.admin-error p{color:#c33;margin:0}.admin-error button{background:#c33;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.users-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.users-header{padding:1.5rem;border-bottom:1px solid #e1e5e9;background:#f8f9fa}.users-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#1a1a1a}@media (max-width: 768px){.admin-page{padding:1rem}}.admin-settings-page{max-width:1200px;margin:0 auto;padding:2rem}.admin-settings-header{margin-bottom:2rem}.admin-settings-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:#1a1a1a}.admin-settings-header p{color:#666;font-size:1rem}.admin-error{text-align:center;padding:3rem}.admin-error h1{color:#dc2626;margin-bottom:1rem}.alert-success{background-color:#efe;border:1px solid #cfc;color:#0a0}.alert button{background:none;border:none;color:inherit;cursor:pointer;text-decoration:underline;padding:.25rem .5rem}.settings-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.settings-section h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:#1a1a1a}.section-description{color:#666;margin-bottom:2rem}.setting-item{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding:1.5rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.setting-info{flex:1}.setting-info h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:#1a1a1a}.setting-info p{color:#666;margin-bottom:1rem;line-height:1.6}.setting-details ul{list-style:none;padding:0;margin:0}.setting-details li{padding:.5rem 0;color:#555}.setting-details strong{color:#1a1a1a;margin-right:.5rem}.setting-control{display:flex;flex-direction:column;align-items:center;gap:.5rem}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#2563eb}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 1px #2563eb}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-status{font-size:.875rem;font-weight:500;color:#666}.settings-info-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:2rem}.settings-info-box h3{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:#0c4a6e}.info-content{display:flex;flex-direction:column;gap:1.5rem}.workflow-step{padding-left:1rem;border-left:3px solid #3b82f6}.workflow-step strong{display:block;color:#1e40af;margin-bottom:.5rem}.workflow-step p{color:#475569;line-height:1.6;margin:.25rem 0}.workflow-step .highlight{background-color:#fef3c7;padding:.125rem .5rem;border-radius:4px;font-weight:600;color:#92400e}.workflow-note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:1rem}.workflow-note strong{color:#92400e;display:block;margin-bottom:.5rem}.loading-spinner{text-align:center;padding:2rem;color:#666}@media (max-width: 768px){.admin-settings-page{padding:1rem}.setting-item{flex-direction:column;align-items:stretch}.setting-control{flex-direction:row;justify-content:space-between;align-items:center;margin-top:1rem}}.vendor-credits-page{padding:2rem;max-width:1600px;margin:0 auto}.vendor-credits-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:300px}.header-icon{color:#4f46e5;flex-shrink:0}.header-text h1{margin:0 0 .25rem;font-size:1.875rem;font-weight:600;color:#111827;line-height:1.2}.header-text p{margin:0;color:#6b7280;font-size:.875rem;line-height:1.4}.header-right{display:flex;align-items:center;gap:1rem}.last-refreshed{color:#6b7280;font-size:.875rem;white-space:nowrap}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#4f46e5;color:#fff;border:none;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}.refresh-button:hover:not(:disabled){background:#4338ca;box-shadow:0 2px 8px #4f46e54d}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.refresh-button .spinning{animation:spin 1s linear infinite}.alert{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:.75rem;margin-bottom:1.5rem;border-left:4px solid;background:#fff}.alert-error{border-left-color:#ef4444;background:#fef2f2;color:#991b1b}.alert strong{display:block;margin-bottom:.25rem;font-weight:600}.alert p{margin:0;font-size:.875rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:#6b7280;font-size:1rem}.alerts-section{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:1rem;padding:1.5rem;margin-bottom:2rem}.alerts-section h2{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#991b1b}.alerts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.alert-card{background:#fff;border-radius:.75rem;padding:1rem;border-left:4px solid}.alert-critical{border-left-color:#ef4444}.alert-warning{border-left-color:#f59e0b}.alert-info{border-left-color:#3b82f6}.alert-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:#111827;font-weight:600;font-size:.875rem}.alert-vendor{text-transform:uppercase;letter-spacing:.025em}.alert-message{margin:0;color:#4b5563;font-size:.875rem;line-height:1.5}.cost-summary-section{background:#fff;border-radius:1rem;padding:1.5rem;margin-bottom:2rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.cost-summary-section h2{display:flex;align-items:center;gap:.75rem;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#111827}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:.75rem;padding:1.25rem;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.summary-icon{width:48px;height:48px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.summary-content{display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.summary-value{font-size:1.5rem;font-weight:700;color:#111827}.chart-container{background:#f9fafb;border-radius:.75rem;padding:1.5rem;border:1px solid #e5e7eb}.chart-container h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#111827}.chart-legend{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;display:flex;justify-content:center}.legend-note{font-size:.75rem;color:#6b7280;font-style:italic;display:flex;align-items:center;gap:.25rem}.legend-note:before{content:"ℹ️";font-size:.875rem}.recommendations-section{background:linear-gradient(135deg,#fefce8,#fef3c7);border:1px solid #fde68a;border-radius:1rem;padding:1.5rem;margin-bottom:2rem}.recommendations-section h2{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#92400e}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.recommendation-card{display:flex;gap:1rem;background:#fff;border-radius:.75rem;padding:1rem;border-left:4px solid #f59e0b}.recommendation-icon{width:36px;height:36px;border-radius:.5rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.recommendation-content{flex:1}.recommendation-vendor{display:inline-block;font-size:.75rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.recommendation-content p{margin:0 0 .5rem;color:#1f2937;font-size:.875rem;line-height:1.5}.recommendation-type{display:inline-block;padding:.25rem .625rem;background:#fef3c7;border-radius:.375rem;font-size:.75rem;color:#92400e;text-transform:capitalize;font-weight:500}.vendors-section h2{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 1rem}.vendor-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.vendor-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:all .3s ease;border:2px solid transparent;border-left:4px solid}.vendor-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.vendor-card.status-healthy{border-left-color:#10b981}.vendor-card.status-warning{border-left-color:#f59e0b}.vendor-card.status-critical{border-left-color:#ef4444}.vendor-card.status-error{border-left-color:#dc2626}.vendor-card.status-active{border-left-color:#3b82f6}.vendor-card.status-unavailable{border-left-color:#f59e0b}.vendor-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #f3f4f6}.vendor-info{display:flex;align-items:flex-start;gap:.75rem;flex:1}.vendor-icon{font-size:2rem;line-height:1;flex-shrink:0}.vendor-info h3{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:#111827}.vendor-description{margin:0;font-size:.875rem;color:#6b7280;line-height:1.4}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.375rem .875rem;border-radius:9999px;font-size:.813rem;font-weight:600;text-transform:capitalize;white-space:nowrap;flex-shrink:0}.status-badge.status-healthy{background:#d1fae5;color:#065f46}.status-badge.status-warning{background:#fef3c7;color:#92400e}.status-badge.status-critical{background:#fee2e2;color:#991b1b}.status-badge.status-error{background:#fef2f2;color:#991b1b}.status-badge.status-active{background:#dbeafe;color:#1e40af}.status-badge.status-unavailable{background:#fef3c7;color:#92400e}.vendor-card-body{margin-bottom:1rem}.error-message,.info-message{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1rem}.error-message{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.info-message{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.info-message p{margin:0;line-height:1.5}.credit-details{display:flex;flex-direction:column;gap:1rem}.pricing-model-badge{display:inline-block;padding:.375rem .75rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:.5rem;font-size:.75rem;font-weight:600;color:#1e40af;text-transform:capitalize;width:fit-content}.credit-stat{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.credit-stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.credit-stat-row .credit-stat{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem;background:#f9fafb;border-radius:.5rem;border-bottom:none}.stat-label{font-size:.813rem;color:#6b7280;font-weight:500}.stat-value{font-size:1.125rem;font-weight:700;color:#111827}.stat-value.highlight{color:#10b981;font-size:1.5rem}.tier-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#e9d5ff,#d8b4fe);color:#6b21a8;border-radius:.375rem;font-size:.875rem;font-weight:600;text-transform:capitalize}.usage-breakdown{background:#f9fafb;border-radius:.75rem;padding:1rem;border:1px solid #e5e7eb}.usage-breakdown h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#111827}.breakdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.813rem}.breakdown-grid>div{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#fff;border-radius:.375rem}.breakdown-grid span{color:#6b7280}.breakdown-grid strong{color:#111827;font-weight:600}.usage-note{margin:.75rem 0 0;padding:.75rem;background:#eff6ff;border-radius:.5rem;font-size:.75rem;color:#1e40af;line-height:1.5;border-left:3px solid #3b82f6}.tier-info{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.tier-price{font-size:1.125rem;font-weight:700;color:#10b981}.info-badge{padding:.75rem;background:#eff6ff;border-radius:.5rem;font-size:.813rem;color:#1e40af;font-weight:500;text-align:center}.projections-box{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:.75rem;padding:1rem;border:1px solid #fde68a}.projections-box h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#78350f}.projection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.projection-grid>div{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#fff;border-radius:.5rem;font-size:.813rem}.projection-grid span{color:#6b7280}.projection-grid strong{color:#111827;font-size:1rem;font-weight:700}.overage-warning{grid-column:1 / -1;display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fee2e2;border-radius:.5rem;color:#991b1b;font-weight:600}.vendor-chart{background:#f9fafb;border-radius:.75rem;padding:1rem;border:1px solid #e5e7eb}.vendor-chart h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:#111827}.progress-container{background:linear-gradient(135deg,#fafafa,#f5f5f5);border-radius:.75rem;padding:1.25rem;border:1px solid #e5e7eb;margin-bottom:1rem;height:70px}.progress-labels{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}.progress-label{font-size:.688rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.1em}.progress-percentage{font-size:1.25rem;font-weight:700;color:#111827}.progress-bar{position:relative;width:100%;height:1rem;background:#e5e7eb;border-radius:9999px;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:9999px;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 0 8px #10b98166}.progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.vendor-card.status-healthy .progress-fill{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 0 8px #10b98166}.vendor-card.status-warning .progress-fill{background:linear-gradient(90deg,#f59e0b,#d97706);box-shadow:0 0 8px #f59e0b66}.vendor-card.status-critical .progress-fill{background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:0 0 8px #ef444466;animation:pulse-critical 2s ease-in-out infinite}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.8}}.pricing-info-box{background:#f9fafb;border-radius:.75rem;padding:1rem;border:1px solid #e5e7eb}.pricing-info-box h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#111827}.pricing-list{display:flex;flex-direction:column;gap:.5rem}.pricing-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#fff;border-radius:.375rem;font-size:.813rem}.pricing-item span{color:#6b7280;text-transform:capitalize}.pricing-item strong{color:#111827;font-weight:600}.pricing-category{margin-bottom:1rem}.pricing-category:last-child{margin-bottom:0}.pricing-category>strong{display:block;font-size:.813rem;color:#111827;margin-bottom:.5rem}.cost-estimates{background:#f0f9ff;border-radius:.75rem;padding:1rem;border:1px solid #bae6fd}.cost-estimates h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#075985}.estimate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.estimate-card{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#fff;border-radius:.5rem;border:1px solid #bae6fd;gap:.5rem}.estimate-tier{font-size:.688rem;color:#6b7280;text-transform:capitalize;font-weight:600}.estimate-cost{font-size:1rem;font-weight:700;color:#0369a1}.feature-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.feature-badge{padding:.375rem .75rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border-radius:.375rem;font-size:.75rem;font-weight:600}.dashboard-link{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;text-decoration:none;border-radius:.5rem;font-size:.875rem;font-weight:600;transition:all .2s;width:fit-content}.dashboard-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e566}.vendor-card-footer{display:flex;align-items:center;gap:.5rem;padding-top:1rem;margin-top:1rem;border-top:1px solid #f3f4f6;font-size:.75rem;color:#9ca3af}.admin-error{text-align:center;padding:4rem 2rem}.admin-error h1{font-size:2rem;margin-bottom:1rem;color:#1f2937}.admin-error p{color:#6b7280;font-size:1.125rem}@media (max-width: 1024px){.vendor-credits-page{padding:1.5rem;max-width:100%}.vendor-credits-header{gap:1.5rem}.header-left{min-width:250px}.header-text h1{font-size:1.625rem}.header-text p{font-size:.813rem}.vendor-cards-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.last-refreshed{font-size:.813rem}.refresh-button{padding:.5rem 1rem;font-size:.813rem}.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.vendor-credits-page{padding:1rem}.vendor-credits-header{gap:1.25rem;margin-bottom:1.5rem}.header-left{min-width:auto}.header-text h1{font-size:1.5rem}.header-text p{font-size:.875rem}.header-right{gap:.75rem}.last-refreshed{font-size:.813rem}.refresh-button{padding:.625rem 1rem;font-size:.813rem}.vendor-cards-grid{grid-template-columns:1fr;gap:1.25rem}.alerts-grid,.recommendations-grid,.summary-cards{grid-template-columns:1fr}.vendor-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.status-badge{align-self:flex-start}.credit-details{font-size:.875rem}.breakdown-grid{grid-template-columns:1fr}}@media (max-width: 480px){.vendor-credits-page{padding:.75rem}.vendor-credits-header{gap:1rem;margin-bottom:1rem}.header-left{gap:.75rem}.header-icon svg{width:28px;height:28px}.header-text h1{font-size:1.375rem}.header-text p{font-size:.813rem;line-height:1.3}.header-right{flex-direction:column;align-items:stretch;gap:.75rem}.last-refreshed{text-align:center;font-size:.75rem}.refresh-button{justify-content:center;width:100%;padding:.75rem;font-size:.875rem}.vendor-cards-grid{gap:1rem}.vendor-card{padding:1rem}.vendor-icon{font-size:1.75rem}.vendor-info h3{font-size:1.125rem}.vendor-description{font-size:.813rem}.status-badge{padding:.25rem .625rem;font-size:.688rem}.credit-details{font-size:.813rem}.progress-container{padding:1rem;margin-bottom:.75rem}.progress-labels{margin-bottom:.75rem}.progress-label{font-size:.688rem}.progress-percentage{font-size:1.125rem}.progress-bar{height:.875rem}.feature-badges{margin-top:.75rem}.estimate-grid,.projection-grid,.credit-stat-row{grid-template-columns:1fr}}.scene-approval-list-page{max-width:1400px;margin:0 auto;padding:2rem}.approval-list-header{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.approval-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.approval-list-header>div{flex:1}.approval-list-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:#1a1a1a}.approval-list-header p{color:#666;font-size:1rem}.refresh-button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.refresh-button:hover{background:#1d4ed8}.search-container{position:relative;flex:1;max-width:500px}.search-input{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s}.search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.clear-search-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;cursor:pointer;font-size:.9rem;padding:.2rem;border-radius:50%}.clear-search-btn:hover{background:#f3f4f6;color:#1f2937}.clear-search{background:#f3f4f6;color:#4b5563;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;margin-top:1rem;transition:all .2s}.clear-search:hover{background:#e5e7eb;color:#1f2937}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c00}.alert button{background:none;border:none;color:inherit;cursor:pointer;text-decoration:underline}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1.5rem}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}.storyboard-skeleton{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;height:100%;display:flex;flex-direction:column}.skeleton-header{padding:1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem}.skeleton-title{height:24px;width:70%}.skeleton-badges{display:flex;justify-content:space-between;margin-top:.5rem}.skeleton-badge{height:28px;width:120px;border-radius:20px}.skeleton-status{height:24px;width:80px;border-radius:12px}.skeleton-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.skeleton-progress-bar{height:8px;border-radius:4px;width:100%}.skeleton-progress-text{display:flex;justify-content:space-between;margin-bottom:.5rem}.skeleton-progress-label{height:16px;width:40%}.skeleton-progress-value{height:16px;width:20%}.skeleton-stats{display:flex;gap:2rem;padding:1rem 0;border-top:1px solid #e5e7eb}.skeleton-stat{display:flex;flex-direction:column;gap:.5rem}.skeleton-stat-label{height:12px;width:60px}.skeleton-stat-value{height:16px;width:40px}.skeleton-footer{padding:1rem 1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb}.skeleton-button{height:40px;width:100%;border-radius:8px}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}.loading-text{color:#666;font-size:1rem;margin:0}.empty-state{text-align:center;padding:4rem}.empty-state h2{color:#1a1a1a;margin-bottom:.5rem}.empty-state p{color:#666}.approval-error{text-align:center;padding:4rem}.approval-error h1{color:#dc2626;margin-bottom:1rem}.storyboards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.storyboard-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;cursor:pointer;transition:all .2s}.storyboard-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.card-header{padding:1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.875rem}.badges-container{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:.375rem;flex-wrap:wrap;gap:.5rem}.status-badges-group{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}.user-info{display:flex;align-items:center;margin-right:auto}.user-badge{display:inline-flex;align-items:center;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;padding:.375rem .875rem;border-radius:9999px;color:#fff;font-weight:500}.user-label{font-weight:500;color:#fff;margin-right:.25rem}.user-name{font-weight:500;color:#fff}.username{font-size:.9375rem;color:#ffffffe6;margin-left:0;position:relative;font-weight:500}.card-header h3{font-size:1.125rem;font-weight:600;margin:0;padding-bottom:.25rem;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;width:100%;border-bottom:1px solid #f0f0f0}.status-badge{padding:.375rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:28px}.status-badge.ready{background:#d1fae5;color:#065f46}.card-content{padding:1.25rem 1.5rem}.progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem}.progress-info span:first-child{color:#666}.progress-text{font-weight:600;color:#1a1a1a}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.25rem}.progress-fill{height:100%;background:linear-gradient(to right,#3b82f6,#2563eb);transition:width .3s ease}.card-stats{display:flex;gap:2rem;padding:.5rem 0 0;flex-wrap:wrap;margin-top:.5rem;margin-bottom:0}.card-breadcrumb{display:flex;align-items:flex-start;gap:2rem;padding:.5rem 0 0;border-top:1px solid #e5e7eb;margin-top:0;flex-wrap:wrap}.breadcrumb-item{display:flex;flex-direction:column;gap:.375rem}.breadcrumb-label{color:#666;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.breadcrumb-value{color:#1a1a1a;font-weight:600;font-size:.875rem}.awaiting-approval-badge{background:linear-gradient(135deg,#fbbf24,#f97316);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block;box-shadow:0 2px 4px #f9731633}.stat-item.created-date{min-width:150px;display:flex!important;visibility:visible!important;opacity:1!important}.stat-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:.875rem;font-weight:600;color:#1a1a1a;text-transform:capitalize;word-break:break-word}.stat-badge{display:inline-block;padding:.375rem .875rem;border-radius:16px;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.stat-badge-awaiting-approval{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;box-shadow:0 2px 8px #fbbf244d}.stat-badge-completed{background:linear-gradient(135deg,#34d399,#10b981);color:#064e3b;box-shadow:0 2px 8px #34d3994d}.stat-badge-draft{background:linear-gradient(135deg,#94a3b8,#64748b);color:#1e293b;box-shadow:0 2px 8px #94a3b84d}.stat-badge-processing{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#1e3a8a;box-shadow:0 2px 8px #60a5fa4d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.card-footer{padding:1rem 1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb}.review-button{width:100%;background:#2563eb;color:#fff;border:none;padding:.75rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.review-button:hover{background:#1d4ed8}@media (max-width: 768px){.scene-approval-list-page{padding:1rem}.approval-list-header{flex-direction:column;gap:1rem}.approval-actions{flex-direction:column;width:100%}.search-container{max-width:none;width:100%}.refresh-button{width:100%}.storyboards-grid{grid-template-columns:1fr}.badges-container{flex-direction:row;align-items:center;gap:.5rem;flex-wrap:wrap}.user-info{display:flex!important;visibility:visible!important;margin-right:auto}.user-badge{display:inline-flex!important;visibility:visible!important}.status-badges-group{margin-left:auto;margin-top:0}}.prompt-edit-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.prompt-edit-modal{background-color:#fff;border-radius:8px;width:80%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003;overflow:hidden}.prompt-edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e0e0e0}.prompt-edit-modal-header h3{margin:0;font-size:20px;color:#333}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.close-button:hover{color:#333}.prompt-edit-modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 140px)}.prompt-edit-modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.prompt-textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:4px;font-size:16px;font-family:inherit;resize:vertical}.prompt-textarea:focus{outline:none;border-color:#06c;box-shadow:0 0 0 2px #06c3}.loading-spinner{display:flex;justify-content:center;align-items:center;height:200px}.error-message{color:#d32f2f;padding:12px;background-color:#ffebee;border-radius:4px;margin-bottom:20px}.cancel-button{padding:10px 16px;background-color:#f5f5f5;color:#333;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px}.save-button{padding:10px 16px;background-color:#e0e0e0;color:#333;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px}.save-regenerate-button{padding:10px 16px;background-color:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.save-button:hover{background-color:#d0d0d0}.save-regenerate-button:hover{background-color:#05a}.save-button:disabled,.save-regenerate-button:disabled{opacity:.6;cursor:not-allowed}.prompt-tips{margin-top:20px;padding:16px;background-color:#f5f9ff;border-radius:4px;border-left:4px solid #0066cc}.prompt-tips h4{margin-top:0;margin-bottom:10px;color:#06c}.prompt-tips ul{margin:0;padding-left:20px}.prompt-tips li{margin-bottom:6px}.view-prompts-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.view-prompts-modal{background-color:#fff;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;overflow:hidden;animation:slideUp .3s ease-out}.view-prompts-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.view-prompts-modal-header .header-content{display:flex;align-items:baseline;gap:12px}.view-prompts-modal-header .header-content h3{margin:0;font-size:1.25rem;font-weight:600}.view-prompts-modal-header .subtitle{margin:0;font-size:.875rem;opacity:.9}.view-prompts-modal-header .close-button{background:transparent;border:none;font-size:24px;cursor:pointer;color:#fff;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;line-height:1;flex-shrink:0}.view-prompts-modal-header .close-button:hover{background:#ffffff4d}.view-prompts-modal-body{padding:20px;overflow-y:auto;flex:1;background:#f8fafc}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#666}.loading-container .spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-message{text-align:center;padding:24px;color:#dc2626;background:#fee2e2;border-radius:8px}.no-prompts-message{text-align:center;padding:48px 24px;color:#666}.no-prompts-icon{font-size:48px;margin-bottom:16px}.no-prompts-message h4{margin:0 0 12px;color:#333;font-size:1.125rem}.no-prompts-message p{margin:0 0 8px;line-height:1.5}.no-prompts-message .note{font-size:.875rem;color:#888;margin-top:16px}.prompts-content{display:flex;flex-direction:column;gap:16px}.generation-prompt-section{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff}.section-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9fa;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.section-header:hover{background:#f0f1f3}.section-header .expand-icon{color:#666;font-size:12px;width:16px;flex-shrink:0}.section-header h4{margin:0;flex:1;font-size:.9375rem;font-weight:600;color:#333}.badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;background:#e8e8e8;color:#666}.badge.influence{background:#f3e8ff;color:#7c3aed}.stages-section{margin-top:8px}.stages-title{font-size:.875rem;font-weight:600;color:#666;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.stage-badges{display:flex;gap:8px;flex-shrink:0}.status-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.in_progress{background:#dbeafe;color:#1e40af}.status-badge.failed{background:#fee2e2;color:#991b1b}.model-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;background:#e0e7ff;color:#3730a3}.section-content{padding:12px 16px;border-top:1px solid #e2e8f0;background:#fff}.emotional-arc-grid{display:flex;flex-direction:column;gap:12px}@media (min-width: 768px){.emotional-arc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;align-items:stretch}}.arc-segment{display:flex;flex-direction:column;padding:12px 16px;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:8px;border:1px solid #e0e0e0;border-left:4px solid #8b5cf6;box-sizing:border-box;height:100%}.segment-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.segment-name{font-weight:600;color:#333;font-size:1rem;background:#8b5cf6;color:#fff;padding:6px 14px;border-radius:6px}.segment-percentage{font-weight:700;color:#8b5cf6;font-size:1rem;background:#f3e8ff;padding:6px 12px;border-radius:6px;flex-shrink:0}.segment-description{margin:12px 0 0;font-size:.875rem;color:#666;line-height:1.5;border:none;background:transparent;padding:0}.prompt-block{margin-bottom:16px}.prompt-block:last-child{margin-bottom:0}.prompt-block h5{margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prompt-text{background:#f8fafc;color:#334155;border:1px solid #e2e8f0;padding:16px;border-radius:8px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Consolas,monospace;font-size:.8125rem;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto;margin:0}.no-prompt-data{text-align:center}.no-data{color:#888;font-style:italic;padding:12px;text-align:center;margin:0}.scene-prompts-wrapper{border-left:3px solid #8b5cf6}.scene-prompts-wrapper>.section-header h4{color:#7c3aed;font-weight:600}.scene-prompts-content{padding:0!important;background:#faf8ff}.scene-prompts-content .section-subtitle{padding:12px 16px 0}.scene-prompts-content .scene-prompt-section{margin:8px 12px;border-radius:6px}.section-subtitle{font-size:.8125rem;color:#666;margin:0 0 12px;font-style:italic}.scene-prompt-section{border-left:3px solid #e0e0e0}.scene-prompt-section:hover{border-left-color:#8b5cf6}.image-badge{background:#f3e8ff!important;color:#7c3aed!important}.video-badge{background:#dbeafe!important;color:#1d4ed8!important}.image-prompt-block{border-left:3px solid #8b5cf6;padding-left:12px}.video-prompt-block{border-left:3px solid #3b82f6;padding-left:12px}.prompt-service{font-size:.7rem;font-weight:400;color:#888;text-transform:none;letter-spacing:normal;margin-left:8px}.technical-specs-row{display:flex;gap:16px;flex-wrap:wrap;padding:8px 12px;background:#f8fafc;border-radius:6px;margin-top:12px}.spec-item{font-size:.8125rem;color:#64748b}.spec-item:before{content:"📊 "}.style-tags-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.style-tag{font-size:.75rem;padding:4px 10px;background:#f3e8ff;color:#7c3aed;border-radius:12px;font-weight:500}.style-tag:before{content:"🏷️ "}@media (max-width: 768px){.view-prompts-modal{width:95%;max-height:85vh;border-radius:12px}.view-prompts-modal-header{padding:16px}.view-prompts-modal-header .header-content h3{font-size:1.125rem}.view-prompts-modal-body{padding:16px}.section-header{padding:10px 12px}.section-header h4{font-size:.875rem}.emotional-arc-grid{gap:10px}.arc-segment{padding:12px}.segment-header{flex-wrap:wrap;gap:8px}.segment-name{font-size:.875rem;padding:5px 12px}.segment-percentage{font-size:.875rem;padding:5px 10px}.segment-description{font-size:.8125rem}.prompt-text{font-size:.75rem;padding:12px;max-height:300px}.stage-badges{flex-wrap:wrap}}.scene-approval-page{height:100vh;display:flex;flex-direction:column;background:#f9fafb;position:relative}.approval-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}.header-content{display:flex;flex-direction:row;align-items:center;gap:16px;flex:1;min-width:0}.header-content h1{font-size:1.25rem;margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.approval-stats{display:flex;gap:12px;align-items:center;margin-left:auto}.stat{font-size:.875rem;color:#4b5563}.status-badge{font-size:.75rem;padding:2px 8px;border-radius:9999px;background-color:#e5e7eb;color:#374151}.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.ready{background-color:#d1fae5;color:#065f46}.back-button{font-size:.875rem;color:#4b5563;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.approval-container{flex:1;display:flex;min-height:0}.scene-list{width:300px;padding:16px;border-right:1px solid #e5e7eb;overflow-y:auto;background:#fff}.scene-list h2{font-size:1.25rem;margin:0 0 16px}.scene-items{display:flex;flex-direction:column;gap:12px}.scene-item{padding:12px;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.scene-item:hover{border-color:#d1d5db;box-shadow:0 1px 2px #0000000d}.scene-item.active{border-color:#6366f1;background-color:#6366f10d}.scene-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.scene-number{font-weight:600;color:#111827}.scene-type{font-size:.75rem;color:#6b7280;margin:0;text-transform:capitalize}.approval-badge{font-size:.625rem;padding:2px 6px;border-radius:9999px;background-color:#e5e7eb;color:#374151;text-transform:uppercase}.approval-badge.approved{background-color:#d1fae5;color:#065f46}.approval-badge.rejected{background-color:#fee2e2;color:#b91c1c}.approval-badge.pending{background-color:#fef3c7;color:#92400e}.approval-badge.regenerating{background-color:#fef3c7;color:#92400e;display:flex;align-items:center;gap:4px;animation:pulse-regenerating 1.5s infinite;font-weight:600}@keyframes pulse-regenerating{0%{background-color:#fef3c7}50%{background-color:#fde68a}to{background-color:#fef3c7}}.approval-badge .spinner{width:8px;height:8px;border:1px solid rgba(146,64,14,.4);border-top-color:#92400e;border-radius:50%;animation:spin 1s linear infinite}.scene-preview{flex:1;padding:24px;overflow-y:auto;position:relative}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.preview-header h2{font-size:1.5rem;margin:0}.preview-content{max-width:800px}.video-container{margin-bottom:24px;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.scene-video{width:100%;display:block}.no-video{background-color:#f9fafb;height:300px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;border-radius:12px;border:1px solid #e5e7eb}.scene-details{margin-bottom:24px}.detail-section{margin-bottom:16px}.detail-section h3{font-size:1rem;margin:0 0 8px;color:#4b5563}.detail-section p{margin:0;line-height:1.5}.detail-row{display:flex;gap:24px;margin-top:16px}.detail-item{font-size:.875rem}.action-buttons{display:flex;gap:20px;margin-top:32px;padding:0;align-items:stretch}button{font-size:1rem;padding:12px 24px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:all .25s ease;min-height:48px;position:relative;overflow:hidden}button:disabled{opacity:.6;cursor:not-allowed}button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}button:active:not(:disabled):before{width:300px;height:300px}.approve-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;flex:1;font-size:1.125rem;font-weight:700;padding:16px 40px;min-height:56px;height:56px;border-radius:12px;box-shadow:0 4px 14px #10b98140;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;line-height:1.2}.approve-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}.approve-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #10b9814d}.reject-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;flex:1;font-size:1.125rem;font-weight:700;padding:16px 40px;min-height:56px;height:56px;border-radius:12px;box-shadow:0 4px 14px #ef444440;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;line-height:1.2}.reject-button:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 8px 24px #ef444466}.reject-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #ef44444d}@media (min-width: 769px) and (max-width: 1200px){.approve-button,.reject-button{font-size:1rem;padding:14px 32px;min-height:54px;height:54px}}@media (max-width: 768px){.action-buttons{flex-direction:column;gap:12px;margin-top:20px}.approve-button,.reject-button{width:100%;font-size:1rem;padding:14px 24px;min-height:50px;height:50px}}@media (max-width: 480px){.approve-button,.reject-button{font-size:.95rem;padding:12px 20px;min-height:48px;height:48px}}.finalize-button{background-color:#6366f1;color:#fff;padding:8px 16px}.finalize-button:hover:not(:disabled){background-color:#4f46e5}.view-prompts-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.view-prompts-button:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.view-prompts-button:active{transform:translateY(0)}.alert{padding:12px 16px;border-radius:8px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.alert-error{background-color:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.alert-success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.alert-success button{color:#047857}.alert button{background:none;border:none;padding:0;font-size:.875rem;color:#dc2626;cursor:pointer;text-decoration:underline}.approved-notice{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46;padding:12px 16px;border-radius:8px;margin-top:16px}.approved-notice p{margin:0;font-weight:500}.approved-notice small{display:block;margin-top:4px;opacity:.8}.rejected-notice{background-color:#fee2e2;border:1px solid #fecaca;color:#b91c1c;padding:12px 16px;border-radius:8px;margin-bottom:16px}.rejected-notice p{margin:0;font-weight:500}.rejected-notice small{display:block;margin-top:4px;opacity:.8}.rejected-actions{display:flex;gap:20px;margin-top:24px}.edit-prompt-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;flex:1;font-size:1.125rem;font-weight:700;padding:16px 40px;min-height:56px;border-radius:12px;box-shadow:0 4px 14px #3b82f640;letter-spacing:.02em}.edit-prompt-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}.edit-prompt-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.regenerate-button{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;flex:1;font-size:1.125rem;font-weight:700;padding:16px 40px;min-height:56px;border-radius:12px;box-shadow:0 4px 14px #f59e0b40;letter-spacing:.02em}.regenerate-button:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 8px 24px #f59e0b66}.regenerate-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #f59e0b4d}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.spinner{width:24px;height:24px;border:2px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-text{color:#4b5563}.scene-item.regenerating{animation:pulse 2s infinite;background-color:#fbbf241a;border:1px solid rgba(251,191,36,.3);position:relative}@keyframes pulse{0%{box-shadow:0 0 #fbbf2433}70%{box-shadow:0 0 0 4px #fbbf2400}to{box-shadow:0 0 #fbbf2400}}.scene-item.regenerating:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#fbbf2400,#fbbf24cc,#fbbf2400);animation:shimmer 2s infinite;z-index:1}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.regenerating-container{background-color:#fff8e6;border:1px solid #fde68a;border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.regenerating-spinner{width:32px;height:32px;border:3px solid rgba(251,191,36,.2);border-top-color:#f59e0b;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.regenerating-container h3{margin:0 0 8px;color:#92400e}.regenerating-container p{text-align:center;margin:0 0 16px;color:#92400e;max-width:400px}.regenerating-steps{display:flex;flex-direction:column;gap:8px;margin:16px 0;width:100%;max-width:300px;background-color:#fffbeb;border-radius:8px;padding:12px 16px;box-shadow:0 1px 3px #0000000d}.regenerating-steps span{position:relative;padding-left:28px;font-size:.9rem;color:#92400e;opacity:.6;display:block;margin-bottom:8px;transition:all .3s ease}.regenerating-steps span:before{content:"⏳";position:absolute;left:0;font-size:1rem}.regenerating-steps span.active{opacity:1;font-weight:600;color:#b45309;transform:scale(1.02)}.regenerating-steps span.active:before{content:"⚡";animation:pulse 1s infinite}.regenerating-steps span.completed{opacity:.8;color:#065f46}.regenerating-steps span.completed:before{content:"✅"}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.regenerating-steps span small{display:block;margin-top:2px;font-size:.75rem;color:#92400e;opacity:.7}.regenerating-progress{width:100%;max-width:300px;height:10px;background-color:#fbbf2433;border-radius:5px;margin:16px 0;overflow:hidden;position:relative;box-shadow:inset 0 1px 3px #0000001a}.regenerating-progress-bar{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24,#f59e0b);background-size:200% 100%;border-radius:5px;transition:width .5s ease;position:relative;animation:progress-pulse 2s infinite ease-in-out}@keyframes progress-pulse{0%{background-position:0% 50%}to{background-position:100% 50%}}.regenerating-eta{font-size:.75rem;opacity:.7;margin-top:.5rem}.regenerating-banner{background-color:#fff8e6;border:1px solid #fde68a;border-radius:8px;padding:12px 16px;margin-bottom:16px}.regenerating-banner-content{display:flex;align-items:center;gap:12px;position:relative}.regenerating-banner .spinner{margin-bottom:0;border-color:#fbbf2433;border-top-color:#f59e0b}.regenerating-scene-tag{display:inline-block;background-color:#fbbf2433;border-radius:4px;padding:2px 6px;margin-left:8px;font-size:.75rem}.regenerating-note{margin:8px 0 0;font-size:.75rem;opacity:.8;padding-left:36px}.refresh-regenerating-btn{background-color:#fbbf2433;color:#92400e;padding:4px 8px;font-size:.75rem;margin-left:auto}.refresh-regenerating-btn:hover:not(:disabled){background-color:#fbbf244d}.clear-regenerating-btn{background:none;color:#92400e;font-size:1rem;padding:0;line-height:1;opacity:.5}.clear-regenerating-btn:hover{opacity:1}.regeneration-progress-mini{margin-top:6px;padding-top:3px;border-top:1px dashed rgba(251,191,36,.4)}.mini-progress-bar{height:4px;background-color:#e5e7eb80;border-radius:2px;overflow:hidden;margin:2px 0}.mini-progress-fill{height:100%;background-color:#fbbf24cc;border-radius:2px;transition:width .3s ease}@keyframes flash-text{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.regenerating-status{display:flex;justify-content:space-between;align-items:center;background-color:#fffbeb;padding:8px 12px;border-radius:6px;margin-bottom:12px;border:1px solid rgba(251,191,36,.3)}.status-label{font-size:.9rem;color:#92400e}.status-value{font-weight:700;color:#b45309;animation:flash-text 2s infinite}.percent-complete{font-weight:600;color:#b45309;font-size:.9rem}.finalization-overlay{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:linear-gradient(135deg,#f8fafc,#e2e8f0);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;box-sizing:border-box}.finalization-container{background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #00000026;max-width:580px;width:100%;padding:48px;margin:auto;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.finalization-header{text-align:center;margin-bottom:32px}.finalization-spinner-large{width:64px;height:64px;border:4px solid rgba(99,102,241,.15);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}.finalization-success-icon{width:72px;height:72px;margin:0 auto 24px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:successPop .5s ease-out}.finalization-success-icon svg{width:40px;height:40px;color:#fff}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.finalization-error-icon{width:72px;height:72px;margin:0 auto 24px;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:errorShake .5s ease-out}.finalization-error-icon svg{width:40px;height:40px;color:#fff}@keyframes errorShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.finalization-title{font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 12px}.finalization-subtitle{font-size:1rem;color:#6b7280;margin:0;line-height:1.5}.finalization-progress-section{margin-bottom:32px}.finalization-progress-bar-wrapper{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin-bottom:12px}.finalization-progress-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6,#6366f1);background-size:200% 100%;border-radius:6px;transition:width .5s ease;animation:progressShimmer 2s linear infinite}@keyframes progressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.finalization-progress-text{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;margin-bottom:24px}.finalization-progress-text>span:first-child{font-weight:600;color:#374151}.finalization-eta{color:#6b7280}.finalization-steps{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:0 8px}.finalization-step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.4;transition:all .3s ease}.finalization-step.active,.finalization-step.completed{opacity:1}.finalization-step .step-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;background:#e5e7eb;color:#9ca3af;font-weight:600;transition:all .3s ease}.finalization-step.active .step-icon{background:#dbeafe;color:#3b82f6;animation:pulseStep 1.5s ease-in-out infinite}.finalization-step.completed .step-icon{background:#d1fae5;color:#059669}@keyframes pulseStep{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.finalization-step span:last-child{font-size:.75rem;color:#6b7280;font-weight:500}.finalization-step.active span:last-child{color:#3b82f6;font-weight:600}.finalization-step.completed span:last-child{color:#059669}.step-line{flex:1;height:2px;background:#e5e7eb;margin:0 4px 24px}.finalization-connection-status{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#f9fafb;border-radius:8px;font-size:.875rem;color:#6b7280}.connection-dot{width:8px;height:8px;border-radius:50%;transition:background-color .3s ease}.connection-dot.connected{background:#10b981;animation:pulseDot 2s ease-in-out infinite}.connection-dot.disconnected{background:#f59e0b;animation:blink 1s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.finalization-success-section{text-align:center}.success-message{margin-bottom:24px}.success-message p{color:#374151;line-height:1.6;margin:0}.redirect-countdown{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px 16px;margin-bottom:24px}.redirect-countdown p{margin:0;color:#166534;font-size:.9rem}.redirect-countdown strong{font-size:1.1rem;color:#15803d}.finalization-error-section{text-align:center}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:24px}.error-message p{margin:0;color:#b91c1c;font-size:.9rem;line-height:1.5}.finalization-actions{display:flex;flex-direction:column;gap:12px}.finalization-primary-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:1rem;font-weight:600;padding:14px 24px;border-radius:10px;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #6366f14d}.finalization-primary-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.finalization-primary-btn:active{transform:translateY(0)}.finalization-secondary-btn{background:transparent;color:#6b7280;font-size:.9rem;font-weight:500;padding:12px 20px;border-radius:8px;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s ease}.finalization-secondary-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.finalization-storyboard-info{margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:.875rem}.info-label{color:#9ca3af}.info-value{color:#374151;font-weight:500}.info-separator{color:#d1d5db}@media (max-width: 640px){.finalization-container{padding:32px 24px;margin:16px auto}.finalization-title{font-size:1.5rem}.finalization-steps{flex-wrap:wrap;gap:8px}.step-line{display:none}.finalization-step{flex:0 0 calc(50% - 4px);margin-bottom:12px}.finalization-actions{gap:10px}.finalization-storyboard-info{flex-direction:column;gap:4px}.info-separator{display:none}}@media (max-width: 900px){.scene-list{width:240px}.scene-preview{padding:16px}}@media (max-width: 768px){.scene-approval-page{height:auto;min-height:100vh}.approval-header{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:8px}.header-content{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.header-content h1{font-size:1rem;max-width:100%;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.3;flex:1 1 100%;order:1}.back-button{font-size:.8125rem;order:0;flex:0 0 auto}.approval-stats{display:flex;flex-wrap:wrap;gap:6px;margin-left:0;flex:1 1 100%;min-width:0;order:2;align-items:center}.stat{font-size:.75rem;flex-shrink:0}.status-badge{font-size:.6875rem;padding:2px 6px;flex-shrink:0;white-space:nowrap}.view-prompts-button{padding:8px 12px;font-size:.8125rem;width:100%;min-width:fit-content;margin-top:4px;justify-content:center;flex-shrink:0;order:3;flex:1 1 100%}.finalize-button{padding:8px 12px;font-size:.875rem;white-space:nowrap;width:auto;margin-top:0;flex-shrink:0}.approval-container{flex-direction:column;height:auto}.scene-list{width:100%;border-right:none;border-bottom:1px solid #e5e7eb;padding:12px;max-height:none;overflow-y:visible;flex-shrink:0}.scene-list h2{font-size:1rem;margin:0 0 10px}.scene-items{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.scene-items::-webkit-scrollbar{height:4px}.scene-items::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.scene-items::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.scene-item{flex:0 0 auto;min-width:120px;max-width:140px;padding:10px;scroll-snap-align:start}.scene-item-header{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:2px}.scene-number{font-size:.875rem}.scene-type{font-size:.6875rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.approval-badge{font-size:.5625rem;padding:2px 5px}.regeneration-progress-mini{margin-top:4px}.regeneration-status{font-size:.625rem!important}.scene-preview{flex:1;padding:16px;overflow-y:auto}.preview-header{margin-bottom:16px;flex-wrap:wrap;gap:8px}.preview-header h2{font-size:1.25rem}.preview-content{max-width:100%}.video-container{margin-bottom:16px;border-radius:8px}.no-video{height:200px;margin-bottom:16px;border-radius:8px}.scene-details{margin-bottom:16px}.detail-section{margin-bottom:12px}.detail-section h3{font-size:.875rem;margin-bottom:4px}.detail-section p{font-size:.875rem;line-height:1.5}.detail-row{flex-direction:column;gap:8px;margin-top:12px}.detail-item{font-size:.8125rem}.action-buttons{flex-direction:row;gap:10px;margin-top:16px;position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;margin-left:-16px;margin-right:-16px;padding:12px 16px}.approve-button,.reject-button{flex:1;font-size:.875rem;padding:12px 16px;min-height:44px;height:44px;border-radius:10px}.rejected-actions{flex-direction:row;gap:10px;margin-top:16px}.edit-prompt-button,.regenerate-button{flex:1;font-size:.875rem;padding:12px 16px;min-height:44px;border-radius:10px}.approved-notice,.rejected-notice{padding:10px 12px;border-radius:8px;margin-top:12px}.approved-notice p,.rejected-notice p{font-size:.875rem}.approved-notice small,.rejected-notice small{font-size:.75rem}.regenerating-container{padding:16px;border-radius:10px}.regenerating-container h3{font-size:1rem}.regenerating-container p{font-size:.875rem}.regenerating-header{flex-direction:column;text-align:center;gap:12px}.regenerating-banner{padding:10px 12px;margin:0 0 12px;border-radius:8px}.regenerating-banner-content{flex-wrap:wrap;gap:8px}.regenerating-scene-tag{font-size:.6875rem;padding:2px 5px;margin-left:4px}.regenerating-note{font-size:.6875rem;padding-left:0;margin-top:6px}.alert{padding:10px 12px;margin:0 16px 12px;border-radius:8px;font-size:.875rem}.alert p{font-size:.875rem}.alert button{font-size:.75rem;padding:0;min-height:auto}.info-notice{padding:10px 12px!important;border-radius:8px!important;margin-bottom:12px!important}.info-notice p{font-size:.8125rem!important}.read-only-notice{padding:12px!important;border-radius:8px!important}.read-only-notice p{font-size:.8125rem!important}}@media (max-width: 768px){.regeneration-steps-grid{grid-template-columns:repeat(2,1fr)!important;gap:.375rem!important}.regeneration-steps-grid>div{padding:.5rem!important;font-size:.8125rem}.regeneration-steps-grid>div>div:first-child{font-size:.75rem!important}.regeneration-steps-grid>div>div:last-child{font-size:.625rem!important}}@media (max-width: 400px){.approval-header{padding:10px 12px}.header-content h1{font-size:.9375rem}.approval-stats{gap:4px}.stat{font-size:.6875rem}.status-badge{font-size:.625rem;padding:2px 4px}.view-prompts-button{padding:6px 10px;font-size:.75rem;width:100%}.finalize-button{width:100%}.scene-list{padding:10px}.scene-item{min-width:100px;max-width:120px;padding:8px}.scene-number{font-size:.8125rem}.scene-preview{padding:12px}.preview-header h2{font-size:1.125rem}.action-buttons{padding:10px 12px;margin-left:-12px;margin-right:-12px}.approve-button,.reject-button{font-size:.8125rem;padding:10px 12px;min-height:40px;height:40px}.edit-prompt-button,.regenerate-button{font-size:.8125rem;padding:10px 12px;min-height:40px}}.question-sets-admin{min-height:100vh;background:#fafbfc;padding:0;width:100%;max-width:100%;overflow-x:visible;box-sizing:border-box}.page-header{background:#fff;border-bottom:1px solid #e1e5e9;padding:1.5rem 2rem;width:100%;max-width:100%;box-sizing:border-box;overflow:visible;position:relative}.header-nav{margin-bottom:1rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#6b7280;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.back-link:hover{color:#374151}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;min-width:0;overflow:visible;position:relative}.header-text{flex:1;min-width:0;overflow:hidden}.header-text h1{margin:0 0 .5rem;font-size:1.875rem;font-weight:600;color:#111827;letter-spacing:-.025em}.header-text p{margin:0;color:#6b7280;font-size:1rem;line-height:1.5}.header-content .primary-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;padding:.75rem 1.25rem!important;background:#111827!important;color:#fff!important;border:none!important;border-radius:6px!important;font-weight:500!important;font-size:.875rem!important;cursor:pointer!important;transition:all .2s ease!important;white-space:nowrap!important;flex-shrink:0!important;min-width:fit-content!important;max-width:none!important;overflow:visible!important;position:relative!important;z-index:1!important}.primary-btn:hover{background:#1f2937!important;transform:translateY(-1px)!important}.primary-btn svg{display:inline-block!important;flex-shrink:0!important;width:16px!important;height:16px!important}.status-overview{padding:1.5rem 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;background:#fff;border-bottom:1px solid #e1e5e9}.status-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.status-icon{width:40px;height:40px;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7280}.status-content h3{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#374151}.status-content p{margin:0;font-size:.875rem;color:#6b7280}.content-section{padding:1.5rem 2rem}.section-header{margin-bottom:1.5rem}.section-header h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#111827}.section-header p{margin:0;color:#6b7280;font-size:.875rem}.table-container{background:#fff;border:1px solid #e1e5e9;border-radius:8px;overflow:hidden}.question-sets-table{width:100%;border-collapse:collapse}.question-sets-table th{background:#f9fafb;padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e1e5e9}.question-sets-table td{padding:1rem;border-bottom:1px solid #f3f4f6;vertical-align:top}.question-sets-table tr:last-child td{border-bottom:none}.question-sets-table tr:hover{background:#f9fafb}.active-row{background:#f0f9ff!important}.active-row:hover{background:#e0f2fe!important}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.set-info{min-width:0}.set-name{font-weight:500;color:#111827;margin-bottom:.25rem}.set-description{font-size:.875rem;color:#6b7280;line-height:1.4}.audience-tag{display:inline-block;padding:.25rem .75rem;background:#f3f4f6;color:#374151;border-radius:4px;font-size:.75rem;font-weight:500}.question-count{font-weight:500;color:#374151}.version{font-family:SF Mono,Monaco,monospace;font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px}.created-date{font-size:.875rem;color:#6b7280}.action-buttons{display:flex;gap:.25rem}.action-btn{width:32px;height:32px;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;background:#f9fafb;color:#6b7280}.action-btn:hover{background:#f3f4f6;color:#374151}.action-btn.activate{color:#059669}.action-btn.activate:hover{background:#dcfce7;color:#047857}.action-btn.edit{color:#2563eb}.action-btn.edit:hover{background:#dbeafe;color:#1d4ed8}.action-btn.preview{color:#059669}.action-btn.preview:hover{background:#dcfce7;color:#047857}.action-btn.clone{color:#7c2d12}.action-btn.clone:hover{background:#fed7aa;color:#9a3412}.action-btn.delete{color:#dc2626}.action-btn.delete:hover{background:#fee2e2;color:#b91c1c}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.close-btn{width:32px;height:32px;border:none;background:none;color:#9ca3af;font-size:1.25rem;cursor:pointer;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f3f4f6;color:#6b7280}.modal-form{padding:1.5rem;overflow-y:auto;flex:1;max-height:calc(90vh - 120px)}.form-field{margin-bottom:1.25rem}.form-field label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:#374151}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;color:#111827;transition:border-color .2s ease}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb;background:#fff;flex-shrink:0}.secondary-btn{padding:.625rem 1rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.secondary-btn:hover{background:#f9fafb;border-color:#9ca3af}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.loading-state{color:#6b7280;background:transparent}.animate-spin{animation:spin 1s linear infinite}.loading-state .animate-spin{margin-bottom:1rem;color:#2563eb}.loading-state p{margin:0;font-size:.875rem;font-weight:500}.error-state{color:#dc2626}.error-state p{margin:0 0 1rem;font-size:.875rem;font-weight:500}.error-state button{padding:.625rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.error-state button:hover{background:#b91c1c}@media (max-width: 768px){.question-sets-admin{padding:0}.page-header{padding:1rem!important;overflow:visible}.header-content{flex-direction:row!important;gap:1rem!important;align-items:center!important;align-content:center!important;overflow:visible;width:100%!important}.header-text{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important}.header-text{flex:1!important;min-width:0!important;max-width:none!important;overflow:visible}.header-text h1{font-size:1.25rem!important;margin-bottom:.25rem!important;line-height:1.2!important}.header-text p{font-size:.75rem!important;line-height:1.4!important;margin-bottom:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.header-content .primary-btn{flex-shrink:0!important;padding:.625rem 1rem!important;font-size:.75rem!important;white-space:nowrap!important;min-width:fit-content!important}.header-content .primary-btn svg{width:14px!important;height:14px!important}.status-overview{padding:1rem;grid-template-columns:1fr}.content-section{padding:1rem}.table-container{overflow-x:auto}.question-sets-table{min-width:700px}.form-row{grid-template-columns:1fr}.modal{width:95%;margin:1rem}}@media (max-width: 480px){.page-header{padding:.75rem!important}.header-content{gap:.75rem!important}.header-text h1{font-size:1.125rem!important}.header-text p{font-size:.6875rem!important;-webkit-line-clamp:2}.header-content .primary-btn{padding:.5rem .75rem!important;font-size:.6875rem!important}.header-content .primary-btn svg{width:12px!important;height:12px!important}}.reset-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.reset-password-container{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:400px;text-align:center}.reset-password-container h1{color:#333;margin-bottom:10px;font-size:28px;font-weight:600}.reset-password-container p{color:#666;margin-bottom:30px;line-height:1.5}.reset-password-form{text-align:left}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{width:100%;padding:12px 48px 12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .2s ease;box-sizing:border-box}.password-input-container input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:#666;padding:4px;border-radius:4px;transition:color .2s ease,background-color .2s ease;display:flex;align-items:center;justify-content:center}.password-toggle-btn:hover{color:#333;background-color:#f5f5f5}.password-toggle-btn:focus{outline:2px solid #667eea;outline-offset:2px}.password-toggle-btn svg{width:20px;height:20px}.form-group input:not([type=password]):not([type=text]){width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .2s ease;box-sizing:border-box}.form-group input:not([type=password]):not([type=text]):focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-primary{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 20px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{color:#e74c3c;background:#fdf2f2;border:1px solid #fecaca;border-radius:6px;padding:12px;margin:15px 0;font-size:14px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@media (max-width: 480px){.reset-password-container{padding:30px 20px;margin:10px}.reset-password-container h1{font-size:24px}}.character-form-section{padding:2.5rem;background:linear-gradient(135deg,#fff,#fafbfc);border-radius:20px;box-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden}.character-form-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:20px 20px 0 0}.section-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#667eea4d,#764ba24d) border-box;border-image:linear-gradient(90deg,#667eea4d,#764ba24d) 1;position:relative}.section-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#667eea4d,#764ba24d)}.section-header h3{margin:0 0 .75rem;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#1f2937,#4b5563);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.section-header p{margin:0;color:#6b7280;font-size:1.125rem;font-weight:400;line-height:1.6}.section-note{margin-top:2rem;padding:1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:.875rem;color:#0c4a6e}.section-note p{margin:0}.info-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.9rem;color:#92400e;line-height:1.6;box-shadow:0 2px 8px #f59e0b26}.info-banner strong{color:#78350f;font-weight:600}.form-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-field{display:flex;flex-direction:column;gap:.75rem;position:relative}.form-field.full-width{grid-column:1 / -1}.form-field-group{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:linear-gradient(135deg,#fff9,#f8fafccc);border-radius:16px;border:1px solid rgba(226,232,240,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-field-group:has(.height-inputs){flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:1rem}.form-field-group:has(.height-inputs)>label{margin-bottom:0;white-space:nowrap;line-height:1;display:flex;align-items:center}.form-field-group:has(.height-inputs) .height-inputs{align-items:center;flex-shrink:0}.form-field-group:has(.height-inputs) .height-inputs .form-field{align-items:center}.form-field-group:has(.height-inputs) .height-inputs .form-field input{margin:0;vertical-align:middle;height:38px;padding-top:0;padding-bottom:0}.form-field-group:has(.height-inputs) .height-inputs .form-field span{line-height:38px}.form-field label{font-weight:600;color:#374151;font-size:.9rem;margin-bottom:.25rem;letter-spacing:.025em}.form-field input,.form-field select,.form-field textarea{padding:1rem 1.25rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;font-weight:400;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#fff,#f8fafc);position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-field select{padding-right:2.5rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea26;transform:translateY(-1px);background:#fff}.form-field input:hover:not(:focus),.form-field select:hover:not(:focus),.form-field textarea:hover:not(:focus){border-color:#cbd5e1;box-shadow:0 2px 8px #0000001a}.form-field input.error,.form-field select.error,.form-field textarea.error{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a,0 4px 12px #ef444426;background:linear-gradient(135deg,#fef2f2,#fff)}.form-field textarea{resize:vertical;min-height:80px}.error-message{color:#ef4444;font-size:.75rem;font-weight:500}.height-inputs{display:flex;flex-direction:row;gap:.75rem;align-items:center}.height-inputs .form-field{flex:1;display:flex;flex-direction:row;align-items:center;gap:.5rem;margin:0}.height-inputs .form-field input{width:70px;min-width:60px;text-align:center}.height-inputs .form-field span{color:#6b7280;font-size:.875rem;font-weight:500;white-space:nowrap}.checkbox-label{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:#374151;padding:.75rem 0;font-size:.9rem;vertical-align:top}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;margin:0;cursor:pointer;accent-color:#667eea;flex-shrink:0;border:2px solid #d1d5db;border-radius:4px;transition:all .2s ease;vertical-align:middle}.checkbox-label input[type=checkbox]:checked{background-color:#667eea;border-color:#667eea}.checkbox-label input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #667eea1a}.checkbox-label input[type=checkbox]:hover{border-color:#9ca3af}.collapsible-section{margin-bottom:2.5rem;border:2px solid rgba(226,232,240,.5);border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#fffc,#f8fafce6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1)}.collapsible-section:hover{transform:translateY(-2px);box-shadow:0 20px 35px -3px #00000026,0 8px 15px -2px #00000014;border-color:#667eea4d}.section-toggle-header{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 2rem;background:linear-gradient(135deg,#667eea0d,#764ba20d);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-bottom:1px solid rgba(226,232,240,.3);position:relative;overflow:hidden}.section-toggle-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea1a,#764ba21a);opacity:0;transition:opacity .3s ease}.section-toggle-header:hover:before{opacity:1}.section-toggle-header:hover{background:linear-gradient(135deg,#667eea14,#764ba214);transform:translateY(-1px)}.section-toggle-header h4{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.section-toggle-header p{margin:.25rem 0 0;font-size:.875rem;color:#6b7280}.section-content{padding:1.5rem;background:#fff}.physical-form .collapsible-section:last-child{margin-bottom:0}.states-container{display:grid;gap:2rem;grid-template-columns:1fr 1fr}.state-section{padding:1.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.state-section h5{margin:0 0 1.5rem;font-size:1.125rem;font-weight:600;color:#374151;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.reference-images-form .upload-guidelines{margin-bottom:2rem;padding:1.5rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.upload-guidelines h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#0c4a6e}.upload-guidelines ul{margin:0;padding-left:1.25rem;color:#1e40af}.upload-guidelines li{margin-bottom:.5rem;font-size:.875rem}.uploaded-photos{margin-bottom:2rem}.uploaded-photos h4{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#374151}.photos-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.photo-item{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.photo-preview{position:relative;aspect-ratio:1;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.remove-photo-btn{position:absolute;top:.5rem;right:.5rem;background:#000000b3;color:#fff;border:none;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.remove-photo-btn:hover{background:#ef4444cc}.upload-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center}.upload-spinner{width:2rem;height:2rem;border:2px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.photo-metadata{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.metadata-field{display:flex;flex-direction:column;gap:.25rem}.metadata-field label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.metadata-field select{padding:.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;background:#fff}.upload-section{margin-bottom:2rem}.upload-section h4{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#374151}.character-image-upload{border:2px dashed #d1d5db;border-radius:8px;background:#f9fafb}.photo-requirements{margin-top:2rem;padding:1.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.photo-requirements h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#475569}.requirement-list{display:flex;flex-direction:column;gap:.75rem}.requirement-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.requirement-item.completed{color:#166534}.requirement-item.pending{color:#6b7280}.requirement-item svg{flex-shrink:0}.form-field-error{margin-top:1rem}@media (max-width: 1440px){.states-container{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 1024px){.form-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.photos-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}}@media (max-width: 768px){.character-form-section{padding:1rem;border-radius:12px}.character-form-section:before{border-radius:12px 12px 0 0}.section-header{margin-bottom:1.5rem;padding-bottom:1rem}.section-header h3{font-size:1.35rem}.section-header p{font-size:.95rem}.form-grid{grid-template-columns:1fr;gap:1.25rem}.form-field-group{padding:1rem;border-radius:10px}.form-field-group:has(.height-inputs){flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.75rem;padding:.875rem 1rem}.form-field input,.form-field select,.form-field textarea{padding:.75rem .875rem;border-radius:8px;font-size:.875rem}.height-inputs{flex-direction:row;gap:.5rem}.height-inputs .form-field input{width:70px;min-width:60px}.states-container{grid-template-columns:1fr;gap:1.25rem}.state-section{padding:1rem;border-radius:10px}.photos-grid{grid-template-columns:1fr;gap:1rem}.collapsible-section{margin-bottom:1.5rem;border-radius:12px}.section-toggle-header{padding:1rem 1.25rem}.section-toggle-header h4{font-size:1rem}.section-toggle-header p{font-size:.85rem}.section-content{padding:1rem}.info-banner{padding:.875rem 1rem;font-size:.85rem;margin-bottom:1.25rem}}@media (max-width: 480px){.character-form-section{padding:.75rem;border-radius:10px}.character-form-section:before{border-radius:10px 10px 0 0}.section-header{margin-bottom:1rem;padding-bottom:.75rem}.section-header h3{font-size:1.125rem}.section-header p{font-size:.85rem}.form-grid{gap:1rem}.form-field-group{padding:.75rem;border-radius:8px}.form-field-group:has(.height-inputs){flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.5rem;padding:.625rem .75rem}.form-field-group:has(.height-inputs)>label{font-size:.85rem;min-width:auto}.form-field-group:has(.height-inputs) .height-inputs .form-field input{height:34px}.form-field-group:has(.height-inputs) .height-inputs .form-field span{line-height:34px}.form-field input,.form-field select,.form-field textarea{padding:.625rem .75rem;border-radius:8px;font-size:.875rem}.height-inputs{flex-direction:row;gap:.375rem;justify-content:flex-start}.height-inputs .form-field{flex:0 0 auto;gap:.25rem}.height-inputs .form-field input{width:60px;min-width:55px;padding:0 .5rem;font-size:.875rem}.height-inputs .form-field span{font-size:.75rem}.states-container{gap:1rem}.state-section{padding:.75rem;border-radius:8px}.state-section h5{font-size:.95rem;margin-bottom:.75rem;padding-bottom:.5rem}.collapsible-section{margin-bottom:1rem;border-radius:10px}.section-toggle-header{padding:.75rem 1rem}.section-toggle-header h4{font-size:.9rem}.section-toggle-header p{font-size:.75rem}.section-content{padding:.75rem}.upload-guidelines,.photo-requirements{padding:.75rem;border-radius:8px}.remove-photo-btn{width:1.5rem;height:1.5rem}.checkbox-label{gap:.5rem;padding:.375rem 0;font-size:.85rem}.checkbox-label input[type=checkbox]{width:.875rem;height:.875rem}.info-banner{padding:.75rem;font-size:.8rem;margin-bottom:1rem;border-radius:8px}}.section-content{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ref-upload-container{display:flex;flex-direction:column;gap:1.5rem;padding:1rem;max-width:500px;margin:0 auto}.ref-upload-container .upload-desc{color:#6b7280;font-size:1rem;line-height:1.6;margin:0;text-align:center}.ref-upload-container .upload-note{background:#fef3c7;border:1px solid #fbbf24;border-radius:12px;padding:1rem 1.5rem;color:#92400e;font-size:.95rem}.ref-upload-container .cancel-btn{align-self:center;margin-top:1rem;padding:.75rem 1.5rem;font-size:.95rem;color:#6b7280;background:transparent;border:1px solid #d1d5db;border-radius:10px;cursor:pointer;transition:all .2s ease}.ref-upload-container .cancel-btn:hover{background:#f9fafb;color:#374151;border-color:#9ca3af}.ref-preview-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem;max-width:500px;margin:0 auto}.ref-preview-container .ref-preview-img{width:100%;max-width:350px;height:auto;border-radius:16px;box-shadow:0 8px 20px #00000026;border:2px solid #e5e7eb;object-fit:contain}.ref-preview-container .ref-btn-group{display:flex;gap:.75rem;width:100%}.ref-preview-container .btn-replace,.ref-preview-container .btn-use{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;border-radius:10px;cursor:pointer;border:none;transition:all .2s ease}.ref-preview-container .btn-replace{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 10px 25px -5px #667eea66}.ref-preview-container .btn-replace:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#64408b);transform:translateY(-2px);box-shadow:0 15px 35px -5px #667eea80}.ref-preview-container .btn-use{background:#f3f4f6;color:#374151;border:2px solid #d1d5db;box-shadow:0 4px 12px #00000014}.ref-preview-container .btn-use:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.ref-preview-container .btn-use:disabled{opacity:.6;cursor:not-allowed}.ref-preview-container .spin{animation:spin 1s linear infinite}.ref-preview-container .validation-warning{width:100%;padding:.875rem 1.25rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:10px;color:#92400e;font-size:.9rem;line-height:1.5;text-align:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.ref-upload-container,.ref-preview-container{padding:.75rem;max-width:100%}.ref-preview-container .ref-preview-img{max-width:100%}}@media (max-width: 480px){.ref-upload-container,.ref-preview-container{gap:1rem}}.physical-characteristics-page{padding:2rem;max-width:1000px;margin:0 auto}.physical-characteristics-page .success-card{background:#fff;padding:3rem;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000001a}.physical-characteristics-page .loading-card{padding:3rem;text-align:center;background:#fff;border-radius:12px}@media (max-width: 768px){.physical-characteristics-page{padding:1rem}.physical-characteristics-page .success-card,.physical-characteristics-page .loading-card{padding:2rem 1.5rem;border-radius:10px}}@media (max-width: 480px){.physical-characteristics-page{padding:.5rem}.physical-characteristics-page .success-card,.physical-characteristics-page .loading-card{padding:1.5rem 1rem;border-radius:8px}.physical-characteristics-page .success-card h2{font-size:1.25rem}.physical-characteristics-page .success-card p{font-size:.9rem}.physical-characteristics-page .success-card button{width:100%;padding:.875rem 1.5rem;font-size:.9rem}}.character-profile-form{max-width:1000px;margin:0 auto;padding:2.5rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding:1.5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 32px #667eea4d}.form-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.header-content{display:flex;align-items:center;gap:1rem;flex:1}.header-icon{background:#fff3;color:#fff;padding:.75rem;border-radius:12px;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.form-header h2{margin:0;font-size:1.75rem;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.form-header p{margin:.25rem 0 0;color:#ffffffe6;font-size:1rem;font-weight:400}.skip-button{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1}.skip-button:hover{background:#ffffff40;border-color:#ffffff80;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.progress-steps{display:flex;gap:1.25rem;margin-bottom:3rem;overflow-x:auto;padding:1rem 0 1.5rem;scroll-behavior:smooth}.progress-step{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:14px;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;min-width:180px;flex-shrink:0;position:relative;overflow:hidden}.progress-step:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);opacity:0;transition:opacity .3s ease}.progress-step:hover:before{opacity:1}.progress-step.pending{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;color:#64748b;box-shadow:0 4px 6px #0000000d}.progress-step.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid transparent;box-shadow:0 10px 25px #667eea4d,0 4px 12px #667eea33;transform:translateY(-2px)}.progress-step.completed{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #a7f3d0;color:#065f46;box-shadow:0 4px 12px #22c55e1a}.progress-step:hover:not(.active){transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.step-indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0;transition:all .3s ease;position:relative;overflow:hidden}.step-indicator:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fff3,#ffffff1a);opacity:0;transition:opacity .3s ease}.progress-step:hover .step-indicator:before{opacity:1}.progress-step.pending .step-indicator{background:linear-gradient(135deg,#e5e7eb,#d1d5db);color:#6b7280;box-shadow:inset 0 2px 4px #0000001a}.progress-step.active .step-indicator{background:linear-gradient(135deg,#ffffff4d,#ffffff1a);color:#fff;box-shadow:0 4px 8px #0003,inset 0 2px 4px #fff3}.progress-step.completed .step-indicator{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 8px #22c55e4d,inset 0 2px 4px #fff3}.step-content{flex:1;min-width:0}.step-title{font-weight:600;font-size:.85rem;margin-bottom:.125rem;line-height:1.2}.step-description{font-size:.7rem;opacity:.75;line-height:1.2}.form-content{min-height:400px;margin-bottom:3rem}.character-review h3{margin:0 0 2rem;font-size:1.5rem;font-weight:600;color:#1f2937}.review-sections{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.review-section{padding:1.5rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.review-section h4{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#374151}.review-section p{margin:.5rem 0;color:#6b7280;font-size:.875rem}.review-section p strong{color:#374151;font-weight:500}.form-navigation{display:flex;justify-content:flex-end;gap:1rem;padding-top:2rem;border-top:1px solid #e5e7eb}.nav-spacer{display:none}.nav-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.25rem;border-radius:10px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;text-align:center}.nav-button:disabled{opacity:.5;cursor:not-allowed}.nav-button.secondary{background:#f9fafb;color:#6b7280;border-color:#d1d5db}.nav-button.secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.nav-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 10px 25px #667eea4d,0 4px 12px #667eea33;position:relative;overflow:hidden}.nav-button.primary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fff3,#ffffff1a);opacity:0;transition:opacity .3s ease}.nav-button.primary:hover:not(:disabled):before{opacity:1}.nav-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 35px #667eea66,0 8px 20px #667eea4d}@media (max-width: 1024px){.character-profile-form{max-width:95%;padding:2rem}.progress-steps{gap:1rem}.progress-step{min-width:160px}}@media (max-width: 768px){.character-profile-form{padding:1.5rem;margin:1rem;border-radius:16px}.form-header{flex-direction:row;gap:1rem;align-items:center;margin-bottom:2rem;padding:1.25rem 1.5rem}.form-header .skip-button{flex-shrink:0;padding:.625rem 1rem;font-size:.8rem}.header-content{gap:.75rem}.header-icon{padding:.5rem;border-radius:10px}.form-header h2{font-size:1.25rem}.form-header p{font-size:.8rem}.progress-steps{flex-direction:column;gap:1rem;padding:.5rem 0 1rem}.progress-step{min-width:auto;padding:.875rem 1rem;border-radius:12px}.step-indicator{width:28px;height:28px;font-size:.75rem}.review-sections{grid-template-columns:1fr;gap:1.5rem}.form-navigation{flex-direction:row;justify-content:flex-end;gap:1rem;flex-wrap:wrap}.nav-button{justify-content:center;padding:1rem 1.5rem;border-radius:12px;min-width:120px}}@media (max-width: 480px){.character-profile-form{padding:1rem;margin:.5rem}.form-header{flex-direction:row;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.form-header .skip-button{flex-shrink:0;padding:.5rem .75rem;font-size:.75rem}.header-icon{padding:.375rem;border-radius:8px}.form-header h2{font-size:1.1rem}.form-header p{font-size:.75rem}.progress-steps{margin-bottom:2rem}.progress-step{padding:.75rem 1rem;gap:.75rem}.step-indicator{width:32px;height:32px}.step-title{font-size:.8rem}.step-description{font-size:.7rem}.form-navigation{flex-direction:row;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.nav-button{padding:.875rem 1rem;font-size:.8rem}}.form-content{opacity:1;transform:translateY(0);transition:all .4s cubic-bezier(.4,0,.2,1);animation:slideInUp .6s ease-out}.form-content.transitioning{opacity:0;transform:translateY(20px)}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.form-field{animation:slideInFromLeft .5s ease-out}.form-field:nth-child(1){animation-delay:.1s}.form-field:nth-child(2){animation-delay:.2s}.form-field:nth-child(3){animation-delay:.3s}.form-field:nth-child(4){animation-delay:.4s}.form-field:nth-child(5){animation-delay:.5s}.form-field:nth-child(6){animation-delay:.6s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.public-viewer-page{min-height:100vh;background:linear-gradient(135deg,#0f0f23,#1a1a2e);color:#fff}.public-viewer-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:10}.header-back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff1a;color:#fff;transition:all .2s ease;flex-shrink:0}.header-back-button:hover{background:#fff3;transform:scale(1.05)}.header-title-group{flex:1;min-width:0}.header-title{font-size:1.125rem;font-weight:600;margin:0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-meta{font-size:.75rem;color:#fff9;display:block;margin-top:.25rem}.public-viewer-container{max-width:1400px;margin:0 auto;padding:1.5rem 1rem;display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.video-frame-wrapper{display:flex;justify-content:center;width:100%}.video-frame-container{width:100%;max-width:450px;margin:0 auto}.video-frame{position:relative;width:100%;aspect-ratio:4 / 5;max-height:70vh;background:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a;display:flex;align-items:center;justify-content:center}@media (min-height: 800px){.video-frame{max-height:700px}}.video-player{width:100%;height:100%;max-height:70vh;object-fit:contain;background:#000;border-radius:16px}.details-panel{width:100%;max-width:500px;margin:0 auto}.details-content{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.25rem;border:1px solid rgba(255,255,255,.1)}.details-title-mobile{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;color:#fff;display:none}.details-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#fffc}.meta-icon{width:16px;height:16px;flex-shrink:0;color:#fff9}.details-description{margin-bottom:1.5rem}.details-description p{font-size:.9375rem;line-height:1.6;color:#ffffffe6;margin:0}.details-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.125rem;font-weight:600;color:#fff}@media (min-width: 768px){.public-viewer-container{grid-template-columns:1fr 1fr;gap:2rem;padding:2rem 1.5rem;align-items:start}.video-frame-container{max-width:500px;position:sticky;top:100px}.video-frame{max-height:65vh}.details-panel{max-width:none}.details-content{padding:1.5rem}}@media (min-width: 1024px){.public-viewer-container{grid-template-columns:1.2fr 1fr;gap:2.5rem;padding:2.5rem 1.5rem}.video-frame-container{max-width:500px}.video-frame{max-height:75vh}.header-title{font-size:1.25rem}.details-title-mobile{display:block}}@media (min-width: 1280px){.public-viewer-container{max-width:1600px;grid-template-columns:1fr 1fr}.video-frame-container{max-width:500px}.video-frame{max-height:80vh}}@media (max-width: 640px){.public-viewer-header{padding:.75rem 1rem}.header-title{font-size:1rem}.header-meta{font-size:.6875rem}.public-viewer-container{padding:1rem;gap:1.25rem}.video-frame-container{max-width:100%}.video-frame{border-radius:12px;max-height:60vh}.details-content{padding:1rem;border-radius:12px}.details-title-mobile{display:block;font-size:1.125rem;margin-bottom:1rem}.details-meta{flex-direction:column;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem}.details-stats{grid-template-columns:1fr;gap:.75rem}}.video-player::-webkit-media-controls-panel{background-color:#00000080}.video-player::-webkit-media-controls-play-button{background-color:#fff3;border-radius:50%}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:#fffc;font-size:.875rem;margin:0}@keyframes spin{to{transform:rotate(360deg)}}
