:root{color:#1f2933;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{min-height:42px;border:1px solid #1d4ed8;border-radius:6px;background:#1d4ed8;color:#fff;cursor:pointer;font-weight:700;padding:.65rem 1rem}button:hover:not(:disabled){background:#1e40af}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1;margin-bottom:.75rem}h2{font-size:1rem;margin-bottom:.75rem}.app-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2rem 0}.app-header{padding:2rem 0 1.25rem}.app-header p{color:#52616f;margin-bottom:0}.control-panel,.match-section,.summary-section,.preview-section{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 10px 24px #0f172a0f;margin-bottom:1rem;padding:1rem}.po-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;margin-bottom:1.25rem}.field{display:grid;gap:.35rem;color:#334e68;font-size:.9rem;font-weight:700}.field input{width:100%;min-height:42px;border:1px solid #bcccdc;border-radius:6px;color:#1f2933;padding:.6rem .7rem}.field input:focus{border-color:#2563eb;outline:3px solid rgba(37,99,235,.16)}.compact-field{max-width:12rem}.batch-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:start}.batch-settings{display:flex;gap:1rem;align-items:end}.po-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.po-list li{display:inline-flex;gap:.5rem;align-items:center;border:1px solid #d9e2ec;border-radius:6px;background:#f8fafc;padding:.35rem .45rem .35rem .7rem}.summary-grid,.match-grid{display:grid;gap:.75rem}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.po-summary,.match-card{border:1px solid #d9e2ec;border-radius:8px;background:#fbfdff;margin:0;padding:.9rem}.po-summary,.match-card dl{display:grid;gap:.65rem}.po-summary div,.match-card dl div{display:grid;gap:.15rem}.po-summary dt,.match-card dt{color:#60758a;font-size:.78rem;font-weight:800;text-transform:uppercase}.po-summary dd,.match-card dd{margin:0}.match-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.match-card{display:grid;gap:.9rem;align-content:start}.match-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.match-card h3{margin:0;font-size:1.05rem}.match-card-header span{border-radius:999px;background:#eef2f7;color:#334e68;font-size:.78rem;font-weight:800;padding:.25rem .5rem;white-space:nowrap}.secondary-button{border-color:#bcccdc;background:#fff;color:#334e68}.secondary-button:hover:not(:disabled){background:#eef2f7}.count-panel{display:grid;min-width:11rem;gap:.2rem;border-left:4px solid #16a34a;background:#f3faf6;border-radius:6px;padding:.65rem .8rem}.count-panel span{color:#486581;font-size:.85rem;font-weight:700}.count-panel strong{color:#166534;font-size:1.5rem}.status-placeholder{min-height:.5rem}.status-message{border-radius:6px;margin-bottom:1rem;padding:.85rem 1rem;font-weight:700}.status-message.success{background:#ecfdf3;color:#166534}.status-message.error{background:#fef2f2;color:#991b1b}.status-message.info{background:#eff6ff;color:#1e40af}.section-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.section-header p{color:#52616f;margin-bottom:0}.button-group{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{border-bottom:1px solid #d9e2ec;padding:.75rem;text-align:left;vertical-align:middle}th{background:#f8fafc;color:#334e68;font-size:.82rem;text-transform:uppercase}tbody tr:hover{background:#fbfdff}td input[type=checkbox]{width:1.1rem;height:1.1rem}.empty-state{color:#697b8c;margin-bottom:0}.action-bar{display:flex;justify-content:flex-end;gap:.75rem;padding:.5rem 0 1rem}@media(max-width:720px){.app-shell{width:min(100% - 1rem,1180px);padding-top:1rem}.po-form,.batch-grid{grid-template-columns:1fr}.batch-settings,.section-header,.action-bar{align-items:stretch;flex-direction:column}.compact-field{max-width:none}.button-group{justify-content:stretch}}
