:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#17233a;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef2f4 0,#f7f8f9 240px);min-height:100vh}button,input,select{font:inherit}button,a{transition:.18s ease}.brand-lockup{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#163d37;color:#fff;font-size:22px;font-weight:800;box-shadow:0 9px 24px rgba(22,61,55,.2)}.brand-lockup small,.admin-header small,.panel-title small{display:block;color:#6b7a88;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brand-lockup h1,.admin-header h1{margin:2px 0 0;font-size:23px;letter-spacing:-.04em}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,rgba(25,114,89,.13),transparent 34%),#edf1f1}.auth-card{width:min(440px,100%);padding:34px;background:rgba(255,255,255,.96);border:1px solid #dfe6e4;border-radius:24px;box-shadow:0 24px 70px rgba(23,49,45,.13)}.auth-copy{margin:32px 0 24px}.auth-copy h2{font-size:27px;margin:0 0 9px}.auth-copy p,.security-note p{color:#687783;line-height:1.65;margin:0}.auth-form{display:grid;gap:10px}.auth-form label,.admin-form label{font-weight:700;font-size:13px}.auth-form input,.admin-form input,.admin-form select{width:100%;height:48px;margin-top:6px;border:1px solid #ccd7d3;border-radius:10px;padding:0 13px;background:#fff;outline:none}.auth-form input:focus,.admin-form input:focus,.admin-form select:focus{border-color:#197259;box-shadow:0 0 0 3px rgba(25,114,89,.1)}.auth-form button,.admin-form>button{height:48px;border:0;border-radius:10px;background:#163d37;color:#fff;font-weight:800;cursor:pointer;margin-top:8px}.auth-form button:hover,.admin-form>button:hover{background:#0e5448}.security-note{display:flex;gap:10px;align-items:flex-start;margin-top:24px;padding-top:20px;border-top:1px solid #e8eceb}.security-note span{color:#197259;font-weight:900}.text-link{display:inline-block;margin-top:20px;color:#19654f;font-weight:700;text-decoration:none}.flash{padding:12px 14px;border-radius:10px;font-weight:700;font-size:13px}.flash.error{background:#fff1ee;color:#a23a26}.flash.success{background:#eaf7ef;color:#16603f}.dashboard{width:min(1450px,100%);margin:0 auto;padding:18px 28px 40px}.topbar{min-height:70px;display:flex;align-items:center;justify-content:space-between}.account-actions{display:flex;align-items:center;gap:14px}.account-actions>div{display:grid}.account-actions>div small{color:#72808b}.account-actions a,.link-button{border:0;background:none;color:#285c50;font-weight:700;text-decoration:none;cursor:pointer}.secure-chip{padding:8px 11px;border-radius:999px;background:#e6f4ef;color:#166249;font-size:12px;font-weight:800}.trust-banner,.freshness-banner{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border-radius:14px;padding:15px 18px}.trust-banner{justify-content:flex-start;gap:13px;background:#e8f4ef;border:1px solid #cfe6dc}.trust-banner>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#167154;color:#fff;font-weight:900}.trust-banner p,.freshness-banner p{margin:3px 0 0;color:#60716d;font-size:13px}.freshness-banner{background:#fff6e4;border:1px solid #edd8a3}.freshness-banner>div{display:grid;grid-template-columns:auto auto;gap:0 10px;align-items:center}.freshness-banner i{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:#e49b1a}.freshness-banner b{font-size:13px;color:#75520d}.filters{display:flex;justify-content:space-between;align-items:center;margin:20px 0 14px}.segments{display:flex;padding:4px;background:#e6ebe9;border-radius:11px}.segments button{border:0;background:transparent;padding:9px 15px;border-radius:8px;color:#5f6f6c;font-weight:700;cursor:pointer}.segments button.active{background:#fff;color:#153d36;box-shadow:0 2px 8px rgba(29,49,44,.1)}.date-filter{display:flex;align-items:center;gap:8px;color:#677570;font-size:13px}.date-filter label{font-weight:800}.date-filter input{border:1px solid #d2dad7;background:#fff;border-radius:8px;padding:8px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.kpi,.panel{background:#fff;border:1px solid #e1e6e4;border-radius:15px;box-shadow:0 4px 15px rgba(30,52,47,.04)}.kpi{display:grid;gap:11px;padding:20px;min-height:132px}.kpi>span{color:#6b7975;font-weight:700;font-size:13px}.kpi>strong{font-size:28px;letter-spacing:-.04em}.kpi>small{color:#73817d}.kpi.primary{background:#173f38;color:#fff;border-color:#173f38}.kpi.primary>span,.kpi.primary>small{color:#b8d2ca}.main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(350px,1fr);gap:14px;margin-top:14px}.panel{padding:20px;margin-top:14px}.main-grid .panel{margin-top:0}.panel-title{display:flex;justify-content:space-between;align-items:flex-start}.panel-title h2{font-size:19px;margin:4px 0 0}.panel-title>span{font-size:12px;color:#687873}.chart{height:280px;display:flex;align-items:flex-end;gap:9px;margin-top:22px;padding:12px 8px 0;border-bottom:1px solid #d8dfdc;background:repeating-linear-gradient(to bottom,#fff 0,#fff 69px,#edf1ef 70px)}.chart-column{height:100%;flex:1;min-width:16px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.chart-bar{width:min(38px,80%);min-height:3px;border-radius:7px 7px 2px 2px;background:#91aaa3}.chart-bar.selected{background:#e5a621}.chart-column span{font-size:11px;color:#788680}.insight{padding:13px 15px;margin:15px 0 0;background:#f0f5f3;border-radius:10px;color:#455752;font-size:13px}.gates{list-style:none;margin:15px 0 0;padding:0}.gates li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #edf0ef}.gates li:last-child{border-bottom:0}.gates b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#e5f2ed;color:#1b7158}.gates .pending b{background:#fff0cf;color:#976813}.gates span{display:grid}.gates small{color:#77847f;margin-top:3px}.gates em{font-style:normal;font-size:12px;font-weight:800;color:#1b7158}.gates .pending em{color:#a66d07}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:16px}.source-grid article{padding:15px;border:1px solid #e4e9e7;border-radius:11px;background:#fbfcfc}.source-grid article>div{display:flex;align-items:center;gap:8px}.source-grid em{margin-left:auto;font-style:normal;font-size:11px;font-weight:800}.source-grid p{margin:12px 0 5px;color:#4d5e59;font-size:13px}.source-grid small{color:#7b8783}.source-grid .verified{color:#1d765b}.source-grid .pending{color:#ad730b}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#9aa7a3}.dot.verified,.dot.passed{background:#25a274}.dot.pending,.dot.warning{background:#e2a225}.dot.failed{background:#d34f3f}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.quality-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:15px;background:#f8faf9;border-radius:10px}.quality-grid article>div{display:grid}.quality-grid small{color:#7b8783;margin-top:4px}.quality-grid em{font-style:normal;font-weight:800;color:#254d44}.dashboard footer{display:flex;justify-content:space-between;padding:24px 3px;color:#7c8985;font-size:12px}.admin-page{width:min(1200px,100%);margin:auto;padding:32px}.admin-header{display:flex;justify-content:space-between;align-items:flex-start}.admin-header h1{font-size:30px}.admin-header p{color:#687873}.admin-header a{color:#215f50;text-decoration:none;font-weight:800}.admin-grid{display:grid;grid-template-columns:340px 1fr;gap:14px}.admin-grid .panel{margin:0}.admin-form{display:grid;gap:12px}.admin-form label{display:grid}.user-list>div{display:grid;grid-template-columns:42px minmax(220px,1fr) 110px 70px auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #edf0ef}.user-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e8f1ee;color:#1f6451;font-weight:900}.user-list>div>span:nth-child(2){display:grid}.user-list small{color:#76837f;margin-top:4px}.user-list em{font-style:normal;color:#52635e}.status{font-size:12px}.status.active{color:#1b7658}.status.disabled{color:#a24b3d}.secondary{border:1px solid #cbd6d2;background:#fff;color:#35574f;border-radius:7px;padding:7px 10px;cursor:pointer}@media(max-width:950px){.kpis{grid-template-columns:repeat(2,1fr)}.main-grid{grid-template-columns:1fr}.source-grid{grid-template-columns:repeat(2,1fr)}.quality-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.account-actions .secure-chip{display:none}}@media(max-width:640px){.dashboard,.admin-page{padding:14px}.topbar{align-items:flex-start}.account-actions{align-items:flex-end;flex-direction:column;gap:6px}.account-actions>div{display:none}.filters{align-items:stretch;flex-direction:column;gap:10px}.date-filter{flex-wrap:wrap}.kpis,.source-grid,.quality-grid{grid-template-columns:1fr}.freshness-banner{align-items:flex-start;flex-direction:column;gap:10px}.chart{height:220px;gap:4px}.chart-column span{font-size:9px}.user-list>div{grid-template-columns:40px 1fr auto}.user-list em,.user-list .status{display:none}.admin-header{flex-direction:column;gap:10px}}

