/* Galanesia unified admin theme — shared by Transport and Email Blast */
:root{--ga-ink:#14233b;--ga-muted:#687790;--ga-line:#e4eaf3;--ga-surface:#fff;--ga-bg:#f4f7fb;--ga-blue:#285bd8;--ga-blue-dark:#174b78;--ga-radius:18px;--ga-shadow:0 12px 34px rgba(20,43,78,.07)}
body.admin-page{background:var(--ga-bg);color:var(--ga-ink)}
.admin-main{min-width:0;padding:28px clamp(16px,2.5vw,36px) 54px}
.transport-wrap,.blast-wrap{width:100%;max-width:1500px;margin:0 auto;padding:0 0 42px}
.transport-wrap h1,.blast-wrap h1{font-size:clamp(27px,3vw,36px);line-height:1.12;letter-spacing:-.035em;font-weight:800;margin:0 0 10px;color:var(--ga-ink)}
.transport-wrap>p,.blast-wrap .blast-hero p{color:var(--ga-muted);line-height:1.7}
.transport-wrap .card,.blast-wrap .blast-card,.blast-wrap .blast-report-grid>div{background:var(--ga-surface);border:1px solid var(--ga-line);border-radius:var(--ga-radius);box-shadow:var(--ga-shadow);padding:22px;margin:0 0 22px;overflow:auto}
.transport-wrap .card h2,.blast-wrap .blast-card h2{font-size:19px;letter-spacing:-.02em;margin:0 0 12px;color:var(--ga-ink)}
.transport-wrap label,.blast-wrap label{display:block;font-size:13px;font-weight:750;color:#34445f;margin:8px 0 7px}
.transport-wrap input:not([type=checkbox]):not([type=radio]),.transport-wrap select,.transport-wrap textarea,.blast-wrap input:not([type=checkbox]):not([type=radio]),.blast-wrap select,.blast-wrap textarea{font:inherit;color:var(--ga-ink);background:#fff;border:1px solid #d6dfec;border-radius:10px;padding:11px 13px;min-height:43px;max-width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.transport-wrap input:focus,.transport-wrap select:focus,.transport-wrap textarea:focus,.blast-wrap input:focus,.blast-wrap select:focus,.blast-wrap textarea:focus{outline:none;border-color:var(--ga-blue);box-shadow:0 0 0 3px rgba(40,91,216,.12)}
.transport-wrap form.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.transport-wrap button,.transport-wrap .btn,.blast-wrap button,.blast-wrap .blast-btn{font:inherit;font-weight:750;border-radius:10px;padding:10px 15px;cursor:pointer;transition:transform .15s,filter .15s}
.transport-wrap button,.transport-wrap .btn,.blast-wrap .blast-primary{background:var(--ga-blue);color:white;border:1px solid var(--ga-blue);text-decoration:none}
.transport-wrap button:hover,.transport-wrap .btn:hover,.blast-wrap button:hover{filter:brightness(.97);transform:translateY(-1px)}
.transport-wrap table,.blast-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:780px;font-size:13px}
.transport-wrap td,.transport-wrap th,.blast-wrap td,.blast-wrap th{padding:12px 13px;text-align:left;border-bottom:1px solid var(--ga-line);vertical-align:top}
.transport-wrap th,.blast-wrap th{background:#f5f8fd;color:#52627c;font-size:11px;text-transform:uppercase;letter-spacing:.055em;font-weight:800;white-space:nowrap}
.transport-wrap tr:last-child td,.blast-wrap tr:last-child td{border-bottom:0}
.transport-wrap .error,.blast-wrap .blast-error{background:#fff1f1;border:1px solid #ffd3d3;color:#a52222;border-radius:12px;padding:13px 16px}
.transport-wrap .ok,.blast-wrap .blast-ok{background:#eaf9f0;border:1px solid #c8efd8;color:#17653c;border-radius:12px;padding:13px 16px}
.transport-wrap .table-scroll,.transport-wrap .card{max-width:100%}
.blast-wrap .blast-hero{border-radius:20px;box-shadow:0 16px 36px rgba(12,40,79,.15);margin-bottom:22px;padding:28px;background:linear-gradient(125deg,#0b2444,#174b78 65%,#1673ce)}
.blast-wrap .blast-nav{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px}
.blast-wrap .blast-nav a{border-radius:10px;padding:9px 13px;font-weight:750;text-decoration:none}
.blast-wrap .blast-grid{gap:22px}
.blast-wrap .blast-card{min-width:0}
.blast-wrap .blast-list{overflow:auto}
.blast-wrap .blast-field{min-width:0}
.blast-wrap .blast-muted{color:var(--ga-muted);line-height:1.65}
.blast-wrap .blast-alert{border-radius:12px;padding:13px 16px;margin:0 0 18px}
.blast-wrap .blast-report-grid>div{padding:18px}
.blast-wrap .rich-toolbar{display:flex;flex-wrap:wrap;gap:6px}
.blast-wrap .rich-toolbar button{background:#f3f6fb;border:1px solid var(--ga-line);color:#31435e}
.blast-wrap .blast-pill{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:9px 13px;background:rgba(255,255,255,.1)}
@media(max-width:1000px){.transport-wrap form.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main{padding:22px 18px 40px}}
@media(max-width:640px){.transport-wrap form.grid{grid-template-columns:1fr}.transport-wrap .card,.blast-wrap .blast-card{padding:16px;border-radius:14px}.blast-wrap .blast-hero{padding:20px}.admin-main{padding:16px 12px 32px}.transport-wrap h1,.blast-wrap h1{font-size:27px}}

/* Interaction polish: fast feedback, no layout jump, accessible focus. */
button,.btn,a,select,input,textarea{ -webkit-tap-highlight-color:transparent }
button,.btn,.blast-wrap .blast-btn,.transport-wrap button,.blast-wrap button{transition:transform .12s ease,filter .12s ease,box-shadow .12s ease,opacity .12s ease}
button:active,.btn:active,.is-pressed{transform:translateY(1px) scale(.99)!important}
button:disabled,input[type=submit]:disabled{cursor:wait;opacity:.72;filter:saturate(.75)}
form.is-submitting{cursor:progress}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(40,91,216,.35);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
