:root{color-scheme:light;--bg-main: #ecf2f8;--bg-surface: rgba(255, 255, 255, .88);--bg-panel: #ffffff;--text-main: #0f1f3d;--text-soft: #56708e;--brand: #0b84f3;--brand-dark: #0453af;--danger: #b91c1c;--border: #d6e2ee;--shadow-strong: 0 16px 48px rgba(3, 33, 66, .13);--shadow-soft: 0 10px 26px rgba(12, 37, 66, .08);--radius-xl: 24px;--radius-lg: 18px;--radius-md: 12px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Manrope,Segoe UI,sans-serif;color:var(--text-main);background:radial-gradient(circle at 6% 6%,#0b84f333,#0b84f300 42%),radial-gradient(circle at 95% 0%,#10b9812b,#10b98100 36%),linear-gradient(180deg,#f7fbff 0%,var(--bg-main) 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif}p{margin:0}.centered{min-height:100vh;display:grid;place-items:center}.loading-screen{min-height:100vh;display:grid;place-items:center;gap:14px;text-align:center}.loader-scene{width:120px;height:120px;position:relative;display:grid;place-items:center}.loader-ring{position:absolute;border:2px solid transparent;border-top-color:var(--brand);border-radius:999px}.loader-ring--a{width:110px;height:110px;animation:spin 1.6s linear infinite}.loader-ring--b{width:82px;height:82px;border-top-color:#0ea5e9;animation:spinReverse 1.2s linear infinite}.loader-ring--c{width:54px;height:54px;border-top-color:#10b981;animation:spin .9s linear infinite}.loader-core{width:18px;height:18px;border-radius:999px;background:linear-gradient(135deg,#0b84f3,#10b981);box-shadow:0 0 24px #0b84f380}.loader-label{font-size:16px;font-weight:700;color:#24507b}.loader-bar{width:180px;height:7px;border-radius:999px;background:#0b84f324;position:relative;overflow:hidden}.loader-bar:after{content:"";position:absolute;inset:0;width:50%;background:linear-gradient(90deg,transparent,rgba(11,132,243,.95),transparent);animation:slide 1.3s ease-in-out infinite}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:480px;background:var(--bg-surface);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-xl);box-shadow:var(--shadow-strong);padding:28px;position:relative;overflow:hidden}.auth-card__accent{position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,132,243,.16),transparent 34%);pointer-events:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:290px 1fr;gap:16px;max-width:1800px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.mobile-backdrop{display:none}.app-sidebar{position:sticky;top:calc(16px + env(safe-area-inset-top));max-height:calc(100vh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);padding:18px;display:grid;align-content:start;gap:18px}.brand-block{display:grid;gap:8px}.brand-chip{display:inline-flex;width:max-content;border-radius:999px;background:#0b84f324;color:#0a4b92;padding:6px 10px;font-size:12px;font-weight:700}.chip{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:999px;padding:6px 10px;background:#0b84f324;color:#0a4b92;font-size:13px;font-weight:700}.chip--warning{background:#fff7ed;color:#9a3412}.side-nav{display:grid;gap:8px}.side-link{display:flex;align-items:center;gap:9px;color:#184068;text-decoration:none;border-radius:11px;border:1px solid transparent;padding:10px 12px;font-weight:700;transition:all .2s ease}.side-link:hover{border-color:#0b84f33d;background:#0b84f314}.side-link--active{border-color:#0b84f357;background:linear-gradient(120deg,#0b84f32b,#10b9811a);color:#083b73}.app-main{display:grid;align-content:start;gap:12px;min-width:0}.app-header{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);padding:18px;display:flex;justify-content:space-between;gap:12px;align-items:center}.header-main{display:grid;gap:4px;min-width:0}.header-title-row{display:flex;align-items:center;gap:8px;min-width:0}.header-title-row h2{font-size:clamp(20px,2.6vw,29px);line-height:1.1;overflow-wrap:anywhere}.menu-toggle{display:none;border:1px solid var(--border);width:38px;height:38px;border-radius:10px;background:#fff;color:#173b62;align-items:center;justify-content:center;cursor:pointer}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.user-pill{border-radius:999px;background:#0b84f31a;color:#11487f;font-size:12px;font-weight:700;padding:6px 10px}.app-content,.page-stack{display:grid;gap:14px;min-width:0}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:14px;display:flex;justify-content:space-between;align-items:center}.stat-title{color:var(--text-soft);font-size:14px}.stat-value{font-size:28px}.stat-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#0b84f31f;color:var(--brand-dark)}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel-grid--wide{grid-template-columns:1.05fr 1.15fr}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:16px;display:grid;gap:12px;min-width:0}.panel--accent{position:relative;overflow:hidden}.panel--accent:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,132,243,.1),transparent 46%);pointer-events:none}.panel__head{display:grid;gap:5px}.panel__head--row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.form{display:grid;gap:12px}label{font-weight:700;display:grid;gap:7px}.inline-field{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#34587a}input:not([type=checkbox]):not([type=radio]),.message-textarea,.select{border-radius:10px;border:1px solid var(--border);padding:10px 12px;font-size:15px;background:#fff;color:var(--text-main);width:100%;max-width:100%}input:not([type=checkbox]):not([type=radio]):focus,.message-textarea:focus,.select:focus{outline:2px solid rgba(11,132,243,.22);border-color:var(--brand)}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;accent-color:#0b84f3;flex:0 0 auto;cursor:pointer}.message-textarea{resize:vertical;min-height:96px;font-weight:400;line-height:1.45}.message-textarea--rich{resize:none;min-height:160px;white-space:pre-wrap;word-break:break-word;overflow-y:auto;font-weight:400;font-style:normal;text-decoration:none}.message-textarea--rich:empty:before{content:attr(data-placeholder);color:#94a3b8}.message-textarea--rich b,.message-textarea--rich strong{font-weight:800}.message-textarea--rich i,.message-textarea--rich em{font-style:italic}.message-textarea--rich u,.message-textarea--rich ins{text-decoration:underline}.message-textarea--rich s,.message-textarea--rich strike,.message-textarea--rich del{text-decoration:line-through}.message-textarea--rich code{background:#ecf2fa;border-radius:4px;padding:1px 4px;font-family:JetBrains Mono,Consolas,monospace}.message-textarea--rich pre{margin:6px 0;border-radius:8px;background:#0f172a;color:#f8fafc;padding:10px;overflow:auto;font-family:JetBrains Mono,Consolas,monospace}.message-textarea--rich blockquote{margin:6px 0;padding:6px 10px;border-left:3px solid #7bb3ee;background:#eff6ff;border-radius:4px}.message-textarea--rich tg-spoiler{display:inline;background:#fff3bf;color:#3f3f46;border:1px dashed #d4a72c;border-radius:4px;padding:0 4px}.message-textarea--rich tg-spoiler:before{content:"[скрытый] ";color:#7c5d12;font-size:11px;font-weight:700}.btn{border:1px solid var(--border);background:#fff;color:var(--text-main);border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;font-size:14px;font-weight:700;cursor:pointer}.btn-primary{background:linear-gradient(120deg,var(--brand),#0a6ed4);color:#fff;border-color:transparent}.btn-danger{background:#fff1f2;color:var(--danger);border-color:#fecdd3}.btn:disabled{opacity:.6;cursor:not-allowed}.bots-list{display:grid;gap:8px}.bot-row{border-radius:12px;border:1px solid var(--border);background:#fff;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:11px;width:100%;text-align:left;cursor:pointer;min-width:0}.bot-row--active{border-color:#93c5fd;background:linear-gradient(120deg,#bfdbfe59,#d8b4fe24)}.row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.icon-btn{width:30px;height:30px;border-radius:9px;border:1px solid var(--border);background:#fff;color:var(--text-main);display:grid;place-items:center;cursor:pointer}.icon-btn--danger{color:var(--danger);border-color:#fecdd3;background:#fff1f2}.badge{border-radius:999px;font-size:12px;font-weight:700;padding:4px 8px;color:#6b7280;background:#f3f4f6}.badge--active{color:#03624c;background:#d1fae5}.muted{color:var(--text-soft)}.warning{margin-top:8px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700}.tiny{font-size:12px}.success{color:#047857;font-weight:700}.error{color:var(--danger);font-weight:700}.table-wrap{overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:680px}.mobile-tabbar{display:none}.app-header,.panel,.stat-card{animation:riseIn .28s ease both}.messages-table-wrap{max-height:68vh}.stats-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);text-align:left;padding:10px;font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.center-cell{text-align:center;padding:26px 10px}.message-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.upload-dropzone{border:1px dashed #9ec5ec;border-radius:16px;padding:12px;background:linear-gradient(140deg,#0b84f30f,#10b9810d),#f8fbff;display:grid;gap:10px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;position:relative;cursor:pointer}.upload-dropzone--drag{border-color:#0b84f3;box-shadow:0 0 0 3px #0b84f326;transform:translateY(-1px)}.upload-dropzone--loading{border-color:#3b82f6}.upload-dropzone--ready{border-color:#34d399;background:linear-gradient(140deg,#34d3991a,#0b84f30f),#f8fbff}.upload-dropzone__input{display:none}.upload-dropzone__head{display:flex;align-items:center;gap:10px}.upload-dropzone__icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(140deg,#0b84f3,#10b981);color:#fff;flex-shrink:0}.upload-dropzone__title{font-size:14px;font-weight:800;color:#184068}.upload-dropzone__hint{font-size:12px;color:#4b6a8a}.upload-dropzone__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.upload-progress{width:100%;height:8px;border-radius:999px;background:#3b82f629;overflow:hidden}.upload-progress__bar{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b84f3,#10b981);transition:width .16s ease;position:relative}.upload-progress__bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:slide 1s linear infinite}.file-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #b7d2ef;border-radius:999px;padding:6px 10px;background:#fff;width:fit-content;max-width:100%}.file-chip__name{max-width:min(55vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.file-chip__size{font-size:12px;color:#4b6a8a}.filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-actions .select{min-width:210px}.panel--compact{padding:12px 14px;gap:8px}.selection-list{border:1px solid #d9e5f1;border-radius:12px;background:#f8fbff;padding:8px;display:grid;gap:6px;max-height:220px;overflow:auto}.selection-item{display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:7px 8px;font-size:13px;color:#244767}.selection-item:hover{border-color:#dbe7f2;background:#fff}.selection-item--checked{border-color:#bfdbfe;background:#eff6ff}.selection-item__title{font-weight:700}.selection-item__meta{font-size:11px;color:#5a7594}.checkbox-cell{width:40px}.checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#4f6e8d;font-weight:700}.format-toolbar{display:flex;flex-wrap:wrap;gap:8px}.format-btn{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer}.format-btn:hover{background:#dbeafe}.format-btn--active{background:#1e40af;border-color:#1e40af;color:#fff}.preview-panel{border:1px solid #cfe2f5;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#f2f8ff);padding:10px;display:grid;gap:8px}.preview-title{font-size:12px;font-weight:800;color:#1e3a8a;letter-spacing:.03em;text-transform:uppercase}.preview-body{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}.preview-body--plain{white-space:pre-wrap}.preview-body blockquote{margin:4px 0;padding:6px 10px;border-left:3px solid #7bb3ee;background:#eaf3ff;border-radius:4px}.preview-body code,.preview-body pre{font-family:JetBrains Mono,Consolas,monospace}.preview-body code{background:#e9eef5;border-radius:5px;padding:1px 4px}.preview-body pre{margin:6px 0;border-radius:8px;background:#0f172a;color:#f8fafc;padding:10px;overflow:auto}.preview-body a{color:#0b63ce;text-decoration:underline}.tg-preview-spoiler{background:#cbd5e1;color:transparent;border-radius:4px;padding:0 4px}.tg-preview-spoiler:hover{color:#0f172a}.tg-preview-expandable:after{content:"  [expandable]";color:#1d4ed8;font-size:11px;font-weight:700}.compose-preview-backdrop{position:fixed;inset:0;z-index:85;background:#0613258f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.compose-preview-modal{width:min(760px,100%);max-height:min(88vh,960px);overflow:auto;border-radius:20px;border:1px solid #d6e2ee;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 28px 60px #0a203b3d;padding:16px;display:grid;gap:12px}.compose-preview-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.compose-preview-meta{display:flex;flex-wrap:wrap;gap:8px}.compose-preview-chat{border:1px solid #d9e7f4;border-radius:14px;background:radial-gradient(circle at 15% 20%,rgba(11,132,243,.1),transparent 45%),linear-gradient(160deg,#eff6ff,#f8fafc);padding:14px}.compose-preview-bubble{max-width:min(92%,480px);background:#fff;border:1px solid #d6e2ee;border-radius:14px 14px 14px 6px;box-shadow:0 10px 20px #0f315414;padding:10px 12px;display:grid;gap:8px}.compose-preview-image{width:100%;border-radius:10px;border:1px solid #dbe7f2}.compose-preview-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.messages-table td{vertical-align:top}.message-cell{display:grid;gap:6px}.message-text-preview{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13px;color:var(--text-main)}.message-media-preview{width:100%;max-width:260px;border-radius:10px;border:1px solid var(--border);box-shadow:var(--shadow-soft)}.message-actions{display:grid;gap:8px}.calendar-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-grid--weekdays{margin-bottom:4px}.calendar-weekday{text-align:center;font-size:11px;font-weight:700;color:#5a7594;text-transform:uppercase}.calendar-day{border:1px solid var(--border);background:#fff;border-radius:12px;padding:8px;min-height:86px;text-align:left;display:grid;align-content:space-between;gap:6px;cursor:pointer}.calendar-day:hover{border-color:#93c5fd}.calendar-day--selected{border-color:#2563eb;background:linear-gradient(180deg,#dbeafe8f,#fff)}.calendar-day--muted{opacity:.5}.calendar-day__number{font-size:13px;font-weight:800}.calendar-day__posts{display:grid;gap:4px}.calendar-day__post-chip{display:inline-flex;width:100%;border-radius:8px;border:1px solid #d6e7fa;background:#eff6ff;color:#1e3a8a;padding:2px 6px;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day__post-chip--muted{border-color:#dbe4ef;background:#f8fafc;color:#64748b}.calendar-day__count{font-size:11px;color:#1d4ed8;font-weight:700}.calendar-day__count--empty{color:#94a3b8}.calendar-post-list{display:grid;gap:10px}.calendar-post-card{border:1px solid #d9e7f4;border-radius:12px;background:#fff}.calendar-post-card__head{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer}.calendar-post-card__body{border-top:1px solid #e5edf5;padding:10px 12px;display:grid;gap:10px}.calendar-modal-backdrop{position:fixed;inset:0;z-index:90;background:#0613258f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.calendar-modal{width:min(980px,100%);max-height:min(92vh,1100px);overflow:auto;border-radius:20px;border:1px solid #d6e2ee;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 28px 60px #0a203b3d;padding:16px;display:grid;gap:12px}.edit-actions{display:flex;gap:8px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;border:1px solid transparent}.status-pill--scheduled{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.status-pill--processing{color:#92400e;background:#fef3c7;border-color:#fde68a}.status-pill--sent{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.status-pill--partial{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.status-pill--failed{color:#991b1b;background:#fee2e2;border-color:#fecaca}.status-pill--canceled{color:#374151;background:#f3f4f6;border-color:#e5e7eb}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes slide{0%{transform:translate(-120%)}to{transform:translate(280%)}}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1120px){.app-shell{grid-template-columns:1fr;min-height:100dvh;padding:0;gap:0}.app-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:70;width:min(85vw,320px);border-radius:0 20px 20px 0;transform:translate(-110%);transition:transform .22s ease;overflow-y:auto;padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom))}.app-sidebar--open{transform:translate(0)}.mobile-backdrop{display:block;position:fixed;inset:0;background:#05122661;border:0;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:65}.app-shell--menu-open .mobile-backdrop{opacity:1;pointer-events:auto}.app-main{padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left))}.side-nav{grid-template-columns:1fr}.side-link{justify-content:flex-start}.menu-toggle{display:inline-flex}.app-header{position:sticky;top:env(safe-area-inset-top);z-index:30}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid,.panel-grid--wide,.calendar-layout{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start}.header-main,.header-actions{width:100%}.mobile-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:8px;padding:10px calc(12px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid #dbe8f5;overflow-x:auto;scrollbar-width:none}.mobile-tabbar::-webkit-scrollbar{display:none}.mobile-tabbar__link{flex:1 0 auto;min-width:78px;text-decoration:none;color:#31587f;border:1px solid transparent;border-radius:12px;padding:7px 8px;font-size:11px;font-weight:700;display:grid;justify-items:center;gap:4px;transition:all .2s ease}.mobile-tabbar__link--active{background:linear-gradient(120deg,#0b84f333,#10b9811f);color:#093f79;border-color:#0b84f340}}@media(max-width:760px){.app-shell{min-height:100dvh}.side-nav{grid-template-columns:1fr}.app-main{padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(82px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left))}.app-header{border-radius:16px;padding:12px;gap:10px}.header-main .muted{font-size:13px}.user-pill,.menu-toggle{display:none}.header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.header-actions .btn{width:100%}.stats-grid{grid-template-columns:1fr}.stats-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}th,td{font-size:12px}.table-wrap table{min-width:560px}.message-create-grid{grid-template-columns:1fr}.filter-actions{width:100%;flex-wrap:wrap}.filter-actions .select{min-width:0}.selection-list{max-height:180px}.file-chip__name{max-width:180px}.panel{padding:12px;border-radius:14px}.stat-card{border-radius:14px;padding:12px}.bot-row{grid-template-columns:1fr auto;align-items:start}.bot-row .row-actions{grid-column:1 / -1}.upload-dropzone{border-radius:14px;padding:10px}.compose-preview-backdrop{padding:8px}.compose-preview-modal{max-height:94vh;border-radius:16px;padding:12px}.calendar-modal-backdrop{padding:8px}.calendar-modal{max-height:94vh;border-radius:16px;padding:12px}.compose-preview-head{align-items:flex-start;flex-direction:column}.compose-preview-bubble{max-width:100%}.mobile-tabbar__link{min-width:72px;font-size:10px;padding:6px 7px}}@media(max-width:420px){.header-title-row h2{font-size:19px}.menu-toggle{width:34px;height:34px}.mobile-tabbar__link{min-width:68px}}@media(hover:none)and (pointer:coarse){.btn,.icon-btn,.menu-toggle,.mobile-tabbar__link,.side-link{min-height:42px}}@media(prefers-reduced-motion:reduce){.app-header,.panel,.stat-card{animation:none}}.contest-status-pending{position:relative;padding-left:28px}.contest-status-pending:before{content:"";position:absolute;left:0;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:999px;border:2px solid #99b3cf;border-top-color:#0b84f3;animation:contest-spin .85s linear infinite}@keyframes contest-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
