:root{--bg:#f4f2ee;--card:#fff;--ink:#24242a;--muted:#77737c;--line:#e8e4de;--coral:#e96f5d;--violet:#9c7dcc;--mint:#63b49b;--blue:#6e94c7;--sidebar:#242329;--danger:#b7433c;--shadow:0 16px 45px rgba(46,40,35,.08)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:25px 16px;color:#ddd;background:var(--sidebar)}.brand{display:flex;align-items:center;gap:11px;margin:0 8px 30px;color:#fff;text-decoration:none}.brand>span,.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;color:#fff;background:var(--coral);font-weight:800}.brand b,.brand small{display:block}.brand small{color:#88838c;font-size:9px;letter-spacing:.12em}.sidebar nav{display:grid;gap:5px}.sidebar nav a{border-radius:10px;padding:10px 12px;color:#aaa6ae;text-decoration:none;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#343239}.sidebar-bottom{display:grid;gap:10px;margin-top:auto;padding:15px 10px 0;border-top:1px solid #3a383f}.sidebar-bottom a,.sidebar-bottom button{border:0;padding:0;color:#98949d;background:none;text-decoration:none;font-size:12px;cursor:pointer}.content{min-width:0;padding:32px clamp(18px,4vw,48px) 50px}.topbar,.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.topbar{margin-bottom:25px}.topbar h1{margin:0;font-size:31px;letter-spacing:-.04em}.eyebrow{margin:0 0 5px;color:var(--coral);font-size:10px;font-weight:800;letter-spacing:.14em}.db-online{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:7px 11px;color:var(--muted);background:#fff;font-size:11px;font-weight:700}.db-online i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(99,180,155,.14)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.metric,.card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}.metric{display:flex;align-items:center;gap:13px;border-radius:15px;padding:17px}.metric-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:12px;color:#fff;font-weight:800}.coral{background:var(--coral)}.violet{background:var(--violet)}.mint{background:var(--mint)}.blue{background:var(--blue)}.metric strong,.metric small{display:block}.metric strong{font-size:22px;line-height:1}.metric small{margin-top:5px;color:var(--muted);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:17px}.card{border-radius:17px;padding:21px}.card h2{margin:0;font-size:18px}.card-head{margin-bottom:18px}.card-head>a{color:var(--coral);font-size:12px;font-weight:700;text-decoration:none}.badge{display:inline-block;border-radius:99px;padding:5px 9px;font-size:9px;font-weight:800;text-transform:uppercase}.badge.success{color:#30745f;background:#dff1eb}.badge.warning{color:#946c22;background:#f6ebd3}.badge.danger{color:#973b34;background:#f8dfdc}.process-box{display:grid;gap:5px;margin-bottom:17px;border-radius:12px;padding:15px;background:#f6f3ef}.process-box small{color:var(--coral);font-size:9px;font-weight:800;text-transform:uppercase}.process-box span{color:var(--muted);font-size:11px}.quality-list{display:grid;gap:9px}.quality-list div,.submetrics{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px}.quality-list span{color:var(--muted);font-size:11px}.quality-list strong{font-size:12px}.submetrics{gap:10px;margin-top:13px;border:0}.submetrics span{flex:1;border-radius:9px;padding:9px;background:#f6f3ef;color:var(--muted);font-size:10px}.submetrics b{display:block;color:var(--ink);font-size:16px}.table-card{margin-top:17px;padding:0}.table-card>.card-head{padding:21px 21px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:10px 14px;color:#99949c;font-size:9px;letter-spacing:.08em;text-align:left;text-transform:uppercase}td{border-top:1px solid var(--line);padding:11px 14px;vertical-align:middle}tr.highlight{background:#fff2e7}td code{font-size:10px}.row-actions{display:flex;align-items:center;gap:9px;white-space:nowrap}.row-actions a,.row-actions button{border:0;padding:0;color:var(--coral);background:none;font-size:10px;font-weight:700;text-decoration:none;cursor:pointer}.row-actions button{color:var(--danger)}.mini-tags{color:var(--mint);font-size:9px;font-weight:700}.actions-head{align-items:center}.search{display:flex;max-width:520px;flex:1}.search input{border-radius:10px 0 0 10px}.search button{border:0;border-radius:0 10px 10px 0;padding:0 15px;color:#fff;background:var(--ink);cursor:pointer}.button{display:inline-block;border:0;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}.button.primary{color:#fff;background:var(--coral)}.button.danger{color:#9b3933;background:#f8dfdc}.button.ghost{color:var(--ink);background:#f0ece7}.pagination{display:flex;align-items:center;gap:6px;padding:16px 20px}.pagination a{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;text-decoration:none}.pagination a.active{color:#fff;background:var(--ink)}.pagination span{margin-left:auto;color:var(--muted);font-size:10px}.form-card{max-width:900px}.entity-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.entity-form label,.stack-form label{display:grid;gap:6px;color:#615e66;font-size:11px;font-weight:700}.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;color:var(--ink);background:#faf9f7;outline:none}input:focus,select:focus,textarea:focus{border-color:#df9f95;box-shadow:0 0 0 3px rgba(233,111,93,.1)}textarea{resize:vertical}fieldset{border:1px solid var(--line);border-radius:11px;padding:13px}legend{padding:0 5px;font-size:11px;font-weight:800}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.check-grid label{display:flex;align-items:center;gap:6px}.check-grid input{width:auto}.form-actions{display:flex;gap:8px}.logs-card{margin-top:17px}.logs{max-height:480px;overflow:auto;border-radius:10px;padding:10px;background:#25242a}.log{display:grid;grid-template-columns:155px 7px 1fr;gap:9px;padding:5px;color:#d5d2d8;font-size:10px}.log time{color:#77727d}.log i{width:6px;height:6px;margin-top:5px;border-radius:50%;background:var(--blue)}.log.error i{background:var(--coral)}.log.warning i{background:#d8a94e}.flash{margin-bottom:13px;border-radius:10px;padding:11px 13px;font-size:12px}.flash.success{color:#2f6f5d;background:#dff1eb}.flash.error{color:#963a34;background:#f7dfdc}.empty-state{padding:25px;color:var(--muted);text-align:center}.login-page{display:grid;min-height:100vh;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#f2c9bf,transparent 35%),var(--bg)}.login-card{width:min(410px,100%);border:1px solid var(--line);border-radius:20px;padding:31px;background:#fff;box-shadow:var(--shadow)}.login-card h1{margin:8px 0 4px}.login-card .muted{margin-bottom:23px;color:var(--muted)}.stack-form{display:grid;gap:15px}.stack-form .button{margin-top:5px}.brand-mark{margin-bottom:17px}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar-bottom{display:none}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:600px){.content{padding:20px 12px 40px}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:12px}.entity-form{grid-template-columns:1fr}.full{grid-column:auto}.check-grid{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.db-online{display:none}.sidebar nav{grid-template-columns:1fr 1fr}.card{padding:16px}.table-card{padding:0}}
.scraper-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.scraper-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:700}.scraper-form input,.scraper-form select{width:100%;border:1px solid var(--line);border-radius:10px;background:#faf9f7;color:var(--ink);padding:.72rem .8rem;font:inherit}.scraper-form .full{grid-column:1/-1}.form-note{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}@media(max-width:600px){.scraper-form{grid-template-columns:1fr}.scraper-form .full{grid-column:auto}}
.db-online span i{width:auto;height:auto;border-radius:0;background:none;box-shadow:none}
.scraper-form label small{color:var(--muted);font-size:.67rem;font-weight:500;line-height:1.4}.pending-overview{margin-top:17px}.pending-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.pending-summary-grid>div{display:flex;align-items:center;gap:9px;min-width:0;border-radius:11px;padding:12px;background:#f6f3ef}.pending-summary-grid>div>i{color:var(--coral)}.pending-summary-grid>div span,.pending-summary-grid>div b{display:block}.pending-summary-grid>div span{min-width:0;color:var(--muted);font-size:9px}.pending-summary-grid>div b{color:var(--ink);font-size:18px}.coverage-note,.section-note{color:var(--muted);font-size:11px;line-height:1.55}.coverage-note{margin:14px 0 0}.coverage-note i{margin-right:5px;color:var(--blue)}.pending-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:17px}.pending-intro h2{margin-bottom:5px}.pending-intro p:last-child{max-width:900px;margin:0;color:var(--muted)}.pending-page-summary{margin-bottom:17px}.pending-page-summary .metric{min-width:0}.section-note{margin:-7px 21px 13px}.pending-actions{flex-wrap:wrap;min-width:230px}.resume-action{white-space:nowrap}.logs-card .card-head>a{color:var(--coral);font-size:12px;font-weight:700;text-decoration:none}
@media(max-width:1100px){.pending-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.pending-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pending-intro{align-items:flex-start;flex-direction:column}.pending-intro .button{width:100%;text-align:center}.section-note{margin-left:16px;margin-right:16px}}
.source-blocked{display:flex;align-items:flex-start;gap:10px;margin:-5px 0 16px;border:1px solid #efd0cc;border-radius:11px;padding:11px 12px;color:#8d3d36;background:#fff1ef}.source-blocked>i{margin-top:3px}.source-blocked p{margin:0;font-size:11px;line-height:1.5}.source-blocked b{display:block}

