:root{--swept-blue:#3592ff;--swept-dark-blue:#2e72d9;--swept-light-blue:#e5f0ff;--swept-green:#00c79f;--swept-dark:#37383f;--swept-light-gray:#f5f5f7;--swept-gray:#e0e0e0;--swept-red:#ff647c;--swept-orange:#f59e0b;--swept-yellow:#fcd34d;--topbar-height:64px}.contract-renewal-tool-embed *{box-sizing:border-box;margin:0;padding:0}.contract-renewal-tool-embed{background:#f5f7fa;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}.app-layout,.app-main{display:flex;min-height:100vh}.app-main{flex:1;flex-direction:column;margin-left:0}.app-topbar{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;height:var(--topbar-height);justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;transition:transform .2s ease;z-index:50}.app-topbar.topbar-hidden{transform:translateY(-100%)}.topbar-title{color:var(--swept-dark);font-size:1.25rem;font-weight:600}.topbar-subtitle{color:#64748b;font-size:.8rem;margin-top:.1rem}.topbar-actions{display:flex;gap:.75rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.4rem;min-height:40px;padding:.5rem 1rem;transition:all .15s}.btn-icon{fill:none;height:16px;stroke:currentColor;stroke-width:2;width:16px}.btn-ghost{background:transparent;color:#475569}.btn-ghost:hover{background:#f1f5f9}.btn-primary{background:linear-gradient(135deg,var(--swept-blue),var(--swept-dark-blue));color:#fff}.btn-primary:hover{box-shadow:0 4px 12px rgba(53,146,255,.3);transform:translateY(-1px)}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0}.btn-success{background:linear-gradient(135deg,#06b68a,#018f72);color:#fff;font-weight:700}.btn-success:hover{background:linear-gradient(135deg,#05a97f,#017e65);box-shadow:0 4px 12px rgba(1,143,114,.32);transform:translateY(-1px)}.app-content{flex:1;padding:1.5rem}.feedback-section{background:#eef2f7;padding:3rem 1.5rem;text-align:center}.feedback-section__inner{margin:0 auto;max-width:800px}.renewal-container{margin:0 auto;max-width:1200px}.selector-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:1.5rem;padding:1.5rem}.selector-card h3{color:#64748b;font-size:.9rem;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.selector-row{align-items:flex-end;display:flex;gap:1rem}.selector-row .form-group{flex:1}.form-group label{color:#475569;display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem}input,select,textarea{border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:.9rem;padding:.6rem .75rem;transition:all .2s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--swept-blue);box-shadow:0 0 0 3px rgba(53,146,255,.1);outline:none}.contract-period{background:#f8fafc;border-radius:8px;color:#64748b;font-size:.9rem;padding:.75rem 1rem}.contract-period strong{color:#1e293b}.comparison-grid{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.comparison-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:1.5rem}.comparison-card.original{border-top:4px solid var(--swept-blue)}.comparison-card.actual{border-top:4px solid var(--swept-orange)}.comparison-card h3{align-items:center;color:#64748b;display:flex;font-size:.85rem;gap:.5rem;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.comparison-card h3 .badge{border-radius:4px;font-size:.7rem;font-weight:600;padding:.2rem .5rem}.comparison-card.original h3 .badge{background:var(--swept-light-blue);color:var(--swept-blue)}.comparison-card.actual h3 .badge{background:#fef3c7;color:#d97706}.metric-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.75rem 0}.metric-row:last-child{border-bottom:none}.metric-label{color:#475569;font-size:.9rem}.metric-value{color:#1e293b;font-size:1.1rem;font-weight:600}.metric-value.highlight{font-size:1.25rem}.metric-input{text-align:right;width:120px}.variance-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;margin-left:.5rem;padding:.2rem .5rem}.variance-badge.negative{background:#fee2e2;color:#dc2626}.variance-badge.positive{background:#d1fae5;color:#059669}.variance-badge.warning{background:#fef3c7;color:#d97706}.scope-creep-card{background:#fff;border-radius:12px;border-top:4px solid var(--swept-red);box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:1.5rem;padding:1.5rem}.scope-creep-card h3{align-items:center;color:#64748b;display:flex;font-size:.85rem;gap:.5rem;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.scope-creep-card h3 .alert-icon{color:var(--swept-red)}.scope-list{margin-bottom:1rem}.scope-item{align-items:center;background:#fef2f2;border-left:3px solid var(--swept-red);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.scope-item-info{flex:1}.scope-item-desc{color:#1e293b;font-weight:500}.scope-item-date{color:#64748b;font-size:.8rem}.scope-item-hours{color:var(--swept-red);font-weight:600;margin-right:1rem}.scope-item-remove{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.25rem;padding:.25rem}.scope-item-remove:hover{color:var(--swept-red)}.scope-add-form{align-items:flex-end;border-top:1px solid #f1f5f9;display:grid;gap:.75rem;grid-template-columns:2fr 1fr 1fr auto;padding-top:1rem}.scope-total{align-items:center;background:#fef2f2;border-radius:8px;display:flex;justify-content:space-between;margin-top:1rem;padding:.75rem 1rem}.scope-total-label{color:#991b1b;font-weight:500}.scope-total-value{color:var(--swept-red);font-size:1.1rem;font-weight:700}.recommendation-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.recommendation-card h3{color:#1e40af;font-size:.85rem;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.recommendation-content{align-items:center;display:grid;gap:1.5rem;grid-template-columns:2fr 1fr}.recommendation-rate{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(30,64,175,.1);padding:1rem;text-align:center}.recommendation-rate-label{color:#64748b;font-size:.85rem;margin-bottom:.5rem}.recommendation-rate-value{color:#1e40af;font-size:2rem;font-weight:700}.recommendation-rate-change{color:#059669;font-size:.9rem;font-weight:600;margin-top:.25rem}.recommendation-details p{color:#1e40af;margin-bottom:.75rem}.recommendation-details strong{color:#1e293b}.margin-slider{margin-top:1rem}.margin-slider label{align-items:center;color:#1e40af;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.5rem}.margin-slider input[type=range]{accent-color:var(--swept-blue);width:100%}.recommendation-actions{display:flex;gap:.75rem;margin-top:1.5rem}.empty-state{color:#64748b;padding:3rem;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{color:#1e293b;font-size:1.1rem;margin-bottom:.5rem}.toast{align-items:center;background:#1e293b;border-radius:8px;bottom:2rem;box-shadow:0 4px 12px rgba(0,0,0,.2);color:#fff;display:flex;gap:.75rem;opacity:0;padding:1rem 1.5rem;position:fixed;right:2rem;transform:translateY(100px);transition:all .3s;z-index:1000}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:var(--swept-red)}.toast.success{background:var(--swept-green)}.modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:none;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal,.modal-overlay.show{display:flex}.modal{background:#fff;border-radius:12px;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h2{font-size:1.1rem;font-weight:600}.modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.5rem}.modal-body{flex:1;overflow-y:auto;padding:1rem 1.5rem}.saved-renewal-item{border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;margin-bottom:.75rem;padding:1rem;transition:all .15s}.saved-renewal-item:hover{background:#f8fafc;border-color:var(--swept-blue)}.saved-renewal-item h4{color:#1e293b;font-weight:600;margin-bottom:.25rem}.saved-renewal-item p{color:#64748b;font-size:.85rem}.saved-renewal-item .renewal-meta{display:flex;font-size:.8rem;gap:1rem;margin-top:.5rem}.saved-renewal-item .renewal-meta span{align-items:center;display:flex;gap:.25rem}@media (max-width:1024px){.comparison-grid,.recommendation-content{grid-template-columns:minmax(0,1fr)}}@media (max-width:768px){.selector-row{flex-direction:column}.scope-add-form{grid-template-columns:minmax(0,1fr)}.app-topbar{align-items:flex-start;flex-direction:column;gap:1rem;height:auto;padding:1rem}.topbar-actions{flex-wrap:wrap;width:100%}}.contract-renewal-tool-embed .app-topbar{border-radius:0;min-height:0;padding:.75rem 1rem;position:static;top:auto;z-index:auto}.contract-renewal-tool-embed .app-main{min-height:0}.contract-renewal-tool-embed .app-content{padding-top:1.25rem}.contract-renewal-tool-embed .app-topbar .topbar-subtitle,.contract-renewal-tool-embed .app-topbar .topbar-title,.contract-renewal-tool-embed .topbar-left:empty{display:none}@media (max-width:767px){.contract-renewal-tool-embed .app-main{min-width:0}.contract-renewal-tool-embed .topbar-actions{flex-wrap:wrap}.contract-renewal-tool-embed .metric-row{flex-wrap:wrap;gap:.25rem .5rem}.contract-renewal-tool-embed .app-topbar{padding-left:.75rem;padding-right:.75rem}.contract-renewal-tool-embed .app-content{padding-left:0;padding-right:0}.contract-renewal-tool-embed .comparison-card,.contract-renewal-tool-embed .recommendation-card,.contract-renewal-tool-embed .scope-creep-card,.contract-renewal-tool-embed .selector-card{border-left:0;border-radius:0;border-right:0;padding-left:.75rem;padding-right:.75rem}}