@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0a1a;color:#e2e8f0;line-height:1.6;min-height:100vh;background-image:radial-gradient(ellipse at 20% 50%,rgba(59,130,246,.08) 0,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(139,92,246,.06) 0,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(6,182,212,.05) 0,transparent 50%)}.container{max-width:1060px;margin:3rem auto;padding:2.5rem;background:rgba(15,23,42,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(148,163,184,.1);box-shadow:0 0 0 1px rgba(148,163,184,.05),0 4px 24px rgba(0,0,0,.4),0 0 60px rgba(59,130,246,.03)}h1{font-size:1.75rem;font-weight:700;margin-bottom:.25rem;background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.subtitle{color:#60a5fa;margin-bottom:.75rem;font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.step-indicator{display:flex;align-items:flex-start;gap:0;margin-bottom:2rem;padding:0 .25rem}.step-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:none;border:none;padding:0;font-family:inherit;cursor:default;flex-shrink:0}.step-item.clickable{cursor:pointer}.step-item.clickable:hover .step-node{transform:scale(1.1)}.step-item.clickable:hover .step-label{color:#34d399}.step-item:disabled{cursor:default}.step-node{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:.65rem;font-weight:600;flex-shrink:0;transition:all .3s ease;border:2px solid rgba(148,163,184,.2);background:rgba(15,23,42,.8);color:#475569}.step-icon{width:14px;height:14px}.step-node.active{border-color:#3b82f6;background:rgba(59,130,246,.15);color:#60a5fa;box-shadow:0 0 12px rgba(59,130,246,.3)}.step-node.completed{border-color:#10b981;background:rgba(16,185,129,.15);color:#34d399;box-shadow:0 0 12px rgba(16,185,129,.2)}.step-label{font-size:.6rem;font-weight:500;color:#475569;white-space:nowrap;transition:color .2s ease}.step-item.active .step-label{color:#60a5fa;font-weight:600}.step-item.completed .step-label{color:#34d399}.step-connector{flex:1 1;height:2px;margin-top:15px;background:rgba(148,163,184,.15);transition:background .3s ease}.step-connector.completed{background:linear-gradient(90deg,rgba(16,185,129,.5),rgba(16,185,129,.5))}.step-connector.active{background:linear-gradient(90deg,rgba(16,185,129,.5),rgba(59,130,246,.5))}.landing-page{position:relative;max-width:800px;margin:0 auto;padding:3rem 2rem 4rem;overflow:hidden}.landing-glow{position:fixed;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.5;animation:landing-float 12s ease-in-out infinite}.landing-glow-1{width:400px;height:400px;top:-5%;left:-5%;background:radial-gradient(circle,rgba(59,130,246,.25) 0,transparent 70%);animation-delay:0s}.landing-glow-2{width:350px;height:350px;top:30%;right:-10%;background:radial-gradient(circle,rgba(139,92,246,.2) 0,transparent 70%);animation-delay:-4s;animation-duration:15s}.landing-glow-3{width:300px;height:300px;bottom:5%;left:15%;background:radial-gradient(circle,rgba(6,182,212,.18) 0,transparent 70%);animation-delay:-8s;animation-duration:18s}@keyframes landing-float{0%,to{transform:translateY(0) scale(1)}33%{transform:translateY(-18px) scale(1.05)}66%{transform:translateY(12px) scale(.97)}}.landing-hero{text-align:center;margin-bottom:3rem;position:relative;z-index:1}.landing-badge{display:inline-block;padding:.3rem .9rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#60a5fa;background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.2);border-radius:20px;margin-bottom:1.25rem}.landing-title{font-size:2.5rem;font-weight:800;line-height:1.15;letter-spacing:-.03em;margin-bottom:1rem;background:linear-gradient(135deg,#f1f5f9,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-gradient-text{background:linear-gradient(135deg,#60a5fa,#a78bfa 50%,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-tagline{color:#94a3b8;font-size:1.1rem;line-height:1.65;max-width:560px;margin:0 auto 2rem}.landing-cta-row{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.landing-cta{display:inline-flex;padding:.85rem 2.5rem;font-size:1.05rem;text-decoration:none}.landing-cta-secondary{padding:.85rem 1.5rem;color:#94a3b8;font-size:.95rem;font-weight:600;text-decoration:none;border:1px solid rgba(148,163,184,.2);border-radius:10px;transition:all .2s ease}.landing-cta-secondary:hover{color:#e2e8f0;border-color:rgba(148,163,184,.4);background:rgba(148,163,184,.08)}.landing-sections{display:flex;flex-direction:column;gap:2rem;position:relative;z-index:1}.landing-section{background:rgba(15,23,42,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(148,163,184,.1);border-radius:16px;padding:1.75rem}.landing-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.15rem;font-weight:700;color:#e2e8f0;margin-bottom:1.25rem;letter-spacing:-.01em}.landing-section-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;flex-shrink:0}.landing-section-icon svg{width:18px;height:18px}.landing-section-icon-blue{background:rgba(59,130,246,.15);color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.landing-section-icon-purple{background:rgba(139,92,246,.15);color:#a78bfa;border:1px solid rgba(139,92,246,.2)}.landing-features{list-style:none;display:flex;flex-direction:column;gap:.6rem}.landing-feature-item{display:flex;align-items:flex-start;gap:1rem;padding:.85rem 1rem;border-radius:10px;border:1px solid transparent;transition:all .2s ease}.landing-feature-item:hover{background:hsla(0,0%,100%,.02)}.landing-feature-blue:hover{border-color:rgba(59,130,246,.15)}.landing-feature-purple:hover{border-color:rgba(139,92,246,.15)}.landing-feature-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:8px}.landing-feature-blue .landing-feature-icon{background:rgba(59,130,246,.1);color:#60a5fa}.landing-feature-purple .landing-feature-icon{background:rgba(139,92,246,.1);color:#a78bfa}.landing-feature-icon svg{width:20px;height:20px}.landing-feature-item div{display:flex;flex-direction:column;gap:.15rem}.landing-feature-item strong{color:#e2e8f0;font-size:.95rem;font-weight:600}.landing-feature-item span{color:#64748b;font-size:.85rem;line-height:1.4}.preview-section{text-align:center;margin-top:2.5rem;position:relative;z-index:1}.preview-title{font-size:1.3rem;font-weight:700;color:#e2e8f0;margin-bottom:1.25rem;background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.preview-sheet{position:relative;max-width:680px;margin:0 auto;border:1px solid rgba(148,163,184,.15);border-radius:10px;overflow:hidden;background:rgba(15,23,42,.7)}.preview-header-row{display:grid;grid-template-columns:1fr 2fr .8fr .8fr;background:rgba(59,130,246,.12);border-bottom:1px solid rgba(59,130,246,.2)}.preview-header-row .preview-cell{font-weight:700;color:#93c5fd;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.preview-row{display:grid;grid-template-columns:1fr 2fr .8fr .8fr;border-bottom:1px solid rgba(148,163,184,.06)}.preview-row:nth-child(2n){background:rgba(148,163,184,.03)}.preview-row-faded{opacity:.4}.preview-cell{padding:.6rem .75rem;font-size:.85rem;color:#94a3b8;text-align:left;border-right:1px solid rgba(148,163,184,.06)}.preview-cell:last-child{border-right:none}.preview-cell-module{color:#60a5fa;font-weight:500}.preview-cell-phase{font-size:.8rem}.preview-fade{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,transparent,rgba(10,10,26,.95));pointer-events:none}.preview-caption{color:#64748b;font-size:.9rem;margin:1rem 0 1.25rem}@media (max-width:640px){.preview-header-row,.preview-row{grid-template-columns:1fr 1.5fr .7fr .7fr}.preview-cell{padding:.45rem .5rem;font-size:.75rem}}.landing-bottom-cta{text-align:center;margin-top:2.5rem;padding:2rem;background:rgba(15,23,42,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(148,163,184,.1);border-radius:16px;position:relative;z-index:1}.landing-bottom-cta p{color:#94a3b8;font-size:1.05rem;font-weight:500;margin-bottom:1rem}@media (max-width:640px){.landing-page{padding:2rem 1.25rem 3rem}.landing-title{font-size:1.75rem}.landing-tagline{font-size:.95rem}.landing-cta-row{flex-direction:column}.landing-section{padding:1.25rem}}.module-selector{display:flex;flex-direction:column;gap:1.25rem}.module-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.5rem;gap:.5rem}@media (max-width:700px){.module-list{grid-template-columns:1fr}}.module-item{position:relative;display:flex;align-items:center}.module-item label{flex:1 1;min-width:0;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid rgba(148,163,184,.1);border-radius:10px;cursor:pointer;transition:all .2s ease;background:rgba(15,23,42,.5)}.module-item label:hover{background:rgba(59,130,246,.05);border-color:rgba(59,130,246,.25)}.req-card{display:flex;flex-direction:column;border:1px solid rgba(148,163,184,.1);border-radius:10px;background:rgba(15,23,42,.5);transition:all .2s ease}.req-card:hover{border-color:rgba(59,130,246,.25)}.req-card.req-card-active{border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.05)}.req-row{gap:.5rem;padding:.1rem .75rem .1rem 0}.req-label,.req-row{display:flex;align-items:center}.req-label{flex:1 1;min-width:0;gap:.75rem;padding:.7rem 0 .7rem 1rem;cursor:pointer;background:none;border:none}.req-name{color:#94a3b8;font-size:.95rem;transition:color .2s ease}.req-card.req-card-active .req-name{color:#e2e8f0;font-weight:500}.module-item input[type=checkbox],.module-item input[type=radio],.req-card input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid rgba(148,163,184,.25);background:rgba(15,23,42,.8);cursor:pointer;flex-shrink:0;transition:all .2s ease;position:relative}.module-item input[type=radio]{border-radius:50%}.module-item input[type=checkbox]{border-radius:5px}.module-item input[type=radio]:checked{border-color:#3b82f6;background:rgba(59,130,246,.15);box-shadow:0 0 8px rgba(59,130,246,.3)}.module-item input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#3b82f6}.module-item input[type=checkbox]:checked,.req-card input[type=checkbox]:checked{border-color:#3b82f6;background:#3b82f6;box-shadow:0 0 8px rgba(59,130,246,.3)}.module-item input[type=checkbox]:checked:after,.req-card input[type=checkbox]:checked:after{content:"";position:absolute;top:45%;left:50%;transform:translate(-50%,-55%) rotate(45deg);width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0}.module-item input[type=checkbox]:checked~span,.module-item input[type=radio]:checked~span{font-weight:500;color:#e2e8f0}.module-item:has(input:checked) label{border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.08)}.module-item span{color:#94a3b8;font-size:.95rem;transition:color .2s ease}.top-actions-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.1);border-radius:10px;margin-bottom:1rem}.top-actions-bar .btn-continue{margin-left:auto}.top-actions-bar .btn-back{margin-top:0}.top-actions-bar .btn-export{margin-top:0;width:auto}.btn-continue{padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 2px 12px rgba(59,130,246,.25)}.btn-continue:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 4px 20px rgba(59,130,246,.4);transform:translateY(-1px)}.btn-continue:active:not(:disabled){transform:translateY(0)}.btn-continue:disabled{background:rgba(148,163,184,.15);color:#475569;cursor:not-allowed;box-shadow:none}.summary-card{padding:1rem 1.25rem;background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.08);border-radius:10px;margin-bottom:.75rem}.summary-card .summary-label{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#475569;margin-bottom:.25rem}.module-icon{flex-shrink:0}.summary-card .summary-value{color:#e2e8f0;font-weight:500}.selected-modules{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.selected-modules li{display:inline-flex;align-items:center;gap:.4rem;background:rgba(59,130,246,.12);color:#60a5fa;padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;border:1px solid rgba(59,130,246,.15)}.empty-state{color:#475569;font-style:italic;margin-bottom:1rem}.btn-back{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.25rem;color:#64748b;text-decoration:none;font-weight:500;font-size:.9rem;font-family:inherit;background:none;border:none;padding:0;cursor:pointer;transition:color .2s ease}.btn-back:hover{color:#3b82f6;text-decoration:none}.req-group,.req-group-header{margin-bottom:.5rem}.req-group-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:rgba(30,41,59,.4);border-left:3px solid #3b82f6;border-radius:0 6px 6px 0;margin-top:.75rem}.req-group:first-child .req-group-header{margin-top:0}.req-group-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;border:2px solid rgba(148,163,184,.3);background:rgba(15,23,42,.6);color:#60a5fa;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .15s ease;padding:0;flex-shrink:0}.req-group-toggle:hover{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.1)}.req-group-check{line-height:1}.req-group-name{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.req-group-count{font-size:.7rem;color:#475569;margin-left:auto;font-weight:500}.summary-group{margin-top:.6rem}.summary-group:first-child{margin-top:.3rem}.summary-group-name{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.2rem}.recs-profile{padding:.75rem 1rem;background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.08);border-radius:8px;margin-bottom:1rem;display:grid;grid-template-columns:1fr 1fr;grid-gap:.4rem 1.5rem;gap:.4rem 1.5rem}.recs-profile-row{display:flex;gap:.5rem;align-items:baseline}.recs-profile-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#475569}.recs-profile-value{font-size:.85rem;color:#e2e8f0;font-weight:500}.recs-intro{color:#94a3b8;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.recs-intro strong{color:#60a5fa;font-weight:600}.recs-module{padding:.85rem 1rem;background:rgba(30,41,59,.4);border:1px solid rgba(148,163,184,.08);border-radius:10px;margin-bottom:.6rem}.recs-module-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.recs-module-icon{color:#60a5fa;flex-shrink:0}.recs-module-name{font-size:.95rem;font-weight:600;color:#e2e8f0}.recs-module-count{font-size:.7rem;color:#475569;font-weight:500;margin-left:auto}.recs-module-reason{font-size:.8rem;color:#64748b;margin-bottom:.5rem;font-style:italic;line-height:1.4}.recs-module-groups{display:flex;flex-direction:column;gap:.4rem}.recs-group-name{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#475569;display:block;margin-bottom:.15rem}.recs-group-list{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.2rem}.recs-group-list li{font-size:.75rem;color:#94a3b8;padding:.15rem .5rem;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.1);border-radius:4px}.recs-apply{margin-top:.25rem}.recs-dashboard{padding:1.25rem;background:rgba(15,23,42,.6);border:1px solid rgba(59,130,246,.15);border-radius:12px;margin-bottom:1.5rem}.recs-dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}.recs-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .5rem;background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.08);border-radius:8px}.recs-stat-value{font-size:1.5rem;font-weight:700;color:#60a5fa;line-height:1.1}.recs-stat-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.recs-dashboard-modules{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.recs-dash-module{display:flex;flex-direction:column;gap:.3rem}.recs-dash-module-header{display:flex;align-items:center;gap:.4rem}.recs-dash-module-name{font-size:.8rem;font-weight:500;color:#cbd5e1}.recs-dash-module-count{font-size:.7rem;color:#64748b;font-weight:500;margin-left:auto}.recs-dash-bar{height:6px;background:rgba(148,163,184,.1);border-radius:3px;overflow:hidden}.recs-dash-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;transition:width .4s ease;min-width:2px}.recs-detail-heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(148,163,184,.1)}@media (max-width:500px){.recs-dashboard-stats{grid-template-columns:repeat(2,1fr)}}.process-question{color:#94a3b8;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.01em}.module-nav{display:flex;gap:.35rem;margin-bottom:1rem;padding:.4rem;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.1);border-radius:12px;overflow-x:auto}.module-nav-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1 1;min-width:0;padding:.6rem .4rem;border:1px solid transparent;border-radius:8px;background:transparent;color:#64748b;font-family:inherit;font-size:.65rem;font-weight:500;cursor:pointer;transition:all .2s ease}.module-nav-item:hover{background:rgba(59,130,246,.06);color:#94a3b8}.module-nav-item.module-nav-active{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.25);color:#60a5fa}.module-nav-icon{width:20px;height:20px;flex-shrink:0}.module-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;line-height:1.2}.bulk-phase-bar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.1);border-radius:8px;margin-bottom:1rem}.bulk-phase-label{font-size:.8rem;font-weight:600;color:#94a3b8;white-space:nowrap}.bulk-phase-buttons{display:flex;gap:.35rem}.bulk-phase-buttons .phase-btn{padding:.3rem .75rem;font-size:.75rem}.module-progress{padding:.65rem 1rem;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:8px;color:#60a5fa;font-size:.9rem;font-weight:600;margin-bottom:1rem}.requirements-summary{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.35rem;gap:.35rem;margin-top:.5rem}@media (max-width:700px){.requirements-summary{grid-template-columns:1fr}}.requirements-summary li{color:#cbd5e1;font-size:.9rem;padding-left:1.4rem;position:relative}.requirements-summary li:before{content:"\2713";position:absolute;left:0;color:#34d399;font-weight:700}.tooltip-wrap{position:relative;flex-shrink:0}.tooltip-trigger,.tooltip-wrap{display:inline-flex;align-items:center}.tooltip-trigger{justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(148,163,184,.12);color:#64748b;font-size:.65rem;font-weight:700;cursor:help;transition:all .2s ease;border:1px solid rgba(148,163,184,.15)}.tooltip-trigger:hover{background:rgba(59,130,246,.2);color:#60a5fa;border-color:rgba(59,130,246,.3)}.tooltip-text{visibility:hidden;opacity:0;bottom:calc(100% + 10px);right:-8px;width:280px;padding:.6rem .8rem;color:#cbd5e1;font-size:.8rem;font-weight:400;line-height:1.5;border-radius:8px;border:1px solid rgba(148,163,184,.15);box-shadow:0 8px 24px rgba(0,0,0,.5);transition:opacity .15s ease,visibility .15s ease;z-index:100;pointer-events:none}.tooltip-text,.tooltip-text:after{position:absolute;background:#1e293b}.tooltip-text:after{content:"";bottom:-5px;right:12px;transform:rotate(45deg);width:8px;height:8px;border-right:1px solid rgba(148,163,184,.15);border-bottom:1px solid rgba(148,163,184,.15)}.tooltip-wrap:hover .tooltip-text{visibility:visible;opacity:1}.phase-selector{display:flex;align-items:center;gap:.35rem;padding:0 1rem .65rem 2.75rem;border-top:1px solid rgba(148,163,184,.06);margin-top:-.1rem}.phase-selector:before{content:"Phase:";font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#475569;margin-right:.15rem}.phase-btn{padding:.2rem .55rem;font-size:.7rem;font-weight:600;font-family:inherit;border-radius:20px;border:1px solid rgba(148,163,184,.15);background:rgba(15,23,42,.4);color:#64748b;cursor:pointer;transition:all .15s ease}.phase-btn:hover{border-color:rgba(148,163,184,.35);color:#94a3b8;background:rgba(30,41,59,.6)}.phase-btn.phase-active.phase-phase-1{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.12);color:#4ade80}.phase-btn.phase-active.phase-phase-2{border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.12);color:#60a5fa}.phase-btn.phase-active.phase-future-phase{border-color:rgba(148,163,184,.4);background:rgba(148,163,184,.1);color:#94a3b8}.phase-badge{display:inline-block;padding:.1rem .45rem;font-size:.65rem;font-weight:600;border-radius:4px;margin-left:.5rem;vertical-align:middle}.phase-badge.badge-phase-1{background:rgba(34,197,94,.12);color:#4ade80;border:1px solid rgba(34,197,94,.25)}.phase-badge.badge-phase-2{background:rgba(59,130,246,.12);color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.phase-badge.badge-future-phase{background:rgba(148,163,184,.1);color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.custom-req-input-row{display:flex;gap:.5rem;margin-bottom:.75rem}.custom-req-input{flex:1 1;padding:.65rem 1rem;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.2);border-radius:10px;color:#e2e8f0;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s ease}.custom-req-input::placeholder{color:#475569}.custom-req-input:focus{border-color:rgba(59,130,246,.5);box-shadow:0 0 0 2px rgba(59,130,246,.1)}.custom-req-add-btn{padding:.65rem 1.25rem;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);border-radius:10px;color:#60a5fa;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.custom-req-add-btn:hover:not(:disabled){background:rgba(59,130,246,.25);border-color:rgba(59,130,246,.5)}.custom-req-add-btn:disabled{opacity:.4;cursor:not-allowed}.custom-req-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid rgba(239,68,68,.2);background:rgba(239,68,68,.08);color:#f87171;font-size:1rem;line-height:1;cursor:pointer;transition:all .15s ease;flex-shrink:0;padding:0}.custom-req-remove-btn:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.4)}.btn-export{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem 1.5rem;margin-top:1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 2px 12px rgba(16,185,129,.25)}.btn-export:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 4px 20px rgba(16,185,129,.4);transform:translateY(-1px)}.btn-export:active{transform:translateY(0)}.btn-export-icon{width:18px;height:18px;flex-shrink:0}.header-bar{position:fixed;top:1rem;right:1.5rem;z-index:200;gap:.6rem}.header-bar,.header-share-btn{display:flex;align-items:center}.header-share-btn{gap:.4rem;padding:.45rem .85rem;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.3);border-radius:8px;color:#a5b4fc;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.header-share-btn:hover{background:rgba(99,102,241,.25);border-color:rgba(99,102,241,.5)}.user-menu{position:relative}.user-menu-signin{padding:.45rem 1rem;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s ease}.user-menu-signin:hover{background:rgba(59,130,246,.25);border-color:rgba(59,130,246,.5)}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem .35rem .35rem;background:rgba(30,41,59,.7);border:1px solid rgba(148,163,184,.15);border-radius:24px;cursor:pointer;font-family:inherit;transition:all .2s ease}.user-menu-trigger:hover{border-color:rgba(148,163,184,.3);background:rgba(30,41,59,.9)}.user-avatar{object-fit:cover}.user-avatar,.user-avatar-placeholder{width:28px;height:28px;border-radius:50%}.user-avatar-placeholder{background:rgba(59,130,246,.2);color:#60a5fa;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.user-name{color:#e2e8f0;font-size:.8rem;font-weight:500}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:#1e293b;border:1px solid rgba(148,163,184,.15);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.5);overflow:hidden}.user-menu-email{padding:.75rem 1rem;font-size:.75rem;color:#64748b;border-bottom:1px solid rgba(148,163,184,.1)}.user-menu-item{display:block;width:100%;padding:.65rem 1rem;background:none;border:none;font-family:inherit;font-size:.85rem;color:#e2e8f0;text-align:left;cursor:pointer;text-decoration:none;transition:background .15s ease}.user-menu-item:hover{background:rgba(59,130,246,.1)}.user-menu-signout{color:#f87171;border-top:1px solid rgba(148,163,184,.1)}.login-container{max-width:440px;margin-top:8rem}.login-card{display:flex;flex-direction:column;align-items:center;text-align:center}.login-title{font-size:1.5rem;margin-bottom:.5rem}.login-subtitle{color:#94a3b8;font-size:.9rem;margin-bottom:2rem;line-height:1.5}.login-buttons{flex-direction:column;margin-bottom:1.5rem}.login-btn,.login-buttons{display:flex;gap:.75rem;width:100%}.login-btn{align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:10px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid rgba(148,163,184,.2)}.login-btn-icon{width:20px;height:20px;flex-shrink:0}.login-btn-google{background:hsla(0,0%,100%,.05);color:#e2e8f0}.login-btn-google:hover{background:hsla(0,0%,100%,.1);border-color:rgba(148,163,184,.35)}.login-btn-github{background:hsla(0,0%,100%,.05);color:#e2e8f0}.login-btn-github:hover{background:hsla(0,0%,100%,.1);border-color:rgba(148,163,184,.35)}.login-divider{display:flex;align-items:center;width:100%;margin-bottom:1.25rem;gap:1rem}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:rgba(148,163,184,.2)}.login-divider span{color:#64748b;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.login-email-form{display:flex;flex-direction:column;gap:.75rem;width:100%;margin-bottom:1.5rem}.login-email-input{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:hsla(0,0%,100%,.05);color:#e2e8f0;font-family:inherit;font-size:.95rem;outline:none;transition:border-color .2s ease;box-sizing:border-box}.login-email-input::placeholder{color:#64748b}.login-email-input:focus{border-color:#6366f1}.login-btn-email{background:#6366f1;color:#fff}.login-btn-email:hover:not(:disabled){background:#4f46e5}.login-btn-email:disabled{opacity:.5;cursor:not-allowed}.login-email-error{color:#f87171;font-size:.85rem;margin:0}.login-email-sent{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;padding:1.5rem;border-radius:12px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.2);margin-bottom:1.5rem}.login-email-sent-icon{width:36px;height:36px;color:#6366f1;margin-bottom:.75rem}.login-email-sent-title{font-size:1.05rem;font-weight:600;color:#e2e8f0;margin:0 0 .5rem}.login-email-sent-text{color:#94a3b8;font-size:.85rem;line-height:1.5;margin:0 0 1rem}.login-btn-email-retry{background:transparent;color:#94a3b8;border-color:rgba(148,163,184,.15);font-size:.85rem}.login-btn-email-retry:hover{background:hsla(0,0%,100%,.05);color:#e2e8f0}.login-note{color:#475569;font-size:.8rem;line-height:1.5;margin-bottom:1rem}.wizard-actions-row{display:flex;gap:.75rem;margin-top:1rem}.btn-share{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:rgba(139,92,246,.15);border:1px solid rgba(139,92,246,.3);border-radius:10px;color:#a78bfa;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-share:hover:not(:disabled){background:rgba(139,92,246,.25);border-color:rgba(139,92,246,.5)}.btn-share:disabled{opacity:.5;cursor:not-allowed}.btn-share-icon{width:16px;height:16px;flex-shrink:0}.share-error{color:#f87171;font-size:.8rem;margin-top:.5rem}.share-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.share-dialog{width:90%;max-width:460px;background:#1e293b;border:1px solid rgba(148,163,184,.15);border-radius:14px;padding:1.5rem;box-shadow:0 16px 48px rgba(0,0,0,.5)}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.share-dialog-header h3{font-size:1.1rem;font-weight:600;color:#e2e8f0}.share-dialog-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:rgba(148,163,184,.1);border-radius:50%;color:#94a3b8;font-size:1.2rem;cursor:pointer;transition:all .15s ease}.share-dialog-close:hover{background:rgba(148,163,184,.2);color:#e2e8f0}.share-dialog-desc{color:#94a3b8;font-size:.85rem;margin-bottom:1rem}.share-url-row{display:flex;gap:.5rem;margin-bottom:1rem}.share-url-input{flex:1 1;padding:.6rem .85rem;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#e2e8f0;font-family:inherit;font-size:.8rem;outline:none}.share-copy-btn{padding:.6rem 1rem;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.share-copy-btn:hover{background:rgba(59,130,246,.25)}.share-email-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem;background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.15);border-radius:8px;color:#94a3b8;font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.share-email-btn:hover{background:rgba(148,163,184,.15);color:#e2e8f0}.share-invite-form{margin-bottom:.75rem}.share-invite-input-row{display:flex;gap:.5rem}.share-invite-input{flex:1 1;padding:.65rem .85rem;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#e2e8f0;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s ease}.share-invite-input::placeholder{color:#64748b}.share-invite-input:focus{border-color:#6366f1}.share-invite-send-btn{padding:.65rem 1.1rem;background:#6366f1;border:none;border-radius:8px;color:#fff;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease;white-space:nowrap}.share-invite-send-btn:hover:not(:disabled){background:#4f46e5}.share-invite-send-btn:disabled{opacity:.5;cursor:not-allowed}.share-invite-success{color:#34d399;font-size:.8rem;margin:0 0 .75rem}.share-invite-error{color:#f87171;font-size:.8rem;margin:0 0 .75rem}.share-invite-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.share-invite-divider:after,.share-invite-divider:before{content:"";flex:1 1;height:1px;background:rgba(148,163,184,.15)}.share-invite-divider span{color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.share-invite-copy-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem;background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.15);border-radius:8px;color:#94a3b8;font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.share-invite-copy-btn:hover{background:rgba(148,163,184,.15);color:#e2e8f0}.share-invite-send-btn-collab{background:#10b981}.share-invite-send-btn-collab:hover:not(:disabled){background:#059669}.share-mode-chooser{display:flex;flex-direction:column;gap:.6rem}.share-mode-btn{display:flex;align-items:flex-start;gap:.85rem;width:100%;padding:1rem;background:rgba(148,163,184,.06);border:1px solid rgba(148,163,184,.15);border-radius:10px;color:#e2e8f0;font-family:inherit;text-align:left;cursor:pointer;transition:all .15s ease}.share-mode-btn svg{flex-shrink:0;margin-top:2px;color:#94a3b8}.share-mode-btn div{display:flex;flex-direction:column;gap:.2rem}.share-mode-btn strong{font-size:.95rem;font-weight:600}.share-mode-btn span{font-size:.8rem;color:#94a3b8}.share-mode-btn:hover{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.3)}.share-mode-btn-collab:hover{border-color:rgba(16,185,129,.4)}.share-mode-btn-collab:hover svg{color:#34d399}.share-mode-btn-disabled{opacity:.45;cursor:not-allowed}.gate-dialog-wide{max-width:520px;padding:2rem;position:relative}.gate-close{position:absolute;top:1rem;right:1rem}.gate-header{text-align:center;margin-bottom:1.25rem}.gate-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);margin-bottom:.85rem}.gate-icon-wrap svg{width:26px;height:26px;color:#34d399}.gate-title{font-size:1.25rem;font-weight:700;color:#f1f5f9;margin:0 0 .4rem}.gate-subtitle{color:#94a3b8;font-size:.9rem;margin:0;line-height:1.45}.gate-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.5rem;gap:.5rem;margin-bottom:1.25rem;padding:.85rem;background:rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.1);border-radius:10px}.gate-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem}.gate-stat-value{font-size:1.35rem;font-weight:700;color:#e2e8f0}.gate-stat-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.gate-features{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.6rem}.gate-features li{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:#cbd5e1;line-height:1.4}.gate-features li svg{width:18px;height:18px;flex-shrink:0;color:#34d399;margin-top:1px}.gate-form{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.75rem}.gate-email-input{width:100%;padding:.8rem 1rem;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.2);border-radius:10px;color:#e2e8f0;font-family:inherit;font-size:.95rem;outline:none;transition:border-color .2s ease;box-sizing:border-box}.gate-email-input::placeholder{color:#475569}.gate-email-input:focus{border-color:rgba(16,185,129,.5);box-shadow:0 0 0 2px rgba(16,185,129,.1)}.gate-download-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 12px rgba(16,185,129,.3)}.gate-download-btn:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 4px 20px rgba(16,185,129,.45);transform:translateY(-1px)}.gate-download-btn:active:not(:disabled){transform:translateY(0)}.gate-download-btn:disabled{opacity:.6;cursor:not-allowed}.gate-privacy{text-align:center;font-size:.75rem;color:#475569;margin:0}.email-gate-sent{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.email-gate-sent-title{font-size:1.05rem;font-weight:600;color:#e2e8f0;margin:0 0 .5rem}.email-gate-sent-text{color:#94a3b8;font-size:.85rem;line-height:1.5;margin:0}.btn-save-project{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);border-radius:10px;color:#34d399;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save-project:hover:not(:disabled){background:rgba(16,185,129,.25);border-color:rgba(16,185,129,.5)}.btn-save-project:disabled{opacity:.5;cursor:not-allowed}.btn-save-icon{width:16px;height:16px;flex-shrink:0}.presence-bar{position:fixed;top:1rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.75rem;padding:.4rem 1rem;background:rgba(30,41,59,.9);border:1px solid rgba(148,163,184,.15);border-radius:24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:150;box-shadow:0 4px 16px rgba(0,0,0,.3)}.presence-label{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.presence-users{display:flex;gap:.5rem}.presence-user{display:flex;align-items:center;gap:.35rem}.presence-avatar{object-fit:cover}.presence-avatar,.presence-avatar-placeholder{width:22px;height:22px;border-radius:50%;border:2px solid #34d399}.presence-avatar-placeholder{background:rgba(52,211,153,.2);color:#34d399;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700}.presence-name{font-size:.75rem;color:#e2e8f0;font-weight:500}.presence-step{font-size:.65rem;color:#64748b;padding:.1rem .4rem;background:rgba(148,163,184,.1);border-radius:4px}.conflict-banner{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.5rem;background:rgba(245,158,11,.15);border-bottom:1px solid rgba(245,158,11,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:250}.conflict-content{display:flex;align-items:center;gap:.5rem;color:#fbbf24;font-size:.85rem;font-weight:500}.conflict-icon{width:18px;height:18px;flex-shrink:0}.conflict-actions{display:flex;gap:.5rem}.conflict-refresh-btn{padding:.35rem .85rem;background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.4);border-radius:6px;color:#fbbf24;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.conflict-refresh-btn:hover{background:rgba(245,158,11,.3)}.conflict-dismiss-btn{padding:.35rem .85rem;background:none;border:1px solid rgba(148,163,184,.2);border-radius:6px;color:#94a3b8;font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.conflict-dismiss-btn:hover{background:rgba(148,163,184,.1)}.settings-section{margin-bottom:1.5rem;padding:1.25rem;background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.08);border-radius:10px}.settings-section-title{font-size:.9rem;font-weight:600;color:#e2e8f0;margin-bottom:.75rem}.settings-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.settings-row{display:flex;gap:.5rem}.btn-invite{padding:.4rem .85rem;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-invite:hover{background:rgba(59,130,246,.25)}.members-list{list-style:none}.member-item{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid rgba(148,163,184,.08)}.member-item:last-child{border-bottom:none}.member-info{display:flex;align-items:center;gap:.75rem}.member-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.member-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:rgba(59,130,246,.2);color:#60a5fa;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.member-name{font-size:.85rem;color:#e2e8f0;font-weight:500}.member-email{font-size:.7rem;color:#64748b}.member-actions{display:flex;align-items:center;gap:.75rem}.member-role{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding:.2rem .5rem;background:rgba(148,163,184,.1);border-radius:4px}.member-remove-btn{padding:.3rem .6rem;background:none;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#f87171;font-family:inherit;font-size:.75rem;cursor:pointer;transition:all .15s ease}.member-remove-btn:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4)}.settings-danger{border-color:rgba(239,68,68,.15)}.btn-danger,.settings-danger .settings-section-title{color:#f87171}.btn-danger{padding:.55rem 1.25rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-danger:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5)}.btn-settings-link{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.2);border-radius:10px;color:#94a3b8;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease}.btn-settings-link:hover{background:rgba(148,163,184,.2);color:#e2e8f0}.invite-dialog{max-width:420px}.invite-form{display:flex;flex-direction:column;gap:.75rem}.invite-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.invite-role-selector{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.invite-role-btn{display:flex;flex-direction:column;gap:.15rem;padding:.75rem;background:rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.15);border-radius:8px;cursor:pointer;transition:all .15s ease;font-family:inherit;text-align:left}.invite-role-btn:hover{border-color:rgba(59,130,246,.3)}.invite-role-btn.active{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.08)}.invite-role-btn strong{font-size:.85rem;color:#e2e8f0}.invite-role-btn span{font-size:.7rem;color:#64748b}.invite-error{color:#f87171;font-size:.8rem}.invite-success{color:#34d399;font-size:.8rem}.toast-container{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);flex-direction:column;z-index:500;pointer-events:none}.toast,.toast-container{display:flex;align-items:center;gap:.5rem}.toast{padding:.65rem 1.25rem;background:rgba(30,41,59,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;color:#e2e8f0;font-size:.85rem;font-weight:500;box-shadow:0 8px 32px rgba(0,0,0,.4);border:1px solid rgba(148,163,184,.15);animation:toast-slide-up .3s ease;pointer-events:auto}.toast-success{border-left:3px solid #34d399}.toast-success svg{color:#34d399}.toast-error{border-left:3px solid #ef4444}.toast-error svg{color:#ef4444}.toast-info{border-left:3px solid #60a5fa}.toast-info svg{color:#60a5fa}.toast-exit{animation:toast-fade-out .3s ease forwards}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.req-group-chevron{width:14px;height:14px;flex-shrink:0;transition:transform .2s ease;transform:rotate(0deg);color:#64748b}.req-group-chevron-open{transform:rotate(90deg)}.req-group-name-clickable{cursor:pointer;display:flex;align-items:center;gap:.35rem}.req-group-name-clickable:hover{color:#cbd5e1}.btn-spinner{animation:spin 1s linear infinite}.btn-export:disabled{opacity:.7;cursor:not-allowed}.btn-export:disabled,.btn-export:disabled:hover{transform:none;box-shadow:0 2px 12px rgba(16,185,129,.15)}.step-context{color:#94a3b8;font-size:.85rem;line-height:1.55;margin:-.25rem 0 1.25rem;max-width:600px}.module-label-text{display:flex;flex-direction:column;gap:.15rem}.module-desc{font-size:.75rem;color:#64748b;font-weight:400;line-height:1.35}.profile-section{margin-bottom:1.75rem}.profile-section-title{font-size:1rem;font-weight:600;color:#e2e8f0;margin-bottom:.25rem}.req-search-bar{position:relative;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.req-search-input-wrap{position:relative;flex:1 1;min-width:0}.req-search-input{width:100%;padding:.65rem 2.5rem .65rem 1rem;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.2);border-radius:10px;color:#e2e8f0;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s ease;box-sizing:border-box}.req-search-input::placeholder{color:#475569}.req-search-input:focus{border-color:rgba(59,130,246,.5);box-shadow:0 0 0 2px rgba(59,130,246,.1)}.req-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:rgba(148,163,184,.15);border-radius:50%;color:#94a3b8;font-size:1rem;cursor:pointer;transition:all .15s ease;padding:0}.req-search-clear:hover{background:rgba(148,163,184,.25);color:#e2e8f0}.phase-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(148,163,184,.08)}.phase-legend-item{font-size:.7rem;color:#64748b;line-height:1.4}.phase-legend-item strong{color:#94a3b8}.summary-edit{font-size:.75rem;font-weight:500;color:#60a5fa;text-decoration:none;margin-left:.5rem;transition:color .15s ease}.summary-edit:hover{color:#93c5fd;text-decoration:underline}.summary-value-compact{display:flex;flex-wrap:wrap;gap:.5rem}.summary-value-compact>span{padding:.25rem .65rem;background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.1);border-radius:6px;font-size:.85rem;color:#cbd5e1}.comment-icon-btn{position:relative;display:flex;align-items:center;gap:.2rem;background:none;border:1px solid rgba(148,163,184,.15);border-radius:6px;padding:.25rem .4rem;color:#64748b;cursor:pointer;transition:all .15s ease;flex-shrink:0}.comment-icon-btn:hover{border-color:rgba(139,92,246,.3);color:#a78bfa;background:rgba(139,92,246,.08)}.comment-count-badge{font-size:.65rem;font-weight:700;min-width:14px;height:14px;display:flex;align-items:center;justify-content:center;background:#8b5cf6;color:#fff;border-radius:7px;padding:0 3px}.comment-panel-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.4)}.comment-panel{position:fixed;top:0;right:0;bottom:0;z-index:201;width:380px;max-width:100vw;display:flex;flex-direction:column;background:rgba(15,23,42,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(148,163,184,.1);animation:comment-slide-in .2s ease-out}@keyframes comment-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.comment-panel-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem;border-bottom:1px solid rgba(148,163,184,.1)}.comment-panel-title{font-size:1rem;font-weight:700;color:#e2e8f0}.comment-panel-subtitle{font-size:.8rem;color:#64748b;margin-top:.15rem}.comment-panel-close{background:none;border:none;color:#64748b;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.comment-panel-close:hover{color:#e2e8f0}.comment-panel-list{flex:1 1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.comment-panel-empty,.comment-panel-loading{color:#64748b;font-size:.85rem;text-align:center;padding:2rem 0}.comment-item{display:flex;flex-direction:column;gap:.3rem}.comment-item-header{display:flex;align-items:center;gap:.4rem}.comment-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.comment-avatar-placeholder{width:22px;height:22px;border-radius:50%;background:rgba(139,92,246,.2);color:#a78bfa;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0}.comment-author{font-size:.8rem;font-weight:600;color:#e2e8f0}.comment-time{font-size:.7rem;color:#475569;margin-left:auto}.comment-delete{background:none;border:none;color:#475569;font-size:1rem;cursor:pointer;padding:0 .2rem;line-height:1}.comment-delete:hover{color:#f87171}.comment-body{font-size:.85rem;color:#94a3b8;line-height:1.5;padding-left:1.75rem}.comment-input-area{display:flex;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid rgba(148,163,184,.1)}.comment-input{flex:1 1;padding:.5rem .75rem;background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#e2e8f0;font-size:.85rem}.comment-input:focus{outline:none;border-color:#8b5cf6}.comment-send-btn{padding:.5rem 1rem;background:#8b5cf6;color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease}.comment-send-btn:hover:not(:disabled){background:#7c3aed}.comment-send-btn:disabled{opacity:.5;cursor:default}.activity-feed{max-height:350px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.activity-item{gap:.6rem;padding:.4rem 0}.activity-icon,.activity-item{display:flex;align-items:center}.activity-icon{justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.7rem;font-weight:700;flex-shrink:0}.activity-text{flex:1 1;font-size:.85rem;color:#94a3b8}.activity-text strong{color:#e2e8f0;font-weight:600}.activity-time{font-size:.75rem;color:#475569;white-space:nowrap;flex-shrink:0}.activity-empty,.activity-loading{color:#64748b;font-size:.85rem;padding:.5rem 0}.save-progress-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;display:flex;align-items:center;gap:.4rem;padding:.65rem 1.25rem;background:rgba(59,130,246,.9);color:#fff;border:none;border-radius:24px;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 4px 16px rgba(59,130,246,.3);transition:all .2s ease;animation:save-btn-appear .4s ease-out}.save-progress-btn:hover{background:#3b82f6;transform:translateY(-1px);box-shadow:0 6px 20px rgba(59,130,246,.4)}@keyframes save-btn-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.save-progress-dialog{position:fixed;bottom:4.5rem;right:1.5rem;z-index:101;width:320px;padding:1.25rem;background:rgba(15,23,42,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.15);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.5);animation:save-dialog-in .2s ease-out}@keyframes save-dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.save-progress-text{font-size:.85rem;color:#94a3b8;line-height:1.5;margin-bottom:.75rem}.save-progress-input{width:100%;padding:.6rem .75rem;background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#e2e8f0;font-size:.9rem;margin-bottom:.5rem}.save-progress-input:focus{outline:none;border-color:#3b82f6}.save-progress-error{font-size:.8rem;color:#f87171;margin-bottom:.5rem}.save-progress-submit{width:100%;padding:.55rem;font-size:.85rem}.save-progress-success{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.save-progress-success svg{color:#34d399}.save-progress-success p{color:#e2e8f0;font-size:.9rem;font-weight:500}.save-progress-close{background:none;border:1px solid rgba(148,163,184,.2);color:#94a3b8;padding:.35rem 1rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.save-progress-close:hover{border-color:rgba(148,163,184,.4);color:#e2e8f0}.save-hydrator-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(10,10,26,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.save-hydrator-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:rgba(15,23,42,.9);border:1px solid rgba(148,163,184,.15);border-radius:16px}.save-hydrator-card p{color:#94a3b8;font-size:.95rem}.save-hydrator-spinner{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.dashboard-page{max-width:900px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.dashboard-create-btn{padding:.6rem 1.5rem;font-size:.9rem}.dashboard-section{margin-bottom:2rem}.dashboard-section-title{font-size:1rem;font-weight:600;color:#94a3b8;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.04em;background:none;-webkit-text-fill-color:unset}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.75rem;gap:.75rem}.dashboard-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem 1.25rem;background:rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.1);border-radius:10px;text-decoration:none;transition:all .2s ease}.dashboard-card:hover{border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.05);transform:translateY(-1px)}.dashboard-card-title{font-size:1rem;font-weight:600;color:#e2e8f0}.dashboard-card-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:#64748b}.dashboard-card-step{font-size:.75rem;color:#60a5fa;font-weight:500}.dashboard-card-role{padding:.1rem .4rem;background:rgba(139,92,246,.15);border-radius:4px;color:#a78bfa;font-size:.7rem;text-transform:capitalize}.dashboard-card-time{font-size:.75rem;color:#475569}.dashboard-empty{padding:1.5rem;background:rgba(15,23,42,.3);border:1px dashed rgba(148,163,184,.15);border-radius:10px;text-align:center}.dashboard-empty p{color:#64748b;font-size:.9rem}.dashboard-loading{display:flex;flex-direction:column;gap:.75rem}.dashboard-skeleton{height:80px;background:linear-gradient(90deg,rgba(148,163,184,.05) 25%,rgba(148,163,184,.1) 50%,rgba(148,163,184,.05) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:10px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.global-search-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#64748b;cursor:pointer;white-space:nowrap;flex-shrink:0;padding:.45rem .85rem;border:1px solid rgba(148,163,184,.15);border-radius:8px;background:rgba(15,23,42,.5);transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.global-search-toggle:hover{border-color:rgba(59,130,246,.3);color:#94a3b8}.global-search-toggle:has(input:checked){border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.08);color:#60a5fa}.global-search-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid rgba(148,163,184,.25);border-radius:4px;background:rgba(15,23,42,.8);cursor:pointer;position:relative;flex-shrink:0;transition:all .2s ease}.global-search-toggle input[type=checkbox]:checked{border-color:#3b82f6;background:rgba(59,130,246,.2)}.global-search-toggle input[type=checkbox]:checked:after{content:"\2713";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.6rem;font-weight:700;color:#60a5fa}.global-search-results{display:flex;flex-direction:column;gap:1rem}.global-search-module-group{background:rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.1);border-radius:10px;overflow:hidden}.global-search-module-header{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:rgba(59,130,246,.06);border-bottom:1px solid rgba(148,163,184,.08);font-weight:600;font-size:.9rem;color:#e2e8f0}.global-search-module-header .module-nav-icon{width:16px;height:16px;flex-shrink:0;color:#60a5fa}.global-search-goto{margin-left:auto;background:none;border:1px solid rgba(59,130,246,.3);color:#60a5fa;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.global-search-goto:hover{background:rgba(59,130,246,.1);border-color:#60a5fa}.global-search-current{margin-left:auto;font-size:.7rem;font-weight:500;color:#34d399;text-transform:uppercase;letter-spacing:.04em}.global-search-list{list-style:none;padding:.4rem 0}.global-search-result{display:flex;align-items:center;gap:.5rem;padding:.35rem .85rem}.global-search-result-group{font-size:.7rem;color:#64748b;min-width:100px}.global-search-result-req{font-size:.85rem;color:#cbd5e1}.global-search-more{padding:.3rem .85rem;font-size:.75rem;color:#64748b;font-style:italic}:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-nav{position:absolute;left:-9999px;top:0;z-index:9999;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;border-radius:0 0 8px 0}.skip-nav:focus{left:0}