:root{--color-primary:#1976d2;--color-primary-hover:#1565c0;--color-primary-weak:#e3f0fb;--color-bg:#f4f6f8;--color-surface:#fff;--color-border:#d4d9df;--color-border-strong:#b8c0c9;--color-text:#2b3440;--color-text-muted:#6b7682;--color-label:#5a6571;--color-required:#d32f2f;--color-error:#d32f2f;--color-error-bg:#fdecea;--color-readonly-bg:#eceff1;--color-success:#2e7d32;--color-success-bg:#e6f4ea;--color-topbar:#fff;--radius:6px;--radius-sm:4px;--shadow-card:0 1px 3px #00000014, 0 1px 2px #0000000a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font:"Segoe UI", Roboto, system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.4}.app-bar{align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-5);background:var(--color-topbar);border-bottom:1px solid var(--color-border);font-size:13px;display:flex}.app-bar__muni{color:var(--color-text);font-weight:600}.app-bar__sep{color:var(--color-border-strong)}.app-bar__emit{color:var(--color-text-muted)}.app-bar__badge{background:var(--color-success-bg);color:var(--color-success);padding:2px var(--space-3);border-radius:12px;font-size:12px;font-weight:600}.app-bar__spacer{flex:1}.page{max-width:760px;padding:var(--space-5) var(--space-4) 64px;margin:0 auto}.page-head{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.page-title{align-items:center;gap:var(--space-3);font-size:20px;font-weight:600;display:flex}.page-title__back{cursor:pointer;color:var(--color-text);background:0 0;border:none;padding:0;font-size:20px;line-height:1}.breadcrumb{color:var(--color-primary);font-size:13px}.breadcrumb span{color:var(--color-text-muted)}.stepper{gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.step{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;flex:1;font-size:13px;display:flex}.step--active{border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.step--done{color:var(--color-success)}.step__num{background:var(--color-bg);width:22px;height:22px;color:inherit;border:1px solid;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.step--active .step__num{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-4)}.card__title{margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);font-size:15px;font-weight:600}.section{margin-top:var(--space-5)}.section__title{margin:0 0 var(--space-3);color:var(--color-text);font-size:14px;font-weight:600}.grid{gap:var(--space-3) var(--space-4);display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}@media (width<=620px){.grid-2,.grid-3{grid-template-columns:1fr}}.col-span-2{grid-column:span 2}.col-span-full{grid-column:1/-1}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{color:var(--color-label);font-size:12px}.field__req{color:var(--color-required);margin-left:2px}.field__error{color:var(--color-error);font-size:11px}.field__hint{color:var(--color-text-muted);font-size:11px}.input,.select,textarea.input{width:100%;padding:8px var(--space-3);font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:14px}.input:focus,.select:focus,textarea.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-weak);outline:none}.input--error,.select--error{border-color:var(--color-error);background:var(--color-error-bg)}.input:disabled,.input--readonly{background:var(--color-readonly-bg);color:var(--color-text-muted);cursor:not-allowed}textarea.input{resize:vertical;min-height:90px}.input-money{align-items:stretch;display:flex}.input-money__prefix{padding:0 var(--space-3);background:var(--color-readonly-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm) 0 0 var(--radius-sm);color:var(--color-text-muted);border-right:none;place-items:center;display:grid}.input-money .input{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.radio-group{gap:var(--space-2);flex-direction:column;display:flex}.radio-group--inline{gap:var(--space-5);flex-flow:wrap}.radio,.checkbox-row{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.radio input,.checkbox-row input{accent-color:var(--color-primary)}.step-nav{margin-top:var(--space-5);justify-content:space-between;display:flex}.btn{align-items:center;gap:var(--space-2);padding:9px var(--space-5);border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:1px solid #0000;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-border-strong);cursor:not-allowed}.btn-outline{color:var(--color-text-muted);border-color:var(--color-border-strong);background:0 0}.btn-outline:hover{background:var(--color-bg)}.btn-link{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.btn-danger-link{color:var(--color-error);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.kv{gap:var(--space-2) var(--space-4);grid-template-columns:1fr 1fr;display:grid}.kv__row{display:contents}.kv__k{color:var(--color-text-muted);font-size:13px}.kv__v{text-align:right;font-weight:600}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left}.table th{color:var(--color-text-muted);font-weight:600}.table tr.selected{background:var(--color-primary-weak)}.banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:13px}.banner--info{background:var(--color-primary-weak);color:var(--color-primary-hover)}.banner--success{background:var(--color-success-bg);color:var(--color-success)}.banner--warn{color:#8a5300;background:#fff4e5}.payload-preview{color:#d6e2ef;padding:var(--space-4);border-radius:var(--radius-sm);white-space:pre;max-height:360px;margin-top:var(--space-3);background:#0f1720;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:auto}
