:root{--canvas:#f7f7f6;--surface:#fff;--ink:#171717;--muted:#686868;--border:#e3e3e1;--soft:#f1f1ef;--black:#111;--radius:10px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;font-size:14px;line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,textarea,summary{transition:background-color .16s,color .16s,border-color .16s}a{color:inherit;text-decoration:none}button{min-height:44px;border-radius:6px;padding:10px 15px;font-weight:550;white-space:nowrap}button:active:not(:disabled){opacity:.75}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8b8b8b;outline-offset:3px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}input,textarea{border:1px solid #ccc;border-radius:6px;padding:11px 12px;background:var(--surface);color:var(--ink);min-width:0;max-width:100%}input{min-height:44px}input::placeholder,textarea::placeholder{color:#777}textarea{resize:vertical;width:100%;line-height:1.7}input:disabled,textarea:disabled{background:var(--soft);color:#555}label{display:block;font-weight:550;margin-bottom:7px}p,h1,h2,h3{margin:0}h1{font-size:32px;letter-spacing:-1.1px;line-height:1.2;font-weight:650}h2{font-size:15px;line-height:1.4;font-weight:650;letter-spacing:-.2px}h3{font-size:14px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.primary{background:var(--black);color:#fff;border:1px solid var(--black)}.primary:hover:not(:disabled){background:#333}.secondary{background:#fff;border:1px solid #d9d9d7;color:var(--ink)}.secondary:hover:not(:disabled){background:var(--soft);border-color:#aaa}.quiet{background:transparent;border:0;color:var(--muted);padding:8px 10px}.quiet:hover{color:var(--ink);background:var(--soft)}.wide{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.square{width:44px;padding:10px;display:grid;place-items:center}.muted{color:var(--muted)}.eyebrow{display:block;font-size:10px;font-weight:650;letter-spacing:1.5px;color:var(--muted);line-height:1.5}.badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:5px;background:#f7f7f6;padding:4px 8px;font-size:11px;font-weight:550;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:16px;top:-70px;background:var(--black);color:#fff;padding:12px 18px;z-index:100}.skip-link:focus{top:16px}.wordmark{font-size:39px;font-weight:750;letter-spacing:-3px;line-height:1}.wordmark span{color:#888}.boot{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px}.boot p{color:var(--muted)}.login-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;position:relative}.login-brand{position:absolute;top:44px;left:48px;display:flex;align-items:center;gap:24px}.login-brand .eyebrow{letter-spacing:.8px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:40px;width:min(100%,440px)}.login-card h1{font-size:28px;margin:14px 0 12px;letter-spacing:-.8px}.login-card>p{margin-bottom:28px}.login-card>label{margin-top:20px}.login-card input{width:100%;font-size:16px}.password-wrap{position:relative}.password-wrap input{padding-right:96px}.password-wrap button{position:absolute;right:4px;top:1px;font-size:12px}.login-card .primary{margin-top:28px}.login-card .login-footnote{font-size:11px;text-align:center;color:var(--muted);margin:20px 0 0}.login-bottom{position:absolute;bottom:28px;font-size:11px;color:var(--muted)}
.app{min-height:100dvh}.sidebar{width:222px;background:var(--black);color:#bbb;position:fixed;inset:0 auto 0 0;padding:34px 18px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:block;padding:0 12px 40px;color:#fff}.brand .wordmark{font-size:38px}.brand-caption{display:block;font-size:8px;letter-spacing:1.9px;margin-top:13px;color:#8e8e8e}.nav-label{font-size:8px;letter-spacing:1.2px;color:#777;padding:0 12px;margin-bottom:13px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:13px;min-height:46px;padding:12px;border-radius:6px;font-size:13px;font-weight:500}.sidebar nav a:hover{background:#222;color:#fff}.sidebar nav a[aria-current=page]{background:#2c2c2c;color:#fff}.sidebar nav a[aria-current=page]::after{content:"";margin-left:auto;width:4px;height:4px;border-radius:50%;background:#fff}.sidebar nav svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;padding:20px 12px 0}.bot-label{font-size:11px;display:flex;align-items:center;gap:8px;padding-bottom:25px;border-bottom:1px solid #2c2c2c}.bot-label>span:last-child{margin-left:auto;font-size:10px;color:#eee}.status-dot{width:6px;height:6px;background:#bbb;border-radius:50%;display:inline-block}.account{padding-top:20px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.account>span{display:block;width:100%;font-size:12px;overflow-wrap:anywhere;color:#eee}.account button{color:#999;background:none;border:0;padding:0;min-height:32px;font-size:11px;display:flex;gap:70px}.account button:hover{color:#fff}.workspace{margin-left:222px}.topbar{height:66px;border-bottom:1px solid var(--border);padding:0 38px;background:#fff;display:flex;align-items:center;justify-content:space-between;font-size:11px}.topbar-product{color:#909090;margin-right:8px}.timezone{color:var(--muted);font-size:10px}main{padding:34px 38px 0;max-width:1620px;margin:0 auto;outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading .eyebrow{margin-bottom:10px;font-size:9px}.page-heading p{color:var(--muted);font-size:12px;margin-top:10px}.page-actions{display:flex;align-items:center;gap:10px}.segmented{display:flex;align-items:center;background:#eaeae8;padding:3px;border:1px solid #e1e1de;border-radius:7px}.segmented button{border:0;background:none;font-size:11px;color:#666;padding:8px 13px;min-height:36px}.segmented button[aria-pressed=true]{background:#fff;color:#111;box-shadow:0 1px 3px #0000000d}.notice{background:#fff;border:1px solid #aaa;border-left:3px solid var(--black);padding:13px 16px;font-size:12px;margin-bottom:22px;border-radius:4px;overflow-wrap:anywhere}.notice button{margin-left:16px;font-size:11px;min-height:32px;padding:5px 10px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:21px 22px;min-height:145px}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#676767;font-size:11px}.metric-top svg{width:17px;height:17px;color:#8e8e8e}.metric-value{font-size:32px;line-height:1.25;letter-spacing:-1.3px;font-weight:600;margin:16px 0 9px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-value.money{font-size:28px}.metric-note{font-size:10px;color:#777}.metric-note strong{font-weight:550;color:#333}.skeleton{background:var(--soft);color:transparent;border-radius:4px;min-width:80px}.panel{border:1px solid var(--border);background:#fff;border-radius:var(--radius);min-width:0}.panel-heading{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading p{font-size:11px;margin-top:5px;color:var(--muted)}.panel-heading h2{font-size:14px}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.chart-key{display:flex;align-items:center;gap:7px;color:#777;font-size:9px}.key-line{width:15px;border-top:2px solid #222}.key-line.dashed{border-top-style:dashed}.chart-slot{padding:6px 24px 23px;min-height:252px}.chart-content{display:grid;grid-template-columns:42px 1fr;column-gap:5px;min-height:219px}.chart-axis{font-size:9px;color:#777;display:flex;flex-direction:column;justify-content:space-between;padding:1px 0 25px;font-variant-numeric:tabular-nums}.chart-drawing{min-width:0;position:relative;padding-top:9px}.chart-svg{width:100%;height:180px;overflow:visible;display:block;stroke:none}.chart-labels{display:flex;justify-content:space-between;gap:6px;font-size:9px;color:#777;padding-top:15px;font-variant-numeric:tabular-nums}.chart-labels span:last-child{text-align:right}.chart-empty{font-size:11px;color:#666;position:absolute;left:0;right:0;top:70px;text-align:center;background:#ffffffdd;padding:8px}.loading{padding:38px 24px;text-align:center;color:#777;font-size:12px}.daily-details summary{padding:17px 23px;cursor:pointer;font-size:12px;font-weight:550}.daily-details summary span{float:right;color:#777;font-weight:400;font-size:10px}.daily-details[open] summary{border-bottom:1px solid var(--border)}.table-scroll{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-size:9px;letter-spacing:.5px;font-weight:550;color:#717171;text-transform:uppercase;background:#fafaf9}th,td{padding:15px 24px;border-bottom:1px solid #ededeb;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfcfb}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td .subline{display:block;font-size:10px;color:#777;margin-top:4px}td .payment-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;word-break:break-all;max-width:230px;display:block}.empty-cell{text-align:center;color:#777;padding:42px 24px;font-size:12px}.data-notes{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}.data-notes>div{display:flex;align-items:flex-start;gap:12px}.note-number{font-size:9px;color:#777;border:1px solid #d6d6d2;padding:2px 5px;border-radius:3px;flex-shrink:0}.data-notes p{font-size:10px;line-height:1.8;color:#777;max-width:510px}.updated-at{margin-top:22px;font-size:10px;color:#888}.footer{border-top:1px solid var(--border);margin-top:35px;padding:20px 0 24px;display:flex;justify-content:space-between;color:#888;font-size:9px;letter-spacing:.2px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 24px;border-top:1px solid var(--border);font-size:11px;color:#777}.pagination>div{display:flex;gap:8px}.pagination button{font-size:11px;min-height:36px;padding:7px 12px}.section-note{font-size:11px;color:var(--muted);margin-top:15px}
.campaign-workspace{display:grid;grid-template-columns:255px minmax(0,1fr);gap:20px;align-items:start}.campaign-list-panel .panel-heading{padding:17px 18px;border-bottom:1px solid var(--border)}.campaign-list-panel .panel-heading button{font-size:10px;padding:7px 10px;min-height:34px}.campaign-list{max-height:780px;overflow:auto;padding:6px}.campaign-list-item{display:block;width:100%;text-align:left;border:1px solid transparent;background:#fff;border-radius:6px;padding:14px 12px;white-space:normal;line-height:1.6}.campaign-list-item:hover{background:#f8f8f7}.campaign-list-item[aria-current=true]{background:#f0f0ee;border-color:#ddd}.campaign-list-title{display:block;font-size:12px;font-weight:550;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.campaign-list-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:9px;color:#777}.campaign-list-item .badge{font-size:9px;padding:1px 5px}.campaign-detail{display:grid;gap:20px;min-width:0}.editor-panel .panel-heading{border-bottom:1px solid var(--border)}.editor-form{padding:22px 24px}.editor-form label,.buttons-fieldset legend{font-size:12px;font-weight:550}.optional{font-weight:400;color:#888;font-size:10px;margin-left:7px}.field-meta{display:flex;justify-content:space-between;gap:12px;color:#777;font-size:10px;margin:6px 0 22px}.upload-field{background:#fafaf9;border:1px dashed #ccc;padding:14px;border-radius:6px;margin-bottom:22px}.upload-field input{border:0;padding:0;background:transparent;min-height:34px;width:100%;font-size:11px}.upload-field input::file-selector-button{font:inherit;border:1px solid #d1d1cf;background:#fff;border-radius:4px;padding:8px 10px;margin-right:12px;cursor:pointer}.upload-field p{font-size:10px;color:#777;line-height:1.7;margin-top:8px}.upload-field .quiet{font-size:10px;min-height:32px;padding-left:0}.buttons-fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}.buttons-fieldset legend{margin-bottom:12px}.button-row{display:grid;grid-template-columns:1fr 1.5fr 40px;gap:8px;margin-bottom:12px}.button-row label{font-size:9px;color:#777;font-weight:400;margin-bottom:4px}.button-row input{width:100%;font-size:12px;padding:9px 10px}.button-row>button{margin-top:19px;padding:8px;min-width:40px}.buttons-fieldset>.secondary{min-height:36px;font-size:11px;padding:7px 11px}.editor-save{border-top:1px solid var(--border);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.editor-save>span{font-size:10px;color:#777;max-width:220px}.editor-save button{font-size:11px}.preview-and-send{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.preview-panel .panel-heading,.send-panel{padding:20px}.preview-panel .panel-heading>.muted{font-size:10px}.preview-canvas{background:#efefec;border-radius:0 0 var(--radius) var(--radius);padding:24px 20px;min-height:200px}.telegram-message{border:1px solid #dcdcd8;background:#fff;max-width:350px;margin:0 auto;border-radius:8px 8px 8px 2px;overflow:hidden;box-shadow:0 1px 2px #00000005}.telegram-message img{width:100%;max-height:300px;object-fit:contain;display:block;background:#f6f6f5}.preview-message-body{padding:13px 14px 10px}.preview-sender{font-weight:650;font-size:11px}.preview-message-body>p{font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 8px}.preview-time{font-size:8px;color:#999;display:block;text-align:right}.preview-link{display:block;text-align:center;padding:10px 12px;border-top:1px solid var(--border);font-size:11px;font-weight:550;overflow-wrap:anywhere}.preview-link:hover{background:#f5f5f3}.send-panel>h2{font-size:14px;margin-bottom:8px}.send-panel>.muted{font-size:11px;margin-bottom:17px}.send-panel label{font-size:11px}.test-row{display:flex;gap:8px;flex-wrap:wrap}.test-row input{font-size:11px;flex:1;width:130px}.test-row button{font-size:10px;padding:8px 10px}.send-panel>.wide{margin-top:20px;font-size:11px}.send-panel:has(#campaign-progress:not([hidden])) .wide{margin-top:16px}.form-message{font-size:12px;line-height:1.7;background:#f4f4f2;border:1px solid #bcbcb8;border-left:3px solid #222;padding:10px 12px;margin:16px 0;overflow-wrap:anywhere}.progress-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin:20px 0 10px}.progress-bar{height:6px;width:100%;accent-color:#222;display:block}.progress-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:15px}.progress-counts div{font-size:10px;color:#777;display:flex;justify-content:space-between;gap:10px}.progress-counts strong{color:#222;font-weight:550;font-variant-numeric:tabular-nums}.progress-note{font-size:9px;color:#777;line-height:1.7;margin-top:14px}dialog{max-width:490px;width:calc(100% - 32px);padding:30px;border:1px solid #ddd;border-radius:12px;box-shadow:0 20px 90px #0003;color:#171717}dialog::backdrop{background:#0008}dialog h2{font-size:25px;letter-spacing:-.6px;margin:13px 0 16px}dialog p{font-size:13px;line-height:1.8}dialog .muted{margin-top:12px;font-size:12px}.confirm-check{display:flex;align-items:flex-start;gap:12px;padding:17px 0;margin-top:12px;border-top:1px solid var(--border)}.confirm-check input{width:18px;height:18px;min-height:18px;margin:3px 0 0;accent-color:#111;flex-shrink:0}.confirm-check label{font-size:12px;font-weight:400;cursor:pointer;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.dialog-actions button{font-size:11px}
@media(min-width:1500px){.campaign-detail{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.preview-and-send{grid-template-columns:1fr}.metrics{gap:20px}.metric{padding:25px 26px;min-height:158px}.metric-value{font-size:36px}.metric-value.money{font-size:32px}}
@media(max-width:1200px){.sidebar{width:192px;padding-left:12px;padding-right:12px}.workspace{margin-left:192px}main{padding:28px 24px 0}.topbar{padding:0 24px}.metric{padding:18px 16px}.metric-value{font-size:29px}.metric-value.money{font-size:24px}.campaign-workspace{grid-template-columns:210px minmax(0,1fr)}.preview-and-send{grid-template-columns:1fr}.charts-grid{gap:16px}.chart-key{display:none}.panel-heading{padding:19px}.chart-slot{padding:6px 17px 20px}.chart-axis{font-size:8px}.editor-form{padding:20px}.account button{gap:50px}}
@media(max-width:900px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.charts-grid{grid-template-columns:1fr}.chart-key{display:flex}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-actions{align-self:flex-start}.campaign-workspace{grid-template-columns:1fr}.campaign-list{display:flex;max-height:none;overflow-x:auto}.campaign-list-item{min-width:195px;width:195px}.campaign-list-meta{gap:10px}.campaign-list .loading{width:100%}.campaign-list-panel .panel-heading{padding:14px 18px}.preview-and-send{grid-template-columns:1fr 1fr}.data-notes{gap:18px}.timezone{font-size:9px}.topbar{height:58px}}
@media(max-width:650px){:root{font-size:16px}.sidebar{position:relative;width:100%;padding:18px 18px 0;display:block}.brand{display:flex;align-items:center;justify-content:space-between;padding:0 4px 20px}.brand .wordmark{font-size:33px}.brand-caption{margin:0;font-size:8px}.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sidebar nav a{justify-content:center;font-size:12px;padding:11px 5px;border-radius:6px 6px 0 0;min-height:47px;gap:8px}.sidebar nav a[aria-current=page]{background:var(--canvas);color:#111}.sidebar nav a[aria-current=page]::after{display:none}.sidebar nav svg{width:16px;height:16px}.workspace{margin:0}.topbar{padding:0 20px;height:47px;font-size:10px}.timezone{font-size:9px}main{padding:26px 18px 0}.page-heading{margin-bottom:20px;gap:19px}.page-heading h1{font-size:29px}.page-heading p{font-size:11px}.page-heading .eyebrow{font-size:8px;margin-bottom:8px}.page-actions{width:100%;justify-content:space-between}.segmented{flex:1;max-width:340px}.segmented button{flex:1;font-size:11px;min-height:36px}.metrics{gap:10px;margin-bottom:18px}.metric{padding:17px 14px;min-height:135px}.metric-top{font-size:10px}.metric-top svg{width:15px;height:15px}.metric-value{font-size:29px;margin:14px 0 7px}.metric-value.money{font-size:23px}.metric-note{font-size:9px}.charts-grid{gap:16px;margin-bottom:16px}.panel-heading{padding:18px}.panel-heading h2{font-size:13px}.panel-heading p{font-size:10px}.chart-key{font-size:8px}.chart-slot{padding:8px 15px 18px;min-height:240px}.chart-content{grid-template-columns:32px 1fr}.chart-labels{font-size:8px}.data-notes{grid-template-columns:1fr;gap:13px;margin-top:19px}.data-notes p{font-size:10px}.daily-details summary{font-size:11px;padding:16px}.daily-details summary span{font-size:9px}.daily-details th,.daily-details td{padding:13px 15px;font-size:10px}.daily-details th{font-size:8px}.footer{font-size:8px;margin-top:25px;gap:15px}.payments-table{min-width:650px}th,td{padding:14px 18px}.pagination{padding:16px;font-size:10px;flex-wrap:wrap}.pagination button{min-height:44px}.preview-and-send{grid-template-columns:1fr}.editor-form{padding:18px}.editor-form label,.buttons-fieldset legend{font-size:12px}.editor-form input,.editor-form textarea,.test-row input{font-size:16px}.editor-save{align-items:flex-start;flex-direction:column;gap:12px}.editor-save>span{max-width:100%}.editor-save button{width:100%;font-size:12px}.button-row{grid-template-columns:minmax(0,1fr) 40px;gap:8px;padding:12px;border:1px solid var(--border);border-radius:6px}.button-row>div:first-child{grid-column:1}.button-row>div:nth-child(2){grid-column:1;grid-row:2}.button-row>button{grid-column:2;grid-row:1/3;margin-top:0;align-self:center}.button-row label{font-size:10px}.buttons-fieldset>.secondary{min-height:44px}.campaign-list-item{min-width:210px}.test-row{flex-direction:column}.test-row input{width:100%}.test-row button{font-size:12px}.send-panel>.wide{font-size:12px}.field-meta{font-size:9px}.notice{font-size:12px}.login-brand{top:28px;left:24px;gap:20px}.login-brand .eyebrow{font-size:8px}.login-card{padding:28px 24px}.login-card h1{font-size:26px}.login-card>.muted{font-size:13px}.login-screen{padding-top:125px;padding-bottom:90px;justify-content:center}.login-bottom{font-size:10px}dialog{padding:24px}dialog h2{font-size:24px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%;font-size:12px}}
.topbar-right{display:flex;align-items:center;gap:12px}.mobile-logout{display:none}
@media(max-width:650px){.mobile-logout{display:block;font-size:10px;padding:6px 0 6px 10px}.topbar-right{gap:5px}.topbar-right .timezone{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
