:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f3f5f9;--blue:#3867f4;--line:#dfe3ea}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}header{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.logo{font-weight:800;color:var(--blue);text-decoration:none}.logo span{color:#172033;font-weight:650;margin-left:8px}nav{display:flex;gap:8px;align-items:center}nav a{color:#58647b;text-decoration:none;margin-left:16px}.tab{border:0;background:transparent;padding:20px 12px;border-bottom:3px solid transparent}.tab.active{color:var(--blue);border-color:var(--blue)}main{padding:20px;max-width:1800px;margin:auto}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.cards article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.cards span{display:block;color:#6b7589;font-size:13px;margin-bottom:8px}.cards strong{font-size:24px}.cards strong.small{font-size:15px}.grid-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.toolbar{height:58px;display:flex;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.toolbar input{width:min(440px,50vw)}input,select{border:1px solid #ccd2dd;border-radius:8px;padding:9px 11px;background:#fff}.toolbar button,.selection button,.grid-footer button,.panel button{border:1px solid #ccd2dd;border-radius:8px;background:#fff;padding:8px 12px}.toolbar .primary-action{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:650;white-space:nowrap}.panel{display:flex;gap:12px;align-items:end;padding:12px 14px;background:#f8f9fc;border-bottom:1px solid var(--line)}.panel label{display:grid;gap:5px;font-size:12px}.panel button:not(.secondary),.selection button:not(.secondary){background:var(--blue);border-color:var(--blue);color:#fff}.floating{position:absolute;right:16px;top:56px;z-index:8;display:grid;align-items:start;max-height:420px;overflow:auto;border:1px solid var(--line);box-shadow:0 12px 30px #1b284026;border-radius:10px;background:#fff}.floating label{display:flex;align-items:center;gap:8px}.selection{display:flex;gap:10px;align-items:center;padding:10px 14px;background:#edf2ff;border-bottom:1px solid #cad6ff}.selection span{margin-right:auto}.table-wrap{overflow:auto;min-height:480px;max-height:calc(100vh - 330px);position:relative}table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap;text-align:left;background:#fff}th{position:sticky;top:0;z-index:3;background:#f9fafc;font-weight:650}th button{border:0;background:transparent;font-weight:inherit;padding:0}.sticky{position:sticky;left:0;z-index:2}.sticky-code{position:sticky;left:44px;z-index:2}.link{color:#1749dc}.empty{text-align:center;color:#7a8498;padding:70px}.loading{position:absolute;inset:0;background:#ffffffc4;display:grid;place-items:center;font-weight:650}.grid-footer{height:56px;display:flex;justify-content:space-between;align-items:center;padding:8px 14px}.grid-footer>div{display:flex;gap:8px;align-items:center}.grid-footer label{font-size:13px}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#edf2ff,#f8f9fc)}.login-card{width:min(400px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 20px 60px #1c2e5520}.login-card h1{margin-bottom:8px}.login-card p{color:#68748a}.login-card label{display:grid;gap:7px;margin:22px 0}.login-card button{width:100%;border:0;border-radius:9px;padding:11px;background:var(--blue);color:#fff;font-weight:700}.brand-mark{display:grid;place-items:center;width:50px;height:50px;background:var(--blue);color:#fff;border-radius:12px;font-weight:800}.alert{background:#fff0f0;color:#a32929;padding:10px;border-radius:8px;font-size:13px}@media(max-width:800px){.cards{grid-template-columns:1fr 1fr}main{padding:10px}.selection{flex-wrap:wrap}.selection span{width:100%}}
