:root{--primary: #6366f1;--primary-dark: #4f46e5;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--secondary: #6b7280;--bg: #f9fafb;--card: #ffffff;--text: #111827;--text-muted: #6b7280;--border: #e5e7eb}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3rem 0;text-align:center}.header h1{font-size:2.5rem;margin-bottom:.5rem}.header p{font-size:1.1rem;opacity:.95}.container{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%}main.container{flex:1;padding:2rem}.input-section{background:var(--card);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.controls{display:flex;gap:1rem;margin-bottom:1rem}.model-select{flex:1;padding:.75rem;border:2px solid var(--border);border-radius:8px;font-size:1rem}.transcript-input{width:100%;padding:1rem;border:2px solid var(--border);border-radius:8px;font-size:1rem;font-family:Courier New,monospace;resize:vertical;margin-bottom:1rem}.transcript-input:focus{outline:none;border-color:var(--primary)}.btn-primary,.btn-secondary{padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.btn-primary{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--secondary);color:#fff}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background:#fee;color:#c33;padding:1rem;border-radius:8px;margin-bottom:2rem;border-left:4px solid var(--danger)}.results{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.summary-card{background:var(--card);padding:1.5rem;border-radius:12px;margin-bottom:2rem;border-left:4px solid var(--primary);box-shadow:0 2px 8px #0000001a}.summary-card h3{margin-bottom:.75rem;color:var(--primary)}.tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid var(--border)}.tab{padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-muted);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{background:var(--card);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.stats{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg);border-radius:8px}.stats span{font-weight:600}.backlog-item{border:2px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1rem;transition:all .2s}.backlog-item:hover{border-color:var(--primary);box-shadow:0 4px 12px #667eea26}.item-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.item-id{background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:6px;font-weight:700;font-size:.875rem}.item-header h4{flex:1;min-width:200px}.item-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:#fff}.badge-success{background:var(--success)}.badge-warning{background:var(--warning)}.user-story{background:var(--bg);padding:1rem;border-radius:8px;margin-bottom:1rem;font-style:italic}.missing-info{background:#fef3c7;border-left:4px solid var(--warning);padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:start;gap:.5rem}.acceptance-criteria h5{margin-bottom:.75rem;color:var(--text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.acceptance-criteria ul{list-style:none}.acceptance-criteria li{padding:.75rem;background:var(--bg);border-left:3px solid var(--success);border-radius:6px;margin-bottom:.5rem}.test-type{background:var(--primary);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;margin-right:.5rem;font-weight:600}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:768px){.two-column{grid-template-columns:1fr}}.decision-card,.risk-card{background:var(--bg);padding:1.5rem;border-radius:12px;margin-bottom:1rem;border-left:4px solid var(--primary)}.risk-card{border-left-color:var(--warning)}.owner{color:var(--text-muted);font-size:.875rem;margin-top:.5rem}.risk-header{display:flex;justify-content:space-between;margin-bottom:.75rem}.risk-category{font-weight:700;color:var(--primary)}.impact{padding:.25rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:#fff}.impact-high{background:var(--danger)}.impact-medium{background:var(--warning)}.impact-low{background:var(--success)}.mitigation{margin-top:.75rem;font-size:.9375rem;color:var(--text-muted)}.release-note{background:var(--bg);padding:1.5rem;border-radius:12px;margin-bottom:1rem;border-left:4px solid var(--success)}.audience-badge{display:inline-block;background:var(--info);color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.875rem;margin:.5rem 0}.empty-state{text-align:center;color:var(--text-muted);padding:2rem}.footer{background:var(--card);border-top:1px solid var(--border);padding:2rem;text-align:center;color:var(--text-muted);margin-top:4rem}.scope-view{animation:slideIn .3s ease-out}.scope-header{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:768px){.scope-header{grid-template-columns:1fr}}.overall-risk{background:var(--bg);padding:2rem;border-radius:12px;border-left:6px solid var(--warning);text-align:center}.overall-risk h3{margin-bottom:1rem;color:var(--text-muted);font-size:1rem;text-transform:uppercase;letter-spacing:1px}.risk-badge{display:inline-block;padding:.75rem 2rem;border-radius:30px;color:#fff;font-weight:700;font-size:1.5rem;margin:1rem 0}.overall-risk p{margin-top:1rem;color:var(--text);line-height:1.6}.scope-metrics{background:var(--bg);padding:2rem;border-radius:12px}.scope-metrics h4{margin-bottom:1.5rem;color:var(--text)}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.metric{background:#fff;padding:1rem;border-radius:8px;text-align:center;border:2px solid var(--border)}.metric-value{display:block;font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:.5rem}.metric-label{display:block;font-size:.875rem;color:var(--text-muted)}.scope-alert{background:#fff;border:2px solid var(--border);border-left:6px solid var(--warning);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.alert-category{font-weight:700;color:var(--primary);font-size:1.1rem}.severity-badge{padding:.375rem 1rem;border-radius:20px;color:#fff;font-weight:600;font-size:.875rem}.alert-description{margin-bottom:1rem;font-size:1.1rem;line-height:1.6}.alert-quote{background:#fffbeb;border-left:4px solid var(--warning);padding:1rem;margin:1rem 0;border-radius:6px;display:flex;gap:.75rem;align-items:start}.alert-quote em{color:#92400e;flex:1}.alert-recommendation{background:#f0fdf4;border-left:4px solid var(--success);padding:1rem;margin:1rem 0;border-radius:6px}.impacted-items{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.9375rem}.tab-badge{display:inline-block;min-width:20px;height:20px;border-radius:10px;padding:0 6px;margin-left:.5rem;font-size:.75rem;font-weight:700;line-height:20px;text-align:center;color:#fff}.empty-state.success{background:#f0fdf4;color:#166534;border-left:4px solid var(--success)}.demo-banner{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1.5rem;border-radius:8px;margin-top:1rem;display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.9rem}.demo-banner svg{flex-shrink:0}.link-button{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer;font-size:.9rem;margin-left:.5rem;padding:0}.link-button:hover{opacity:.8}.api-info-box{background:#fff;color:var(--text);padding:2rem;border-radius:12px;margin-top:1rem;text-align:left;box-shadow:0 4px 12px #00000026;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.api-info-box h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--primary)}.api-info-box ol{margin-left:1.5rem;line-height:1.8}.api-info-box ol li{margin-bottom:.75rem}.api-info-box a{color:var(--primary);text-decoration:none;font-weight:600}.api-info-box a:hover{text-decoration:underline}.api-info-box pre{background:var(--bg);padding:1rem;border-radius:6px;overflow-x:auto;font-size:.875rem;margin-top:.5rem;border:1px solid var(--border)}.api-info-box .note{background:#eff6ff;border-left:4px solid var(--info);padding:1rem;margin-top:1rem;border-radius:6px;font-size:.9rem}.error-banner.rate-limit{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;justify-content:space-between;align-items:center}.error-action-button{background:#fff;color:var(--primary);border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .2s}.error-action-button:hover{transform:translateY(-2px)}.navbar{background:var(--card);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:100}.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;padding-bottom:1rem}.navbar-brand{font-size:1.25rem;font-weight:700;color:var(--primary);text-decoration:none}.navbar-links{display:flex;align-items:center;gap:1rem}.nav-link{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.9375rem;transition:color .15s}.nav-link:hover{color:var(--primary)}.nav-link-primary{background:var(--primary);color:#fff!important;padding:.5rem 1rem;border-radius:8px}.nav-link-primary:hover{background:var(--primary-dark);color:#fff!important}.nav-user{font-weight:600;color:var(--text);font-size:.9375rem}.nav-logout{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--border);padding:.4rem .9rem;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--text-muted);transition:all .15s}.nav-logout:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.auth-page{min-height:calc(100vh - 65px);display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg)}.auth-card{background:var(--card);border-radius:16px;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 4px 24px #0000001a}.auth-card h2{font-size:1.75rem;margin-bottom:.4rem}.auth-subtitle{color:var(--text-muted);margin-bottom:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-weight:600;font-size:.9rem;color:var(--text)}.form-group input{padding:.75rem 1rem;border:2px solid var(--border);border-radius:8px;font-size:1rem;transition:border-color .15s}.form-group input:focus{outline:none;border-color:var(--primary)}.auth-form .btn-primary{margin-top:.5rem}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--text-muted);font-size:.9375rem}.auth-footer a{color:var(--primary);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.dashboard-page{padding:2rem 0 4rem;min-height:calc(100vh - 65px)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.dashboard-header .btn-primary{width:auto;white-space:nowrap}.dashboard-header h1{font-size:2rem;margin-bottom:.4rem}.dashboard-subtitle{color:var(--text-muted);max-width:540px;line-height:1.6}.create-room-form{display:flex;gap:.75rem;margin-bottom:2rem;padding:1.5rem;background:var(--card);border-radius:12px;border:2px solid var(--primary)}.create-room-form input{flex:1;padding:.75rem 1rem;border:2px solid var(--border);border-radius:8px;font-size:1rem}.create-room-form input:focus{outline:none;border-color:var(--primary)}.create-room-form .btn-primary,.create-room-form .btn-secondary{width:auto}.room-section{margin-bottom:2.5rem}.room-section h2{font-size:1.25rem;color:var(--text-muted);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px;font-size:.875rem}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.room-card{background:var(--card);border:2px solid var(--border);border-radius:12px;padding:1.5rem;transition:all .2s}.room-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #6366f126}.room-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.room-card-header h3{font-size:1.1rem}.owner-badge{background:var(--primary);color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:6px}.room-id{color:var(--text-muted);font-size:.8125rem;font-family:monospace;margin-bottom:1rem}.room-actions{display:flex;gap:.5rem}.room-join-btn{flex:1;width:auto;padding:.6rem 1rem;font-size:.9rem}.room-action-btn{width:auto;padding:.6rem .9rem;font-size:.85rem}.btn-danger{background:var(--danger);color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .9rem;font-size:.85rem;font-weight:600;transition:all .2s}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.loading-center{display:flex;justify-content:center;padding:4rem;color:var(--primary)}.conference-page{padding:1.5rem 0 4rem;min-height:calc(100vh - 65px)}.conference-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.conference-header h2{font-size:1.5rem}.btn-ghost{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--border);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--text-muted);transition:all .15s;white-space:nowrap}.btn-ghost:hover{background:var(--bg);color:var(--text)}.conference-loading{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:6rem 2rem;color:var(--primary)}.conference-loading p{font-size:1.1rem;color:var(--text-muted)}.conference-active{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}@media(max-width:900px){.conference-active{grid-template-columns:1fr}}.jitsi-container{border-radius:12px;overflow:hidden;border:2px solid var(--border);min-height:400px;background:#000}.conference-sidebar{display:flex;flex-direction:column;gap:1rem}.transcript-capture{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500}.transcript-capture.listening{background:#ecfdf5;color:#065f46;border:1px solid var(--success)}.transcript-capture.paused{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.transcript-capture.unsupported{background:#fef3c7;color:#92400e;border:1px solid var(--warning);flex-wrap:wrap;font-size:.85rem}.listening-dot{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.live-transcript-preview{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem}.live-transcript-preview h4{font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.75rem}.transcript-scroll{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.transcript-scroll p{font-size:.875rem;line-height:1.5;padding:.5rem;background:var(--bg);border-radius:6px}.post-meeting{max-width:800px;margin:0 auto}.post-meeting-header{text-align:center;margin-bottom:2rem}.post-meeting-header h2{font-size:2rem;margin-bottom:.5rem}.post-meeting-header p{color:var(--text-muted);font-size:1.05rem}.transcript-review{background:var(--card);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000012}.transcript-review-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.transcript-review-toolbar label{font-weight:600;color:var(--text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.post-meeting-actions{display:flex;gap:1rem}.post-meeting-actions .btn-primary{flex:1;width:auto}.post-meeting-actions .btn-secondary{width:auto;padding:1rem 1.5rem}.conference-error{padding:3rem 0;display:flex;flex-direction:column;gap:1.5rem;max-width:600px}.jitsi-fallback{background:var(--card);border-radius:12px;padding:1.5rem;border-left:4px solid var(--info)}.jitsi-fallback h3{margin-bottom:.75rem;color:var(--info)}.jitsi-fallback pre{background:var(--bg);padding:.75rem 1rem;border-radius:6px;font-size:.875rem;margin:.75rem 0}.jitsi-fallback code{background:var(--bg);padding:.2rem .5rem;border-radius:4px;font-size:.875rem;color:var(--primary)}.page-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.loading-spinner-large{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.join-prompt{min-height:calc(100vh - 65px);display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg)}.join-prompt-card{background:var(--card);border-radius:16px;padding:2.5rem;width:100%;max-width:460px;box-shadow:0 4px 24px #0000001a;text-align:center}.join-prompt-card h2{font-size:1.75rem;margin-bottom:.75rem}.join-room-name{font-size:1.25rem;font-weight:600;color:var(--primary);margin-bottom:.5rem}.join-description{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.6}.join-prompt-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.members-panel{background:var(--card);border:2px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;animation:slideDown .2s ease-out}.members-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.members-panel-header h3{font-size:1rem}.members-list{display:flex;flex-direction:column;gap:.5rem}.member-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:var(--bg);border-radius:8px}.member-name{font-weight:600;font-size:.9375rem;margin-right:.75rem}.member-email{color:var(--text-muted);font-size:.8125rem}.conference-view{position:relative;background:#111827;border-radius:12px;overflow:hidden}.conference-status-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);color:#fff;font-size:.875rem;z-index:10;pointer-events:none}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.connected{background:var(--success);box-shadow:0 0 6px var(--success)}.status-dot.connecting{background:var(--warning);animation:pulse 1.5s ease-in-out infinite}.status-label{flex:1}.status-participants{display:flex;align-items:center;gap:.35rem;opacity:.9}.conference-video-grid{display:flex;flex-wrap:wrap;gap:4px;padding:4px;width:100%;position:relative}.conference-video-grid .conference-video{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;background:#1f2937}.conference-video-grid.grid-2 .conference-video{width:calc(50% - 2px)}.conference-video-grid.grid-3 .conference-video,.conference-video-grid.grid-4 .conference-video{width:calc(50% - 2px);aspect-ratio:4 / 3}.conference-video-grid:not(.grid-1) .local-video{position:absolute;bottom:60px;right:12px;width:160px!important;aspect-ratio:4 / 3;z-index:5;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0006}.conference-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);z-index:10}.btn-control{width:48px;height:48px;border-radius:50%;border:none;background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-control:hover{background:#ffffff59;transform:scale(1.08)}.btn-control.muted{background:#ef4444b3}.btn-control.muted:hover{background:#ef4444e6}.btn-control.hangup{width:52px;height:52px;background:var(--danger)}.btn-control.hangup:hover{background:#dc2626;transform:scale(1.08)}.room-share-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:8px}.room-share-bar .share-label{font-size:.8rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.room-share-bar .share-url{flex:1;font-family:monospace;font-size:.8rem;color:var(--text);background:var(--bg);padding:.4rem .6rem;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.room-share-bar .btn-ghost{padding:.4rem .6rem;font-size:.8rem;flex-shrink:0}.meeting-live-badge{display:inline-flex;align-items:center;gap:.4rem;background:#ecfdf5;color:#065f46;border:1px solid var(--success);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.conference-main{min-width:0}@media(max-width:600px){.conference-view{border-radius:8px}.conference-video-grid:not(.grid-1) .local-video{width:120px!important;bottom:52px;right:8px}.btn-control{width:40px;height:40px}.btn-control.hangup{width:44px;height:44px}.conference-controls{gap:.5rem;padding:.75rem}.room-share-bar{flex-wrap:wrap}.room-share-bar .share-url{width:100%;order:3}}
