:root{--green:#0f5132;--green-2:#0c6a45;--green-soft:#eaf5ef;--paper:#fff;--text:#1f2933;--muted:#667085;--border:#d0d5dd;--danger:#9a3412;--danger-soft:#fff7ed;--warning:#92400e;--shadow:0 20px 60px #10182814;color:var(--text);background:#f6faf8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#0f51321f,#0000 36rem),linear-gradient(#f6faf8 0%,#fff 100%);min-height:100vh;margin:0}button,input,select{font:inherit}button{background:var(--green);color:#fff;cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;padding:12px 18px;font-weight:800}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{color:var(--green);border:1px solid var(--border);background:#fff}button.secondary{background:var(--green-soft);color:var(--green)}button.danger-soft{background:var(--danger-soft);color:var(--danger)}button.small,button.tiny{padding:8px 12px;font-size:.86rem}.shell{width:min(1280px,100% - 28px);margin:0 auto;padding:20px 0 90px}.topbar{border:1px solid var(--border);box-shadow:var(--shadow);background:#ffffffe6;border-radius:28px;grid-template-columns:1fr minmax(120px,220px);align-items:center;gap:18px;padding:20px;display:grid;overflow:hidden}.brand{align-items:center;gap:18px;display:flex}.brand img{width:min(180px,38vw);height:auto}.mascot{justify-self:end;width:min(210px,34vw)}.eyebrow{color:var(--green-2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:.76rem;font-weight:900}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1}.subtitle{color:var(--muted);margin-bottom:0}.card,.login-card{border:1px solid var(--border);background:#ffffffeb;border-radius:24px;margin-top:18px;padding:18px;box-shadow:0 10px 34px #1018280f}.login-card{max-width:460px;margin-left:auto;margin-right:auto}.login-form{gap:14px;display:grid}label{color:#344054;gap:7px;font-size:.92rem;font-weight:800;display:grid}input,select{border:1px solid var(--border);min-height:48px;color:var(--text);background:#fff;border-radius:14px;outline:none;padding:10px 12px}input:focus,select:focus{border-color:var(--green-2);box-shadow:0 0 0 4px #0c6a451f}.filter-grid{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr));gap:14px;display:grid}.actions-row,.table-head,.pagination{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions-row{margin-top:14px}.spacer{flex:1}.notice{border:1px solid var(--border);background:var(--green-soft);color:var(--green);border-radius:18px;margin-top:18px;padding:14px 16px;font-weight:800}.notice.error{background:var(--danger-soft);color:var(--danger)}.table-card{padding:0;overflow:hidden}.table-head{border-bottom:1px solid var(--border);justify-content:space-between;padding:16px 18px}.selected-badge{background:var(--green-soft);color:var(--green);border-radius:999px;margin-left:8px;padding:4px 9px;font-size:.82rem;font-weight:900;display:inline-flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #eaecf0;padding:14px 12px}th{color:#475467;text-transform:uppercase;letter-spacing:.05em;background:#fcfcfd;font-size:.78rem}tr.selected td{background:#f1f8f4}td strong,td span,td small{display:block}td small{color:var(--muted);margin-top:3px;line-height:1.35}.check-col{width:46px}.check-col input{width:20px;height:20px;min-height:auto}.actions-col{width:250px}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.status{border-radius:999px;width:fit-content;padding:5px 10px;font-size:.82rem;font-weight:900;display:inline-flex}.status.ok{background:var(--green-soft);color:var(--green)}.status.bad{background:var(--danger-soft);color:var(--danger)}.status.wait{color:#92400e;background:#fffbeb}.status.idle{color:#475467;background:#f2f4f7}.warn{color:var(--warning);max-width:260px}.empty{text-align:center;color:var(--muted);padding:34px;font-weight:800}.pagination{justify-content:center;padding:16px}@media (width<=820px){.topbar{grid-template-columns:1fr}.brand{flex-direction:column;align-items:flex-start}.mascot{display:none}.filter-grid{grid-template-columns:1fr}.actions-row button,.pagination button{width:100%}.spacer{display:none}}
