:root{font-family:Inter,"Noto Sans Thai",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17212f;background:#f4f7fb;--blue:#2563eb;--blue-dark:#1747ad;--green:#15966b;--orange:#f59e0b;--red:#dc4c4c;--muted:#667085;--line:#e4e9f1;--panel:#fff}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}aside{position:sticky;top:0;height:100vh;background:#101828;color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:17px}.brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#4f8bff,#2957d5);font-family:Georgia,serif;font-size:24px}.brand small{display:block;color:#98a2b3;font-size:10px;letter-spacing:.7px;margin-top:3px}.brand+nav{margin-top:34px}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#c4cad4;text-align:left;padding:13px 14px;border-radius:10px;font-weight:650}nav button:hover,nav button.active{background:#243046;color:#fff}.account{margin-top:auto;padding:14px;background:#1d2939;border-radius:12px;display:grid;gap:5px}.account small{color:#aeb7c5}.account button{margin-top:8px;padding:8px;border:1px solid #43516a;border-radius:8px;background:transparent;color:#fff}main{padding:30px 36px;min-width:0}header{display:flex;align-items:center;gap:18px;margin-bottom:24px}header>div{flex:1}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:1.5px;font-weight:800;margin:0 0 5px}h1,h2,p{margin-top:0}h1{font-size:29px;margin-bottom:4px}header p#subtitle{margin:0;color:var(--muted);font-size:14px}.menu-toggle{display:none}.primary{background:var(--blue);border-color:var(--blue);color:#fff!important;font-weight:750}.primary:hover{background:var(--blue-dark)}button,a,.row-actions a{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 14px;color:#27364b;text-decoration:none}.small{padding:8px 12px;font-size:13px}.flash{padding:12px 15px;border-radius:10px;margin-bottom:16px;background:#eaf9f3;color:#147154}.flash.error{background:#fff0ef;color:#a83e35}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;background:linear-gradient(120deg,#1e56d9,#5088ff);color:#fff;border-radius:17px;box-shadow:0 12px 28px #285ed529}.welcome span,.welcome p{opacity:.85}.welcome h2{font-size:25px;margin:5px 0}.welcome p{margin:0}.welcome .primary{background:#fff;color:#1747ad!important;border:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.metrics article{display:grid;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.metrics small,.metrics span{color:var(--muted)}.metrics strong{font-size:30px;margin:8px 0}.good{color:var(--green)}.warn{color:var(--orange)}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;margin-top:17px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:17px;margin-bottom:3px}.panel-head p{margin:0;color:var(--muted);font-size:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px}.steps button{display:flex;align-items:center;gap:12px;text-align:left}.steps button>b{display:grid;place-items:center;width:32px;height:32px;background:#edf3ff;color:var(--blue);border-radius:50%}.steps button>span{display:grid;gap:3px;flex:1}.steps small,.site-info span,.user-list span,.destination-list span,.content-list span{color:var(--muted)}.site-list,.content-list,.destination-list,.user-list{display:grid}.site-row,.content-list article,.destination-list article,.user-list article{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid #eef1f5}.site-row:last-child,.content-list article:last-child,.destination-list article:last-child,.user-list article:last-child{border:0}.site-icon,.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#edf3ff;color:var(--blue);font-weight:800}.site-info,.content-list article>div:first-child,.destination-list article>div:first-child{display:grid;gap:4px}.status{display:inline-block;padding:5px 9px;border-radius:30px;background:#f0f2f5;font-size:11px;font-weight:750}.status.live,.status.reviewed{background:#e6f7ef;color:#147154}.status.draft,.status.preview{background:#fff4d8;color:#8a6213}.ssl{font-size:11px;color:var(--muted);margin-left:5px}.row-actions{display:flex;gap:7px}.row-actions a{padding:7px 10px;font-size:12px}.tip,.warning{display:flex;gap:10px;padding:14px 17px;border-radius:11px;background:#eaf2ff;color:#184da8}.warning{background:#fff5df;color:#805b0d}.tip span{color:#42618f}.content-list article{grid-template-columns:minmax(160px,.8fr) minmax(260px,1.5fr) auto}.content-list textarea{width:100%}.content-list article>div:last-child{display:grid;gap:8px}.destination-list article{grid-template-columns:minmax(180px,.7fr) minmax(280px,1.6fr) auto}.destination-list input{width:100%}.user-list article{grid-template-columns:auto minmax(150px,1fr) 190px auto auto}.switch{display:flex;align-items:center;gap:7px}.role-help{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.role-help h2{font-size:17px}.role-help>div{display:grid;grid-template-columns:180px 1fr;padding:10px 0;border-top:1px solid var(--line)}.role-help span{color:var(--muted)}.audit>div:not(.panel-head){display:grid;grid-template-columns:170px 1fr 1fr;gap:15px;padding:11px 20px;border-bottom:1px solid var(--line)}.audit span,.audit small{color:var(--muted)}input,select,textarea{border:1px solid #cfd6e2;border-radius:9px;padding:10px 11px;background:#fff;color:#17212f}input:focus,select:focus,textarea:focus{outline:3px solid #dce8ff;border-color:var(--blue)}dialog{border:0;border-radius:16px;padding:0;width:min(520px,calc(100vw - 30px));box-shadow:0 24px 80px #10182855}dialog::backdrop{background:#10182899}dialog form{padding:24px;display:grid;gap:16px}.dialog-head,.actions{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:2px 0 0}.dialog-head small,.helper,label small{color:var(--muted)}label{display:grid;gap:7px;font-size:13px;font-weight:700}.icon{border:0;font-size:24px;padding:3px 9px}.actions{justify-content:flex-end;gap:9px}.login-page{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at top,#eaf1ff,#f6f8fc 55%)}.login-card{width:min(430px,100%);padding:34px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px #28446a20}.login-brand{margin-bottom:32px}.login-card h1{margin-bottom:7px}.login-card>p{color:var(--muted);margin-bottom:25px}.login-card form{display:grid;gap:16px}.login-card button{width:100%;padding:12px}.login-error{min-height:20px;color:var(--red);font-size:13px}.secure-note{display:block;color:var(--muted);line-height:1.6;margin-top:22px}.menu-toggle{border:1px solid var(--line);background:#fff}
@media(max-width:980px){body{grid-template-columns:1fr}aside{position:fixed;left:-270px;width:250px;transition:left .2s}aside.open{left:0;box-shadow:15px 0 50px #0004}.menu-toggle{display:block;padding:9px 12px}main{padding:24px}.metrics{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.site-row,.content-list article,.destination-list article,.user-list article{grid-template-columns:auto 1fr}.site-row>div:nth-child(3),.site-row>.row-actions,.content-list textarea,.content-list article>div:last-child,.destination-list input,.destination-list button,.user-list select,.user-list label,.user-list button{grid-column:2}.row-actions{flex-wrap:wrap}.role-help>div{grid-template-columns:1fr;gap:4px}}
@media(max-width:580px){main{padding:18px 14px}header{align-items:flex-start;flex-wrap:wrap}header>div{min-width:210px}header>#open-domain{width:100%}.welcome{align-items:flex-start;flex-direction:column}.welcome button{width:100%}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:15px}.metrics strong{font-size:25px}.site-row,.content-list article,.destination-list article,.user-list article{padding:14px}.site-icon,.avatar{width:36px;height:36px}.panel-head{align-items:flex-start}.panel-head .primary{white-space:nowrap}.audit>div:not(.panel-head){grid-template-columns:1fr;gap:3px}}

/* Login has its own one-column layout and must not inherit the dashboard sidebar grid. */
body.login-page{grid-template-columns:minmax(0,1fr);width:100%;place-items:center}

.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 14px}.report-toolbar>div{display:flex;gap:7px}.report-toolbar button{padding:8px 12px}.report-toolbar button.active{background:var(--blue);border-color:var(--blue);color:#fff}.report-toolbar small{color:var(--muted)}.report-list{display:grid}.report-list article{display:grid;grid-template-columns:minmax(240px,1.5fr) 110px minmax(150px,.7fr) minmax(170px,.8fr) auto;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.report-list article:last-child{border:0}.report-list article>div{display:grid;gap:4px}.report-list span,.report-list small{color:var(--muted)}.report-list input{width:100%}.renewal{display:inline-flex!important;width:max-content;padding:5px 9px;border-radius:999px;background:#eef2f6;font-weight:800;font-size:12px}.renewal.good{background:#e7f8f0;color:#147154}.renewal.warn{background:#fff3d6;color:#8a6213}.renewal.bad{background:#fff0ef;color:#a83e35}.bad{color:var(--red)}.connect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:17px}.connect-grid article{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px}.connect-grid article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf1ff;color:var(--blue);font-weight:800}.connect-grid h2{font-size:18px;margin:16px 0 8px}.connect-grid p{color:var(--muted);font-size:13px;line-height:1.65;min-height:86px}.warning button{margin-left:auto;white-space:nowrap}.warning span{align-self:center}.google-empty{color:var(--muted)}
@media(max-width:1100px){.report-list article{grid-template-columns:minmax(220px,1.3fr) 90px minmax(160px,1fr)}.report-list article>div:nth-child(4),.report-list article>button{grid-column:3}.connect-grid{grid-template-columns:1fr}}
@media(max-width:700px){.report-toolbar{align-items:flex-start;flex-direction:column}.report-toolbar>div{width:100%;overflow-x:auto}.report-list article{grid-template-columns:1fr 1fr}.report-list article>div:first-child{grid-column:1/-1}.report-list article>div:nth-child(4),.report-list article>button{grid-column:auto}.report-list article>button{align-self:end}.warning{align-items:flex-start;flex-direction:column}.warning button{margin-left:0;width:100%}}
@media(max-width:480px){.report-list article{grid-template-columns:1fr}.report-list article>*{grid-column:1!important}.report-list article>button{width:100%}}
.google-report{display:grid}.google-report article{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(160px,.8fr));gap:18px;padding:15px 20px;border-bottom:1px solid var(--line)}.google-report article:last-child{border:0}.google-report article>div{display:grid;gap:4px}.google-report span,.google-report small{color:var(--muted)}.settings-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;padding:20px;border-bottom:1px solid var(--line)}.settings-form.credential{grid-template-columns:1fr auto}.settings-form textarea{width:100%;font-family:ui-monospace,monospace;font-size:12px}.google-setup>.tip{margin:18px}
@media(max-width:850px){.google-report article{grid-template-columns:1fr 1fr}.settings-form,.settings-form.credential{grid-template-columns:1fr}.settings-form button{width:100%}}
@media(max-width:520px){.google-report article{grid-template-columns:1fr}}
.list-tools{display:flex;align-items:end;gap:14px;margin:18px 0;padding:15px;background:#fff;border:1px solid var(--line);border-radius:13px}.list-tools .search-box{flex:1;min-width:220px}.list-tools input{width:100%}.list-tools small{color:var(--muted);padding-bottom:11px;white-space:nowrap}.page-size{min-width:130px}.list-sort-bar{display:flex;align-items:center;gap:7px;padding:12px 14px;overflow-x:auto;border-bottom:1px solid var(--line)}.sort-button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:8px 11px;font-size:12px}.sort-button span{color:#98a2b3}.sort-button.active{border-color:#9db9f8;background:#edf3ff;color:#1747ad}.sort-button.active span{color:#1747ad}.pager{display:flex;justify-content:flex-end;align-items:center;gap:7px;padding:14px 18px;border-top:1px solid var(--line)}.pager button{padding:7px 11px}.pager button.active{background:var(--blue);border-color:var(--blue);color:#fff}.pager button:disabled{opacity:.45;cursor:not-allowed}.pager span{margin-left:6px;color:var(--muted);font-size:12px}.empty-list{padding:34px;text-align:center;color:var(--muted)}.data-panel{margin-top:0}
@media(max-width:650px){.list-tools{align-items:stretch;flex-wrap:wrap}.list-tools .search-box{flex-basis:100%}.list-tools small{margin-left:auto}.pager{justify-content:center;flex-wrap:wrap}.pager span{width:100%;text-align:center}.list-sort-bar{padding-inline:10px}}
