:root{--cs-primary:#126da3;--cs-primary-dark:#0b507a;--cs-primary-soft:#eaf4fa;--cs-ink:#173246;--cs-muted:#637786;--cs-line:#d9e3e9;--cs-surface:#fff;--cs-background:#f3f6f8;--cs-danger:#a9252f;--cs-success:#177245;font-family:"Segoe UI",Arial,sans-serif;color:var(--cs-ink)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--cs-background);color:var(--cs-ink);font-size:15px}a{color:var(--cs-primary)}
.erp-topbar{align-items:center;background:#fff;border-bottom:1px solid var(--cs-line);box-shadow:0 2px 9px #1732460c;display:flex;min-height:68px;padding:0 clamp(1rem,4vw,3rem);position:sticky;top:0;z-index:50}
.erp-brand{align-items:center;color:var(--cs-ink);display:flex;gap:1rem;font-weight:700;text-decoration:none}.erp-brand img{height:32px;max-width:138px;object-fit:contain;width:auto}.erp-brand span{border-left:1px solid var(--cs-line);padding-left:1rem;white-space:nowrap}
.erp-nav{align-items:stretch;display:flex;gap:.2rem;margin-left:auto;min-height:67px}.erp-nav a,.erp-nav button{align-items:center;background:transparent;border:0;color:#334f60;cursor:pointer;display:flex;font:inherit;padding:0 .85rem;text-decoration:none}.erp-nav a:hover,.erp-nav button:hover,.erp-nav a:focus-visible,.erp-nav button:focus-visible{background:var(--cs-primary-soft);color:var(--cs-primary);outline:none}.erp-nav form{display:flex;margin:0}
.erp-content{margin:0 auto;max-width:1440px;padding:1.7rem clamp(1rem,4vw,3rem) 3rem}.erp-content-auth{max-width:none;padding:0}.page-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:1.4rem}.page-heading h1{font-size:clamp(1.55rem,2.5vw,2.1rem);margin:0}.page-heading p:not(.eyebrow){color:var(--cs-muted);margin:.35rem 0 0}.eyebrow{color:var(--cs-primary);font-size:.73rem;font-weight:700;letter-spacing:.13em;margin:0 0 .35rem}
.panel{background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:8px;box-shadow:0 3px 14px #1732460a;padding:1.25rem}.panel h2{font-size:1.05rem;margin:0 0 .75rem}.panel p{color:var(--cs-muted);line-height:1.55}.panel-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.detail-panel{max-width:720px}.detail-list{display:grid;gap:.85rem;grid-template-columns:150px 1fr;margin:0}.detail-list dt{color:var(--cs-muted)}.detail-list dd{font-weight:600;margin:0}
.button,button.button{border:1px solid transparent;border-radius:5px;cursor:pointer;display:inline-block;font:inherit;font-weight:600;padding:.68rem 1rem;text-align:center;text-decoration:none}.button-primary,.cs-button-primary{background:var(--cs-primary);border-color:var(--cs-primary);color:#fff}.button-primary:hover,.button-primary:focus-visible{background:var(--cs-primary-dark);border-color:var(--cs-primary-dark)}.button-block{width:100%}
.alert{border:1px solid;border-radius:6px;margin:0 0 1rem;padding:.8rem 1rem}.alert:empty{display:none}.alert-error{background:#fff0f1;border-color:#efb9bd;color:#84202a}.alert-warning{background:#fff8e5;border-color:#ead39a;color:#735000}.alert-success{background:#eaf8f0;border-color:#acddbf;color:#145c37}.alert p{margin:.5rem 0}.token-value{color:#19384b!important;font-family:Consolas,monospace;font-size:1.05rem;overflow-wrap:anywhere}.status-pill{border-radius:20px;display:inline-block;font-size:.78rem;font-weight:700;padding:.22rem .55rem}.status-good{background:#e2f5e9;color:var(--cs-success)}.status-bad{background:#fde9eb;color:var(--cs-danger)}
.table-panel{padding:0;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th{background:#f7fafb;color:#536b7a;font-size:.76rem;letter-spacing:.03em;text-align:left;text-transform:uppercase}th,td{border-bottom:1px solid var(--cs-line);padding:.85rem 1rem;vertical-align:top}tbody tr:hover{background:#f8fbfd}.mono{font-family:Consolas,monospace;font-size:.78rem}.empty-state{background:#fff;border:1px dashed #b9cbd5;border-radius:8px;padding:3rem 1rem;text-align:center}.empty-state h2{margin:0}.empty-state p,.empty-inline{color:var(--cs-muted)}.empty-inline{padding:1rem;text-align:center}.text-muted{color:var(--cs-muted)}
.login-shell{align-items:center;background:linear-gradient(135deg,#f3f8fb 0%,#e4f0f7 100%);display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.login-card{background:#fff;border:1px solid var(--cs-line);border-radius:10px;box-shadow:0 18px 55px #1732461c;display:grid;grid-template-columns:280px minmax(320px,420px);overflow:hidden}.login-brand{align-items:center;background:var(--cs-primary);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:2.5rem 2rem;text-align:center}.login-brand .cs-brand-logo{background:#fff;border-radius:5px;max-width:210px;padding:.8rem;width:100%}.login-brand span{font-size:.9rem;margin-top:1.3rem;opacity:.9}.login-card form{padding:2.5rem}.login-card h1{font-size:1.75rem;margin:0}.form-group{margin:1.1rem 0}.form-group label{display:block;font-size:.86rem;font-weight:600;margin-bottom:.4rem}.form-group input{border:1px solid #b8c8d1;border-radius:5px;font:inherit;padding:.72rem .8rem;width:100%}.form-group input:focus{border-color:var(--cs-primary);box-shadow:0 0 0 3px #126da326;outline:none}.field-error{color:var(--cs-danger);display:block;font-size:.78rem;margin-top:.25rem}.login-notice{color:var(--cs-muted);font-size:.75rem;line-height:1.4;margin:1rem 0 0;text-align:center}
@media(max-width:800px){.erp-topbar{align-items:flex-start;flex-direction:column;padding-top:.75rem;position:static}.erp-nav{flex-wrap:wrap;margin:.6rem 0 0;min-height:auto;width:100%}.erp-nav a,.erp-nav button{min-height:42px;padding:0 .65rem}.login-card{grid-template-columns:1fr}.login-brand{padding:1.5rem}.detail-list{grid-template-columns:1fr;gap:.25rem}.detail-list dd{margin-bottom:.7rem}}
