/* RedLink: the desktop accent, compact workspaces and readable data grids. */
:root,:root[data-theme=light]{color-scheme:light;--bg:#f5f6f8;--panel:#fff;--surface:#fff;--surface2:#fafbfc;--elev:#fff;--text:#27313e;--strong:#18202a;--muted:#728091;--border:#e3e7ec;--border2:#ced5df;--accent:#c81e4a;--accent2:#a8173c;--accent-dark:#a8173c;--ring:#c81e4a12;--danger:#bd2947;--bad:#bd2947;--good:#197756;--sidebar-bg:#fff;--rowhover:#fff4f7;--code-bg:#f4f6f8;--menu-hover:#fff0f4;--brand-tx:#27313e;--radius:8px;--card-shadow:none}
:root[data-theme=dark]{color-scheme:dark;--bg:#14161c;--panel:#1c1f27;--surface:#1c1f27;--surface2:#232731;--elev:#292d38;--text:#dce1eb;--strong:#f7f8fc;--muted:#a1abbc;--border:#343944;--border2:#4a5261;--accent:#ff7095;--accent2:#ff9ab3;--accent-dark:#ff9ab3;--ring:#ff709519;--danger:#ff839c;--bad:#ff839c;--good:#69d9af;--sidebar-bg:#1c1f27;--rowhover:#2b232c;--code-bg:#14161c;--menu-hover:#342632;--brand-tx:#dce1eb;--card-shadow:none}
html,body{font-family:'Segoe UI','Microsoft YaHei','Noto Sans',system-ui,sans-serif;font-size:14px;line-height:1.5;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}button,input,select,textarea{font:inherit}a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rl-wordmark{color:var(--accent)!important;font-size:25px;font-weight:750;letter-spacing:-1px;text-decoration:none!important;line-height:1.2}
.rl-brand,.sidebar .brand.rl-brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:25px 22px 21px;border-bottom:1px solid var(--border);letter-spacing:0;background:var(--surface)}
.rl-brand::before{display:none!important}.rl-brand small{font-weight:500;font-size:12px;color:var(--muted);letter-spacing:0}
.sidebar{width:238px;flex:0 0 238px;position:sticky;top:0;height:100dvh;background:var(--sidebar-bg);border-right:1px solid var(--border);overflow:auto;box-shadow:none}
.sidebar .who{padding:18px 18px 10px}.sidebar nav{padding:6px 12px 20px}.sidebar .sec{font-size:10px;letter-spacing:.9px;margin:19px 12px 8px;color:var(--muted)}
.sidebar nav a{padding:9px 12px;min-height:39px;border-radius:6px;margin:3px 0;color:var(--muted);font-weight:550;border:1px solid transparent}
.sidebar nav a:hover{background:var(--surface2);color:var(--text);text-decoration:none}.sidebar nav a.active{background:var(--ring);border-color:var(--ring);color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
.avatar,.tb-ava{border-radius:7px!important;background:var(--ring)!important;color:var(--accent)!important}
.topbar{height:64px;min-height:64px;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 28px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:25}
.tb-right{display:flex;align-items:center;gap:12px;margin-left:auto}.workspace-label,.tb-title{font-size:12px;font-weight:600;color:var(--muted)}
.rl-language{display:inline-flex!important;align-items:center;margin:0!important;flex:none}.rl-language select{width:auto!important;max-width:145px;min-height:34px;padding:5px 28px 5px 10px!important;margin:0!important;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px}
.inner,.main .inner{padding:28px 30px 40px;max-width:1800px;margin:0 auto}.pagehead{align-items:center;gap:16px;margin-bottom:22px}.pagehead h1,h1{font-size:25px;font-weight:650;letter-spacing:-.5px;color:var(--strong);line-height:1.25}
.pagehead p,.page-intro,.subtitle{color:var(--muted);max-width:850px}h2{font-size:19px}h3{font-size:16px}
.card,.stat,.kpi,.metric-card,.cards>.card{background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:none}.card{padding:20px}
button,.btn,.btn-ghost,.tb-btn{border-radius:6px;min-height:35px}.btn.primary,button.primary,form>button:not(.btn-ghost),.btn-main{background:var(--accent);border-color:var(--accent);color:white}
button:hover,.btn:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:not-allowed}.btn-ghost,.tb-btn{background:transparent;border:1px solid var(--border);color:var(--text)}
input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border2);border-radius:6px;min-height:35px;box-shadow:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}
.subtabs{display:flex;gap:3px;border-bottom:1px solid var(--border);padding:0;margin:0 0 23px;overflow-x:auto;flex-wrap:nowrap;background:transparent}
.subtabs a{white-space:nowrap;padding:10px 14px;border-radius:0;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:13px}.subtabs a.on{border-bottom-color:var(--accent);color:var(--accent);background:transparent;font-weight:650}
table{font-size:12px;border-collapse:collapse;width:100%}th,td{padding:10px 12px;border-bottom:1px solid var(--border);line-height:1.45}th{background:var(--surface2);color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap;text-align:left}tbody tr:nth-child(even){background:var(--surface2)}tbody tr:hover{background:var(--rowhover)}td.num,.num{font-variant-numeric:tabular-nums}table code{font-size:11px}
.grid-wrap,.table-wrap,.table-scroll{border:1px solid var(--border);border-radius:8px;overflow:auto;max-width:100%}thead th{position:sticky;top:0;z-index:1}.filters,.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.flash,.alert{border-radius:7px;border-left:3px solid var(--accent);background:var(--ring);color:var(--text)}.badge{border-radius:5px;font-size:11px}.page-footer{font-size:11px;color:var(--muted);border-top:1px solid var(--border);margin-top:28px;padding-top:15px}
/* Login and registration use the same language control and identity as the app. */
.rl-authbar{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:26px 32px;background:transparent;border:0}
.rl-auth .wrap{max-width:440px;margin:6vh auto;padding:0 20px}.rl-auth .wrap>header{background:none;padding:0;margin:0 0 25px;display:block}.rl-auth .wrap>header h1{font-size:27px;margin:0 0 10px}.rl-auth .wrap>header a{font-size:13px}.rl-auth .card{padding:26px}.rl-auth label{display:block;font-size:12px;font-weight:600;margin:15px 0 6px}.rl-auth input{width:100%}.rl-auth form>button{width:100%;margin-top:24px;min-height:40px;font-weight:650}.rl-auth .flash{margin-bottom:20px}
.login-wrap{min-height:0!important;padding:5vh 20px!important}.login{width:100%;max-width:430px;padding:30px!important;border:1px solid var(--border);border-radius:10px!important;background:var(--surface);box-shadow:none!important}.login h1{font-size:27px;margin:10px 0 20px}.rl-login-label{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:1.3px;color:var(--accent)}
/* The administration ribbon keeps the desktop module navigation. */
.rl-admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.rl-admin-header .rl-brand{padding:0;border:0;gap:2px}.rl-admin-tools{display:flex;gap:10px;align-items:center}
.ribbon{background:var(--surface)!important;border-bottom:1px solid var(--border);box-shadow:none!important;position:sticky;top:0;z-index:30}.ribbon-tabs{display:flex;overflow:auto;flex-wrap:nowrap!important;padding:0 18px!important;background:var(--surface)!important;gap:1px;border-bottom:1px solid var(--border)}.ribbon-tabs .tab{white-space:nowrap;color:var(--muted)!important;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:11px 13px!important;font-size:12px}.ribbon-tabs .tab.active{border-bottom-color:var(--accent)!important;color:var(--accent)!important}.tab-ico{display:none}
.ribbon-buttons{display:flex;overflow-x:auto;flex-wrap:nowrap!important;gap:5px;padding:9px 18px!important;background:var(--surface2)!important}.ribbon-buttons .rb{flex:none;min-width:82px;max-width:165px;padding:8px 11px!important;box-shadow:none!important;border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:var(--text)!important}.ribbon-buttons .rb.active{border-color:var(--ring)!important;background:var(--ring)!important;color:var(--accent)!important}.rb .ico{font-size:16px!important}.rb .cap{font-size:11px!important}.content{padding:24px!important;background:var(--bg)}.pref-btn,.pref{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important}.cards .value{color:var(--strong)}
@media(min-width:821px){.burger{display:none!important}}
@media(max-width:1050px){.topbar{padding:10px 18px}.tb-user,.workspace-label,.support-link{display:none!important}.inner,.main .inner{padding:22px 18px}.sidebar{width:218px;flex-basis:218px}}
@media(max-width:820px){.sidebar{position:fixed;left:-250px;z-index:60;width:238px;height:100dvh;box-shadow:10px 0 35px #0002}.sidebar.open{left:0}.burger{display:inline-flex!important}.topbar{height:auto;min-height:60px;padding:10px 12px;gap:7px}.tb-right{gap:7px}.tb-title{display:none}.rl-language select{max-width:118px;font-size:11px}.tb-logout{display:inline!important}.rl-admin-header{padding:14px;gap:10px}.rl-admin-tools{gap:6px}.rl-admin-header .rl-wordmark{font-size:21px}.rl-admin-header small{font-size:10px}.rl-admin-tools .pref-btn{font-size:11px}.rl-admin-tools .logout{font-size:11px}.content{padding:16px!important}.pagehead{flex-wrap:wrap}.pagehead h1,h1{font-size:23px}.rl-authbar{padding:22px}.rl-auth .wrap{margin-top:3vh}.ribbon-buttons .rb{min-width:75px;max-width:140px}.rl-admin-tools .rl-language select{max-width:112px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ribbon-tabs .tab.active{box-shadow:none!important}.ribbon-buttons .rb .ico{background:var(--surface)!important;color:var(--accent)!important;box-shadow:none!important;border:1px solid var(--border);width:32px;height:32px;border-radius:6px}

.button,.shot-toolbar .shot-send{background:var(--accent);border-color:var(--accent);color:#fff}.button:hover{background:var(--accent2)}.stat.featured{background:var(--accent);border-color:var(--accent);color:white}.chart-bar{background:var(--accent);opacity:.6}.chart-day:last-child .chart-bar{background:var(--accent);opacity:1}

:root{--action-bg:#c81e4a;--action-hover:#a8173c;--btnshadow:none;--active-shadow:none} .stat::before{background:var(--accent)!important}.btn.primary,button.primary,form>button:not(.btn-ghost),.button,.shot-toolbar .shot-send{background:var(--action-bg);border-color:var(--action-bg);color:#fff;box-shadow:none}.button:hover,.btn.primary:hover,button.primary:hover{background:var(--action-hover)}
