.contract-builder-v2{background:#f5f5f5;min-height:100vh}.builder-inner{max-width:1280px;margin:0 auto}.builder-header{border-bottom:1px solid var(--clr-border-light);padding:var(--space-2xl) var(--page-gutter);background:#fff}.builder-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--clr-ink);font-weight:700;line-height:var(--leading-tight);margin-bottom:var(--space-md)}.org-input-wrapper{align-items:center;gap:var(--space-md);display:flex}.org-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-secondary);white-space:nowrap;font-weight:600}.org-input{max-width:400px;font-family:var(--font-body);font-size:var(--text-base);color:var(--clr-ink);border:1px solid var(--clr-border);background:#fff;flex:1;padding:10px 12px;font-weight:400;transition:border-color .15s}.org-input::placeholder{color:var(--clr-tertiary)}.org-input:focus{border-color:var(--clr-accent);outline:none}.builder-columns{gap:var(--space-2xl);padding:var(--space-2xl) var(--page-gutter);grid-template-columns:1fr 380px;align-items:start;display:grid}.configuration-column{gap:var(--space-2xl);flex-direction:column;display:flex}.contract-column{top:var(--space-2xl);position:sticky}.base-package-card{border:1px solid var(--clr-border-light);padding:var(--space-xl);background:#f9fafb}.base-package-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.base-badge{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--clr-secondary);font-size:10px;font-weight:700}.base-package-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--clr-ink);font-weight:700;line-height:var(--leading-tight)}.base-package-info{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-secondary);line-height:var(--leading-normal)}.base-package-info strong{color:var(--clr-ink);font-weight:600}.custom-package-card{border:1px solid var(--clr-border-light);background:#fff}.custom-package-header{padding:var(--space-xl) var(--space-xl) var(--space-md)}.custom-badge{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--clr-accent);margin-bottom:var(--space-xs);font-size:10px;font-weight:700}.custom-package-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--clr-ink);font-weight:700;line-height:var(--leading-tight)}.configuration-controls{border-top:1px solid var(--clr-border-light);padding:var(--space-xl)}.controls-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.control-group{gap:var(--space-xs);flex-direction:column;display:flex}.control-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-secondary);font-weight:600}.control-select{font-family:var(--font-body);font-size:var(--text-base);color:var(--clr-ink);border:1px solid var(--clr-border);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23212326' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center no-repeat;padding:10px 36px 10px 12px;font-weight:400;transition:border-color .15s}.control-select:focus{border-color:var(--clr-accent);outline:none}.package-result{border:1px solid var(--clr-border);padding:var(--space-lg);margin-bottom:var(--space-lg);background:#f9fafb}.result-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--clr-secondary);margin-bottom:var(--space-xs);font-size:10px;font-weight:700}.result-package-name{font-family:var(--font-display);font-size:var(--text-base);color:var(--clr-ink);font-weight:700;line-height:var(--leading-tight);margin-bottom:var(--space-xs)}.result-details{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-secondary);line-height:var(--leading-normal)}.result-details strong{color:var(--clr-ink);font-weight:600}.duplicate-warning{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.add-package-btn{font-family:var(--font-body);font-size:var(--text-sm);color:#fff;background:var(--clr-accent);cursor:pointer;border:none;width:100%;padding:12px 24px;font-weight:600;transition:background .15s}@media (hover:hover){.add-package-btn:hover{background:var(--clr-accent-hover)}}.add-package-btn:disabled{background:var(--clr-border);color:var(--clr-tertiary);cursor:not-allowed}.contract-summary{border:1px solid var(--clr-border-light);background:#fff;flex-direction:column;height:fit-content;display:flex}.summary-header{padding:var(--space-xl);border-bottom:1px solid var(--clr-border-light)}.summary-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--clr-ink);font-weight:700;line-height:var(--leading-tight);margin-bottom:var(--space-xs)}.summary-meta{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-secondary);line-height:var(--leading-normal)}.summary-meta strong{color:var(--clr-ink);font-weight:600}.summary-packages{padding:var(--space-xl);gap:var(--space-md);flex-direction:column;flex:1;display:flex}.summary-package{padding:var(--space-md);border:1px solid var(--clr-border-light);background:#fafbfd}.summary-package.base{border-color:var(--clr-border);background:#f9fafb}.summary-package-header{align-items:flex-start;gap:var(--space-sm);margin-bottom:2px;display:flex}.package-check{color:var(--clr-secondary);flex-shrink:0;margin-top:2px}.summary-package-title{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-ink);font-weight:600;line-height:var(--leading-snug);flex:1}.remove-package-btn{width:20px;height:20px;color:var(--clr-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}@media (hover:hover){.remove-package-btn:hover{color:var(--clr-accent)}}.summary-package-details{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-secondary);line-height:var(--leading-snug);margin-left:24px}.summary-empty{padding:var(--space-2xl) 0;text-align:center;font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-tertiary);line-height:var(--leading-normal)}.summary-footer{border-top:1px solid var(--clr-border-light);padding:var(--space-xl)}.save-contract-btn{font-family:var(--font-body);font-size:var(--text-sm);color:#fff;background:var(--clr-ink);cursor:pointer;border:none;width:100%;padding:12px 24px;font-weight:600;transition:background .15s}@media (hover:hover){.save-contract-btn:hover{background:#000}}.save-contract-btn:disabled{background:var(--clr-border);color:var(--clr-tertiary);cursor:not-allowed}@media (max-width:1023px){.builder-columns{gap:var(--space-xl);grid-template-columns:1fr}.contract-column{position:static}}@media (max-width:767px){.builder-header,.builder-columns{padding:var(--space-lg) var(--page-gutter)}.org-input-wrapper{flex-direction:column;align-items:stretch}.org-input{max-width:none}.controls-grid{grid-template-columns:1fr}}
