:root{--ink:#172a3a;--muted:#6f7e8c;--line:#e5eaee;--bg:#f4f7f8;--navy:#163246;--teal:#16877f;--white:#fff;--shadow:0 12px 32px rgba(20,45,60,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Arial,sans-serif}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1100px)/2));position:sticky;top:0;z-index:5}.brand{font-size:20px;font-weight:800}.brand span{font-size:11px;letter-spacing:2px;color:var(--teal);margin-left:5px}.topbar nav{display:flex;gap:6px}.topbar nav a{padding:9px 12px;border-radius:8px;color:#60717f;font-weight:600}.topbar nav a:hover{background:#edf5f3;color:var(--teal)}main{max-width:1100px;margin:32px auto;padding:0 20px 70px}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--teal);font-weight:800;margin-bottom:9px}h1{font-size:30px;margin:0 0 8px}h2{font-size:17px;margin:0 0 14px}.hero p,.muted{color:var(--muted);line-height:1.6}.button,button{border:0;border-radius:8px;background:var(--navy);color:#fff;padding:12px 16px;font-weight:700;cursor:pointer;text-decoration:none}.button.secondary{background:#e9f3f1;color:#176f69}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.card{padding:19px}.card small{color:var(--muted)}.card strong{display:block;font-size:25px;margin-top:9px}.panel{padding:21px;margin-bottom:18px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-head span{font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse}th{text-align:left;background:#f8fafb;color:#7c8994;font-size:10px;text-transform:uppercase;letter-spacing:.8px;padding:12px}td{padding:13px 12px;border-top:1px solid #edf0f2;color:#526272}.small-button{padding:8px 10px;font-size:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.row{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f2;padding:10px 0}.row span{color:var(--muted)}.search-panel{max-width:800px}.search-panel label,form label{display:block;font-weight:700;margin-bottom:8px}.search-row{display:flex;gap:9px}.search-row input,input{width:100%;border:1px solid #d8e0e5;border-radius:8px;padding:12px;font:inherit}.details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:15px 0 22px}.details div{padding:14px;background:#f8fafb;border-radius:9px}.details span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.details b{word-break:break-word}.warning,.success-box,.note{padding:14px;border-radius:9px;margin:15px 0}.warning{background:#fff4df;color:#7a5b21}.success-box{background:#e9f6ef;color:#276b4a}.note{background:#eef4f6;color:#526672;line-height:1.6}.risk{font-weight:700}.critical{color:#b43d39}.high{color:#b66b22}.medium{color:#92751e}.low{color:#47805a}.empty{text-align:center;padding:35px;color:var(--muted)}.flash{padding:12px 14px;background:#eaf6f2;border-radius:8px;margin-bottom:14px;color:#246b5e}.flash.error{background:#fff0ed;color:#a0473d}.login{max-width:420px;margin:90px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:var(--shadow)}.login h1{font-size:28px}.login form{margin:22px 0}.login input{margin-bottom:13px}.login button{width:100%}.login small{color:var(--muted)}ol{line-height:2;color:#526272}@media(max-width:760px){.topbar{height:auto;min-height:65px;flex-wrap:wrap;padding:12px 16px}.topbar nav{width:100%;overflow:auto}.hero{align-items:flex-start;flex-direction:column}.cards,.two,.details{grid-template-columns:1fr}.search-row{flex-direction:column}table{min-width:700px}.panel{overflow:auto}main{padding:0 13px 50px}}

/* --- additions for the full CertWatch Lab build --- */
.badge { display: inline-block; padding: 2px 10px; border-radius: 12px; font-size: 12px; font-weight: 600; }
.badge-valid { background: #d4edda; color: #155724; }
.badge-expiring { background: #fff3cd; color: #856404; }
.badge-expired { background: #f8d7da; color: #721c24; }
.badge-low { background: #d4edda; color: #155724; }
.badge-medium { background: #fff3cd; color: #856404; }
.badge-high { background: #ffdfb8; color: #8a4b00; }
.badge-critical { background: #f8d7da; color: #721c24; }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin: 18px 0; }
.stat-card { background: var(--card-bg, #fff); border: 1px solid #dde3ea; border-radius: 10px; padding: 14px 16px; }
.stat-card .num { font-size: 26px; font-weight: 700; }
.stat-card .label { color: #667; font-size: 13px; }
.settings-table td:first-child { font-weight: 600; width: 280px; }

/* --- report-matching UI refinements --- */
.brand { text-decoration: none; color: var(--ink); }
.brand:hover { color: var(--ink); }
td form { margin: 0; }
td { vertical-align: middle; }
.login label { font-size: 13px; }
.hero .button { white-space: nowrap; }
