:root{--widget-primary: #2563eb;--widget-primary-hover: #1d4ed8;--widget-primary-light: #eff6ff;--widget-bg: #ffffff;--widget-text: #1a1a1a;--widget-text-secondary: #6b7280;--widget-border: #e5e7eb;--widget-border-focus: var(--widget-primary);--widget-radius: 8px;--widget-input-bg: #f9fafb;--widget-result-bg: #f0f9ff;--widget-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--widget-font);color:var(--widget-text);background:var(--widget-bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.widget-wrapper{max-width:560px;margin:0 auto;padding:20px}.widget-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--widget-primary)}.widget-logo{height:28px;width:auto;object-fit:contain}.widget-title{font-size:1.15rem;font-weight:600;color:var(--widget-text)}.widget-form{display:flex;flex-direction:column;gap:14px}.widget-field{display:flex;flex-direction:column;gap:4px}.widget-field label{font-size:.8rem;font-weight:500;color:var(--widget-text-secondary);text-transform:uppercase;letter-spacing:.03em}.widget-field input,.widget-field select{padding:10px 12px;border:1px solid var(--widget-border);border-radius:var(--widget-radius);background:var(--widget-input-bg);font-size:1rem;color:var(--widget-text);transition:border-color .15s,box-shadow .15s;width:100%}.widget-field input:focus,.widget-field select:focus{outline:none;border-color:var(--widget-border-focus);box-shadow:0 0 0 3px #2563eb1f;background:var(--widget-bg)}.widget-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.widget-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;color:var(--widget-primary);font-weight:500;background:none;border:none;padding:4px 0}.widget-toggle:hover{text-decoration:underline}.widget-toggle-icon{transition:transform .2s;font-size:.7rem}.widget-toggle-icon.open{transform:rotate(90deg)}.widget-extra-fields{display:none;flex-direction:column;gap:14px;padding:14px;background:var(--widget-input-bg);border-radius:var(--widget-radius);border:1px solid var(--widget-border)}.widget-extra-fields.visible{display:flex}.widget-btn{padding:12px 20px;background:var(--widget-primary);color:#fff;border:none;border-radius:var(--widget-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;margin-top:4px}.widget-btn:hover{background:var(--widget-primary-hover)}.widget-btn:active{transform:scale(.98)}.widget-btn:focus-visible{outline:2px solid var(--widget-primary);outline-offset:2px}.widget-results{display:none;margin-top:20px;padding:20px;background:var(--widget-result-bg);border-radius:var(--widget-radius);border:1px solid var(--widget-border)}.widget-results.visible{display:block}.widget-result-primary{text-align:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--widget-border)}.widget-result-label{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--widget-text-secondary);margin-bottom:4px}.widget-result-value{font-size:2rem;font-weight:700;color:var(--widget-primary);line-height:1.2}.widget-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:10px}.widget-breakdown-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--widget-bg);border-radius:6px;border:1px solid var(--widget-border)}.widget-breakdown-label{font-size:.72rem;color:var(--widget-text-secondary);text-transform:uppercase;letter-spacing:.03em}.widget-breakdown-value{font-size:.95rem;font-weight:600;color:var(--widget-text)}.widget-pmi-notice{display:none;margin-top:10px;padding:8px 12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;font-size:.8rem;color:#92400e}.widget-pmi-notice.visible{display:block}.widget-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--widget-border);text-align:center}.widget-footer a{font-size:.75rem;color:var(--widget-text-secondary);text-decoration:none;transition:color .15s}.widget-footer a:hover{color:var(--widget-primary);text-decoration:underline}.widget-field.error input{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.widget-error-msg{font-size:.75rem;color:#ef4444;display:none}.widget-field.error .widget-error-msg{display:block}@media(max-width:400px){.widget-wrapper{padding:14px}.widget-row,.widget-breakdown{grid-template-columns:1fr}.widget-result-value{font-size:1.6rem}}
