:root { color-scheme: light; --ink:#1c1c20; --muted:#646671; --line:#e4e5e9; --paper:#fff; --bg:#f5f6f8; --red:#c72e32; --amber:#9a6400; --green:#126b48; --blue:#2355a5; font-family: ui-sans-serif, system-ui, -apple-system, "Noto Sans Thai", sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); }
button,input { font:inherit; }
button { cursor:pointer; border:0; border-radius:10px; background:var(--ink); color:#fff; padding:11px 15px; font-weight:700; }
button:disabled { cursor:wait; opacity:.65; }
.shell { max-width:1180px; margin:0 auto; padding:32px 20px 56px; }
.login-card { width:min(100%,460px); margin:8vh auto; padding:30px; background:var(--paper); border:1px solid var(--line); border-radius:16px; box-shadow:0 16px 48px rgba(16,24,40,.08); }
.eyebrow { margin:0 0 8px; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.12em; }
h1 { margin:0; font-size:clamp(26px,4vw,38px); letter-spacing:-.04em; }
p { color:var(--muted); }
form { display:grid; gap:14px; margin-top:24px; }
label { display:grid; gap:7px; color:var(--muted); font-weight:700; }
input { min-height:46px; padding:10px 12px; color:var(--ink); border:1px solid var(--line); border-radius:10px; background:#fff; }
input:focus,button:focus-visible { outline:3px solid #9db8f0; outline-offset:2px; }
.form-error { min-height:20px; margin:0; color:var(--red); font-size:14px; }
header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
header p { margin:8px 0 0; }
.header-actions { display:flex; gap:9px; flex-wrap:wrap; }
.secondary { color:var(--ink); background:#fff; border:1px solid var(--line); }
.notice { min-height:46px; display:flex; align-items:center; margin-bottom:20px; padding:12px 14px; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:12px; }
.notice.error { color:#8d2428; border-color:#edb8ba; background:#fff5f5; }
.summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:28px; }
.summary-card,.domain { padding:18px; background:var(--paper); border:1px solid var(--line); border-radius:14px; }
.summary-card strong { display:block; margin-top:8px; font-size:28px; }
.summary-card span { color:var(--muted); font-size:14px; }
.domains { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.domain { min-height:270px; }
.domain-head { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.domain h2 { margin:0; font-size:20px; }
.pill { white-space:nowrap; display:inline-block; padding:5px 8px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.04em; }
.verified { color:var(--green); background:#e8f5ee; }
.not-verified { color:var(--red); background:#fff0f0; }
.blocked { color:var(--amber); background:#fff6df; }
.finding-list { list-style:none; padding:0; margin:16px 0 0; display:grid; gap:9px; }
.finding { padding:11px; border-left:3px solid var(--line); background:#fafafa; border-radius:0 8px 8px 0; }
.finding.critical { border-color:var(--red); }.finding.high { border-color:#e77e22; }.finding.warning { border-color:#d09a00; }.finding.info { border-color:var(--blue); }
.finding strong { display:block; font-size:14px; }.finding span { color:var(--muted); font-size:13px; }
.empty { margin-top:22px; color:var(--green); font-weight:700; }.footer-note { margin:28px 2px 0; font-size:13px; }
@media (max-width:780px) { .shell{padding:22px 14px 40px}.summary-grid,.domains{grid-template-columns:1fr}header{display:grid}.header-actions{width:100%}.header-actions button{flex:1}.login-card{margin:5vh auto;padding:22px} }
