:root,[data-theme=light]{--bg: #f3e7df;--bg-secondary: #fff5ee;--surface: rgba(255, 246, 239, .9);--surface-strong: rgba(255, 249, 244, .96);--surface-soft: rgba(255, 250, 247, .76);--surface-sidebar: linear-gradient(180deg, rgba(83, 24, 25, .94) 0%, rgba(36, 14, 18, .96) 100%);--surface-inverse: #261616;--border: rgba(88, 33, 21, .18);--border-strong: rgba(88, 33, 21, .3);--text: #2f1713;--muted: #6e4a41;--accent: #b64934;--accent-strong: #8f2f20;--accent-soft: rgba(182, 73, 52, .14);--accent-glow: rgba(214, 104, 67, .25);--good: #2e8d59;--warn: #cb7b28;--bad: #d14d3c;--shadow: 0 28px 70px rgba(75, 29, 21, .18);--shadow-soft: 0 20px 48px rgba(75, 29, 21, .14);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 28px;--spacing-4: 4px;--spacing-8: 8px;--spacing-12: 12px;--spacing-16: 16px;--spacing-24: 24px;--spacing-32: 32px;--spacing-48: 48px;--primary: var(--accent);--primary-strong: var(--accent-strong);--border-color: var(--border);--text-muted: var(--muted);--topbar-bg: rgba(255, 244, 236, .78)}[data-theme=dark]{--bg: #140b0a;--bg-secondary: #201111;--surface: rgba(39, 18, 17, .82);--surface-strong: rgba(54, 24, 22, .9);--surface-soft: rgba(255, 255, 255, .05);--surface-sidebar: linear-gradient(180deg, rgba(20, 8, 11, .96) 0%, rgba(8, 6, 10, .98) 100%);--surface-inverse: #fff4ef;--border: rgba(255, 209, 188, .12);--border-strong: rgba(255, 209, 188, .22);--text: #fff2eb;--muted: #d3aea1;--accent: #ff815d;--accent-strong: #ff6843;--accent-soft: rgba(255, 129, 93, .15);--accent-glow: rgba(255, 129, 93, .24);--good: #45c57a;--warn: #efab56;--bad: #ff7a66;--shadow: 0 28px 72px rgba(0, 0, 0, .34);--shadow-soft: 0 18px 48px rgba(0, 0, 0, .26);--topbar-bg: rgba(28, 12, 14, .64)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{color-scheme:light}[data-theme=dark]{color-scheme:dark}body{font-family:Manrope,Segoe UI,sans-serif;font-size:14px;line-height:1.55;color:var(--text);background:radial-gradient(circle at top left,rgba(255,205,157,.2),transparent 28%),radial-gradient(circle at top right,rgba(164,45,28,.16),transparent 24%),linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg) 100%);overflow:hidden;position:relative;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none}body:before{inset:-4%;z-index:-3;background:linear-gradient(180deg,#1c0a0b8a,#f3e7dfb3 56%,#f3e7dfeb),url(/assets/background-hero-Dcrlw13N.jpg) center 18% / cover no-repeat;transform:scale(1.04);opacity:.95}body:after{z-index:-2;background:radial-gradient(circle at 15% 20%,rgba(255,198,122,.18),transparent 26%),radial-gradient(circle at 82% 8%,rgba(182,73,52,.16),transparent 22%),linear-gradient(135deg,rgba(255,255,255,.16),transparent 50%)}[data-theme=dark] body:before{background:linear-gradient(180deg,#0a0304ad,#140b0ab8 55%,#140b0aeb),url(/assets/background-hero-Dcrlw13N.jpg) center 18% / cover no-repeat}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}textarea{resize:vertical}img{max-width:100%;display:block}::selection{background:var(--accent-soft)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#7d493b47;border-radius:999px}.dashboard-layout{position:relative;display:flex;gap:22px;height:100vh;width:100vw;padding:22px;overflow:hidden}.dashboard-layout:before{content:"";position:absolute;inset:14px;border-radius:36px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,#ffffff1a,#ffffff05);box-shadow:inset 0 1px #ffffff29;pointer-events:none}.sidebar,.main-content,.auth-layout,.preloader{position:relative;z-index:1}.sidebar{width:292px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;padding:22px 18px;border-radius:30px;background:var(--surface-sidebar);color:#fff4ef;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08);overflow-y:auto;overflow-x:hidden}.sidebar:before,.sidebar:after{content:"";position:absolute;inset:auto;pointer-events:none}.sidebar:before{top:-40px;right:-20px;width:180px;height:180px;background:radial-gradient(circle,rgba(255,194,109,.22) 0%,transparent 72%);filter:blur(6px)}.sidebar:after{left:0;right:0;bottom:-18px;height:180px;background:linear-gradient(180deg,transparent 0%,rgba(255,138,86,.08) 100%),radial-gradient(circle at 50% 100%,rgba(255,130,87,.16),transparent 56%);opacity:.9}.brand{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding:6px 10px 4px}.logo-wrap{width:44px;height:44px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff7f3;background:linear-gradient(135deg,#f0a35d,#cb5a3d 48%,#8f2f20);box-shadow:0 18px 30px #d4654147,inset 0 1px #ffffff47}.logo-wrap:before{content:"";width:12px;height:12px;border-radius:999px;background:#fff7f1f0;box-shadow:0 0 0 5px #fff1e81f,0 6px 14px #fff7f138}.brand h1{font-family:Sora,Manrope,sans-serif;font-size:23px;line-height:1.15;letter-spacing:-.04em;color:#fff8f4}.sidebar-user{position:relative;z-index:1;padding:16px!important;margin:2px 0 8px!important;border:1px solid rgba(255,255,255,.1)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;border-radius:22px;background:#ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff17}.sidebar-user-head{display:flex;align-items:center;gap:12px}.sidebar-user-meta{min-width:0;display:flex;flex-direction:column;gap:4px}.sidebar-avatar,.profile-avatar{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;background:linear-gradient(135deg,#f0a35dfa,#cb5a3df0 48%,#8f2f20fa);color:#fff9f5;font-weight:800;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 16px 28px #6422193d,inset 0 1px #ffffff42}.sidebar-avatar{width:52px;height:52px;flex-shrink:0;border:1px solid rgba(255,255,255,.18)}.profile-avatar{width:112px;height:112px;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.sidebar-avatar img,.profile-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-avatar span,.profile-avatar span{position:relative;z-index:1}[data-theme=dark] .sidebar-avatar,[data-theme=dark] .profile-avatar{border-color:#ffd1bc2e}#sb_user_name{font-weight:800!important;color:#fff8f4!important;font-size:15px!important}#sb_user_id{color:#ffe4dbb8!important;font-size:12px!important}.sidebar-nav{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;gap:8px}.sidebar-nav-main,.sidebar-nav-bottom{display:flex;flex-direction:column;gap:8px}.sidebar-nav-bottom{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,220,207,.1)}.nav-group{display:flex;flex-direction:column;gap:6px}.nav-group-title{padding:0 14px;color:#ffd9cc8a;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:1px solid transparent;border-radius:18px;background:transparent;color:#ffe5dbc7;font-weight:700;font-size:14px;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;text-align:left}.nav-item svg{flex-shrink:0}.nav-item:hover{color:#fff7f2;background:#ffffff14;border-color:#ffffff1a;transform:translate(2px)}.nav-item.active{color:#fffaf7;background:linear-gradient(135deg,#ffa96838,#ae3c2a4d);border-color:#ffd1a62e;box-shadow:0 14px 26px #0000002e,inset 0 1px #ffffff24}.nav-item.active:before{content:"";width:7px;height:7px;border-radius:999px;background:#ffd7ad;box-shadow:0 0 0 6px #ffd3a014}.nav-item[disabled]{opacity:.45;cursor:not-allowed}.nav-item-danger{color:#ffb7a8}.nav-item-danger:hover{background:#d647351f;border-color:#ff938129;color:#ffd1c6}.main-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;border-radius:34px;background:linear-gradient(180deg,#fff3ece6,#fcefe7e0);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}[data-theme=dark] .main-content{background:linear-gradient(180deg,#2a1212d1,#180b0ce0)}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 32px 20px;background:var(--topbar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(112,46,31,.12)}.page-title{font-family:Sora,Manrope,sans-serif;font-size:30px;line-height:1.05;letter-spacing:-.05em;color:var(--text)}.page-subtitle{margin-top:6px;color:var(--muted);font-size:14px;font-weight:700}.topbar-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex:1 1 280px;justify-content:flex-end;min-width:min(100%,248px)}.topbar-right:empty{display:none}.topbar-reminder-row{display:flex;justify-content:flex-end;padding:8px 32px 0}.radio-player{width:min(100%,258px);display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,#fff9f4eb,#fff3ecf2);box-shadow:0 12px 24px #4b1d1512}.radio-player--profile{width:100%}[data-theme=dark] .radio-player{background:linear-gradient(180deg,#2b1314eb,#160b0df5);border-color:#ffd1bc1f;box-shadow:0 18px 34px #00000038}.radio-player-top,.radio-player-bottom{display:flex;align-items:center;gap:6px}.radio-player-top{align-items:stretch}.radio-player-kicker{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.radio-player-now{display:flex;flex-direction:column;gap:2px;min-width:0}.radio-player-track{color:var(--text);font-size:11px;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-toggle-btn{flex:0 0 auto;width:34px;height:34px;min-height:34px;padding:0;border-radius:10px}.radio-toggle-btn svg{width:14px;height:14px}.radio-player-bottom{justify-content:stretch}#radio_station_select{flex:1 1 auto;min-height:34px;padding-top:6px;padding-bottom:6px;border-radius:12px;font-size:11px}.radio-volume{flex:1 1 auto;display:flex;align-items:center;gap:4px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.radio-volume span{flex:0 0 auto}.radio-volume input[type=range]{flex:1 1 auto;width:100%;min-height:auto;padding:0;border:none;background:transparent;box-shadow:none}.workspace{display:flex;flex-direction:column;gap:22px;padding:28px 32px 34px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);gap:22px;align-items:stretch}.nav-reports-top{display:flex;flex-direction:column;gap:12px}.card,.report-tabs-card{position:relative;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.38);background:linear-gradient(180deg,#fff8f3eb,#fff3ecf0);box-shadow:var(--shadow-soft);overflow:hidden;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}[data-theme=dark] .card,[data-theme=dark] .report-tabs-card{border-color:#ffd1bc1f;background:linear-gradient(180deg,#231011f0,#120a0ceb);box-shadow:0 24px 56px #00000047}.card:before,.report-tabs-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 28%);pointer-events:none}[data-theme=dark] .card:before,[data-theme=dark] .report-tabs-card:before{background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 30%)}.card-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 14px}.card-head h3{font-family:Sora,Manrope,sans-serif;font-size:18px;line-height:1.2;letter-spacing:-.03em;color:var(--text)}.card-body{position:relative;z-index:1;padding:0 24px 24px}.report-tabs-card{padding:12px;display:flex;flex-direction:column;gap:10px}.tabs-list{display:flex;flex-wrap:wrap;gap:10px}.tabs-list.hidden{display:none}.tab-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;min-height:42px;border-radius:999px;border:1px solid transparent;background:#fffcf9d1;color:#70473e;font-weight:700;font-size:13px;letter-spacing:-.01em;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.tab-pill:hover{color:var(--text);border-color:var(--border-strong);background:#fffffff5;transform:translateY(-1px)}.tab-pill.active{color:#fff7f2;border-color:#ffccaf2e;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);box-shadow:0 12px 22px var(--accent-glow)}#rootTabs .tab-pill{min-height:46px;padding:12px 20px;background:#fff9f5f0;border-color:#702e1f14;font-size:14px;color:#744d43}#subTabs{align-items:center;gap:12px;padding:4px 2px 0}#subTabs .tab-pill{min-height:42px;padding:10px 16px;border-radius:18px;background:transparent;border-color:transparent;color:#7c5449;font-weight:800}#subTabs .tab-pill:hover{background:#fff1eab8;border-color:#b6493414}#subTabs .tab-pill.active{background:linear-gradient(180deg,#ffe0d4d1,#f8d6c685);border-color:#b649342e;color:var(--accent-strong);box-shadow:0 10px 22px #b6493414,inset 0 1px #ffffff59}#subCatTabs{padding:6px;border-radius:22px;background:linear-gradient(180deg,#fffcf9eb,#fff4ece6);border:1px solid rgba(123,57,40,.08);box-shadow:inset 0 1px #ffffff7a,0 10px 26px #5c24180f}#subCatTabs .tab-pill{min-height:40px;padding:10px 15px;border-radius:16px;background:transparent;border-color:transparent;color:#7c5449;font-weight:800}#subCatTabs .tab-pill:hover{background:#ffffffbd;border-color:#b6493414}#subCatTabs .tab-pill.active{background:linear-gradient(180deg,#ffe0d4c7,#f8d6c67a);border-color:#b6493429;color:var(--accent-strong);box-shadow:inset 0 1px #ffffff57}#reportTabs{padding:6px;border-radius:24px;background:linear-gradient(180deg,#fffcf9fa,#fff5eef0);border:1px solid rgba(123,57,40,.08);box-shadow:inset 0 1px #ffffff8f,0 10px 26px #5c24180d}#reportTabs .tab-pill{min-height:42px;padding:10px 18px;border-radius:18px;background:transparent;border-color:transparent;color:#83594e;font-weight:800}#reportTabs .tab-pill:hover{background:#ffffffdb;border-color:#b6493414}#reportTabs .tab-pill.active{color:#fff7f2;border-color:#ffccaf2e;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);box-shadow:0 12px 22px var(--accent-glow)}#adminTabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:8px;border-radius:24px;border:1px solid rgba(214,171,151,.32);background:linear-gradient(180deg,#fffaf6f0,#fff1e8e6),#fff8f3d6;box-shadow:inset 0 1px #ffffff8c,0 18px 36px #5c241814}#adminTabs .tab-pill{width:100%;min-height:46px;padding:12px 18px;border-radius:18px;border-color:transparent;background:transparent;color:#8a6155;font-size:13px;font-weight:800;letter-spacing:.01em;box-shadow:none}#adminTabs .tab-pill:hover{background:#ffffffd1;border-color:#b6493414;color:var(--accent-strong);transform:translateY(-1px);box-shadow:0 8px 18px #b6493412}#adminTabs .tab-pill.active{color:#fff8f4;border-color:#ffdcc433;background:linear-gradient(135deg,#c85a3d,#a63f29);box-shadow:0 12px 24px #b6493438,inset 0 1px #ffffff29}.empty-state{display:flex;align-items:center;justify-content:center;min-height:220px;padding:24px;border:1px dashed var(--border-strong);border-radius:22px;background:#fff8f3ad;color:#6e4a41;text-align:center;font-weight:700}.form{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:8px;grid-column:span 6}.field.w3{grid-column:span 3}.field.w4{grid-column:span 4}.field.w6{grid-column:span 6}.field.w9{grid-column:span 9}.field.w12{grid-column:span 12}label{font-size:12px;font-weight:800;color:#56312a;letter-spacing:.04em;text-transform:uppercase}[data-theme=dark] label{color:#ffe2d9d6}input,select,textarea,.form-input{width:100%;min-height:50px;padding:13px 16px;border:1px solid var(--border);border-radius:18px;background:#fffbf8eb;color:var(--text);box-shadow:inset 0 1px #ffffff5c;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .form-input{background:#ffffff0f;border-color:#ffd1bc24}[data-theme=dark] select{color:#fff2eb}[data-theme=dark] select option,[data-theme=dark] select optgroup{background:#241314;color:#fff2eb}input::placeholder,textarea::placeholder{color:#64433ac7}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#ffdad185}input:focus,select:focus,textarea:focus,.form-input:focus{outline:none;border-color:#b649347a;background:#ffffffd1;box-shadow:0 0 0 4px var(--accent-soft)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus,[data-theme=dark] .form-input:focus{background:#ffffff1a;box-shadow:0 0 0 4px #ff815d29}input:disabled,select:disabled,textarea:disabled{opacity:.68;cursor:not-allowed;background:#ffffff57}textarea#feedback_message,#preview{min-height:180px}.bool-row{display:flex;align-items:center;gap:12px;min-height:50px;padding:12px 16px;border-radius:18px;border:1px solid var(--border);background:#fffaf6e6;transition:border-color .2s ease,background .2s ease,transform .2s ease;cursor:pointer}[data-theme=dark] .bool-row{background:#ffffff0d;border-color:#ffd1bc1f}.bool-row:hover{border-color:var(--border-strong);background:#fffffffa}[data-theme=dark] .bool-row:hover{background:#ffffff14}.bool-checkbox{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.bool-label{margin:0;font-size:14px;font-weight:700;color:var(--text)}.multi-group{display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:#fffaf6e0}[data-theme=dark] .multi-group{background:#ffffff0a;border-color:#ffd1bc1f}.multi-item{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#ffffffe6;color:var(--text);font-size:13px;font-weight:700}[data-theme=dark] .multi-item{background:#ffffff14}.list-add-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.list-id{flex:1;min-width:160px}.roster-autocomplete{position:relative;flex:1 1 240px;min-width:180px}.field>.roster-autocomplete{flex:initial;min-width:0}.roster-autocomplete-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:140;display:flex;flex-direction:column;gap:4px;padding:8px;max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:18px;background:#fffbf8fa;box-shadow:0 18px 36px #481b112e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.roster-autocomplete-menu[hidden]{display:none}.roster-autocomplete-option,.roster-autocomplete-empty{width:100%;padding:11px 12px;border:none;border-radius:12px;background:transparent;color:var(--text);text-align:left;font:inherit}.roster-autocomplete-option{cursor:pointer;transition:background .16s ease,color .16s ease}.roster-autocomplete-option:hover,.roster-autocomplete-option.active{background:#b649341f;color:#7a2f20}.roster-autocomplete-empty{color:var(--muted);cursor:default}[data-theme=dark] .roster-autocomplete-menu{border-color:#ffd1bc24;background:#231214f5;box-shadow:0 18px 36px #0401026b}[data-theme=dark] .roster-autocomplete-option,[data-theme=dark] .roster-autocomplete-empty{color:#fff1ea}[data-theme=dark] .roster-autocomplete-option:hover,[data-theme=dark] .roster-autocomplete-option.active{background:#ff815d2e;color:#fff7f2}[data-theme=dark] .roster-autocomplete-empty{color:#ffe2d99e}.list-num{width:110px;flex-shrink:0}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;min-width:44px;padding:10px 16px;border:1px solid transparent;border-radius:16px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff8f4;font-weight:800;cursor:pointer;box-shadow:0 14px 24px var(--accent-glow);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,opacity .18s ease}.btn:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 18px 28px var(--accent-glow)}.btn:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.btn:focus-visible,.send-btn:focus-visible{outline:2px solid rgba(255,192,156,.9);outline-offset:2px}.btn-outline{background:#fff9f5e0;color:#5c362f;border-color:var(--border);box-shadow:none}[data-theme=dark] .btn-outline{background:#ffffff0f;color:var(--text);border-color:#ffd1bc24}.btn-outline:hover:not(:disabled){background:#fff;border-color:var(--border-strong)}[data-theme=dark] .btn-outline:hover:not(:disabled){background:#ffffff1f;border-color:#ffd1bc38}.btn-icon{width:42px;padding:0;border-radius:14px;background:#ffffff9e;color:var(--accent-strong);box-shadow:none}.btn-icon span{display:none}.send-btn{width:100%;min-height:52px;padding:14px 18px;border-radius:18px;letter-spacing:.04em;text-transform:uppercase}.send-btn.sent{background:linear-gradient(135deg,#2e9d62,#2e8d59);box-shadow:0 16px 24px #2e8d5938}.msg{min-height:20px;color:var(--muted);font-size:13px;font-weight:700}.msg.ok{color:var(--good)}.msg.warn{color:var(--warn)}.msg.bad{color:var(--bad)}.table{width:100%;border-collapse:separate;border-spacing:0;margin-top:12px;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#fff9f5c7}[data-theme=dark] .table{background:#ffffff0a;border-color:#ffd1bc24}.table th,.table td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border);font-size:13px}[data-theme=dark] .table th,[data-theme=dark] .table td{border-bottom-color:#ffd1bc1a}.table th{background:#fff8f3f0;color:#6c483f;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}[data-theme=dark] .table th{background:#ffffff0f;color:#ffe2d9c7}[data-theme=dark] .table td{color:var(--text);background:transparent}.table tbody tr{transition:background .18s ease}[data-theme=dark] .table tbody tr{background:#ffffff04}.table tbody tr:hover{background:#ffffff80}[data-theme=light] .table tbody tr.active-row,.table tbody tr.active-row{background:#ff815d24}[data-theme=dark] .table tbody tr:hover{background:#ffffff0f}[data-theme=dark] .table tbody tr.active-row{background:#ff815d1f}.table tr:last-child td{border-bottom:none}.table td.td-del{width:48px;text-align:center}.badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:26px;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);border:1px solid rgba(182,73,52,.12);font-size:11px;font-weight:800;letter-spacing:.03em}.badge-soft{background:#ffffff80!important;color:var(--muted)!important;border-color:var(--border)!important}.badge-primary{background:#ff815d29;color:var(--accent-strong)}.badge-warn{background:#ffc26d3d;color:#9b5510}.preview-card{position:sticky;top:108px;display:flex;flex-direction:column;min-height:100%}.preview-card .card-body{flex:1;display:flex;flex-direction:column}.preview-body{display:flex;flex-direction:column;gap:12px;flex:1;min-height:100%}#preview{flex:1;min-height:clamp(560px,62vh,980px);padding:18px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffffb8,#fffaf794),#fff8f3f0;color:var(--text);font-family:Consolas,Cascadia Code,Fira Code,monospace;font-size:13px;line-height:1.7;tab-size:2;resize:none}[data-theme=dark] #preview{border-color:#ffd1bc24;background:linear-gradient(180deg,#ffffff0a,#ffffff05),#160c0ef0;color:#fff2eb;box-shadow:inset 0 1px #ffffff0a}#preview::placeholder{color:#6b4c44c7}[data-theme=dark] #preview::placeholder{color:#ffdad161}.preview-footer{display:flex;align-items:center;gap:8px;color:#6e4a41;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}[data-theme=dark] .drop-zone{background:#ffffff08;border-color:#ffd1bc24!important;color:var(--text)}[data-theme=dark] .drop-zone:hover{background:#ffffff0d}.drop-zone.is-paste-target{border-color:var(--primary)!important;background:#b6493414;box-shadow:0 0 0 4px #b6493414}[data-theme=dark] .drop-zone.is-paste-target{background:#ff815d1f;box-shadow:0 0 0 4px #ff815d14}[data-theme=dark] .upload-status,[data-theme=dark] .preview-footer{color:var(--muted)}.preview-footer:before{content:"";width:9px;height:9px;border-radius:999px;background:var(--good);box-shadow:0 0 0 6px #2e8d591f}.theme-switcher{display:flex;flex-wrap:wrap;gap:12px}[data-theme=dark] .theme-switcher{padding:12px;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,209,188,.1)}.theme-btn{flex:1 1 140px}.locale-btn{flex:1 1 160px}.theme-btn.active,.locale-btn.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff9f6;border-color:transparent;box-shadow:0 14px 24px var(--accent-glow)}.theme-btn.active:hover:not(:disabled),.theme-btn.active:focus-visible,.locale-btn.active:hover:not(:disabled),.locale-btn.active:focus-visible{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff9f6;border-color:transparent}.settings-body{display:flex;flex-direction:column;gap:28px}.settings-section{display:flex;flex-direction:column;gap:12px}.settings-section-title{margin:0;font-size:14px;font-weight:700;color:var(--text)}.id-wrap{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:#ffffff8a}[data-theme=dark] .id-wrap{background:#ffffff0f;border-color:#ffd1bc1f}[data-theme=dark] #adminTabs,[data-theme=dark] #subCatTabs,[data-theme=dark] #reportTabs{background:linear-gradient(180deg,#1f0e10eb,#120a0ceb);border-color:#ffd1bc1f;box-shadow:inset 0 1px #ffffff0a,0 14px 30px #0003}[data-theme=dark] #adminTabs .tab-pill{color:#ffe2d9d1}[data-theme=dark] #adminTabs .tab-pill:hover{background:#ffffff14;border-color:#ffd1bc1f;color:#fff3ec;box-shadow:0 10px 22px #0000002e}[data-theme=dark] #adminTabs .tab-pill.active{color:#fff7f2;border-color:#ffccaf2e;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);box-shadow:0 12px 22px var(--accent-glow)}[data-theme=dark] #rootTabs .tab-pill,[data-theme=dark] #subTabs .tab-pill,[data-theme=dark] #subCatTabs .tab-pill,[data-theme=dark] #reportTabs .tab-pill{color:#ffe2d9d1}[data-theme=dark] #rootTabs .tab-pill{background:#ffffff0a;border-color:#ffd1bc14}[data-theme=dark] #subTabs .tab-pill:hover,[data-theme=dark] #subCatTabs .tab-pill:hover,[data-theme=dark] #reportTabs .tab-pill:hover,[data-theme=dark] #rootTabs .tab-pill:hover{background:#ffffff14;border-color:#ffd1bc1f;color:#fff3ec}[data-theme=dark] .empty-state{background:#ffffff08;border-color:#ffd1bc29;color:var(--muted)}.id-wrap label{color:var(--muted);font-size:12px;font-weight:800}.id-wrap input{min-height:auto;padding:0;border:none;background:transparent;box-shadow:none}.nav-sep{width:100%;height:1px;background:var(--border);margin:8px 0}.auth-layout{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:28px;background:transparent;overflow:auto}.auth-card{position:relative;width:min(100%,440px);padding:34px 28px;border-radius:30px;border:1px solid rgba(255,235,225,.18);background:linear-gradient(180deg,#521f1af0,#3c1615f2 52%,#311312f5);box-shadow:0 30px 70px #12080857,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);overflow:hidden;color:#fff2ec}.auth-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,#ffc67adb,#b64934eb)}.auth-card:after{content:"";position:absolute;inset:auto -12% -20% auto;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(255,164,115,.14) 0%,transparent 68%);pointer-events:none}.auth-card a{font-weight:800;color:#ff9a73!important}.auth-card a:hover{opacity:.84}.auth-link-row{color:#ffe7dfdb;text-align:center;font-size:14px;font-weight:600;margin-top:16px}.auth-intro{margin-bottom:24px;text-align:center}.auth-title,.auth-intro h1{font-family:Sora,Manrope,sans-serif;font-size:24px;line-height:1.15;letter-spacing:-.03em;color:#fff6f1!important}.auth-subtitle,.auth-intro p{margin-top:8px;color:#ffe7dfd1!important;font-size:15px;font-weight:600}.auth-field{margin-bottom:16px}.auth-field-password{margin-bottom:24px}.auth-captcha{margin:-8px 0 20px;padding:14px;border-radius:20px;border:1px solid rgba(255,224,213,.16);background:#ffffff0f;display:flex;flex-direction:column;gap:10px}.auth-captcha[hidden]{display:none!important}.auth-captcha-question{color:#fff7f1;font-size:13px;font-weight:800;line-height:1.5}#register_recaptcha,#auth_recaptcha{display:flex;justify-content:center;min-height:78px}#register_recaptcha>div{max-width:100%}#auth_recaptcha>div{max-width:100%}#auth_recaptcha[hidden],#auth_captcha_question[hidden],#auth_captcha_answer[hidden]{display:none!important}.auth-card label,.auth-label{display:block;margin-bottom:8px;color:#fff5f0!important;font-size:14px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.auth-card .form-input{min-height:52px;border-color:#ffe0d52e;background:#463844f0;color:#fff5f1;box-shadow:inset 0 1px #ffffff14,0 12px 24px #0e070829}.auth-card .form-input::placeholder{color:#ffdfd373}.auth-card .form-input:focus{background:#544452fa;border-color:#ffa88580;box-shadow:0 0 0 4px #ff8a622e,0 14px 28px #0e07082e}.auth-card input:-webkit-autofill,.auth-card input:-webkit-autofill:hover,.auth-card input:-webkit-autofill:focus{-webkit-text-fill-color:#fff5f1;caret-color:#fff5f1;-webkit-box-shadow:0 0 0 1000px rgba(70,56,68,.98) inset;box-shadow:0 0 0 1000px #463844fa inset;transition:background-color 9999s ease-out 0s}.auth-card .form-input:disabled{opacity:.72;cursor:not-allowed}.password-field{position:relative}.password-input{padding-right:54px!important}.password-toggle{position:absolute;top:50%;right:12px;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:transparent;color:#ffe9e0d1;box-shadow:none;cursor:pointer;transform:translateY(-50%)}.password-toggle:hover{background:#ffffff14;color:#fff8f3}.password-toggle svg{width:19px;height:19px}.password-toggle-slash{position:absolute;width:18px;height:2px;border-radius:999px;background:currentColor;transform:rotate(-38deg);transition:opacity .2s ease}.password-toggle.is-visible .password-toggle-slash{opacity:0}.auth-note{margin-top:8px;color:#ffe5dcc2!important;font-size:12px;line-height:1.55;font-weight:600}.profile-card .card-body{display:flex;flex-direction:column;gap:24px}.profile-services{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.profile-widget{display:flex;flex-direction:column;gap:16px;padding:18px 20px;border-radius:24px;border:1px solid var(--border);background:#fff9f4c2;box-shadow:inset 0 1px #ffffff6b}[data-theme=dark] .profile-widget{background:#ffffff0a;border-color:#ffd1bc1f;box-shadow:inset 0 1px #ffffff0d}.profile-widget-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-widget-head h4{font-size:15px;font-weight:800;color:var(--text)}.profile-weather-main{display:flex;align-items:center;gap:18px}.profile-weather-temp{min-width:116px;font-family:Sora,Manrope,sans-serif;font-size:34px;line-height:1;letter-spacing:-.05em;color:var(--accent-strong)}[data-theme=dark] .profile-weather-temp{color:var(--accent)}.profile-weather-copy{display:flex;flex-direction:column;gap:6px}.profile-weather-copy strong{color:var(--text);font-size:16px}.profile-weather-copy div{color:var(--muted);font-weight:700}.profile-weather-meta{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:12px;font-weight:700}.profile-weather-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.profile-weather-controls .form-input{flex:1 1 240px;min-width:180px}.profile-weather-controls .btn{width:auto;min-width:0}.currency-ticker{display:flex;flex-direction:column;gap:12px;padding-top:8px}.currency-ticker-label{color:var(--text);font-size:14px;font-weight:800}.currency-ticker-window{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--border);background:#fff9f4b8}[data-theme=dark] .currency-ticker-window{background:#ffffff0a;border-color:#ffd1bc1f}.currency-ticker-track{display:inline-flex;align-items:center;gap:32px;width:max-content;min-width:max-content;padding:12px 0;color:var(--text);font-weight:800;white-space:nowrap;will-change:transform;animation:currency-marquee 26s linear infinite}.currency-ticker-track span{display:inline-flex;flex:0 0 auto;align-items:center;gap:18px;padding-left:18px}@keyframes currency-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.profile-overview{display:flex;align-items:center;gap:20px;padding:20px;border-radius:24px;border:1px solid var(--border);background:#fff9f4bd;box-shadow:inset 0 1px #fff6}.profile-overview-main{flex:1;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.profile-overview-title{display:flex;flex-direction:column;gap:8px}.profile-name-heading-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-overview-title h4{font-family:Sora,Manrope,sans-serif;font-size:24px;line-height:1.1;letter-spacing:-.03em;color:var(--text)}.profile-name-edit-link{padding:0;border:none;background:transparent;color:var(--accent-strong);font-size:13px;font-weight:800;line-height:1;cursor:pointer;box-shadow:none}.profile-name-edit-link:hover{color:var(--accent);text-decoration:underline}.profile-name-editor{display:flex;flex-direction:column;gap:10px;margin-top:6px;padding:14px;border-radius:20px;border:1px solid var(--border);background:#fff9f4c2;box-shadow:inset 0 1px #ffffff6b}.profile-name-editor[hidden]{display:none!important}.profile-name-editor-title{color:var(--text);font-size:14px;font-weight:800}.profile-name-editor-label,.profile-name-editor-hint{color:var(--muted);font-size:12px;font-weight:700}.profile-name-editor-hint strong{color:var(--text)}.profile-name-editor-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-name-editor-actions .btn,.profile-name-editor-actions .btn-outline{width:auto}.profile-overview-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-weight:700}.profile-avatar-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:100%}.profile-avatar-note{max-width:320px;color:var(--muted);font-size:12px;line-height:1.55;font-weight:600}.profile-data-wrap{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.profile-password-row{display:flex;gap:10px;flex-wrap:wrap}.profile-password-input{flex:1 1 250px}.profile-cat-reminder{display:inline-flex;align-items:flex-end;gap:10px;padding:0;border:none;background:transparent;box-shadow:none;cursor:pointer}.profile-cat-reminder[hidden]{display:none!important}.profile-cat-reminder--topbar{width:min(100%,258px);justify-content:flex-end}.profile-cat-reminder--floating{position:fixed;right:clamp(18px,2vw,28px);bottom:clamp(18px,2vw,28px);z-index:45;max-width:min(320px,calc(100vw - 32px));justify-content:flex-end}.profile-cat-reminder-image{width:72px;height:auto;display:block;filter:drop-shadow(0 18px 24px rgba(92,36,24,.16));-webkit-user-select:none;user-select:none;pointer-events:none}.profile-cat-reminder-bubble{position:relative;max-width:180px;padding:10px 12px;border-radius:18px 18px 6px;border:1px solid rgba(214,171,151,.45);background:linear-gradient(180deg,#fffbf8fa,#ffefe5f2);color:#7b4c41;font-size:12px;font-weight:800;line-height:1.4;text-align:left;box-shadow:0 16px 28px #5c241814,inset 0 1px #ffffffbf}.profile-cat-reminder-bubble:after{content:"";position:absolute;right:22px;bottom:-8px;width:16px;height:16px;border-right:1px solid rgba(214,171,151,.45);border-bottom:1px solid rgba(214,171,151,.45);background:#ffefe5f2;transform:rotate(45deg)}.profile-cat-reminder:hover .profile-cat-reminder-image{transform:translateY(-2px)}.profile-cat-reminder:hover .profile-cat-reminder-bubble{color:var(--accent-strong);border-color:#b649343d}.chat-launcher,.chat-drawer,.chat-drawer-overlay{position:fixed;z-index:140}.chat-drawer-overlay{inset:0;z-index:138;background:#0f07096b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .22s ease}.chat-drawer-overlay.active{opacity:1;pointer-events:auto}.chat-launcher{top:50%;right:18px;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid rgba(255,225,213,.52);border-radius:20px;background:linear-gradient(180deg,#fffaf6f5,#ffeee4eb);color:var(--accent-strong);box-shadow:0 20px 46px #4b1d1529,inset 0 1px #ffffffc2;cursor:pointer;transform:translateY(-50%);transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}.chat-launcher:hover{color:var(--accent);transform:translateY(calc(-50% - 2px));box-shadow:0 24px 52px #4b1d1538,inset 0 1px #ffffffd1}.chat-launcher.is-open{opacity:0;pointer-events:none;transform:translate(18px,-50%)}.chat-launcher:focus-visible{outline:2px solid rgba(182,73,52,.28);outline-offset:4px}.chat-launcher-badge{position:absolute;top:-6px;right:-6px;min-width:24px;height:24px;padding:0 7px;border-radius:999px;border:2px solid rgba(255,249,244,.95);background:linear-gradient(135deg,#ff8c68,#c94531);color:#fffaf6;font-size:11px;font-weight:800;line-height:20px;text-align:center;box-shadow:0 10px 18px #922f1e3d}.chat-drawer{top:18px;right:18px;bottom:18px;width:min(380px,calc(100vw - 36px));display:flex;flex-direction:column;border-radius:30px;border:1px solid rgba(255,230,219,.48);background:linear-gradient(180deg,#fff9f4f5,#fff0e8f0),#fff6efeb;box-shadow:0 30px 80px #220d103d,inset 0 1px #ffffffb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;transform:translate(calc(100% + 26px));opacity:0;pointer-events:none;transition:transform .24s ease,opacity .24s ease}.chat-drawer.open{transform:translate(0);opacity:1;pointer-events:auto}.chat-drawer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,198,142,.18),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.18),transparent 32%);pointer-events:none}.chat-drawer-head,.chat-drawer-body,.chat-composer{position:relative;z-index:1}.chat-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid rgba(126,60,42,.12)}.chat-drawer-title-wrap{min-width:0;display:flex;flex-direction:column;gap:5px}.chat-drawer-kicker{color:var(--accent-strong);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.chat-drawer-head h3{font-family:Sora,Manrope,sans-serif;font-size:22px;line-height:1.06;letter-spacing:-.04em;color:var(--text)}.chat-drawer-head p{color:var(--muted);font-size:12px;line-height:1.5;font-weight:700}.chat-close-btn{flex:0 0 auto;width:40px;height:40px;border-radius:14px}.chat-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:18px}.chat-message-list{display:flex;flex-direction:column;gap:14px}.chat-empty-state{display:none;align-items:center;justify-content:center;min-height:100%;padding:18px;text-align:center;color:var(--muted);font-weight:700}.chat-empty-state.visible{display:flex}.chat-message{display:flex;align-items:flex-end;gap:10px}.chat-message.own{justify-content:flex-end}.chat-message:not(.own){justify-content:flex-start}.chat-message-avatar{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#f0a35d,#cb5a3d 48%,#8f2f20);color:#fff7f1;font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 12px 24px #6b271b29}.chat-message-avatar img{width:100%;height:100%;object-fit:cover}.chat-message-card{max-width:min(84%,280px);display:flex;flex-direction:column;gap:7px}.chat-message.own .chat-message-card{align-items:flex-end}.chat-message-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.chat-message-author{color:var(--text);font-size:12px;font-weight:800}.chat-message-time{color:var(--muted);font-size:11px;font-weight:700}.chat-role-badge{display:inline-flex;align-items:center;min-height:22px;padding:4px 8px;border-radius:999px;border:1px solid rgba(126,60,42,.14);background:#ffffff85;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.chat-role-badge--admin{color:#9d2f20;background:#de5a451f;border-color:#b6493433}.chat-role-badge--md{color:#8a4d1c;background:#e6a84e29;border-color:#c8882e38}.chat-role-badge--user{color:#6f5249}.chat-message-bubble{width:fit-content;min-width:0;padding:12px 14px;border-radius:20px;border:1px solid rgba(126,60,42,.1);background:#ffffffb8;box-shadow:0 10px 24px #56211714,inset 0 1px #fff9}.chat-message.own .chat-message-bubble{background:linear-gradient(135deg,#b64934f5,#8f2f20f5);border-color:#b6493438;box-shadow:0 16px 30px #9334223d}.chat-message-text{color:var(--text);font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.chat-message.own .chat-message-text,.chat-message.own .chat-message-author,.chat-message.own .chat-message-time{color:#fff7f3}.chat-composer{padding:16px 18px 18px;border-top:1px solid rgba(126,60,42,.12);background:#fffbf7b8}.chat-composer-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:end}.chat-message-input{min-height:56px;max-height:140px;resize:none;padding-top:16px;padding-bottom:16px}.chat-emoji-toggle{width:46px;min-width:46px;height:56px;padding:0;border-radius:18px}.chat-emoji-toggle span{font-size:22px;line-height:1}.chat-send-btn{width:auto;min-width:110px;height:56px;border-radius:18px;padding-inline:18px}.chat-composer-meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:var(--muted);font-size:11px;font-weight:700}.chat-spam-notice{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(202,123,40,.18);background:#ffe6bf6b;color:#8a5a20;font-size:12px;font-weight:800}.chat-emoji-panel{margin-bottom:12px;padding:12px;border-radius:18px;border:1px solid rgba(126,60,42,.12);background:#ffffffad;box-shadow:inset 0 1px #ffffff9e}.chat-emoji-panel[hidden]{display:none!important}.chat-emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.chat-emoji-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:36px;border:1px solid rgba(126,60,42,.08);border-radius:12px;background:#fff8f4e0;font-size:20px;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.chat-emoji-btn:hover{transform:translateY(-1px);border-color:#b6493429;background:#fffffff5}[data-theme=dark] .chat-launcher{border-color:#ffd1bc24;background:linear-gradient(180deg,#2a1314fa,#140a0cf5);color:var(--accent);box-shadow:0 22px 46px #00000052,inset 0 1px #ffffff0f}[data-theme=dark] .chat-launcher-badge{border-color:#180b0df2}[data-theme=dark] .chat-drawer{border-color:#ffd1bc1f;background:linear-gradient(180deg,#251113fa,#120a0cfa),#130a0cf5;box-shadow:0 36px 88px #00000061,inset 0 1px #ffffff0a}[data-theme=dark] .chat-drawer-head,[data-theme=dark] .chat-composer{border-color:#ffd1bc1a}[data-theme=dark] .chat-message-bubble,[data-theme=dark] .chat-emoji-panel{border-color:#ffd1bc1f;background:#ffffff0a;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .chat-composer{background:#ffffff08}[data-theme=dark] .chat-role-badge{border-color:#ffd1bc1f;background:#ffffff0d}[data-theme=dark] .chat-role-badge--admin{color:#ff9b85;background:#ff815d24}[data-theme=dark] .chat-role-badge--md{color:#ffd187;background:#ffbe5b1f}[data-theme=dark] .chat-message.own .chat-message-bubble{background:linear-gradient(135deg,#ff815df0,#c2482cf0)}[data-theme=dark] .chat-spam-notice{border-color:#efab562e;background:#efab561f;color:#ffd38c}[data-theme=dark] .chat-emoji-btn{border-color:#ffd1bc1a;background:#ffffff0a}[data-theme=dark] .chat-emoji-btn:hover{border-color:#ff815d2e;background:#ffffff14}.avatar-cropper{display:flex;flex-direction:column;gap:18px}.avatar-cropper-stage-wrap{align-self:center;width:min(100%,360px);padding:12px;border-radius:28px;border:1px solid var(--border);background:#fff9f4d1;box-shadow:inset 0 1px #ffffff61}.avatar-cropper-stage-wrap canvas{width:100%;display:block;aspect-ratio:1;border-radius:22px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.avatar-cropper-stage-wrap canvas.is-dragging{cursor:grabbing}.avatar-cropper-controls{display:flex;flex-direction:column;gap:8px}.avatar-cropper-label{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.avatar-cropper-range{display:flex;align-items:center;gap:12px}.avatar-cropper-range input[type=range]{flex:1}.avatar-cropper-zoom-value{min-width:54px;text-align:right;font-weight:800;color:var(--text)}.avatar-cropper-hint{color:var(--muted);font-size:12px;line-height:1.5}[data-theme=dark] .profile-overview,[data-theme=dark] .avatar-cropper-stage-wrap,[data-theme=dark] .profile-name-editor{background:#ffffff0a;border-color:#ffd1bc1f;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .profile-cat-reminder-bubble{border-color:#ffd1bc2e;background:linear-gradient(180deg,#351b19f5,#221113f5);color:#ffe0d5;box-shadow:0 18px 30px #0003,inset 0 1px #ffffff12}[data-theme=dark] .profile-cat-reminder-bubble:after{border-right-color:#ffd1bc2e;border-bottom-color:#ffd1bc2e;background:#221113f5}.preloader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#160b0ad6,#24110feb);z-index:99999;opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}.preloader.hidden{opacity:0;visibility:hidden}.spinner{width:56px;height:56px;position:relative;margin-bottom:12px}.double-bounce1,.double-bounce2{position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#f0a35d,#cb5a3d 48%,#8f2f20);opacity:.65;animation:sk-bounce 2s infinite ease-in-out}.double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}.preloader-title{font-family:Sora,Manrope,sans-serif;font-size:24px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff6f2;animation:pulse-text 2s infinite ease-in-out}@keyframes pulse-text{0%,to{opacity:.58}50%{opacity:1}}.sidebar-overlay{position:fixed;inset:0;z-index:119;display:none;opacity:0;background:#0e070899;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity .25s ease}.sidebar-overlay.active{display:block;opacity:1}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.26);border-radius:14px;background:#ffffff7a;color:var(--text);box-shadow:0 8px 18px #4b1d1514;cursor:pointer}.mobile-menu-btn:hover{background:#ffffffbd}.moderator-dispatch-grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)}.submission-note{margin-bottom:10px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:#fff9f5b8;color:var(--muted);font-size:13px;line-height:1.5}.submission-frame{width:100%;min-height:420px;border:1px solid var(--border);border-radius:22px;background:#ffffffc2}.moderation-meta{align-items:flex-start;text-align:left}.moderation-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.moderation-summary-card{padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:#fff9f5c2}.moderation-summary-card strong{display:block;margin-bottom:6px;color:var(--text)}.moderation-summary-card span,.moderation-summary-card div{color:var(--muted);line-height:1.5}.moderation-preview{min-height:180px}.app-modal{position:fixed;inset:0;z-index:220;display:none}.app-modal.open{display:block}.app-modal-backdrop{position:absolute;inset:0;background:#0a05079e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-modal-dialog{position:relative;z-index:1;width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:16px auto;border-radius:28px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(180deg,#fff9f4fa,#fff1eaf5);box-shadow:0 32px 80px #00000042;overflow:hidden;display:flex;flex-direction:column}.app-modal-dialog--xl{width:min(1180px,calc(100vw - 32px))}.app-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--border);background:#ffffff6b}.app-modal-head h3{font-family:Sora,Manrope,sans-serif;font-size:22px;line-height:1.12;letter-spacing:-.03em;color:var(--text)}.app-modal-subtitle{margin-top:6px;color:var(--muted);font-size:13px;font-weight:700}.app-modal-body{padding:22px 24px;overflow:auto}.app-modal-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;padding:16px 24px 22px;border-top:1px solid var(--border);background:#ffffff52}[data-theme=dark] .submission-note,[data-theme=dark] .moderation-summary-card{background:#ffffff0a;border-color:#ffd1bc1f}[data-theme=dark] .submission-frame{border-color:#ffd1bc24;background:#160c0ef0}[data-theme=dark] .app-modal-dialog{border-color:#ffd1bc1f;background:linear-gradient(180deg,#200f10fa,#120a0cf5)}[data-theme=dark] .app-modal-head,[data-theme=dark] .app-modal-footer{background:#ffffff08;border-color:#ffd1bc1f}body.modal-open{overflow:hidden}@media(max-width:1320px){.workspace-grid{grid-template-columns:1fr}.preview-card{position:relative;top:0}.moderator-dispatch-grid{grid-template-columns:1fr}}@media(max-width:1024px){.dashboard-layout{padding:16px;gap:16px}.dashboard-layout:before{inset:8px;border-radius:28px}.sidebar{width:276px;padding:20px 16px}.app-modal-dialog,.app-modal-dialog--xl{width:calc(100vw - 20px);max-height:calc(100vh - 20px);margin:10px auto;border-radius:22px}.app-modal-head,.app-modal-body,.app-modal-footer{padding-left:18px;padding-right:18px}.topbar{padding:22px 22px 16px;align-items:flex-start}.workspace{padding:22px}}@media(max-width:768px){.mobile-menu-btn{display:inline-flex}.dashboard-layout{padding:10px;gap:0}.dashboard-layout:before{inset:0;border-radius:24px}.sidebar{position:fixed;top:12px;bottom:12px;left:12px;width:min(86vw,320px);z-index:120;transform:translate(calc(-100% - 18px));transition:transform .3s ease}.sidebar.open{transform:translate(0)}.main-content{width:100%;border-radius:24px}.topbar{padding:18px 18px 14px;flex-direction:column;align-items:stretch}.topbar-right{width:100%;justify-content:stretch}.chat-launcher{top:auto;right:14px;bottom:104px;transform:none;width:54px;height:54px;border-radius:18px}.chat-launcher:hover{transform:translateY(-2px)}.chat-launcher.is-open{transform:translateY(10px)}.chat-drawer{top:10px;right:10px;bottom:10px;width:min(420px,calc(100vw - 20px));border-radius:24px}.chat-drawer-head{padding:16px 16px 14px}.chat-drawer-body,.chat-composer{padding:14px}.chat-composer-row{grid-template-columns:auto minmax(0,1fr)}.chat-send-btn{grid-column:1 / -1;min-width:0}.chat-emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.topbar-reminder-row{padding:6px 18px 0}.radio-player,.radio-player-top,.radio-player-bottom{width:100%}.profile-cat-reminder--topbar{width:100%;justify-content:flex-end}.profile-cat-reminder--floating{right:14px;bottom:14px;max-width:calc(100vw - 20px)}.radio-volume{flex:1 1 auto}.page-title{font-size:24px}.page-subtitle{font-size:13px}.workspace{padding:16px;gap:18px}.card-head,.card-body{padding-left:18px;padding-right:18px}.profile-overview{flex-direction:column;align-items:flex-start;gap:16px;padding:18px}.profile-overview-main{width:100%;align-items:flex-start;flex-direction:column;gap:14px}.profile-name-heading-row{align-items:flex-start}.profile-avatar-actions{width:100%;align-items:stretch}.profile-avatar-actions .btn,.profile-avatar-actions .btn-outline{width:100%}.profile-avatar-note{max-width:none}.profile-name-editor-actions{flex-direction:column;align-items:stretch}.profile-name-editor-actions .btn,.profile-name-editor-actions .btn-outline{width:100%}.profile-cat-reminder{gap:8px}.profile-cat-reminder-image{width:64px}.profile-cat-reminder-bubble{max-width:168px;padding:9px 11px;font-size:12px}.profile-weather-main{flex-direction:column;align-items:flex-start}.profile-weather-controls{flex-direction:column;align-items:stretch}.profile-weather-controls .form-input,.profile-weather-controls .btn,.profile-weather-controls .btn-outline{width:100%;min-width:0;flex:1 1 auto}.profile-widget{padding:16px 18px;border-radius:22px}.profile-widget-head{flex-direction:column;align-items:stretch}.profile-widget-head .btn,.profile-widget-head .btn-outline{width:100%}.profile-password-row{flex-direction:column;align-items:stretch}.profile-password-input,.profile-password-button{width:100%!important;max-width:none!important}.avatar-cropper{gap:14px}.avatar-cropper-stage-wrap{width:min(100%,320px);padding:10px;border-radius:24px}.avatar-cropper-stage-wrap canvas{border-radius:18px}.app-modal-footer{position:sticky;bottom:0;z-index:1;padding-top:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-head{padding-top:18px;padding-bottom:12px}.card-body{padding-bottom:18px}.tabs-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.tabs-list::-webkit-scrollbar{height:0}.field,.field.w3,.field.w4,.field.w6,.field.w9,.field.w12{grid-column:span 12}.form-actions{flex-direction:column;align-items:stretch}.btn,.btn-outline,.send-btn{width:100%}.btn-icon{width:42px}#adminTabs{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:8px}#adminTabs .tab-pill{flex:0 0 auto;min-width:max-content}.auth-layout{padding:16px}.auth-card{padding:28px 20px;border-radius:24px}}@media(max-width:560px){.chat-launcher{right:10px;bottom:96px;width:50px;height:50px;border-radius:16px}.chat-launcher-badge{min-width:22px;height:22px;line-height:18px;font-size:10px}.chat-drawer{top:6px;right:6px;bottom:6px;width:calc(100vw - 12px);border-radius:22px}.chat-drawer-head h3{font-size:20px}.chat-drawer-head p{font-size:11px}.chat-message-card{max-width:calc(100vw - 122px)}.chat-message-bubble{padding:11px 12px;border-radius:18px}.chat-message-text{font-size:13px}.chat-composer-row{gap:8px}.chat-emoji-toggle{width:44px;min-width:44px;height:52px;border-radius:16px}.chat-message-input,.chat-send-btn{min-height:52px;height:auto}.chat-composer-meta{flex-direction:column;align-items:flex-start;gap:4px}.chat-emoji-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.app-modal-dialog,.app-modal-dialog--xl{width:calc(100vw - 12px);max-height:calc(100vh - 12px);margin:6px auto;border-radius:20px}.app-modal-head{gap:10px;padding:16px 16px 12px}.app-modal-head h3{font-size:18px}.app-modal-subtitle{font-size:12px}.app-modal-body{padding:14px 16px 16px}.app-modal-footer{gap:10px;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px))}.app-modal-footer .btn,.app-modal-footer .btn-outline{width:100%}.topbar{align-items:flex-start}.topbar-reminder-row{padding-left:14px;padding-right:14px}.card-head{flex-direction:column;align-items:flex-start}.table{min-width:540px}#preview{min-height:360px}.profile-avatar{width:92px;height:92px}.profile-overview-title h4{font-size:20px}.profile-overview-meta{gap:6px}.profile-weather-temp{min-width:0;font-size:30px}.profile-data-wrap>div{word-break:break-word}.avatar-cropper-stage-wrap{width:min(100%,288px);padding:8px;border-radius:22px}.avatar-cropper-range{gap:10px}.avatar-cropper-zoom-value{min-width:48px;font-size:13px}.avatar-cropper-hint{font-size:11px}}
