:root{
  --navy:#0f2345;--navy-2:#17345f;--blue:#0a66c2;--bg:#f3f6fa;--card:#fff;
  --text:#172033;--muted:#687386;--line:#dfe5ee;--green:#12865c;--red:#b42318;
  --shadow:0 12px 35px rgba(15,35,69,.08)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--navy);color:#fff;padding:22px 16px;position:fixed;inset:0 auto 0 0;z-index:30;display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px}.brand-mark{display:grid;place-items:center;background:var(--blue);width:39px;height:39px;border-radius:10px;font-weight:800;font-size:20px;color:#fff}.brand-mark.large{width:52px;height:52px;margin:0 auto 15px;font-size:24px}.brand strong,.brand small{display:block}.brand small{opacity:.68;margin-top:2px}
.sidebar nav{display:grid;gap:5px}.sidebar nav a{text-decoration:none;padding:11px 13px;border-radius:9px;color:#dce5f2}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.11);color:#fff}.sidebar-note{margin-top:auto;border:1px solid rgba(255,255,255,.15);padding:13px;border-radius:12px;font-size:12px;line-height:1.45}.sidebar-note strong,.sidebar-note span{display:block}.sidebar-note span{opacity:.72;margin-top:4px}
.main{margin-left:250px;min-width:0;width:calc(100% - 250px)}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:20}.topbar-title{font-weight:750;font-size:18px}.user-menu{margin-left:auto;display:flex;align-items:center;gap:17px}.user-menu span strong,.user-menu span small{display:block;text-align:right}.user-menu span small{font-size:11px;color:var(--muted)}.user-menu a{font-size:13px;color:var(--blue);text-decoration:none}.menu-button{display:none;border:0;background:transparent;font-size:22px;margin-right:10px}
.content{padding:28px;max-width:1500px;margin:0 auto}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.page-head h1{font-size:26px;margin:0 0 6px}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.actions form{display:inline-flex;margin:0}.task-actions{min-width:360px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:9px 13px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;background:#fff;white-space:nowrap}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{border-color:var(--line);color:var(--text)}.btn-danger{background:#fff4f2;color:var(--red);border-color:#ffd5ce}.btn-success{background:#e8f7f1;color:#0c704d;border-color:#bce8d8}.btn-sm{padding:7px 9px;font-size:12px}
.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:29px;margin-top:6px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h2{font-size:17px;margin:0}.card-body{padding:18px}.narrow-card{max-width:780px}.installer-card{width:min(720px,100%)}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f9fbfd}.table tr:last-child td{border-bottom:0}.workflow-table{min-width:1100px}.row-processed{background:#f8fbfa;color:#647268}.row-processed .avatar{opacity:.75}.processed-label{font-size:12px;font-weight:700;color:var(--green)}
.muted{color:var(--muted);font-size:13px}.block{display:block;margin-top:3px}.account-cell{display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:#eaf0f8;display:grid;place-items:center;font-weight:800;color:var(--navy);overflow:hidden;flex:0 0 auto}.account-cell strong,.account-cell small{display:block}.account-cell small{color:var(--muted);margin-top:2px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750;background:#edf1f7;color:#596579}.badge-active,.badge-completed,.badge-done{background:#e6f7ef;color:#087451}.badge-pending,.badge-draft,.badge-opened{background:#fff4db;color:#8a5a00}.badge-paused,.badge-archived,.badge-skipped{background:#eef0f4;color:#5b6472}.badge-login_required,.badge-disabled{background:#ffebe8;color:#a5281d}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:6px}.field-full{grid-column:1/-1}.field label{font-weight:700;font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd7e3;border-radius:9px;padding:10px 11px;font:inherit;background:#fff}.field input[readonly]{background:#f3f5f8;color:#5d6878}.field textarea{min-height:105px;resize:vertical}.help{font-size:12px;color:var(--muted);line-height:1.45}.form-actions{display:flex;gap:10px;margin-top:18px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.filters input,.filters select{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}
.alert{border-radius:10px;padding:12px 14px;margin-bottom:16px;border:1px solid}.alert-success{background:#eaf8f2;border-color:#bce8d8;color:#0b704e}.alert-error{background:#fff0ee;border-color:#ffd1ca;color:#a9281d}.alert-info{background:#edf6ff;border-color:#bfddfa;color:#175b93}.progress{height:9px;background:#edf1f5;border-radius:999px;overflow:hidden;margin-top:5px}.progress span{display:block;height:100%;background:var(--blue)}
.campaign-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:18px}.campaign-summary .card-body strong{display:block;font-size:23px;margin-top:5px}.link-box{display:flex;gap:8px;margin-top:7px}.link-box input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px;background:#f8fafc}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.pagination{display:flex;gap:6px;padding:16px}.pagination a{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--line);border-radius:8px;text-decoration:none}.pagination a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.login-page,.launch-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,#0f2345,#1a4d83)}.login-card,.launch-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.login-brand{color:var(--text);padding:0 0 18px}.login-card h1,.launch-card h1{margin:0 0 8px}.login-card p,.launch-card p{margin:0 0 22px;color:var(--muted)}.login-card .field{margin-bottom:14px}.login-card>.btn,.login-card form>.btn{width:100%;padding:12px}.launch-card{text-align:center}.launch-card .alert{text-align:left}.launch-actions{display:grid;gap:9px}
.checklist{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:10px}.checkrow{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.checkrow:last-child{border-bottom:0}.checkrow input{width:auto}.checkrow small{display:block;margin-top:2px}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.notice{background:#f8fafc;border:1px dashed #bdc8d7;padding:13px;border-radius:10px;color:#556174;font-size:13px;line-height:1.55;margin-bottom:14px}.strong-notice{border-style:solid;background:#fffaf0;border-color:#f0d49a;color:#6d4b00}.danger-zone{margin-top:20px;display:flex;justify-content:flex-end}
@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.campaign-summary,.split{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s;box-shadow:20px 0 50px rgba(0,0,0,.18)}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-button{display:block}.content{padding:20px}}
@media(max-width:650px){.stats,.form-grid{grid-template-columns:1fr}.page-head{display:block}.page-head .actions{margin-top:13px}.topbar{padding:0 15px}.user-menu span{display:none}.content{padding:15px}.card-body{padding:14px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.actions .btn{width:auto}.link-box{display:grid}.campaign-summary{gap:10px}.login-card,.launch-card{padding:22px}.task-actions{min-width:320px}}
.section-title{font-size:17px;margin:0 0 14px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.connection-panel{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);background:#f8fafc;border-radius:11px;padding:12px;margin-bottom:14px}.connection-panel strong,.connection-panel small{display:block}.connection-panel small{color:var(--muted);margin-top:3px;line-height:1.4}.connection-dot{width:11px;height:11px;border-radius:50%;background:#9aa5b3;margin-top:4px;flex:0 0 auto}.connection-panel.connected{background:#eefaf5;border-color:#bfe9d8}.connection-panel.connected .connection-dot{background:var(--green)}.connection-panel.expired{background:#fff8e7;border-color:#f0d49a}.connection-panel.expired .connection-dot{background:#c77a00}.warning-notice{background:#fff8e7;border-color:#f0d49a;color:#6d4b00}.verified-line{color:var(--green)!important;font-weight:700}.account-cell .verified-line{margin-top:4px}.notice code{background:#eef1f5;border-radius:5px;padding:1px 5px}.launch-card .notice{text-align:left;margin-top:18px;margin-bottom:0}
@media(max-width:1000px){.settings-grid{grid-template-columns:1fr}}

.status-list{display:grid;gap:10px}.status-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.status-list>div:last-child{border-bottom:0}.status-list strong{font-size:13px}
