@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#132238;background:#f3f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr;background:#fff}.login>section{padding:8vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#071c2f,#0b3541 68%,#0a4e50);color:#fff;position:relative;overflow:hidden}.login>section:after{content:"";position:absolute;width:440px;height:440px;border:1px solid #47d7c055;border-radius:50%;right:-180px;bottom:-160px;box-shadow:0 0 0 70px #47d7c012,0 0 0 140px #47d7c00b}.brandmark{display:flex;gap:10px;align-items:center;font:800 18px Manrope;margin-bottom:80px}.brandmark svg{color:#42d6be}.eyebrow{letter-spacing:.14em;font-size:12px;font-weight:700;color:#38cdb6}.login h1{font:800 clamp(52px,6vw,86px)/.95 Manrope;margin:15px 0 25px;letter-spacing:-.055em}.login h1 em{color:#42d6be;font-style:normal}.lede{font-size:18px;line-height:1.65;max-width:560px;color:#bed0d6}.trust{display:flex;gap:28px;margin-top:42px;color:#c8dbdf}.trust span{display:flex;align-items:center;gap:8px}.trust svg{width:18px;color:#42d6be}.login form{width:min(410px,80%);margin:auto}.login form h2{font:800 34px Manrope;margin:0}.login form>p{color:#718096;margin:10px 0 35px}.login label{font-weight:600;font-size:14px;display:block;margin:18px 0}.login input{display:block;width:100%;margin-top:8px;border:1px solid #d7dee5;border-radius:8px;padding:14px;outline:none}.login input:focus{border-color:#0fa58e;box-shadow:0 0 0 3px #0fa58e18}.login form button,.primary{border:0;background:#0aa089;color:#fff;padding:14px 18px;border-radius:8px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;width:100%}.login form small{display:block;text-align:center;color:#94a3b8;margin-top:22px}.error{color:#b42318;background:#fef3f2;padding:10px;border-radius:6px}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.app aside{background:#071d2f;color:#c0d0d7;padding:25px 15px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{height:68px;display:grid;grid-template-columns:35px auto;grid-template-rows:21px 18px;align-items:center;padding:0 12px;color:#fff}.logo svg{grid-row:1/3;color:#42d6be}.logo b{font:700 13px Manrope;letter-spacing:.06em}.logo span{color:#42d6be;font:800 19px Manrope}.app nav{margin-top:30px;display:flex;flex-direction:column;gap:4px}.app nav button{border:0;background:transparent;color:#9eb0ba;text-align:left;padding:11px 13px;border-radius:7px;display:flex;gap:11px;align-items:center;cursor:pointer;font-size:14px}.app nav svg{width:18px}.app nav button.active{background:#0d3d4b;color:#5ce3cd}.asidefoot{margin-top:auto;border-top:1px solid #ffffff16;padding:18px 6px 0;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0c8f80;color:#fff;font-size:12px;font-weight:800}.asidefoot div:nth-child(2){display:flex;flex-direction:column;font-size:12px}.asidefoot small{color:#78909b}.asidefoot button{margin-left:auto;background:none;border:0;color:#7f97a2}.asidefoot svg{width:17px}.content{padding:32px clamp(25px,4vw,60px);overflow:auto}.content header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.content header h1{font:800 30px Manrope;margin:4px 0}.content header .eyebrow{margin:0}.content header .primary{width:auto}.primary svg{width:18px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics article,.panel{background:#fff;border:1px solid #e3e9ed;border-radius:10px;box-shadow:0 2px 5px #0b253408}.metrics article{display:flex;gap:14px;align-items:center;padding:20px}.metricicon{width:44px;height:44px;border-radius:8px;display:grid;place-items:center}.metricicon svg{width:21px}.metricicon.green{background:#e4f8f2;color:#07856e}.metricicon.blue{background:#e8f1fb;color:#2a6fa8}.metricicon.amber{background:#fff4dc;color:#b8790b}.metricicon.red{background:#fdeceb;color:#bd413a}.metrics strong{display:block;font:800 27px Manrope}.metrics span{font-size:13px;color:#70808c}.grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.panel{padding:22px}.panelhead{display:flex;justify-content:space-between;align-items:center}.panel h2{font:700 17px Manrope;margin:0}.panel p{color:#71808d;font-size:13px}.panelhead button{border:0;background:none;color:#0a9e88;display:flex;align-items:center;font-weight:700;font-size:13px}.panelhead svg{width:15px}table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px}th{text-align:left;color:#7c8a95;font-weight:600;border-bottom:1px solid #e7ecef;padding:11px 8px}td{padding:14px 8px;border-bottom:1px solid #eef2f4}.pill{background:#edf1f3;padding:5px 8px;border-radius:10px;font-size:10px;font-weight:700}.pill.confirmed{background:#e1f6ef;color:#087760}.pill.sending,.pill.queued{background:#e4effa;color:#2a6594}.pill.waiting_verification{background:#fff2d8;color:#926000}.empty{text-align:center;color:#8795a0;padding:35px}.bigstat{margin:25px 0;padding:25px;background:#e7f7f3;color:#087966;border-radius:8px;font:800 32px Manrope;display:flex;align-items:center;gap:9px}.bigstat svg{width:27px}.bigstat span{display:block;font:500 12px DM Sans;margin-left:auto}.statline{display:flex;justify-content:space-between;padding:13px 2px;border-bottom:1px solid #edf0f2;font-size:13px}.placeholder{max-width:720px;min-height:300px;padding:45px}.placeholder h2{font-size:25px;margin-top:20px}.placeholder p{font-size:15px;line-height:1.6}.placeholder .primary{width:auto;margin-top:20px}@media(max-width:950px){.metrics{grid-template-columns:repeat(2,1fr)}.grid,.login{grid-template-columns:1fr}.login>section{display:none}}@media(max-width:700px){.app{grid-template-columns:74px 1fr}.app aside{padding:18px 10px}.logo b,.logo span,.app nav button{font-size:0}.logo{grid-template-columns:1fr}.logo svg{margin:auto}.app nav button{justify-content:center}.asidefoot div:not(.avatar),.asidefoot button{display:none}.metrics{grid-template-columns:1fr}.content{padding:22px 15px}.content header .primary{font-size:0;padding:12px}.wide{overflow-x:auto}}.tabs{display:flex;gap:7px;margin-bottom:16px}.tabs button{border:1px solid #dbe3e8;background:#fff;border-radius:7px;padding:9px 14px;cursor:pointer}.tabs button.on{background:#0d3d4b;color:#fff}.formgrid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:18px}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form h2{grid-column:1/-1;margin-top:10px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}.field input,.field select,.field textarea{border:1px solid #d7e0e5;border-radius:7px;padding:11px;background:#fff;color:#172b3b;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#0aa089;box-shadow:0 0 0 3px #0aa08918}.form>.primary,.form>.notice{grid-column:1/-1}.recordlist{margin-top:18px;display:flex;flex-direction:column}.recordlist>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f3;padding:13px 4px;font-size:13px}.recordlist>div span{color:#667884}.recordlist button,.actions>button{border:1px solid #d6e0e5;background:#fff;border-radius:6px;padding:7px 10px;color:#0a8d79;font-weight:700;cursor:pointer}.notice{background:#e8f7f3;color:#087562;border-radius:7px;padding:11px;font-size:13px}.programming{max-width:950px}.modalback{position:fixed;top:0;right:0;bottom:0;left:0;background:#071d2fcc;display:grid;place-items:center;padding:25px;z-index:10}.modal{background:#fff;border-radius:12px;padding:28px;width:min(760px,100%);max-height:90vh;overflow:auto}.modal h2{font:800 24px Manrope}.modal li{margin:10px 0}.modal code{display:block;background:#f1f5f7;padding:10px;border-radius:6px;word-break:break-all}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.actions .primary{width:auto}@media(max-width:900px){.formgrid,.form{grid-template-columns:1fr}.field,.form h2,.form>.primary,.form>.notice{grid-column:1}}.gateway-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.gateway-toolbar h2{font:800 23px Manrope;margin:0}.gateway-toolbar p{color:#71808d;margin:6px 0 0}.gateway-toolbar>div:last-child{display:flex;gap:10px}.gateway-toolbar .primary{width:auto}.ghost{border:1px solid #d8e0e5;background:#fff;color:#314556;border-radius:8px;padding:11px 15px;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer}.ghost svg,.gateway-toolbar svg{width:17px}.gateway-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.gateway-summary article{background:#fff;border:1px solid #e3e9ed;border-radius:9px;padding:16px 19px;display:flex;align-items:baseline;gap:9px}.gateway-summary b{font:800 25px Manrope}.gateway-summary span{font-size:12px;color:#758591}.gateway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gateway-card{background:#fff;border:1px solid #e0e7eb;border-radius:12px;padding:20px;box-shadow:0 2px 7px #102c3c08}.gateway-card.disabled{opacity:.72}.gateway-card-head,.gateway-device{display:flex;align-items:center;justify-content:space-between}.gateway-device{justify-content:flex-start;gap:11px}.gateway-device>span,.modalicon{width:42px;height:42px;border-radius:10px;background:#e5f7f3;color:#098d78;display:grid;place-items:center}.gateway-device svg,.modalicon svg{width:21px}.gateway-device h3{font:800 16px Manrope;margin:0}.gateway-device small{color:#7d8b95}.gateway-status{font-size:10px;font-weight:800;padding:6px 9px;border-radius:15px;background:#edf1f3;color:#687782;text-transform:uppercase}.gateway-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:5px}.gateway-status.online{background:#dff6ef;color:#087a63}.gateway-status.offline{background:#fff0d6;color:#96630a}.gateway-status.revoked,.gateway-status.error{background:#fde8e6;color:#a83630}.gateway-telemetry{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.gateway-telemetry>div{background:#f5f8f9;border-radius:8px;padding:11px;display:grid;grid-template-columns:18px 1fr;align-items:center;gap:2px 6px}.gateway-telemetry svg{width:16px;color:#6d7e89;grid-row:1/3}.gateway-telemetry span{font-size:10px;color:#82909a}.gateway-telemetry b{font-size:12px;overflow:hidden;text-overflow:ellipsis}.gateway-card dl{margin:0;border-top:1px solid #edf1f3}.gateway-card dl>div{display:flex;justify-content:space-between;padding:9px 1px;border-bottom:1px solid #edf1f3;font-size:12px}.gateway-card dt{color:#7d8b95}.gateway-card dd{margin:0;font-weight:600;text-align:right}.gateway-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.gateway-actions button{border:1px solid #dce4e8;background:#fff;border-radius:7px;padding:8px 10px;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#38505f;cursor:pointer}.gateway-actions button:hover{border-color:#0aa089;color:#087c69}.gateway-actions button.danger{color:#a23c36}.gateway-actions button:disabled{opacity:.45}.gateway-actions svg{width:14px}.gateway-notice{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.gateway-notice button,.modalclose{border:0;background:none;color:inherit;cursor:pointer}.gateway-notice svg,.modalclose svg{width:17px}.gateway-modal,.pairing-modal{position:relative;width:min(480px,calc(100vw - 30px))}.modalclose{position:absolute;right:16px;top:16px;color:#71808d}.gateway-modal .modalicon,.pairing-modal .modalicon{margin-bottom:15px}.gateway-modal>p{line-height:1.5}.gateway-modal .field{margin-top:16px}.gateway-modal .actions{margin-top:22px}.gateway-modal .actions .primary{width:auto}.pairing-modal{text-align:center}.pairing-modal .modalicon{margin:0 auto 18px}.pairing-code{font:800 46px/1 Manrope;letter-spacing:.16em;color:#087d69;background:#e6f7f3;border:1px dashed #35bca5;padding:22px 12px;border-radius:10px;margin:14px 0}.pairing-modal .primary{margin-top:18px}@media(max-width:900px){.gateway-grid{grid-template-columns:1fr}}@media(max-width:650px){.gateway-toolbar{align-items:flex-start;gap:15px}.gateway-toolbar>div:last-child{flex-direction:column}.gateway-toolbar .ghost,.gateway-toolbar .primary{font-size:12px}.gateway-summary{grid-template-columns:repeat(2,1fr)}.gateway-telemetry{grid-template-columns:1fr}.gateway-telemetry>div{grid-template-columns:18px 1fr auto}.gateway-telemetry svg{grid-row:auto}.pairing-code{font-size:35px}}.gateway-actions button.test-sms{background:#e5f7f3;border-color:#9edfd3;color:#087a67}.test-result dd{font-size:10px;font-weight:800;text-transform:uppercase}.test-result dd.sent_by_android{color:#087a63}.test-result dd.pending,.test-result dd.assigned,.test-result dd.sending{color:#9b680b}.test-result dd.failed{color:#ad3832}.test-modal .test-warning{background:#fff4dc;color:#7f570c;border-radius:7px;padding:11px 13px;font-size:12px;margin-top:14px}.test-modal textarea{min-height:90px}.test-modal .actions{margin-top:18px}.test-modal .actions .primary{width:auto}.template-layout{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}.template-form{grid-template-columns:1fr 1fr}.variables-panel{position:sticky;top:30px}.variables-panel>p{line-height:1.5}.variable-list{display:grid;gap:7px;margin-top:16px}.variable-list button{text-align:left;border:1px solid #dfe7eb;background:#f8fafb;border-radius:8px;padding:9px 11px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.variable-list button:hover{border-color:#0aa089;background:#eefaf7}.variable-list code{color:#087d69;font-weight:800}.variable-list span{font-size:11px;color:#73838e}.templates-list{margin-top:18px}@media(max-width:900px){.template-layout{grid-template-columns:1fr}.variables-panel{position:static}.template-form{grid-template-columns:1fr}}.catalog-actions{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.catalog-actions button:last-child{color:#a23c36}.recordlist>div>span{flex:1}.recordlist small{color:#667884}@media(max-width:650px){.recordlist>div{align-items:flex-start;gap:8px}.catalog-actions{justify-content:flex-end}}
