:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#14233b;background:#f3f6fa}*{box-sizing:border-box}body{margin:0}.app{padding:28px 34px 60px;min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}h1{font-size:34px;margin:0}h1 span{font-size:12px;background:#dce8f6;padding:5px 8px;border-radius:10px;vertical-align:middle}p{margin:4px 0;color:#64748b}button{border:0;border-radius:10px;background:#154a7d;color:#fff;font-weight:800;padding:13px 18px;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.green{background:#17713f}.secondary{background:#fff;color:#23466e;border:1px solid #ccd7e5}nav{display:flex;gap:8px;margin-bottom:18px}nav button{background:#e7edf5;color:#4a607b;padding:10px 18px}nav button.active{background:#fff;color:#17456f;box-shadow:0 2px 8px #0001}.toolbar,.actions,.dbbar,.progress,.filters,.dbgrid{background:#fff;border:1px solid #d9e2ec;border-radius:14px;padding:16px;margin-bottom:14px}.toolbar{display:flex;gap:28px;align-items:end;flex-wrap:wrap}.chips{display:flex;gap:7px;margin-top:8px}.chips button{background:#f2f5f9;color:#48617d;padding:8px 11px;font-size:12px}.chips button.on{background:#e2f4e9;color:#17643b;border:1px solid #b9dfc8}.search{flex:1;min-width:320px}.search input{width:100%;padding:12px 14px;border:1px solid #cbd6e2;border-radius:10px;font-size:14px}.actions{display:flex;justify-content:space-between;align-items:center}.actions h2{margin:0;font-size:28px}.dbbar{background:#eef3f8}.progress>div:first-child{display:flex;justify-content:space-between}.track{height:10px;background:#e8edf4;border-radius:8px;overflow:hidden;margin:12px 0}.track div{height:100%;background:#1b5b92}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.cards div,.dbgrid div{background:#fff;border:1px solid #d9e2ec;border-radius:14px;padding:18px}.cards b,.dbgrid b{display:block;font-size:28px}.cards span,.dbgrid span{color:#66778e}.filters{display:flex;gap:18px;align-items:center}.filters select{padding:9px;border-radius:8px;border:1px solid #ccd6e2}.filters span{margin-left:auto;font-weight:800}.tablewrap{background:#fff;border:1px solid #d9e2ec;border-radius:14px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{position:sticky;top:0;background:#edf2f7;text-align:left;padding:10px;color:#51657e}td{padding:10px;border-top:1px solid #edf1f5;vertical-align:top}td small{display:block;color:#7b8798;margin-top:4px;max-width:360px}code{font-weight:800;color:#173f69}.icon{background:transparent;color:#c79200;font-size:20px;padding:0}.status{display:inline-block;padding:5px 8px;border-radius:8px;font-size:11px;font-weight:800}.status.ok{background:#e1f5e9;color:#17643b}.status.warn{background:#fff0cc;color:#855d00}.pager{display:flex;justify-content:center;gap:14px;align-items:center;margin-top:14px}.pager button{padding:8px 14px}.dbgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dbgrid .path{grid-column:1/-1}.path{font-family:monospace;word-break:break-all}footer{position:fixed;left:0;right:0;bottom:0;background:#173f69;color:#fff;padding:10px 24px;font-size:13px}@media(max-width:1200px){.cards{grid-template-columns:repeat(3,1fr)}}.progress .pulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:#1b5b92;margin-right:10px;vertical-align:middle;animation:rpulse 1.2s ease-in-out infinite}@keyframes rpulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.track div{transition:width .4s ease}.track.indeterminate div{animation:rslide 1.4s ease-in-out infinite}@keyframes rslide{0%{margin-left:0}50%{margin-left:70%}to{margin-left:0}}.progress p{margin:4px 0 0;color:#52606d;font-size:13px}.progress .warnline{color:#9a6700}.selbox{display:inline-flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}.selbox button{padding:6px 10px;font-size:12px}.datefilter{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#334155;background:#f8fafc;border:1px solid #d7e0e8;border-radius:10px;padding:5px 8px}.datefilter input{border:0;background:transparent;color:#0f3d5e;font-weight:700;outline:none}.compact{padding:6px 9px!important;font-size:11px!important}
