:root{--bg: #f6f7f9;--surface: #ffffff;--border: #dfe3e8;--text: #1a1d21;--muted: #6b7280;--accent: #0a5c9c;--danger: #b42318;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}main{max-width:1440px;margin:0 auto;padding:48px 24px 80px}h1{margin:0;font-size:1.6rem}.subtitle{margin:4px 0 28px;color:var(--muted)}form{display:flex;gap:8px;margin-bottom:24px}input{flex:1;padding:12px 14px;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}input:focus{outline:2px solid var(--accent);outline-offset:-1px}button{padding:12px 22px;font-size:1rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer}button:disabled{opacity:.6;cursor:default}.error{padding:12px 14px;border-radius:8px;background:#fef3f2;color:var(--danger);border:1px solid #fecdca}.login-wrap{display:flex;justify-content:center;padding:80px 16px}.login{display:block;width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px}.login h1{font-size:1.3rem;margin:0}.login .subtitle{margin:4px 0 22px}.login label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:5px}.login input{width:100%;margin-bottom:16px}.login button{width:100%;margin-top:4px}.login .error{margin:0 0 14px;font-size:.9rem}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.session{text-align:right;font-size:.85rem}.who{font-weight:600}.linkish{background:none;border:none;padding:4px 0 0;color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer}.result{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.headline{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.payee{display:block;font-size:1.25rem;font-weight:600}.muted{color:var(--muted);font-size:.85rem}.amount{text-align:right;white-space:nowrap}.amount strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0 28px}.fact dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.fact dd{margin:4px 0 0;font-variant-numeric:tabular-nums}.fact.emphasis dd{font-weight:600}h2{font-size:1rem;margin:0 0 12px}.table-scroll{overflow-x:auto}table{width:100%;min-width:520px;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}.po-table{font-size:.85rem}.po-table th,.po-table td{padding:8px}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.right{text-align:right;font-variant-numeric:tabular-nums}.tag{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:700}.tag-mm{background:#e7f3ea;color:#1f6b38}.tag-fi{background:#eef1f5;color:#44506a}.tag-approved{background:#e7f3ea;color:#1f6b38}.tag-pending{background:#fff4e5;color:#8a5300}.tag-not_subject{background:#eef1f5;color:#6b7280}.po-panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.warning{padding:10px 14px;border-radius:8px;background:#fef3f2;border:1px solid #fecdca;color:var(--danger);font-size:.9rem;margin:0 0 14px}tr.flagged td{background:#fef3f2}tr.flagged td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.mismatch{color:var(--danger);font-weight:600}.block{display:block;font-size:.78rem}.note{margin:16px 0 0;font-size:.85rem;color:var(--muted)}@media(max-width:560px){.headline{flex-direction:column}.amount{text-align:left}}.notice{padding:10px 14px;border-radius:8px;background:#e7f3ea;border:1px solid #b8dfc4;color:#1f6b38;font-size:.9rem}.toolbar{margin:20px 0 16px}.session-actions{display:flex;gap:14px;justify-content:flex-end}.add-user{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:24px;display:block}.add-user .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.add-user label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.add-user input{margin-top:5px;width:100%}.add-user .checkbox{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--text);margin:16px 0}.add-user .checkbox input{width:auto;margin:0}.inline-input{padding:5px 8px;font-size:.85rem;width:120px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.muted-link{color:var(--muted)}.danger-link{color:var(--danger)}tr.inactive-row td{opacity:.55}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.tab{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-size:.95rem;padding:10px 14px}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.button-row{display:flex;gap:10px}button.secondary{background:var(--surface);color:var(--accent);border:1px solid var(--border)}.hint{padding:10px 14px;border-radius:8px;background:#eef4fa;border:1px solid #cfe0f0;color:#24557d;font-size:.9rem}.connection code{background:#0000000f;padding:1px 5px;border-radius:4px;font-size:.85em}.other-years{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.modal-backdrop{position:fixed;inset:0;background:#14181e73;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 40px;z-index:10}.modal{background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:24px;width:100%;max-width:900px;max-height:80vh;overflow:auto;box-shadow:0 18px 48px #1018282e}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.modal-head h2{margin:0;font-size:1.05rem}.company-select{flex:0 0 auto;padding:12px 14px;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}
