:root{--bg:#f4f6f3;--panel:#fff;--ink:#17231b;--muted:#56645b;--line:#dbe2dc;--brand:#22552F;--brand-dark:#163a20;--accent:#7DB653;--ok:#1d6b3a;--okbg:#e3f3e8;--warn:#7a4d00;--warnbg:#fff3d6;--bad:#9b1c1c;--badbg:#fde4e4;--info:#1f4e8c;--infobg:#e3ecfa}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--brand)}header{background:linear-gradient(90deg,var(--brand-dark),var(--brand));border-bottom:3px solid var(--accent);color:#fff;padding:10px 16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
header a{color:#fff;text-decoration:none;font-weight:500}header .brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.08em;margin-right:12px;color:#fff;text-decoration:none}header .brand img{height:34px;width:auto}header nav a{padding:2px 0;border-bottom:2px solid transparent}header nav a:hover,header nav a[aria-current=page]{border-bottom-color:var(--accent)}header nav{display:flex;gap:14px;flex-wrap:wrap;flex:1}
header form{margin:0}header button{background:transparent;border:1px solid #fff8;color:#fff;padding:4px 10px;border-radius:4px;cursor:pointer}
main{max-width:1280px;margin:0 auto;padding:16px}h1{font-size:1.4rem;margin:.2rem 0 1rem}h2{font-size:1.1rem;margin:1.4rem 0 .6rem}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px;margin-bottom:14px;overflow-x:auto}
table{border-collapse:collapse;width:100%}th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.8rem;text-transform:uppercase;color:var(--muted);letter-spacing:.03em}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.78rem;font-weight:600;border:1px solid currentColor;white-space:nowrap}
.s-POSTED,.s-APPROVED,.ok{color:var(--ok);background:var(--okbg)}.s-PENDING_APPROVAL,.s-PENDING_PROVIDER,.s-SUBMITTED,.s-OPEN,.s-DRAFT,.warn{color:var(--warn);background:var(--warnbg)}
.s-FAILED,.s-CANCELLED,.s-RETURNED,.bad{color:var(--bad);background:var(--badbg)}.s-REVERSED,.info{color:var(--info);background:var(--infobg)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.stat{font-size:1.6rem;font-weight:700}.muted{color:var(--muted)}
form.inline{display:inline}label{display:block;font-weight:600;margin:.5rem 0 .2rem}input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #b9c0c8;border-radius:4px;max-width:100%}
input[type=checkbox]{width:auto}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.filters label{font-size:.8rem;margin:0}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;padding:7px 14px;border-radius:4px;cursor:pointer;text-decoration:none;font:inherit}
.btn.secondary{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.danger{background:var(--bad)}
.msg{padding:8px 12px;border-radius:4px;margin-bottom:10px;border:1px solid}.errorlist{color:var(--bad);margin:.2rem 0;padding-left:1rem}.helptext{color:var(--muted);font-size:.85rem}
.notice{border-left:4px solid var(--warn);background:var(--warnbg);padding:8px 12px;margin-bottom:12px}
:focus-visible{outline:3px solid #f2a900;outline-offset:2px}
@media (max-width:640px){main{padding:10px}th,td{padding:5px}}

.login-wrap{max-width:440px;margin:48px auto}.login-wrap .logo{display:block;width:380px;max-width:92%;margin:0 auto 20px}.login-wrap h1{text-align:center;font-size:1.1rem;color:var(--muted);font-weight:500}
h1{color:var(--brand-dark)}.btn:hover{background:var(--brand-dark)}.btn.secondary:hover{background:#eef5ea}

/* ---- login page ---- */
.lg{max-width:1240px;margin:8px auto 0}
.lg-top{background:#fff;padding:14px 32px;border-bottom:1px solid var(--line)}
.lg-top img{display:block;border-radius:50%}
.lg-body{background:#fff;padding:20px 32px 40px}
.lg-title{font-weight:500;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.2;margin:4px 0 28px;color:var(--brand)}
.lg-title span{display:block;color:var(--brand-dark)}
.lg-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.lg-panel{background:#f1f3f0;display:grid;grid-template-columns:1fr 1fr;padding:28px 0;min-height:440px}
.lg-form{padding:0 28px;border-right:1px solid #d7ddd6}
.lg-form label{font-weight:500;font-size:.9rem;margin:14px 0 6px}
.lg-form input{width:100%;padding:10px 12px;border:1px solid #b9c2b8;border-radius:3px;background:#fff;font-size:1rem}
.lg-form input:focus{border-color:var(--brand);outline:2px solid #cfe6c0}
.lg-hint{text-align:right;font-size:.8rem;margin:6px 0 0;color:var(--muted)}
.lg-hint strong{color:var(--brand);font-weight:600}
.lg-actions{text-align:right;margin-top:26px}
.lg-btn{background:var(--brand);color:#fff;border:0;border-radius:3px;padding:11px 0;width:150px;font:inherit;font-weight:600;cursor:pointer}
.lg-btn:hover{background:var(--brand-dark)}
.lg-terms{font-size:.8rem;text-align:center;margin:22px 0 8px;color:var(--ink)}
.lg-secure{font-size:.78rem;text-align:center;color:var(--brand);font-weight:600;margin:0}
.lg-error{background:var(--badbg);color:var(--bad);border:1px solid #f1b4b4;padding:8px 10px;border-radius:3px;font-size:.9rem}
.lg-info{padding:0 28px;font-size:.88rem}
.lg-info h2{font-size:.95rem;font-weight:500;margin:14px 0 10px}
.lg-info hr{border:0;border-top:1px solid #d7ddd6;margin:22px 0}
.lg-btn-outline{display:inline-block;margin-top:10px;border:1px solid var(--accent);color:var(--brand);background:#fff;padding:8px 22px;border-radius:3px;font-weight:600;text-decoration:none}
.lg-btn-outline:hover{background:#eef5ea}
.lg-help{border-top:3px solid var(--brand);background:#fafbfa;padding:10px 16px 14px}
.lg-help h2{font-size:.95rem;margin:2px 0 8px}
.lg-help ul{list-style:none;margin:0;padding:0;font-size:.85rem}
.lg-help li{padding:7px 0;border-top:1px solid var(--line);color:var(--brand)}
.lg-help li::before{content:"» ";color:var(--muted)}
.lg-banner{margin-top:18px;background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff;padding:26px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:190px}
.lg-banner p{margin:0;font-size:1.3rem;font-weight:600;line-height:1.3}
.lg-foot{background:#fff;margin-top:14px;padding:16px 32px;text-align:center;font-size:.8rem;color:var(--brand)}
.lg-foot p{margin:4px 0}
@media (max-width:960px){.lg-grid{grid-template-columns:1fr}.lg-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lg-banner{margin-top:0}}
@media (max-width:640px){.lg-panel{grid-template-columns:1fr;gap:8px}.lg-form{border-right:0;border-bottom:1px solid #d7ddd6;padding-bottom:24px}.lg-side{grid-template-columns:1fr}.lg-top,.lg-body{padding-left:16px;padding-right:16px}.lg-btn{width:100%}.lg-actions{text-align:center}}

.tenant-bar{background:#fff3d6;color:#5a3a00;border-bottom:2px solid #e0b252;padding:8px 16px;text-align:center;font-size:.92rem}.tenant-bar button{margin-left:10px;background:#5a3a00;color:#fff;border:0;border-radius:4px;padding:4px 12px;cursor:pointer}
.sys-tabs{display:flex;gap:18px;flex-wrap:wrap;margin:-.4rem 0 1rem}.sys-tabs a{font-weight:600;text-decoration:none}
