@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700&display=swap');
:root{--bg:#f6f7fb;--surface:rgba(255,255,255,.78);--solid:#fff;--text:#171825;--muted:#72758a;--line:#e7e8f0;--accent:#7257ff;--accent2:#b14cff;--soft:#efedff;--shadow:0 24px 70px rgba(45,38,93,.12);--radius:24px;color-scheme:light}html[data-theme="dark"]{--bg:#0c0d14;--surface:rgba(21,22,32,.78);--solid:#151620;--text:#f5f5fa;--muted:#9698ab;--line:#2a2b39;--soft:#222033;--shadow:0 30px 90px rgba(0,0,0,.35);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 Manrope,system-ui,sans-serif;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.ambient{position:fixed;border-radius:50%;filter:blur(80px);opacity:.18;pointer-events:none;z-index:-2}.a1{width:460px;height:460px;background:#7656ff;top:-200px;right:-100px}.a2{width:360px;height:360px;background:#ff56d8;left:-180px;top:42%}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.nav{height:76px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:11px;font:700 19px Space Grotesk,sans-serif;letter-spacing:-.4px}.brand b{color:var(--accent);font-weight:700}.brand-mark{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#6254ff,#ad47ff 65%,#ff65c2);box-shadow:0 10px 28px rgba(114,87,255,.32);font-weight:800}.brand.small .brand-mark{width:31px;height:31px;border-radius:10px}.desktop-nav{display:flex;gap:8px;margin-left:22px}.desktop-nav a{padding:9px 13px;color:var(--muted);border-radius:11px}.desktop-nav a:hover,.desktop-nav a.active{color:var(--text);background:var(--surface)}.nav-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.icon-btn,.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;transition:.2s}.icon-btn{width:40px;height:40px;background:var(--surface);color:var(--text);border:1px solid var(--line)}.btn{min-height:42px;padding:0 17px;font-weight:700}.btn.primary{background:linear-gradient(135deg,#6654ff,#9250ff 60%,#ba4fff);color:white;box-shadow:0 10px 28px rgba(114,87,255,.25)}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(114,87,255,.34)}.btn.ghost{background:transparent;color:var(--text)}.btn.soft{background:var(--surface);border:1px solid var(--line)}.btn.big{min-height:54px;padding:0 22px;border-radius:16px}.btn.wide{width:100%}.mini-avatar{width:35px;height:35px;border-radius:12px;background:linear-gradient(135deg,var(--soft),color-mix(in srgb,var(--accent) 24%,var(--solid)));color:var(--accent);display:grid;place-items:center;font-weight:800;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line))}.avatar-link{display:flex;align-items:center;gap:9px;font-weight:700}.menu-toggle{display:none}.mobile-menu{display:none}.hero{padding:88px 0 48px}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:64px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:var(--accent)}.eyebrow i{width:7px;height:7px;background:#48d597;border-radius:50%;box-shadow:0 0 0 6px color-mix(in srgb,#48d597 16%,transparent)}h1,h2,h3{font-family:Space Grotesk,Manrope,sans-serif;letter-spacing:-.04em;line-height:1.08;margin:0}.hero h1{font-size:clamp(46px,6vw,76px);margin:18px 0 22px}.hero h1 span{background:linear-gradient(100deg,#7558ff,#b74ce9 55%,#f068b3);-webkit-background-clip:text;color:transparent}.hero-copy>p{font-size:18px;max-width:650px;color:var(--muted);margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust{display:flex;gap:26px;margin-top:30px;color:var(--muted);font-size:12px}.trust b{display:block;color:var(--text);font-size:17px}.nova-console{border:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--solid) 94%,#7656ff 6%),var(--surface));border-radius:28px;box-shadow:var(--shadow);overflow:hidden;transform:rotate(1deg);position:relative}.nova-console:before{content:"";position:absolute;inset:-1px;background:linear-gradient(130deg,rgba(122,91,255,.25),transparent 32%,rgba(239,83,186,.18));pointer-events:none}.console-top{height:56px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 20px;gap:12px;color:var(--muted);font-size:12px}.dots{display:flex;gap:5px;margin-right:6px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.online{margin-left:auto;color:#48b986}.online i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#48d597}.console-body{padding:22px}.pulse-card{padding:22px;border-radius:20px;background:var(--text);color:var(--bg);position:relative;overflow:hidden}.pulse-card span{opacity:.66;font-size:12px}.pulse-card strong{display:block;font:700 25px Space Grotesk;margin:4px 0 18px}.pulse-line{height:42px;position:relative;background:linear-gradient(90deg,transparent 0 13%,rgba(134,99,255,.18) 13% 14%,transparent 14% 35%,rgba(134,99,255,.18) 35% 36%,transparent 36%);border-bottom:1px solid rgba(255,255,255,.1)}.pulse-line:after{content:"";position:absolute;inset:12px 0 0;background:linear-gradient(135deg,transparent 0 20%,#9677ff 21% 23%,transparent 24% 38%,#d968d0 39% 42%,transparent 43%)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.mini-grid>div{padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.mini-grid span,.mini-grid small{display:block;color:var(--muted);font-size:11px}.mini-grid strong{font:700 26px Space Grotesk}.module-strip{display:flex;flex-wrap:wrap;gap:8px}.module-strip span{padding:7px 10px;border-radius:10px;background:var(--soft);font-size:11px;color:var(--muted)}.module-strip .on{color:var(--accent)}.section{padding:72px 0}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:28px}.section-head h2{font-size:clamp(32px,4vw,48px);margin-top:8px}.section-head>p{color:var(--muted);max-width:430px}.feature-bento{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}.feature{padding:28px;border-radius:24px;background:var(--surface);border:1px solid var(--line);min-height:245px;position:relative;overflow:hidden}.feature.large{grid-row:span 2;min-height:506px}.feature.wide{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;gap:25px}.feature.violet{background:linear-gradient(145deg,#6d55f7,#974eea 58%,#b650d9);color:white;border:0}.feature-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--soft);color:var(--accent);font-size:20px}.violet .feature-icon{background:rgba(255,255,255,.15);color:white}.feature h3{font-size:24px;margin:30px 0 10px}.feature p{color:var(--muted)}.violet p{color:rgba(255,255,255,.75)}.fake-modules{position:absolute;left:28px;right:28px;bottom:28px;display:grid;gap:9px}.fake-modules span{display:flex;justify-content:space-between;background:rgba(255,255,255,.11);padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:13px}.fake-modules b{font-size:10px;color:#c8ffdf}.admin-preview{width:190px;aspect-ratio:1.3;background:var(--soft);border-radius:18px;padding:15px;display:grid;grid-template-columns:42px 1fr;gap:8px}.admin-preview i{border-radius:7px;background:color-mix(in srgb,var(--accent) 18%,var(--solid))}.admin-preview i:first-child{grid-row:span 3}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.post-card{padding:25px;border:1px solid var(--line);background:var(--surface);border-radius:22px}.post-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.post-meta time{margin-left:auto}.post-card h3{font-size:22px;margin:23px 0 10px}.post-card p{color:var(--muted)}.post-card>a{color:var(--accent);font-weight:800}.auth-shell,.install-shell{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:40px 18px}.auth-card,.install-card{width:min(480px,100%);padding:38px;border-radius:28px;border:1px solid var(--line);background:var(--surface);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.install-card{width:min(720px,100%)}.auth-card h1,.install-card h1{font-size:36px;margin:12px 0 8px}.muted{color:var(--muted)}.stack{display:grid;gap:17px;margin-top:25px}label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}input{width:100%;height:48px;border:1px solid var(--line);background:var(--solid);color:var(--text);border-radius:13px;padding:0 14px;outline:none}input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.alert{padding:13px 15px;border-radius:13px;background:#ffebef;color:#a92e50;margin:18px 0;font-weight:700;font-size:12px}.auth-foot{text-align:center;color:var(--muted);margin:20px 0 0}.auth-foot a{color:var(--accent);font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}.full{grid-column:1/-1}.form-sep{padding-top:10px;font-weight:800}.reqs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.req{font-size:10px;padding:6px 9px;border-radius:999px;background:var(--soft)}.req.ok{color:#2a9a68}.req.bad{color:#c54760}.success-orb{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;font-size:34px;color:#fff;background:linear-gradient(135deg,#49d599,#6e56ff);margin:30px 0 18px}.center{text-align:center}.huge-404{font:800 78px Space Grotesk;color:var(--accent)}footer{border-top:1px solid var(--line);margin-top:60px}.footer{min-height:150px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);gap:30px}.footer p{max-width:420px}.admin-body{display:grid;grid-template-columns:240px 1fr;background:var(--bg)}.admin-side{height:100vh;position:sticky;top:0;padding:24px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:var(--surface)}.admin-side nav{display:grid;gap:6px;margin-top:36px}.admin-side nav a{padding:11px 13px;border-radius:12px;color:var(--muted);display:flex;gap:12px;align-items:center}.admin-side nav a:hover,.admin-side nav a.active{background:var(--soft);color:var(--accent);font-weight:800}.admin-side-bottom{margin-top:auto;display:flex;align-items:center;gap:15px;color:var(--muted)}.admin-main{padding:28px 34px;min-width:0}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.admin-top h1{font-size:32px;margin-top:4px}.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.admin-cards article{padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.admin-cards span,.admin-cards small{display:block;color:var(--muted);font-size:11px}.admin-cards strong{display:block;font:700 30px Space Grotesk;margin:6px 0}.admin-cards .accent-card{background:linear-gradient(135deg,#6c55f7,#a54ce4);color:#fff;border:0}.accent-card span,.accent-card small{color:rgba(255,255,255,.72)!important}.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.panel{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);margin-bottom:14px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-head h2{font-size:24px;margin-top:5px}.panel-head>a{color:var(--accent);font-weight:800;font-size:12px}.module-list,.user-list{display:grid}.module-list>div,.user-list>div{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.module-list>div:last-child,.user-list>div:last-child{border-bottom:0}.module-list div>div,.user-list div>div{display:grid}.module-list small,.user-list small{color:var(--muted)}.module-dot{width:12px;height:12px;border-radius:50%;background:var(--line);box-shadow:0 0 0 5px color-mix(in srgb,var(--line) 35%,transparent)}.module-dot.enabled{background:#49d599;box-shadow:0 0 0 5px color-mix(in srgb,#49d599 16%,transparent)}.status,.role{margin-left:auto;padding:5px 9px;background:var(--soft);border-radius:999px;color:var(--muted);font-size:10px;font-weight:800}.status.green{color:#299365}.role{color:var(--accent)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.settings-placeholder{text-align:center;padding:45px 20px}.settings-placeholder .feature-icon{margin:auto}.settings-placeholder h3{margin:20px 0 8px}.settings-placeholder p{color:var(--muted);max-width:560px;margin:auto}
@media(max-width:900px){.desktop-nav,.desktop-only{display:none!important}.menu-toggle{display:grid}.mobile-menu{position:absolute;left:18px;right:18px;top:68px;padding:12px;background:var(--solid);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.mobile-menu.open{display:grid}.mobile-menu a{padding:12px}.hero{padding-top:54px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions,.trust{justify-content:center}.nova-console{max-width:620px;width:100%;margin:auto;transform:none}.feature-bento{grid-template-columns:1fr 1fr}.feature.large{grid-row:auto;min-height:360px}.feature.wide{grid-column:span 2}.post-grid{grid-template-columns:1fr 1fr}.admin-body{grid-template-columns:74px 1fr}.admin-side{padding:18px 10px}.admin-side .brand span:last-child,.admin-side nav span,.admin-side-bottom a{display:none}.admin-side .brand{justify-content:center}.admin-side nav a{justify-content:center;font-size:18px}.admin-side-bottom{justify-content:center}.admin-main{padding:22px}.admin-cards{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{width:min(100% - 24px,1180px)}.nav{height:66px}.hero{padding:40px 0 20px}.hero h1{font-size:43px}.hero-copy>p{font-size:15px}.hero-actions .btn{width:100%}.trust{gap:14px;justify-content:space-between;text-align:center}.section{padding:48px 0}.section-head{display:block}.section-head>p{margin-top:14px}.feature-bento{display:grid;grid-template-columns:1fr}.feature,.feature.large{min-height:auto}.feature.large{padding-bottom:210px}.feature.wide{grid-column:auto;display:block}.admin-preview{margin-top:24px;width:100%}.post-grid{grid-template-columns:1fr}.footer{display:block;padding:35px 0}.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1}.auth-card,.install-card{padding:26px 20px;border-radius:22px}.admin-body{display:block}.admin-side{height:64px;position:sticky;z-index:30;top:0;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center}.admin-side nav{display:flex;margin:0 0 0 auto}.admin-side nav a{padding:9px}.admin-side nav a:nth-child(n+4){display:none}.admin-side-bottom{margin:0 0 0 8px}.admin-main{padding:18px 12px}.admin-top{align-items:flex-start}.admin-top .avatar-link span:last-child{display:none}.admin-cards{grid-template-columns:1fr 1fr;gap:10px}.admin-cards article{padding:16px}.admin-cards strong{font-size:24px}.panel{padding:18px}.feature h3{margin-top:20px}.console-body{padding:14px}.auth-shell{min-height:calc(100vh - 66px)}}
/* NovaCMS v0.2 admin components */
.flash-shell{padding-top:18px}.flash{padding:13px 16px;border-radius:14px;border:1px solid var(--line);margin-bottom:16px;font-weight:700;font-size:13px}.flash-success{background:color-mix(in srgb,#49d599 11%,var(--solid));color:#27845e;border-color:color-mix(in srgb,#49d599 30%,var(--line))}.flash-error{background:color-mix(in srgb,#ff5d7c 10%,var(--solid));color:#b33854;border-color:color-mix(in srgb,#ff5d7c 25%,var(--line))}select,textarea{font:inherit;color:var(--text);background:var(--solid);border:1px solid var(--line);border-radius:13px;outline:none}select{height:42px;padding:0 34px 0 12px}textarea{width:100%;padding:12px 14px;resize:vertical;line-height:1.6}textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.btn.compact{min-height:34px;padding:0 11px;font-size:11px;border-radius:10px}.btn.danger{background:color-mix(in srgb,#ff5573 11%,var(--solid));color:#c13b58;border:1px solid color-mix(in srgb,#ff5573 22%,var(--line))}.inline-form,.row-actions{display:flex;align-items:center;gap:7px}.table-sub{display:block;color:var(--muted);font-size:10px;margin-top:3px}.empty-state{text-align:center;padding:60px 20px}.empty-state>span{font-size:40px;color:var(--accent)}.empty-state h3{margin:14px 0 5px}.empty-state p{color:var(--muted)}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.editor-help{align-self:start;position:sticky;top:20px}.editor-help h3{margin:20px 0 8px}.editor-help p{color:var(--muted)}.editor-help>a{display:inline-block;margin-top:14px;color:var(--accent);font-weight:800}.content-editor{min-height:360px}.editor-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.module-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-card{border:1px solid var(--line);background:color-mix(in srgb,var(--solid) 72%,transparent);border-radius:20px;padding:20px;transition:.2s}.module-card.is-on{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}.module-card-top,.module-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.module-symbol{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--accent);font-size:18px}.module-card h3{font-size:20px;margin:18px 0 8px}.module-card p{color:var(--muted);min-height:48px}.module-foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted)}.locked{font-size:10px;font-weight:800}.switch-btn{width:46px;height:26px;padding:3px;border:0;border-radius:999px;background:var(--line);cursor:pointer}.switch-btn i{display:block;width:20px;height:20px;border-radius:50%;background:var(--solid);box-shadow:0 2px 6px rgba(0,0,0,.16);transition:.2s}.switch-btn.on{background:var(--accent)}.switch-btn.on i{transform:translateX(20px)}.module-note{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--soft);color:var(--muted);font-size:12px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px}.settings-info{align-self:start}.settings-info h3{margin:18px 0}.settings-info p{color:var(--muted)}.info-rows{display:grid;gap:0}.info-rows>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.info-rows span{color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--soft);padding:2px 6px;border-radius:6px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--solid);position:relative}.toggle-row span{display:grid;gap:3px;color:var(--text)}.toggle-row small{color:var(--muted);font-weight:500}.toggle-input{position:absolute;opacity:0;pointer-events:none}.toggle-row>i{width:48px;height:28px;border-radius:999px;background:var(--line);position:relative;flex:0 0 auto}.toggle-row>i:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:var(--solid);box-shadow:0 2px 7px rgba(0,0,0,.15);transition:.2s}.toggle-input:checked+i{background:var(--accent)}.toggle-input:checked+i:after{transform:translateX(20px)}
@media(max-width:1050px){.module-cards{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.editor-grid{grid-template-columns:1fr}.editor-help{position:static}}
@media(max-width:650px){.module-cards{grid-template-columns:1fr}.editor-actions{align-items:stretch;flex-direction:column}.editor-actions select,.editor-actions .btn{width:100%}.row-actions{min-width:180px;flex-direction:column;align-items:stretch}.inline-form{min-width:230px}.panel-head .btn.primary{font-size:11px;padding:0 10px}.admin-top h1{font-size:26px}}

/* NovaCMS v0.3 module UI */
.page-hero.compact{padding:64px 0 30px}.page-hero.compact h1{font-size:clamp(38px,7vw,74px);margin:8px 0 10px}.page-hero.compact p{max-width:720px;color:var(--muted);font-size:18px}.content-grid.forum-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:22px;padding-bottom:70px}.side-stack{display:grid;gap:18px;align-content:start}.topic-list{display:grid}.topic-row{display:flex;justify-content:space-between;gap:18px;padding:18px 4px;border-top:1px solid var(--border);text-decoration:none;color:var(--text);transition:.2s}.topic-row:hover{transform:translateX(4px)}.topic-row div{display:grid;gap:6px}.topic-row span,.mini-row small{color:var(--muted)}.topic-count{white-space:nowrap;align-self:center}.mini-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.mini-row div{display:grid;gap:4px}.accent-panel{background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--accent) 10%,var(--panel)))}.thread-shell{padding-bottom:70px}.thread-list{display:grid;gap:16px}.thread-post{display:grid;grid-template-columns:210px 1fr;background:var(--panel);border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.thread-user{padding:22px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:color-mix(in srgb,var(--accent) 5%,var(--panel));border-right:1px solid var(--border)}.thread-user div{display:grid}.thread-user small,.post-no{color:var(--muted)}.thread-copy{padding:28px;line-height:1.75}.reply-box{margin-top:18px}.download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-bottom:70px}.download-card{display:flex;gap:18px;padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow)}.download-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:26px;flex:0 0 auto}.download-body{display:grid;gap:12px}.download-meta{display:flex;gap:8px;flex-wrap:wrap}.download-meta span,.role-pill{font-size:12px;padding:6px 9px;border-radius:999px;background:var(--soft);color:var(--muted)}.download-card p{color:var(--muted);line-height:1.55}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:70px}.person-card{display:flex;gap:18px;padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:26px;color:var(--text);text-decoration:none;box-shadow:var(--shadow);transition:.25s}.person-card:hover{transform:translateY(-4px)}.person-card p{color:var(--muted);margin-bottom:0}.profile-avatar{display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:800;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar.large{width:72px;height:72px;font-size:26px;flex:0 0 auto}.profile-avatar.xlarge{width:126px;height:126px;font-size:46px;border:7px solid var(--bg);margin-top:-62px}.profile-shell{padding-top:44px;padding-bottom:70px}.profile-cover{height:230px;border-radius:34px;background:radial-gradient(circle at 22% 30%,color-mix(in srgb,var(--accent-2) 65%,transparent),transparent 35%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 55%,#111),color-mix(in srgb,var(--accent-2) 55%,#111));position:relative;overflow:hidden}.profile-glow{position:absolute;inset:auto -10% -60% auto;width:430px;height:430px;border-radius:50%;background:#fff2;filter:blur(30px)}.profile-card-main{display:flex;gap:24px;padding:0 34px}.profile-info{padding-top:24px}.profile-info h1{font-size:42px;margin:8px 0}.profile-info p{color:var(--muted);max-width:700px}.profile-edit{margin-top:28px}.admin-split{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:20px}.table-list{display:grid}.table-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0;border-top:1px solid var(--border)}.table-row div{display:grid;gap:5px}.table-row small{color:var(--muted)}.status.amber{background:#ffb84d22;color:#d88b17}.btn.small{padding:8px 12px;font-size:13px}.empty-state{text-align:center;padding:34px;color:var(--muted)}.empty-state h2{color:var(--text)}
@media(max-width:950px){.content-grid.forum-layout,.admin-split{grid-template-columns:1fr}.download-grid,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.thread-post{grid-template-columns:1fr}.thread-user{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:650px){.page-hero.compact{padding-top:38px}.download-grid,.people-grid{grid-template-columns:1fr}.download-card,.person-card{border-radius:22px}.profile-cover{height:165px;border-radius:26px}.profile-card-main{padding:0 16px;display:block}.profile-avatar.xlarge{width:106px;height:106px}.profile-info h1{font-size:34px}.thread-copy{padding:20px}.topic-row{align-items:flex-start}.topic-count{font-size:12px}.module-cards{grid-template-columns:1fr!important}}

.media-card{display:flex;flex-direction:column;gap:10px}.media-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px}.file-orb{min-height:130px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--accent-soft),transparent);font-weight:900;letter-spacing:.2em}.stat-list{display:grid;gap:2px}.stat-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.module-mini{padding:16px;border:1px solid var(--line);border-radius:18px;display:grid;gap:5px}.module-mini small{color:var(--muted)}

.official-hero .hero-copy h1{max-width:760px}.release-console .pulse-card strong{font-size:clamp(2rem,6vw,4.2rem)}
.release-cta .panel{text-align:center;padding:clamp(28px,6vw,72px)}.release-cta .panel p{max-width:720px;margin:12px auto 24px}
.release-list{display:grid;gap:16px}.release-item{display:flex;align-items:center;justify-content:space-between;gap:28px}.release-item.current{outline:2px solid var(--accent);outline-offset:2px}.release-item h2{margin:.35rem 0}.release-item p{max-width:760px}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.release-item{align-items:flex-start;flex-direction:column}.release-item .btn{width:100%}.row-actions{width:100%;justify-content:flex-start}}

.image-avatar{object-fit:cover;padding:0;overflow:hidden}.notify-btn{position:relative;font-size:18px}.notify-btn b{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--accent);color:#fff;font-size:9px;border:2px solid var(--bg)}
.article-shell{max-width:900px}.article-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(26px,6vw,64px);box-shadow:var(--shadow)}.article-card h1{font-size:clamp(38px,6vw,66px);margin:22px 0}.article-lead{font-size:20px;color:var(--muted);border-left:3px solid var(--accent);padding-left:18px}.article-content{font-size:17px;line-height:1.85;margin-top:36px;white-space:normal}.comments-section{max-width:900px}.comment-form textarea,.profile-grid textarea{width:100%}.comment-form{display:grid;gap:14px}.comment-form .btn{justify-self:end}.comment-list{display:grid;gap:12px;margin-top:16px}.comment-card p{margin-bottom:0}.text-link{color:var(--accent);font-weight:700}
.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:18px}.profile-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.profile-avatar{width:128px;height:128px;border-radius:34px;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow)}.profile-avatar.fallback{display:grid;place-items:center;background:linear-gradient(135deg,var(--soft),color-mix(in srgb,var(--accent) 30%,var(--solid)));font:800 44px Space Grotesk;color:var(--accent)}
.notification-list{display:grid;gap:10px}.notification-item{display:flex;align-items:center;gap:14px}.notification-item small{display:block;color:var(--muted);margin-top:4px}.notification-dot{width:10px;height:10px;border-radius:50%;background:var(--line);flex:none}.notification-item.unread{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.notification-item.unread .notification-dot{background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 12%,transparent)}
.comment-admin-list{display:grid}.comment-admin-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.comment-admin-row p{margin:8px 0}.comment-admin-row a{color:var(--accent);font-size:12px;font-weight:700}
@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.profile-card{padding:28px}.article-card{border-radius:22px}.comment-admin-row{flex-direction:column}.comment-admin-row form .btn{width:100%}}

.demo-shell{max-width:1050px}.feed-compose,.album-create,.photo-upload{display:grid;gap:12px;margin-bottom:18px}.feed-compose textarea{width:100%}.feed-compose .btn{justify-self:end}.feed-list{display:grid;gap:14px}.feed-card p{font-size:16px;margin:15px 0}.demo-login{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.chat-window{height:min(62vh,620px);overflow:auto;display:flex;flex-direction:column;gap:9px}.chat-line{max-width:78%;padding:12px 15px;border-radius:18px;background:var(--soft)}.chat-line p{margin:7px 0 0}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.chat-compose input{min-width:0}
.messages-layout{display:grid;grid-template-columns:280px 1fr;gap:15px;min-height:600px}.people-list{padding:12px}.people-list h3{padding:8px 10px 14px}.people-list>a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px}.people-list>a:hover,.people-list>a.active{background:var(--soft)}.dm-thread{display:flex;flex-direction:column;padding:0;overflow:hidden}.dm-head{padding:18px 22px;border-bottom:1px solid var(--line)}.dm-messages{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;overflow:auto;max-height:500px}.dm-bubble{align-self:flex-start;max-width:78%;padding:12px 15px;border-radius:18px 18px 18px 5px;background:var(--soft)}.dm-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,#6654ff,#9850ef);color:white;border-radius:18px 18px 5px 18px}.dm-bubble p{margin:4px 0}.dm-bubble time{font-size:10px;opacity:.65}.dm-compose{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid var(--line)}.dm-compose textarea{resize:none}
.album-create{grid-template-columns:1.1fr 1.6fr auto}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.album-card{padding:0;overflow:hidden}.album-card>img,.album-placeholder{width:100%;aspect-ratio:1.35;object-fit:cover}.album-placeholder{display:grid;place-items:center;font-size:42px;background:linear-gradient(135deg,var(--soft),color-mix(in srgb,var(--accent) 15%,var(--surface)));color:var(--accent)}.album-card>div:last-child{padding:19px}.album-card h3{margin:7px 0}.album-card p{color:var(--muted);min-height:44px}.photo-upload{grid-template-columns:1fr 1fr auto}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.photo-card{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.photo-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-card figcaption{padding:12px;color:var(--muted);min-height:48px}.demo-btn{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
@media(max-width:850px){.messages-layout{grid-template-columns:1fr;min-height:0}.people-list{display:flex;overflow:auto;gap:6px}.people-list h3{display:none}.people-list>a{min-width:max-content}.album-grid,.photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.chat-line{max-width:92%}.chat-compose,.dm-compose,.album-create,.photo-upload{grid-template-columns:1fr}.album-grid,.photo-grid{grid-template-columns:1fr}.demo-login{align-items:flex-start;flex-direction:column}.feed-compose .btn{width:100%}}

/* NovaCMS v0.7.1 — mobile navigation + avatar normalization */
img.mini-avatar,.mini-avatar.image-avatar{
  width:35px!important;height:35px!important;min-width:35px!important;max-width:35px!important;
  min-height:35px!important;max-height:35px!important;aspect-ratio:1/1!important;
  object-fit:cover!important;display:block!important;border-radius:12px!important;
}
img.profile-avatar,.profile-card>img.profile-avatar{
  width:112px!important;height:112px!important;min-width:112px!important;max-width:112px!important;
  min-height:112px!important;max-height:112px!important;aspect-ratio:1/1!important;
  object-fit:cover!important;display:block!important;border-radius:28px!important;
}
.profile-avatar.large{
  width:64px!important;height:64px!important;min-width:64px!important;max-width:64px!important;
  min-height:64px!important;max-height:64px!important;aspect-ratio:1/1!important;border-radius:20px!important;
}
.profile-avatar.xlarge{
  width:112px!important;height:112px!important;min-width:112px!important;max-width:112px!important;
  min-height:112px!important;max-height:112px!important;aspect-ratio:1/1!important;
}
.profile-avatar img,.profile-avatar.large img,.profile-avatar.xlarge img{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:cover!important;display:block!important;
}
.avatar-link{flex:0 0 auto;min-width:0}
.avatar-link img{flex:0 0 35px}
.person-card{min-width:0}.person-card>div:last-child{min-width:0}.person-card p{overflow-wrap:anywhere}

.nav-demo-link{color:var(--accent)!important;font-weight:800}.nav-demo-link span{font-size:10px}
.mobile-menu{display:none}

.demo-settings-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.demo-settings-head h2{margin:7px 0}.demo-settings-head p{max-width:760px;margin-bottom:0}
.demo-status-orb{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;font:800 14px Space Grotesk;background:var(--soft);color:var(--muted);border:1px solid var(--line)}
.demo-status-orb.on{background:linear-gradient(135deg,#6654ff,#b14cff);color:white;box-shadow:0 16px 35px rgba(114,87,255,.25)}
.demo-primary-toggle{padding:18px!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.demo-preview-card{display:flex;flex-direction:column;gap:14px}.demo-preview-card h3{font-size:28px}.demo-mini-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.demo-mini-features span{padding:7px 10px;border-radius:10px;background:var(--soft);font-size:11px;color:var(--muted)}
.alert-note{margin-top:18px;border-left:3px solid var(--accent)}

@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .menu-toggle{display:grid!important}
  .desktop-nav{display:none!important}
  .mobile-menu{
    position:fixed;display:flex;flex-direction:column;z-index:100;
    top:88px;right:14px;width:min(330px,calc(100vw - 28px));max-height:calc(100dvh - 104px);
    padding:12px;border:1px solid var(--line);border-radius:24px;
    background:color-mix(in srgb,var(--solid) 96%,transparent);
    backdrop-filter:blur(24px);box-shadow:0 26px 80px rgba(20,16,55,.28);
    opacity:0;visibility:hidden;transform:translateY(-10px) scale(.98);
    transition:.2s ease;overflow:auto;
  }
  html[data-theme="dark"] .mobile-menu{background:color-mix(in srgb,var(--solid) 96%,transparent)}
  .mobile-menu.open{opacity:1;visibility:visible;transform:none}
  .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding:5px 7px 11px;font-weight:800}
  .mobile-menu-close{width:34px;height:34px;border:0;border-radius:11px;background:var(--soft);color:var(--text);font-size:23px;line-height:1}
  .mobile-menu-links{display:grid;gap:6px}
  .mobile-menu-links>a{display:flex!important;align-items:center;gap:11px;padding:11px 12px!important;border-radius:13px!important;color:var(--text)!important;background:transparent!important;font-size:14px!important}
  .mobile-menu-links>a:hover{background:var(--soft)!important}
  .mobile-menu-links>a i{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--accent);font-style:normal;font-size:13px}
  .mobile-menu-links>a.mobile-demo{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--surface)),color-mix(in srgb,var(--accent2) 10%,var(--surface)))!important;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line))}
  .mobile-menu-foot{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
  .mobile-theme-row{display:flex;align-items:center;justify-content:space-between;padding:5px 3px 0;color:var(--muted);font-size:12px}
  .mini-theme-toggle{width:auto!important;height:34px!important;padding:0 12px!important;font-size:12px!important}
}
@media(max-width:520px){
  .nav{height:72px;gap:12px}.topbar .wrap{width:min(100% - 24px,1180px)}
  .brand{font-size:17px}.brand-mark{width:34px;height:34px}
  .nav-actions{gap:6px}.nav-actions .icon-btn{width:38px;height:38px}
  .mobile-menu{top:80px}
  .demo-settings-head{align-items:flex-start}.demo-status-orb{width:58px;height:58px;border-radius:18px;flex:0 0 auto}
  img.profile-avatar,.profile-card>img.profile-avatar{width:96px!important;height:96px!important;min-width:96px!important;max-width:96px!important;min-height:96px!important;max-height:96px!important}
  .profile-avatar.xlarge{width:96px!important;height:96px!important;min-width:96px!important;max-width:96px!important;min-height:96px!important;max-height:96px!important}
}

/* v0.7.1 mobile header/menu hotfix */
@media(max-width:900px){
  .topbar{overflow:visible}
  .topbar .wrap.nav{
    width:min(100% - 18px,1180px)!important;
    max-width:100%!important;
    padding:0!important;
    gap:8px!important;
    overflow:visible!important;
  }
  .nav>.brand{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  .nav>.brand>span:last-child{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .nav-actions{
    margin-left:auto!important;
    flex:0 0 auto!important;
    gap:5px!important;
    min-width:0!important;
  }
  .nav-actions .icon-btn,.nav-actions .menu-toggle{
    flex:0 0 38px!important;
    width:38px!important;height:38px!important;
    min-width:38px!important;max-width:38px!important;
    padding:0!important;
  }
  .avatar-link{flex:0 0 35px!important;width:35px!important;max-width:35px!important;overflow:hidden!important}
  .menu-toggle{margin:0!important;position:static!important;right:auto!important;transform:none!important}
  .mobile-menu{
    left:9px!important;right:9px!important;top:84px!important;
    width:auto!important;max-width:none!important;
    max-height:calc(100dvh - 96px)!important;
    margin:0!important;
    padding:12px!important;
    border-radius:22px!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    transform:translateY(-8px) scale(.99)!important;
  }
  .mobile-menu.open{transform:none!important}
  .mobile-menu-links>a{min-width:0!important;width:100%!important}
  .mobile-menu-links>a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-menu-links>a.active{
    color:var(--accent)!important;
    background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important;
    border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line))!important;
  }
  .mobile-menu-links>a.active i{
    background:color-mix(in srgb,var(--accent) 18%,var(--soft))!important;
    color:var(--accent)!important;
  }
  .mobile-menu-head{position:sticky;top:-12px;z-index:2;background:var(--solid);padding:12px 7px 11px;margin:-12px -4px 4px;border-radius:18px 18px 0 0}
}
@media(max-width:520px){
  .topbar .wrap.nav{width:calc(100% - 14px)!important}
  .nav{height:72px!important}
  .nav>.brand{font-size:15px!important;letter-spacing:-.5px!important}
  .nav>.brand .brand-mark{width:32px!important;height:32px!important;min-width:32px!important;border-radius:10px!important}
  .nav-actions .icon-btn,.nav-actions .menu-toggle{
    flex-basis:36px!important;width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;
    border-radius:12px!important;
  }
  .avatar-link{flex-basis:34px!important;width:34px!important;max-width:34px!important}
  img.mini-avatar,.mini-avatar.image-avatar,.avatar-link .mini-avatar{
    width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;
    min-height:34px!important;max-height:34px!important;
  }
  .mobile-menu{left:7px!important;right:7px!important;top:78px!important;width:auto!important}
}
@media(max-width:390px){
  .nav>.brand{font-size:13.5px!important;gap:6px!important}
  .nav-actions{gap:4px!important}
  .theme-toggle{display:none!important}
  .mobile-theme-row .theme-toggle{display:inline-flex!important}
}

/* FINAL mobile containment fix — v0713 */
@media (max-width:600px){
  .topbar{width:100%!important;max-width:100vw!important;overflow:visible!important}
  .topbar .nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;max-width:100%!important;
    height:68px!important;
    padding:0 10px!important;margin:0!important;
    gap:8px!important;
  }
  .topbar .brand{
    min-width:0!important;width:auto!important;max-width:100%!important;
    overflow:hidden!important;
    font-size:15px!important;
  }
  .topbar .brand-mark{
    width:32px!important;height:32px!important;min-width:32px!important;
    border-radius:10px!important;
  }
  .topbar .brand>span:last-child{
    display:block!important;min-width:0!important;max-width:100%!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  .topbar .nav-actions{
    display:flex!important;margin:0!important;padding:0!important;gap:6px!important;
    min-width:0!important;max-width:82px!important;
  }
  /* On a phone all secondary controls live inside the drawer. */
  .topbar .nav-actions>.theme-toggle,
  .topbar .nav-actions>.notify-btn,
  .topbar .nav-actions>form,
  .topbar .nav-actions>.desktop-only{display:none!important}
  .topbar .avatar-link{
    display:flex!important;width:36px!important;min-width:36px!important;max-width:36px!important;
    height:36px!important;overflow:hidden!important;flex:0 0 36px!important;
  }
  .topbar .avatar-link .desktop-only{display:none!important}
  .topbar .avatar-link .mini-avatar,
  .topbar .avatar-link img.mini-avatar{
    width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;
    min-height:36px!important;max-height:36px!important;border-radius:12px!important;
  }
  .topbar .menu-toggle{
    display:grid!important;position:static!important;
    width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
    flex:0 0 38px!important;margin:0!important;padding:0!important;transform:none!important;
  }
  .mobile-menu{
    position:fixed!important;
    left:8px!important;right:8px!important;top:76px!important;
    width:auto!important;max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 88px)!important;
    margin:0!important;padding:12px!important;
    overflow-x:hidden!important;overflow-y:auto!important;
    border-radius:20px!important;
  }
  .mobile-menu *{max-width:100%!important}
  .mobile-menu-links>a{width:100%!important;min-width:0!important}
  .mobile-menu-foot .theme-toggle{display:inline-flex!important}
}

/* NovaCMS Demo v0.7.2 — live homepage */
.demo-dashboard{padding:42px 0 20px}
.demo-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 0 24px}
.demo-welcome h1{font-size:clamp(40px,6vw,66px);margin:8px 0}.demo-welcome p{color:var(--muted);font-size:17px;max-width:680px}.welcome-actions{display:flex;gap:9px}
.home-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:18px;align-items:start}.home-main,.home-side{display:grid;gap:18px}.home-block{min-width:0}.home-block-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.home-block-head h2{font-size:28px;margin-top:4px}.home-block-head h3{font-size:21px;margin-top:4px}.home-block-head>a,.text-link{color:var(--accent);font-weight:800;font-size:12px}
.home-feed{display:grid;gap:10px}.home-feed-card{padding:18px}.home-feed-card p{margin:12px 0 0;font-size:16px}.home-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-news-card{padding:19px;display:block}.home-news-card small{color:var(--muted)}.home-news-card h3{font-size:20px;margin:12px 0 8px}.home-news-card p{color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-news-card>b{color:var(--accent);font-size:12px}
.home-photo-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.home-photo-strip>a{position:relative;border-radius:17px;overflow:hidden;aspect-ratio:1;background:var(--soft)}.home-photo-strip img{width:100%;height:100%;object-fit:cover;display:block}.home-photo-strip span{position:absolute;left:8px;bottom:8px;padding:4px 7px;border-radius:8px;background:rgba(10,10,18,.72);color:white;font-size:10px}
.side-card{padding:20px}.side-topic{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid var(--line)}.side-topic small,.side-download small{color:var(--muted);font-size:10px}.side-download{display:flex;align-items:center;gap:10px;padding:9px 0}.download-icon.small{width:34px;height:34px;min-width:34px;border-radius:10px}.powered-card{display:flex;align-items:center;gap:12px}.powered-card small{display:block;color:var(--muted);margin-top:3px}

/* Downloads v0.7.2 */
.downloads-shell{padding-bottom:70px}.download-categories{display:flex;gap:8px;overflow-x:auto;padding:0 0 18px;scrollbar-width:none}.download-categories::-webkit-scrollbar{display:none}.download-categories>a{display:flex;align-items:center;gap:10px;white-space:nowrap;padding:10px 13px;border:1px solid var(--line);background:var(--surface);border-radius:13px;color:var(--muted)}.download-categories>a.active{background:var(--soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent)}.download-categories b{font-size:10px}
.download-cover{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.download-details{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.download-details span{font-size:10px;padding:5px 7px;border-radius:8px;background:var(--soft);color:var(--muted)}.category-admin-list{display:grid;margin-top:18px}.category-admin-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.category-admin-list small{display:block;color:var(--muted)}.compact-stack{margin-top:14px}.form-sep{text-align:center;color:var(--muted);font-size:11px;padding:0}

@media(max-width:860px){.home-layout{grid-template-columns:1fr}.home-side{grid-template-columns:repeat(2,minmax(0,1fr))}.powered-card{grid-column:1/-1}}
@media(max-width:620px){.demo-dashboard{padding-top:22px}.demo-welcome{align-items:flex-start;flex-direction:column;padding-top:12px}.welcome-actions{width:100%}.welcome-actions .btn{flex:1}.home-news-grid{grid-template-columns:1fr}.home-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.home-side{grid-template-columns:1fr}.powered-card{grid-column:auto}.home-block-head h2{font-size:24px}.download-grid{grid-template-columns:1fr!important}}

/* NovaCMS Demo v0.7.3 — download sections + real communities */
.download-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.download-section-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px}
.download-section-card>div{min-width:0}.download-section-card h3{font-size:20px;margin:0 0 4px}.download-section-card p{margin:0 0 5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.download-section-card>b{color:var(--accent);font-size:20px}
.download-section-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--soft);font-size:24px}

.community-directory{padding-bottom:70px}.community-create{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start;margin-bottom:18px}
.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.community-card{display:flex;gap:14px;align-items:center;padding:18px}.community-card>div:last-child{min-width:0}.community-card h3{font-size:20px;margin:3px 0 5px}.community-card p{color:var(--muted);margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.community-card small{color:var(--muted)}
.community-avatar{width:58px;height:58px;min-width:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#6755ff,#d24ae8);color:white;font:800 23px Space Grotesk}.community-avatar.tiny{width:36px;height:36px;min-width:36px;border-radius:11px;font-size:14px}.community-avatar.huge{width:108px;height:108px;min-width:108px;border-radius:30px;font-size:42px;box-shadow:0 20px 55px rgba(106,81,255,.25)}
.community-cover{padding:48px 0 26px;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 38%),linear-gradient(180deg,var(--soft),transparent)}
.community-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}.community-info h1{font-size:clamp(36px,6vw,62px);margin:6px 0}.community-info p{max-width:700px;color:var(--muted)}.community-info small{color:var(--muted)}
.community-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;padding-bottom:70px}.community-wall,.community-side{display:grid;gap:14px;align-content:start}.community-compose textarea{width:100%;resize:vertical}.community-media-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.file-label{cursor:pointer}
.community-post-list{display:grid;gap:12px}.community-post{padding:18px}.community-post-text{font-size:16px;line-height:1.6;margin:14px 0}.community-post-image,.community-video{width:100%;max-height:620px;object-fit:contain;border-radius:18px;background:#090910;display:block;margin-top:12px}.community-audio{width:100%;margin-top:12px}
.reaction-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:13px 0;border-bottom:1px solid var(--line)}.reaction-row>span{font-size:10px;color:var(--muted);margin-left:4px}.reaction-btn{border:1px solid var(--line);background:var(--soft);height:34px;min-width:40px;padding:0 9px;border-radius:11px;cursor:pointer}.reaction-btn.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 14%,var(--surface))}
.community-comments{margin-top:6px}.community-comment{padding:10px 0;border-bottom:1px solid var(--line)}.community-comment p{margin:5px 0 0;padding-left:44px}.community-comment-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:12px}.community-comment-form input{min-width:0}
.community-member-list{display:grid;margin-top:10px}.community-member-list>a{display:flex;align-items:center;gap:9px;padding:8px 0}.community-member-list small{display:block;color:var(--muted);font-size:9px}
.side-community{display:flex;align-items:center;gap:9px;padding:8px 0}.side-community small{display:block;color:var(--muted);font-size:10px}

@media(max-width:800px){.community-layout{grid-template-columns:1fr}.community-side{grid-template-columns:1fr 1fr}.community-create{grid-template-columns:1fr}.community-hero{grid-template-columns:auto 1fr}.community-subscribe{grid-column:1/-1}.community-subscribe .btn{width:100%}}
@media(max-width:620px){.download-section-grid,.community-grid{grid-template-columns:1fr}.community-cover{padding-top:26px}.community-avatar.huge{width:82px;height:82px;min-width:82px;border-radius:24px;font-size:32px}.community-hero{gap:14px}.community-info h1{font-size:34px}.community-side{grid-template-columns:1fr}.community-media-row{align-items:stretch;flex-direction:column}.community-media-row .btn{width:100%}.community-comment-form{grid-template-columns:1fr}.community-comment-form .btn{width:100%}}

/* NovaCMS v0.7.4 — downloads manager */
.library-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.library-admin-hero h2{margin:6px 0}.library-admin-stats{display:flex;gap:8px;flex-wrap:wrap}.library-admin-stats span{padding:10px 13px;border:1px solid var(--line);border-radius:13px;background:var(--soft);font-size:11px;color:var(--muted)}.library-admin-stats b{color:var(--text);font-size:15px;margin-right:3px}
.library-admin-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:start}.library-upload-panel,.library-folder-panel{min-width:0}.library-or{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.library-or:before,.library-or:after{content:"";height:1px;background:var(--line);flex:1}.admin-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.library-folder-tree{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.folder-tree-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.folder-tree-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--soft);font-size:19px}.folder-tree-info{min-width:0}.folder-tree-info b,.folder-tree-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-tree-info small{color:var(--muted);font-size:10px;margin-top:3px}.library-files-panel{margin-top:16px}
.download-subfolders{margin-bottom:18px}.download-subfolders .section-head{margin-bottom:10px}
@media(max-width:900px){.library-admin-actions{grid-template-columns:1fr}.library-admin-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.admin-inline-fields{grid-template-columns:1fr}.library-admin-stats{width:100%}.library-admin-stats span{flex:1;text-align:center}}

/* NovaCMS v0.7.5 — full mobile Nova Control */
.admin-mobile-bar,.admin-nav-overlay,.admin-menu-close{display:none}
.admin-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.admin-side nav a i{width:28px;text-align:center;font-style:normal;flex:0 0 28px}
.download-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.library-admin-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 16px;scrollbar-width:none}.library-admin-tabs::-webkit-scrollbar{display:none}.library-admin-tabs a{white-space:nowrap;padding:10px 13px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:11px;font-weight:800}.library-admin-tabs a.active{color:var(--accent);background:var(--soft);border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
.admin-control-link{background:linear-gradient(135deg,#6654ff,#b24cf0)!important;color:#fff!important}

@media(max-width:600px){
  .admin-body{display:block!important;padding-top:64px!important}
  .admin-mobile-bar{
    position:fixed;z-index:90;left:0;right:0;top:0;height:64px;
    display:grid!important;grid-template-columns:42px minmax(0,1fr) 37px 37px;align-items:center;gap:8px;
    padding:0 10px;background:color-mix(in srgb,var(--solid) 96%,transparent);
    backdrop-filter:blur(20px);border-bottom:1px solid var(--line)
  }
  .admin-mobile-bar .brand{min-width:0;justify-self:start;font-size:15px;overflow:hidden}
  .admin-mobile-bar .brand>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .admin-mobile-bar .brand-mark{width:32px;height:32px;min-width:32px;border-radius:10px}
  .admin-menu-toggle,.admin-menu-close{
    display:grid!important;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);
    border-radius:12px;background:var(--soft);color:var(--text);font-size:20px
  }
  .admin-mobile-avatar{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;border-radius:11px!important;text-decoration:none}
  .admin-side{
    position:fixed!important;z-index:110!important;left:0!important;top:0!important;bottom:0!important;
    width:min(330px,88vw)!important;height:100dvh!important;padding:14px!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    border-right:1px solid var(--line)!important;border-bottom:0!important;
    background:var(--solid)!important;transform:translateX(-105%);transition:.22s ease;
    overflow-y:auto!important
  }
  .admin-side.open{transform:none!important}
  .admin-side .brand{justify-content:flex-start!important}
  .admin-side .brand span:last-child{display:inline!important}
  .admin-side nav{display:grid!important;margin:18px 0!important;gap:5px!important}
  .admin-side nav a,.admin-side nav a:nth-child(n+4){
    display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
    padding:11px 12px!important;border-radius:12px!important;font-size:14px!important
  }
  .admin-side nav a.active{background:var(--soft)!important;color:var(--accent)!important}
  .admin-side nav span,.admin-side-bottom a{display:inline!important}
  .admin-side-bottom{display:flex!important;justify-content:flex-start!important;margin-top:auto!important;gap:10px!important}
  .admin-menu-close{margin-left:auto}
  .admin-nav-overlay{
    display:block!important;position:fixed;z-index:100;inset:0;background:rgba(5,5,12,.52);
    opacity:0;visibility:hidden;transition:.2s
  }
  .admin-nav-overlay.open{opacity:1;visibility:visible}
  body.admin-menu-open{overflow:hidden}
  .admin-main{padding:18px 12px 36px!important}
  .admin-top{display:flex!important;align-items:flex-start!important;margin-bottom:16px}
  .admin-top .avatar-link{display:none!important}
  .admin-top h1{font-size:28px!important}
  .library-admin-hero{margin-top:0!important}
  .library-admin-tabs{position:sticky;top:64px;z-index:20;background:var(--bg);padding:8px 0}
  .download-hero-actions .btn{width:100%}
}

/* NovaCMS v0.7.6 — clean downloads root + compact files */
.download-folder-files{margin-top:18px}
.compact-download-list{display:grid;gap:12px}
.compact-download-card{
  display:grid;grid-template-columns:112px minmax(0,1fr) auto;
  align-items:center;gap:16px;padding:14px
}
.compact-download-thumb{
  width:112px;height:112px;border-radius:16px;overflow:hidden;
  display:grid;place-items:center;background:var(--soft);color:var(--accent);font-size:28px
}
.compact-download-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.compact-download-info{min-width:0}
.compact-download-info h3{font-size:20px;margin:7px 0 6px}
.compact-download-info p{
  color:var(--muted);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.compact-download-button{min-width:112px}
@media(max-width:700px){
  .compact-download-card{
    grid-template-columns:84px minmax(0,1fr);
    gap:12px;padding:12px
  }
  .compact-download-thumb{width:84px;height:84px;border-radius:14px}
  .compact-download-info h3{font-size:18px;margin:5px 0}
  .compact-download-info p{-webkit-line-clamp:2;font-size:13px}
  .compact-download-button{
    grid-column:1/-1;width:100%;min-width:0;margin-top:2px
  }
}
@media(max-width:420px){
  .compact-download-card{grid-template-columns:74px minmax(0,1fr)}
  .compact-download-thumb{width:74px;height:74px}
  .download-details{gap:5px;margin-top:8px}
}

/* NovaCMS v0.7.7 — community management/media */
.community-cover{position:relative;overflow:hidden}
.community-cover.has-cover:before{
  content:"";position:absolute;inset:0;background-image:var(--community-cover);
  background-size:cover;background-position:center;filter:saturate(.9)
}
.community-cover-shade{display:none}
.community-cover.has-cover .community-cover-shade{
  display:block;position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,9,22,.88),rgba(10,9,22,.54) 58%,rgba(10,9,22,.72))
}
.community-cover .community-hero{position:relative;z-index:2}
.community-avatar.huge{overflow:hidden}
.community-avatar.huge img{width:100%;height:100%;object-fit:cover;display:block}
.community-hero-actions{display:grid;gap:8px;justify-items:stretch;min-width:150px}
.community-hero-actions .btn{width:100%}
.community-file-name{
  min-width:0;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--muted);font-size:11px
}
.community-edit-shell{max-width:860px}
.community-edit-form{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}
.community-edit-preview{position:relative;min-height:290px}
.community-edit-cover{
  height:220px;border-radius:22px;overflow:hidden;background:var(--soft);display:grid;place-items:center;color:var(--muted)
}
.community-edit-cover img{width:100%;height:100%;object-fit:cover;display:block}
.community-edit-avatar{
  position:absolute;left:22px;top:164px;width:112px;height:112px;border-radius:30px;
  overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#6755ff,#d24ae8);
  color:#fff;font:800 42px Space Grotesk;border:5px solid var(--surface)
}
.community-edit-avatar img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px){
  .community-edit-form{grid-template-columns:1fr}
  .community-edit-preview{min-height:280px}
  .community-hero-actions{grid-column:1/-1;display:flex;min-width:0}
  .community-hero-actions>*{flex:1}.community-hero-actions form .btn{width:100%}
}
@media(max-width:620px){
  .community-media-row{display:grid!important;grid-template-columns:1fr!important}
  .community-file-name{max-width:100%;padding:2px 3px}
}

/* NovaCMS v0.7.8 — moderation controls */
.community-delete-post{display:flex;justify-content:flex-end;margin:10px 0 0}
.thread-delete-form{margin-top:14px;display:flex;justify-content:flex-end}
.chat-admin-actions{display:flex;align-items:center;gap:8px}
.chat-line{position:relative}.chat-delete-form{margin-top:6px}.chat-delete-btn,.dm-delete-btn{
  border:0;background:transparent;color:var(--muted);font-size:10px;padding:2px 0;cursor:pointer
}.chat-delete-btn:hover,.dm-delete-btn:hover{color:#e35672}
.dm-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dm-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.compact-download-delete{display:block}.compact-download-delete .btn{width:100%}
@media(min-width:701px){
  .compact-download-card:has(.compact-download-delete){grid-template-columns:112px minmax(0,1fr) 112px}
}
@media(max-width:700px){
  .compact-download-delete{grid-column:1/-1}
  .chat-admin-actions{width:100%}.chat-admin-actions form,.chat-admin-actions .btn{width:100%}
  .dm-head{align-items:flex-start;flex-direction:column}
}

/* NovaCMS v0.7.9 — community members */
.community-members-top{display:flex!important;align-items:center;justify-content:center;gap:7px}
.community-members-top b{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:8px;background:var(--soft);font-size:11px}
.community-side-summary p{margin:9px 0 14px}
.community-members-page{max-width:980px}
.community-members-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.community-member-card{display:flex;align-items:center;gap:14px;padding:16px;min-width:0}
.community-member-avatar{width:64px;height:64px;min-width:64px;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#6755ff,#d24ae8);color:white;font:800 24px Space Grotesk}
.community-member-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.community-member-copy{min-width:0}
.community-member-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.community-member-title h3{margin:0;font-size:19px}
.community-member-copy p{color:var(--muted);margin:6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.community-member-copy small{color:var(--muted);font-size:10px}
.community-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;flex-wrap:wrap}
.community-page-numbers{display:flex;align-items:center;gap:6px}
.community-page-numbers a,.community-page-numbers span{min-width:38px;height:38px;padding:0 10px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);font-size:12px}
.community-page-numbers a.active{background:linear-gradient(135deg,#6654ff,#b24cf0);border-color:transparent;color:white;font-weight:800}
@media(max-width:700px){
  .community-members-grid{grid-template-columns:1fr}
  .community-member-avatar{width:56px;height:56px;min-width:56px;border-radius:16px}
  .community-pagination{display:grid;grid-template-columns:1fr;justify-items:stretch}
  .community-pagination>.btn{width:100%}
  .community-page-numbers{justify-content:center;overflow-x:auto}
}

/* NovaCMS v0.7.10 — compact community hero actions */
.community-hero-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.community-hero-actions>.btn,
.community-hero-actions>form{
  flex:0 1 auto!important;
  width:auto!important;
  min-width:0!important;
}
.community-hero-actions>form .btn{
  width:auto!important;
}
.community-hero-actions .btn{
  min-height:44px!important;
  padding:0 15px!important;
  border-radius:14px!important;
  white-space:nowrap!important;
  font-size:13px!important;
}
.community-members-top{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
}
.community-members-top b{
  display:inline!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--accent)!important;
  font-size:13px!important;
  font-weight:800!important;
}
@media(max-width:620px){
  .community-hero-actions{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    gap:8px!important;
  }
  .community-hero-actions>.btn,
  .community-hero-actions>form,
  .community-hero-actions>form .btn{
    width:100%!important;
    min-width:0!important;
  }
  .community-hero-actions .btn{
    min-height:42px!important;
    padding:0 10px!important;
    font-size:12px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .community-members-top{
    gap:5px!important;
  }
  .community-members-top b{
    font-size:12px!important;
  }
}

/* NovaCMS v0.7.11 — community avatars everywhere */
.community-avatar{overflow:hidden}
.community-avatar img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;display:block!important;
}
.community-avatar.tiny img{border-radius:inherit}
.side-community .community-avatar.tiny{overflow:hidden}

/* =========================================================
   NovaCMS v0.9.0 — Nova Social UI
   Compact, product-like interface inspired by classic
   mobile social platforms. No landing-page visual language.
   ========================================================= */
:root{
  --app-accent:#4b5fc7;
  --app-accent-soft:#eef1ff;
  --app-bg:#f3f4f6;
  --app-surface:#ffffff;
  --app-surface-2:#f8f9fb;
  --app-text:#202124;
  --app-muted:#74777e;
  --app-line:#e1e3e7;
  --app-danger:#dc4655;
  --app-radius:10px;
  --app-shadow:0 2px 7px rgba(30,35,50,.08);
}
html[data-theme="dark"]{
  --app-bg:#111318;
  --app-surface:#181b22;
  --app-surface-2:#20242d;
  --app-text:#f1f3f5;
  --app-muted:#979ca6;
  --app-line:#2b3039;
  --app-accent-soft:#222947;
  --app-shadow:none;
}
body.nova-app{
  background:var(--app-bg)!important;
  color:var(--app-text)!important;
  padding:0 0 72px!important;
  min-height:100vh;
}
body.nova-app .ambient{display:none!important}
body.nova-app .wrap{width:min(100%,1040px)!important;padding-left:14px!important;padding-right:14px!important}
body.nova-app a{color:inherit}
body.nova-app .panel{
  background:var(--app-surface)!important;
  border:1px solid var(--app-line)!important;
  border-radius:var(--app-radius)!important;
  box-shadow:none!important;
}
body.nova-app .eyebrow{
  color:var(--app-accent)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  font-weight:800!important;
}
body.nova-app .muted{color:var(--app-muted)!important}
body.nova-app .btn{
  border-radius:8px!important;
  min-height:42px!important;
  padding:0 15px!important;
  font-weight:700!important;
  box-shadow:none!important;
  transform:none!important;
}
body.nova-app .btn.primary{
  background:var(--app-accent)!important;
  color:#fff!important;
}
body.nova-app .btn.soft,body.nova-app .btn.ghost{
  background:var(--app-surface-2)!important;
  color:var(--app-text)!important;
  border:1px solid var(--app-line)!important;
}
body.nova-app input,body.nova-app textarea,body.nova-app select{
  border-radius:8px!important;
  background:var(--app-surface-2)!important;
  border:1px solid var(--app-line)!important;
  color:var(--app-text)!important;
}

/* Header */
.app-header{
  position:sticky;top:0;z-index:70;
  background:var(--app-accent);
  color:#fff;
  box-shadow:0 2px 5px rgba(0,0,0,.14);
}
.app-header-inner{
  width:min(100%,1040px);height:58px;margin:auto;padding:0 10px;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px
}
.app-icon-button{
  width:42px;height:42px;border:0;background:transparent;color:#fff;
  display:grid;place-items:center;font-size:24px;border-radius:50%
}
.app-icon-button:hover{background:rgba(255,255,255,.12)}
.app-title{display:flex;align-items:center;gap:9px;min-width:0;color:#fff!important;font-size:19px;font-weight:600}
.app-title>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-logo{
  width:34px;height:34px;min-width:34px;border-radius:8px;display:grid;place-items:center;
  background:rgba(255,255,255,.16);font-weight:800
}
.app-header-actions{display:flex;align-items:center;gap:2px}
.app-user-avatar,.drawer-avatar{
  overflow:hidden;display:grid;place-items:center;background:#fff;color:var(--app-accent);font-weight:800
}
.app-user-avatar{width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.75)}
.app-user-avatar img,.drawer-avatar img{width:100%;height:100%;object-fit:cover}
.app-login-link{color:#fff!important;font-weight:700;padding:9px}
.app-header .theme-toggle{font-size:17px}

/* Drawer */
.mobile-menu{
  position:fixed!important;left:0!important;top:0!important;bottom:0!important;z-index:100!important;
  width:min(340px,88vw)!important;height:100dvh!important;
  background:var(--app-surface)!important;border:0!important;border-radius:0!important;
  transform:translateX(-105%);transition:.22s ease;overflow-y:auto!important;padding:0!important;
  box-shadow:5px 0 24px rgba(0,0,0,.22)!important
}
.mobile-menu.open{transform:none!important}
.drawer-profile{min-height:92px;padding:18px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--app-line)}
.drawer-user{display:flex;align-items:center;gap:11px;min-width:0;flex:1}
.drawer-avatar{width:54px;height:54px;min-width:54px;border-radius:50%;background:var(--app-accent-soft);color:var(--app-accent)}
.drawer-user span:last-child{min-width:0}.drawer-user b,.drawer-user small{display:block}.drawer-user small{color:var(--app-muted);margin-top:3px}
.drawer-guest{display:grid;gap:2px;flex:1}.drawer-guest small{color:var(--app-muted)}
.mobile-menu-close{width:38px;height:38px;border:0;background:var(--app-surface-2);border-radius:50%;color:var(--app-text);font-size:22px}
.drawer-nav{display:grid;padding:8px 0}
.drawer-nav a{
  min-height:50px;padding:0 16px;display:grid;grid-template-columns:42px 1fr;align-items:center;
  border-bottom:1px solid var(--app-line);font-size:16px
}
.drawer-nav a i{font-style:normal;font-size:21px;color:var(--app-muted)}
.drawer-nav a.active{color:var(--app-accent);background:var(--app-accent-soft)}
.drawer-nav a.active i{color:var(--app-accent)}
.drawer-footer{display:grid;gap:8px;padding:14px}.drawer-admin{padding:12px 14px;background:var(--app-accent-soft);color:var(--app-accent)!important;border-radius:8px;font-weight:700}

/* Bottom navigation */
.bottom-nav{
  position:fixed;z-index:65;bottom:0;left:0;right:0;height:62px;
  padding-bottom:env(safe-area-inset-bottom);
  background:var(--app-surface);border-top:1px solid var(--app-line);
  display:flex;justify-content:center
}
.bottom-nav>a{
  width:min(20%,100px);min-width:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;color:var(--app-muted)!important;position:relative
}
.bottom-nav i{font-style:normal;font-size:22px;line-height:22px}
.bottom-nav span{font-size:9px}
.bottom-nav>a.active{color:var(--app-accent)!important}
.bottom-nav b{
  position:absolute;top:5px;left:calc(50% + 6px);height:17px;min-width:17px;padding:0 4px;border-radius:9px;
  display:grid;place-items:center;background:#ef5350;color:#fff;font-size:9px
}

/* Content and footer */
.app-content{min-height:calc(100vh - 120px)}
.app-footer{padding:22px 0 28px;color:var(--app-muted);font-size:11px}
.app-footer .wrap{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--app-line);padding-top:18px!important}
.flash-shell{padding-top:10px}
.flash{border-radius:8px!important}

/* Kill landing-page hero scale */
body.nova-app .page-hero{
  padding:22px 0 16px!important;background:var(--app-surface)!important;border-bottom:1px solid var(--app-line)!important
}
body.nova-app .page-hero h1{
  font-size:28px!important;line-height:1.15!important;margin:5px 0 7px!important;letter-spacing:-.02em!important
}
body.nova-app .page-hero p{font-size:14px!important;line-height:1.5!important;color:var(--app-muted)!important;max-width:720px!important}
body.nova-app .section{padding-top:14px!important;padding-bottom:14px!important}
body.nova-app .section-head{margin-bottom:9px!important}
body.nova-app .section-head h2{font-size:20px!important;margin:2px 0!important}

/* Demo home becomes a real portal dashboard */
body.nova-app .demo-dashboard{padding-top:12px!important;padding-bottom:12px!important}
body.nova-app .demo-welcome{
  background:var(--app-surface)!important;border:1px solid var(--app-line)!important;border-radius:var(--app-radius)!important;
  padding:16px!important;margin-bottom:12px!important;display:flex!important;align-items:center!important;gap:14px!important
}
body.nova-app .demo-welcome h1{font-size:24px!important;margin:4px 0!important}
body.nova-app .demo-welcome p{font-size:13px!important;color:var(--app-muted)!important;margin:0!important}
body.nova-app .home-layout{gap:12px!important}
body.nova-app .home-main,body.nova-app .home-side{gap:12px!important}
body.nova-app .home-block{background:var(--app-surface);border:1px solid var(--app-line);border-radius:var(--app-radius);padding:13px}
body.nova-app .home-block-head{margin-bottom:8px!important}
body.nova-app .home-block-head h2,body.nova-app .home-block-head h3{font-size:19px!important;margin:2px 0!important}
body.nova-app .home-feed{gap:0!important}
body.nova-app .home-feed-card{
  border:0!important;border-radius:0!important;border-bottom:1px solid var(--app-line)!important;
  padding:12px 4px!important
}
body.nova-app .home-feed-card:last-child{border-bottom:0!important}
body.nova-app .home-news-grid{grid-template-columns:1fr!important;gap:0!important}
body.nova-app .home-news-card{
  border:0!important;border-radius:0!important;border-bottom:1px solid var(--app-line)!important;padding:12px 4px!important
}
body.nova-app .home-news-card h3{font-size:17px!important;margin:4px 0!important}
body.nova-app .home-news-card p{font-size:13px!important}
body.nova-app .home-photo-strip{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:4px!important}
body.nova-app .home-photo-strip a{aspect-ratio:1!important;border-radius:5px!important;overflow:hidden!important}
body.nova-app .side-card{padding:13px!important}
body.nova-app .side-topic,body.nova-app .side-download,body.nova-app .side-community{
  padding:10px 0!important;border-bottom:1px solid var(--app-line)!important
}
body.nova-app .side-card .text-link{display:block;padding-top:10px;color:var(--app-accent)!important;font-weight:700}
body.nova-app .powered-card{display:none!important}

/* Social/community directory: list UI */
body.nova-app .community-directory{padding-top:12px!important}
body.nova-app .community-create{grid-template-columns:1fr!important;padding:15px!important}
body.nova-app .community-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;background:var(--app-surface);border:1px solid var(--app-line);border-radius:var(--app-radius);overflow:hidden}
body.nova-app .community-card{
  border:0!important;border-radius:0!important;border-bottom:1px solid var(--app-line)!important;
  min-height:78px;padding:11px 14px!important;display:flex!important;gap:12px!important
}
body.nova-app .community-card:last-child{border-bottom:0!important}
body.nova-app .community-avatar{width:54px!important;height:54px!important;min-width:54px!important;border-radius:50%!important;font-size:20px!important}
body.nova-app .community-card .eyebrow{display:none!important}
body.nova-app .community-card h3{font-size:17px!important;margin:2px 0!important}
body.nova-app .community-card p{font-size:13px!important;margin:2px 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block!important}
body.nova-app .community-card small{font-size:12px!important}

/* Community page */
body.nova-app .community-cover{padding:0!important;min-height:230px!important}
body.nova-app .community-cover .community-hero{
  min-height:230px!important;display:grid!important;grid-template-columns:92px 1fr!important;
  align-items:end!important;padding-top:86px!important;padding-bottom:14px!important
}
body.nova-app .community-avatar.huge{width:86px!important;height:86px!important;min-width:86px!important;border-radius:50%!important;border:4px solid var(--app-surface)!important}
body.nova-app .community-info h1{font-size:28px!important;margin:4px 0!important}
body.nova-app .community-info p{font-size:13px!important;line-height:1.45!important;margin:3px 0!important}
body.nova-app .community-hero-actions{grid-column:1/-1!important;display:flex!important;gap:7px!important;margin-top:10px!important}
body.nova-app .community-hero-actions .btn{min-height:38px!important;font-size:12px!important}
body.nova-app .community-layout{padding-top:12px!important}
body.nova-app .community-compose,body.nova-app .community-post{padding:13px!important}
body.nova-app .community-post{border-radius:var(--app-radius)!important}
body.nova-app .reaction-btn{border-radius:18px!important;background:var(--app-surface-2)!important}

/* Forum */
body.nova-app .forum-layout{gap:12px!important}
body.nova-app .forum-layout>.panel{padding:0!important;overflow:hidden}
body.nova-app .forum-layout .panel-head{padding:14px!important;margin:0!important;border-bottom:1px solid var(--app-line)}
body.nova-app .topic-row{
  min-height:64px!important;padding:10px 14px!important;border-bottom:1px solid var(--app-line)!important
}
body.nova-app .topic-row b{font-size:15px!important}
body.nova-app .topic-row span{font-size:11px!important}
body.nova-app .side-stack .panel{padding:14px!important}
body.nova-app .mini-row{padding:10px 0!important;border-bottom:1px solid var(--app-line)!important}

/* Downloads */
body.nova-app .downloads-shell{padding-top:12px!important}
body.nova-app .download-section-grid{grid-template-columns:1fr!important;gap:0!important;border:1px solid var(--app-line);border-radius:var(--app-radius);overflow:hidden;background:var(--app-surface)}
body.nova-app .download-section-card{
  border:0!important;border-radius:0!important;border-bottom:1px solid var(--app-line)!important;
  min-height:68px!important;padding:9px 13px!important;grid-template-columns:46px 1fr auto!important
}
body.nova-app .download-section-card:last-child{border-bottom:0!important}
body.nova-app .download-section-icon{width:42px!important;height:42px!important;border-radius:8px!important;font-size:20px!important}
body.nova-app .download-section-card h3{font-size:16px!important;margin:0 0 2px!important}
body.nova-app .download-section-card p{font-size:12px!important;margin:0!important}
body.nova-app .compact-download-list{gap:7px!important}
body.nova-app .compact-download-card{border-radius:8px!important;padding:10px!important}
body.nova-app .compact-download-thumb{border-radius:7px!important}

/* Profiles */
body.nova-app .profile-shell{padding-top:12px!important}
body.nova-app .profile-cover{
  height:210px!important;border-radius:var(--app-radius) var(--app-radius) 0 0!important;
  background:linear-gradient(135deg,var(--app-accent),#7084e7)!important
}
body.nova-app .profile-glow{display:none!important}
body.nova-app .profile-card-main{
  margin-top:-2px!important;background:var(--app-surface)!important;border:1px solid var(--app-line)!important;
  border-top:0!important;border-radius:0 0 var(--app-radius) var(--app-radius)!important;
  display:grid!important;grid-template-columns:112px 1fr!important;gap:14px!important;padding:0 16px 16px!important
}
body.nova-app .profile-avatar.xlarge{
  width:104px!important;height:104px!important;margin-top:-52px!important;border-radius:50%!important;
  border:5px solid var(--app-surface)!important
}
body.nova-app .profile-info{padding-top:12px!important}
body.nova-app .profile-info h1{font-size:25px!important;margin:3px 0!important}
body.nova-app .profile-info p{font-size:14px!important;margin:5px 0!important;line-height:1.45!important}
body.nova-app .profile-grid{gap:12px!important}
body.nova-app .profile-card{padding:14px!important}
body.nova-app .profile-card .profile-avatar{border-radius:50%!important}

/* Chats/messages */
body.nova-app .chat-window,body.nova-app .dm-thread,body.nova-app .people-list{border-radius:8px!important}
body.nova-app .chat-line{padding:11px 5px!important;border-bottom:1px solid var(--app-line)!important}
body.nova-app .dm-bubble{border-radius:12px!important}
body.nova-app .messages-layout{gap:10px!important}

/* Responsive */
@media(min-width:821px){
  body.nova-app{padding-bottom:0!important}
  .bottom-nav{display:none!important}
  .app-header-inner{height:62px}
  .app-title{font-size:20px}
  .app-content{padding-top:0}
}
@media(max-width:820px){
  .app-header .theme-toggle{display:none!important}
  .app-footer{display:none!important}
  body.nova-app .wrap{padding-left:9px!important;padding-right:9px!important}
  body.nova-app .page-hero{padding:15px 0 12px!important}
  body.nova-app .page-hero h1{font-size:24px!important}
  body.nova-app .home-layout,body.nova-app .content-grid,body.nova-app .forum-layout,body.nova-app .community-layout{grid-template-columns:1fr!important}
  body.nova-app .home-side{grid-template-columns:1fr!important}
  body.nova-app .demo-welcome{align-items:flex-start!important;flex-direction:column!important}
  body.nova-app .demo-welcome .btn{width:100%!important}
  body.nova-app .home-photo-strip{grid-template-columns:repeat(4,1fr)!important}
}
@media(max-width:520px){
  body.nova-app .profile-card-main{grid-template-columns:88px 1fr!important;padding-left:12px!important}
  body.nova-app .profile-avatar.xlarge{width:84px!important;height:84px!important;margin-top:-42px!important}
  body.nova-app .profile-cover{height:160px!important}
  body.nova-app .community-cover .community-hero{grid-template-columns:76px 1fr!important}
  body.nova-app .community-avatar.huge{width:72px!important;height:72px!important;min-width:72px!important}
  body.nova-app .community-info h1{font-size:23px!important}
  body.nova-app .community-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  body.nova-app .community-hero-actions form,body.nova-app .community-hero-actions .btn{width:100%!important}
}

/* =========================================================
   NovaCMS v0.9.1 — classic light social theme + icon dock
   ========================================================= */
:root{
  --app-accent:#4b5cc4;
  --app-accent-soft:#eef0fb;
  --app-bg:#f2f2f3;
  --app-surface:#ffffff;
  --app-surface-2:#f7f7f8;
  --app-text:#303033;
  --app-muted:#7f8085;
  --app-line:#dddddf;
  --app-shadow:0 2px 5px rgba(0,0,0,.09);
}
html[data-theme="light"] body.nova-app{
  background:#f2f2f3!important;
  color:#303033!important;
}
html[data-theme="light"] .app-header{
  background:#4b5cc4!important;
  box-shadow:0 2px 6px rgba(0,0,0,.16)!important;
}
html[data-theme="light"] body.nova-app .panel,
html[data-theme="light"] body.nova-app .home-block,
html[data-theme="light"] body.nova-app .demo-welcome{
  background:#fff!important;
  border-color:#dedee1!important;
}
html[data-theme="light"] body.nova-app .page-hero{
  background:#fff!important;
  border-bottom-color:#dedee1!important;
}
html[data-theme="light"] body.nova-app input,
html[data-theme="light"] body.nova-app textarea,
html[data-theme="light"] body.nova-app select{
  background:#fff!important;
  border-color:#d8d8dc!important;
  color:#303033!important;
}
html[data-theme="light"] body.nova-app .btn.soft,
html[data-theme="light"] body.nova-app .btn.ghost{
  background:#fff!important;
  border-color:#d8d8dc!important;
}
html[data-theme="light"] .mobile-menu{
  background:#fff!important;
}
html[data-theme="light"] .drawer-nav a{
  background:#fff!important;
}
html[data-theme="light"] .drawer-nav a.active{
  background:#f3f4fb!important;
}
html[data-theme="light"] .community-grid,
html[data-theme="light"] .download-section-grid{
  background:#fff!important;
}
html[data-theme="light"] .profile-card-main{
  background:#fff!important;
}

/* Bottom dock like a native social network: icons only */
.bottom-nav{
  height:64px!important;
  background:var(--app-surface)!important;
  border-top:1px solid var(--app-line)!important;
  box-shadow:0 -1px 4px rgba(0,0,0,.04)!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:space-around!important;
}
.bottom-nav>a{
  flex:1 1 0!important;
  width:auto!important;
  max-width:100px!important;
  min-width:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  color:#606267!important;
}
.bottom-nav>a span{display:none!important}
.bottom-nav>a i{display:none!important}
.bottom-nav svg{
  width:29px!important;
  height:29px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.85!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  display:block!important;
}
.bottom-nav>a.active{
  color:var(--app-accent)!important;
  background:transparent!important;
}
.bottom-nav>a:active{
  background:var(--app-accent-soft)!important;
}
.bottom-nav b{
  top:6px!important;
  left:calc(50% + 7px)!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:10px!important;
  background:#ef5350!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:18px!important;
}
html[data-theme="light"] .bottom-nav{
  background:#fff!important;
  border-color:#dddddf!important;
}
html[data-theme="light"] .bottom-nav>a{
  color:#5f6165!important;
}
html[data-theme="light"] .bottom-nav>a.active{
  color:#4b5cc4!important;
}

/* Light surface separators closer to the reference */
html[data-theme="light"] body.nova-app .community-card,
html[data-theme="light"] body.nova-app .topic-row,
html[data-theme="light"] body.nova-app .download-section-card,
html[data-theme="light"] body.nova-app .home-feed-card,
html[data-theme="light"] body.nova-app .home-news-card,
html[data-theme="light"] .drawer-nav a{
  border-bottom-color:#dedee1!important;
}
html[data-theme="light"] .app-content{
  background:#f2f2f3!important;
}
html[data-theme="light"] .app-title,
html[data-theme="light"] .app-icon-button,
html[data-theme="light"] .app-login-link{
  color:#fff!important;
}

/* Slightly squarer, more traditional mobile UI in light mode */
html[data-theme="light"] body.nova-app .panel,
html[data-theme="light"] body.nova-app .home-block,
html[data-theme="light"] body.nova-app .demo-welcome{
  border-radius:4px!important;
}
html[data-theme="light"] body.nova-app .community-grid,
html[data-theme="light"] body.nova-app .download-section-grid{
  border-radius:4px!important;
}
html[data-theme="light"] body.nova-app .page-hero{
  box-shadow:0 1px 2px rgba(0,0,0,.03)!important;
}
@media(max-width:820px){
  body.nova-app{padding-bottom:64px!important}
}

/* NovaCMS v0.9.2 — filled sidebar icons */
.drawer-nav a{
  grid-template-columns:46px 1fr!important;
  min-height:54px!important;
}
.drawer-nav a i.drawer-svg-icon{
  width:32px!important;
  height:32px!important;
  display:grid!important;
  place-items:center!important;
  color:#404246!important;
}
.drawer-nav a i.drawer-svg-icon svg{
  width:26px!important;
  height:26px!important;
  display:block!important;
  fill:currentColor!important;
}
.drawer-nav a.active i.drawer-svg-icon{
  color:var(--app-accent)!important;
}
html[data-theme="light"] .drawer-nav a i.drawer-svg-icon{
  color:#3f4145!important;
}
html[data-theme="light"] .drawer-nav a.active i.drawer-svg-icon{
  color:#4b5cc4!important;
}
html[data-theme="dark"] .drawer-nav a i.drawer-svg-icon{
  color:#c5c8cf!important;
}
html[data-theme="dark"] .drawer-nav a.active i.drawer-svg-icon{
  color:#8190ee!important;
}

/* NovaCMS v0.9.3 — bold filled drawer icons */
.drawer-nav a{
  grid-template-columns:54px 1fr!important;
  min-height:58px!important;
  padding:0 16px 0 14px!important;
}
.drawer-nav a i.drawer-svg-icon{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  color:#414246!important;
}
.drawer-nav a i.drawer-svg-icon svg{
  width:30px!important;
  height:30px!important;
  fill:currentColor!important;
  stroke:none!important;
  display:block!important;
}
.drawer-nav a span{
  font-size:17px!important;
  font-weight:400!important;
}
html[data-theme="light"] .drawer-nav a i.drawer-svg-icon{
  color:#3f4044!important;
}
html[data-theme="light"] .drawer-nav a.active{
  background:#f4f5fb!important;
  color:#4b5cc4!important;
}
html[data-theme="light"] .drawer-nav a.active i.drawer-svg-icon{
  color:#4b5cc4!important;
}
html[data-theme="dark"] .drawer-nav a i.drawer-svg-icon{
  color:#d3d6dc!important;
}
html[data-theme="dark"] .drawer-nav a.active i.drawer-svg-icon{
  color:#8392f0!important;
}

/* v0.9.4 profile/menu fix */
.drawer-nav a i.drawer-svg-icon{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;color:#3e3e40!important}.drawer-nav a i.drawer-svg-icon svg{width:29px!important;height:29px!important;fill:currentColor!important;stroke:none!important}html[data-theme="dark"] .drawer-nav a i.drawer-svg-icon{color:#e0e0e2!important}
@media(max-width:650px){body.nova-app .profile-shell{padding:10px 9px 70px!important}body.nova-app .profile-cover{height:180px!important;border-radius:10px 10px 0 0!important}body.nova-app .profile-card-main{display:block!important;padding:0 18px 20px!important;border-radius:0 0 10px 10px!important;min-height:245px!important}body.nova-app .profile-avatar.xlarge{width:104px!important;height:104px!important;margin:-52px 0 0 10px!important;position:relative!important;z-index:2!important}body.nova-app .profile-info{padding:8px 4px 0!important;display:block!important}body.nova-app .profile-info .role-pill{display:inline-block!important;margin:0 0 3px!important}body.nova-app .profile-info h1{font-size:27px!important;margin:2px 0 8px!important}body.nova-app .profile-info p{font-size:15px!important;line-height:1.45!important;margin:0 0 10px!important;max-width:none!important}body.nova-app .profile-info small{font-size:13px!important}}

/* ======================================================
   Nova Control v0.9.5 — separate administration theme
   ====================================================== */
.admin-body{
  --admin-accent:#394f9f;
  --admin-accent-2:#263a7e;
  --admin-bg:#eef0f4;
  --admin-surface:#fff;
  --admin-line:#d9dce2;
  --admin-text:#2e3035;
  --admin-muted:#7c8089;
  background:var(--admin-bg)!important;
  color:var(--admin-text)!important;
  grid-template-columns:250px minmax(0,1fr)!important;
}
.admin-side{
  background:#fff!important;
  border-right:1px solid var(--admin-line)!important;
  padding:0!important;
}
.admin-side-head{
  min-height:76px!important;
  padding:12px 16px!important;
  border-bottom:1px solid var(--admin-line)!important;
  display:flex!important;
  align-items:center!important;
}
.admin-side-brand{display:flex;align-items:center;gap:11px;min-width:0}
.admin-side-logo,.admin-mobile-logo{
  width:42px;height:42px;border-radius:9px;display:grid;place-items:center;
  background:var(--admin-accent);color:#fff;font-weight:800;font-size:19px
}
.admin-side-brand span:last-child{display:grid;line-height:1.15}
.admin-side-brand b{font-size:16px;color:#272a31}
.admin-side-brand small{font-size:10px;color:var(--admin-muted);margin-top:4px}
.admin-menu-close{display:none!important}
.admin-side nav{margin:0!important;padding:9px 0!important;gap:0!important}
.admin-side nav a{
  min-height:52px!important;padding:0 18px!important;border-radius:0!important;
  display:grid!important;grid-template-columns:40px 1fr!important;align-items:center!important;gap:10px!important;
  border-bottom:1px solid #eff0f2!important;color:#50535a!important;font-weight:500!important
}
.admin-side nav a:hover{background:#f5f6f9!important;color:var(--admin-accent)!important}
.admin-side nav a.active{
  background:#e9edf9!important;color:var(--admin-accent)!important;
  border-left:4px solid var(--admin-accent)!important;padding-left:14px!important;font-weight:700!important
}
.admin-nav-icon{width:30px!important;height:30px!important;display:grid!important;place-items:center!important}
.admin-nav-icon svg{width:23px!important;height:23px!important;fill:currentColor!important;stroke:none!important}
.admin-side-bottom{
  padding:13px 16px!important;border-top:1px solid var(--admin-line)!important;
  color:var(--admin-muted)!important
}
.admin-main{padding:26px 30px 45px!important;background:var(--admin-bg)!important}
.admin-top{
  min-height:80px!important;margin:0 0 18px!important;padding:0 2px!important;
  display:flex!important;align-items:center!important
}
.admin-top h1{font-size:31px!important;margin:4px 0 0!important;color:#22252b!important}
.admin-section-label{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--admin-accent)}
.admin-user-chip{
  display:flex;align-items:center;gap:8px;padding:7px 10px 7px 7px;border-radius:8px;
  background:#fff;border:1px solid var(--admin-line)
}
.admin-user-chip>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e8ecf8;color:var(--admin-accent);font-weight:800}
.admin-user-chip b{font-size:12px}
.admin-mobile-bar{background:var(--admin-accent)!important;color:#fff!important;border-bottom:0!important;box-shadow:0 2px 5px rgba(0,0,0,.16)!important}
.admin-mobile-title{display:flex;align-items:center;gap:10px;color:#fff!important;font-size:19px;font-weight:600;min-width:0}
.admin-mobile-logo{background:rgba(255,255,255,.16)!important}
.admin-mobile-avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--admin-accent);font-weight:800}
.admin-menu-toggle{color:#fff!important;background:transparent!important;border:0!important;font-size:27px!important}

.admin-summary{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;margin-bottom:12px!important
}
.admin-stat{
  min-height:118px!important;padding:16px!important;background:#fff!important;border:1px solid var(--admin-line)!important;
  border-radius:7px!important;display:grid!important;grid-template-columns:46px 1fr!important;align-items:center!important;gap:12px!important
}
.admin-stat-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:#edf0f8;color:var(--admin-accent)}
.admin-stat-icon svg{width:24px;height:24px;fill:currentColor}
.admin-stat>span:last-child{display:grid}
.admin-stat small{font-size:11px;color:var(--admin-muted)}
.admin-stat strong{font:700 27px Space Grotesk;margin:2px 0;color:#23262d}
.admin-stat em{font-style:normal;font-size:10px;color:var(--admin-muted)}
.admin-stat.system{background:var(--admin-accent)!important;border-color:var(--admin-accent)!important}
.admin-stat.system .admin-stat-icon{background:rgba(255,255,255,.15);color:#fff}
.admin-stat.system small,.admin-stat.system strong,.admin-stat.system em{color:#fff!important}

.admin-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}
.admin-section-card{
  background:#fff;border:1px solid var(--admin-line);border-radius:7px;padding:18px
}
.admin-card-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}
.admin-card-head small{font-size:9px;color:var(--admin-accent);font-weight:800;letter-spacing:.1em}
.admin-card-head h2{font-size:22px;margin-top:3px}
.admin-card-head>a{font-size:11px;color:var(--admin-accent);font-weight:700}
.admin-section-card .module-list>div,.admin-section-card .user-list>div{padding:11px 0!important}
.admin-section-card .status{border-radius:12px!important}
.admin-body .panel{
  background:#fff!important;border:1px solid var(--admin-line)!important;border-radius:7px!important;
  box-shadow:none!important
}
.admin-body .btn.primary{background:var(--admin-accent)!important;box-shadow:none!important}
.admin-body input,.admin-body textarea,.admin-body select{border-radius:5px!important}
.admin-body .flash{border-radius:5px!important}

@media(max-width:960px){
  .admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-dashboard-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .admin-body{display:block!important}
  .admin-main{padding:16px 10px 80px!important}
  .admin-top{min-height:auto!important;margin-bottom:14px!important}
  .admin-top h1{font-size:26px!important}
  .admin-user-chip{display:none!important}
  .admin-summary{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .admin-stat{min-height:98px!important;padding:12px!important;grid-template-columns:38px 1fr!important;gap:8px!important}
  .admin-stat-icon{width:36px;height:36px}
  .admin-stat strong{font-size:23px}
  .admin-section-card{padding:13px!important}
  .admin-side{width:min(330px,88vw)!important}
  .admin-side-head{min-height:80px!important}
  .admin-menu-close{display:grid!important}
}
@media(max-width:430px){
  .admin-summary{grid-template-columns:1fr!important}
  .admin-stat{grid-template-columns:42px 1fr!important}
}

/* NovaCMS v0.9.6 — public drawer aligned with Nova Control */
.drawer-nav a{
  min-height:58px!important;
  grid-template-columns:46px 1fr!important;
  gap:10px!important;
  padding:0 16px!important;
}
.drawer-nav a i.drawer-svg-icon{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  color:#55585f!important;
}
.drawer-nav a i.drawer-svg-icon svg{
  width:25px!important;
  height:25px!important;
  fill:currentColor!important;
  stroke:none!important;
  display:block!important;
}
.drawer-nav a span{
  font-size:17px!important;
  font-weight:500!important;
}
.drawer-nav a.active{
  border-left:4px solid var(--app-accent)!important;
  padding-left:12px!important;
  background:#eef1fb!important;
  color:var(--app-accent)!important;
}
.drawer-nav a.active i.drawer-svg-icon{
  color:var(--app-accent)!important;
}
.drawer-admin{
  min-height:52px!important;
  display:grid!important;
  grid-template-columns:38px 1fr!important;
  align-items:center!important;
  gap:8px!important;
  padding:0 14px!important;
  background:#eef1fb!important;
  color:var(--app-accent)!important;
  border-radius:8px!important;
  font-weight:700!important;
}
.drawer-admin .drawer-svg-icon{
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
}
.drawer-admin .drawer-svg-icon svg{
  width:22px!important;
  height:22px!important;
  fill:currentColor!important;
  stroke:none!important;
}
html[data-theme="dark"] .drawer-nav a i.drawer-svg-icon{color:#c9ccd3!important}
html[data-theme="dark"] .drawer-nav a.active{
  background:#222947!important;
  color:#8392f0!important;
  border-left-color:#8392f0!important;
}
html[data-theme="dark"] .drawer-nav a.active i.drawer-svg-icon{color:#8392f0!important}
html[data-theme="dark"] .drawer-admin{
  background:#222947!important;
  color:#8392f0!important;
}

/* NovaCMS v0.9.7 — bold social drawer icons */
.drawer-nav a{
  grid-template-columns:58px 1fr!important;
  min-height:64px!important;
  padding:0 18px 0 14px!important;
  gap:8px!important;
}
.drawer-nav a i.drawer-svg-icon{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  color:#3e4044!important;
}
.drawer-nav a i.drawer-svg-icon svg{
  width:31px!important;
  height:31px!important;
  fill:currentColor!important;
  stroke:none!important;
  display:block!important;
}
.drawer-nav a span{
  font-size:18px!important;
  font-weight:500!important;
  letter-spacing:0!important;
}
html[data-theme="light"] .drawer-nav a i.drawer-svg-icon{
  color:#3d3f43!important;
}
html[data-theme="light"] .drawer-nav a.active{
  background:#f0f2fb!important;
  color:#4b5cc4!important;
  border-left:5px solid #4b5cc4!important;
}
html[data-theme="light"] .drawer-nav a.active i.drawer-svg-icon{
  color:#4b5cc4!important;
}
html[data-theme="dark"] .drawer-nav a i.drawer-svg-icon{
  color:#e0e2e7!important;
}
html[data-theme="dark"] .drawer-nav a.active{
  background:#222947!important;
  color:#8a98ef!important;
  border-left:5px solid #8a98ef!important;
}
html[data-theme="dark"] .drawer-nav a.active i.drawer-svg-icon{
  color:#8a98ef!important;
}

/* NovaCMS v0.9.8 — Rulavi-style public drawer icons */
.drawer-nav a{
  grid-template-columns:64px 1fr!important;
  min-height:68px!important;
  padding:0 18px!important;
  gap:5px!important;
}
.drawer-nav a i.drawer-rulavi-icon{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  color:#3c3d40!important;
  font-style:normal!important;
}
.drawer-nav a i.drawer-rulavi-icon svg{
  width:34px!important;
  height:34px!important;
  fill:currentColor!important;
  stroke:none!important;
  display:block!important;
}
.drawer-nav a span{
  font-size:19px!important;
  font-weight:500!important;
  color:inherit!important;
}
html[data-theme="light"] .drawer-nav a i.drawer-rulavi-icon{
  color:#3a3b3e!important;
}
html[data-theme="light"] .drawer-nav a.active{
  background:#f0f2fb!important;
  color:#4b5cc4!important;
  border-left:5px solid #4b5cc4!important;
  padding-left:13px!important;
}
html[data-theme="light"] .drawer-nav a.active i.drawer-rulavi-icon{
  color:#4b5cc4!important;
}
html[data-theme="dark"] .drawer-nav a i.drawer-rulavi-icon{
  color:#dfe1e5!important;
}
html[data-theme="dark"] .drawer-nav a.active{
  background:#222947!important;
  color:#8b98ef!important;
  border-left:5px solid #8b98ef!important;
}
html[data-theme="dark"] .drawer-nav a.active i.drawer-rulavi-icon{
  color:#8b98ef!important;
}

/* NovaCMS v0.9.9 — compact Rulavi-style drawer icons */
.drawer-nav a{
  grid-template-columns:52px 1fr!important;
  min-height:58px!important;
  padding:0 16px!important;
  gap:4px!important;
}
.drawer-nav a i.drawer-rulavi-icon,
.drawer-nav a i.drawer-svg-icon{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  font-style:normal!important;
}
.drawer-nav a i.drawer-rulavi-icon svg,
.drawer-nav a i.drawer-svg-icon svg{
  width:25px!important;
  height:25px!important;
  fill:currentColor!important;
  stroke:none!important;
  display:block!important;
}
.drawer-nav a span{
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:500!important;
}
html[data-theme="light"] .drawer-nav a i.drawer-rulavi-icon,
html[data-theme="light"] .drawer-nav a i.drawer-svg-icon{
  color:#3d3f43!important;
}
html[data-theme="light"] .drawer-nav a.active{
  background:#f0f2fb!important;
  color:#4b5cc4!important;
  border-left:4px solid #4b5cc4!important;
  padding-left:12px!important;
}
html[data-theme="dark"] .drawer-nav a i.drawer-rulavi-icon,
html[data-theme="dark"] .drawer-nav a i.drawer-svg-icon{
  color:#dfe1e5!important;
}
html[data-theme="dark"] .drawer-nav a.active{
  background:#222947!important;
  color:#8b98ef!important;
  border-left:4px solid #8b98ef!important;
}

/* Compact bottom nav to match drawer proportions */
.bottom-nav svg{
  width:26px!important;
  height:26px!important;
}

/* NovaCMS v0.9.10 — extra compact drawer icons */
.drawer-nav a{
  grid-template-columns:46px 1fr!important;
  min-height:56px!important;
  padding-left:15px!important;
  padding-right:15px!important;
}
.drawer-nav a i.drawer-rulavi-icon,
.drawer-nav a i.drawer-svg-icon{
  width:32px!important;
  height:32px!important;
}
.drawer-nav a i.drawer-rulavi-icon svg,
.drawer-nav a i.drawer-svg-icon svg{
  width:21px!important;
  height:21px!important;
}
.drawer-nav a.active{
  padding-left:11px!important;
}

/* NovaCMS v0.9.11 — more visible user placeholders */
.profile-avatar:not(:has(img)),
.profile-avatar.xlarge:not(:has(img)),
.member-avatar:not(:has(img)),
.user-avatar:not(:has(img)),
.people-avatar:not(:has(img)),
.community-avatar.user-avatar:not(:has(img)),
.mini-avatar:not(:has(img)),
.drawer-avatar:not(:has(img)),
.app-user-avatar:not(:has(img)){
  background:linear-gradient(145deg,#4b5cc4,#7b64e8)!important;
  color:#fff!important;
  border-color:#fff!important;
  font-weight:800!important;
  text-shadow:0 1px 1px rgba(0,0,0,.18)!important;
  box-shadow:0 2px 7px rgba(52,66,150,.22)!important;
}

/* Member list cards */
.member-card,
.people-card,
.user-card{
  background:#fff!important;
  border:1px solid #dcdfe5!important;
}

html[data-theme="dark"] .member-card,
html[data-theme="dark"] .people-card,
html[data-theme="dark"] .user-card{
  background:var(--app-surface)!important;
  border-color:var(--app-line)!important;
}

/* Fallback for letter-only avatar blocks in social/member lists */
.member-card [class*="avatar"]:not(:has(img)),
.people-card [class*="avatar"]:not(:has(img)),
.user-card [class*="avatar"]:not(:has(img)){
  background:linear-gradient(145deg,#4b5cc4,#7b64e8)!important;
  color:#fff!important;
  font-weight:800!important;
  border:2px solid rgba(255,255,255,.95)!important;
  box-shadow:0 2px 7px rgba(52,66,150,.22)!important;
}

/* Make role badges a touch clearer on light theme */
html[data-theme="light"] .role-pill,
html[data-theme="light"] .role,
html[data-theme="light"] .badge{
  background:#eef0ff!important;
  color:#5c5f88!important;
}

.has-placeholder:not(:has(img)){
  background:linear-gradient(145deg,#4b5cc4,#7b64e8)!important;
  color:#fff!important;
  font-weight:800!important;
}

/* ======================================================
   NovaCMS v0.9.12 — social user profile
   ====================================================== */
.social-profile-page{padding-top:12px!important;padding-bottom:18px!important}
.social-profile-card{
  background:var(--app-surface);border:1px solid var(--app-line);overflow:hidden;
  border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.05)
}
.social-profile-cover{
  height:285px;background:#4558bf center/cover no-repeat;
}
.social-profile-main{
  min-height:255px;position:relative;padding:0 34px 28px
}
.social-profile-avatar{
  position:absolute;left:54px;top:-116px;width:190px;height:190px;border-radius:50%;
  border:9px solid #fff;background:linear-gradient(145deg,#4558bf,#765ee2);color:#fff;
  display:grid;place-items:center;font-size:70px;font-weight:800;overflow:hidden;
  box-shadow:0 3px 9px rgba(0,0,0,.16)
}
.social-profile-avatar img{width:100%;height:100%;object-fit:cover}
.social-profile-actions{
  min-height:84px;display:flex;justify-content:flex-end;align-items:flex-start;gap:14px;padding-top:18px
}
.profile-action{
  width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#4558bf;color:#fff!important;
  box-shadow:0 3px 7px rgba(0,0,0,.2)
}
.profile-action svg{width:31px;height:31px;fill:currentColor}
.profile-action.admin-action{background:#ef493d}
.social-profile-text{padding-top:26px}
.social-profile-name-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.social-profile-name-row h1{font-size:31px;margin:0;color:var(--app-text)}
.online-state{font-size:19px;color:#999}
.online-state.online{color:#41aa72}
.blocked-label{font-size:11px;background:#ffeded;color:#c94242;border-radius:12px;padding:5px 9px;font-weight:800}
.social-profile-status{margin-top:18px;color:var(--app-muted);font-size:20px;display:flex;align-items:center;gap:10px}
.status-pencil{font-size:22px}
.social-profile-bio{font-size:14px;line-height:1.5;margin:14px 0 0}
.social-profile-since{display:block;margin-top:17px;color:var(--app-text);font-size:13px}
.social-profile-stats{
  min-height:118px;border-top:1px solid var(--app-line);display:grid;grid-template-columns:repeat(4,1fr);background:var(--app-surface)
}
.social-profile-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center}
.social-profile-stats strong{font-size:31px;color:#4558bf;font-weight:400}
.social-profile-stats span{font-size:16px;color:var(--app-muted);margin-top:3px}

/* Admin user editor */
.admin-user-editor{max-width:900px}
.admin-user-preview{position:relative;margin-bottom:20px;border:1px solid var(--admin-line);border-radius:7px;overflow:hidden;padding-bottom:14px}
.admin-user-preview-cover{height:130px;background:#394f9f center/cover no-repeat}
.admin-user-preview-avatar{width:86px;height:86px;border-radius:50%;border:5px solid #fff;overflow:hidden;display:grid;place-items:center;background:#4b5cc4;color:#fff;font-size:32px;font-weight:800;margin:-43px 0 8px 20px;position:relative}
.admin-user-preview-avatar img{width:100%;height:100%;object-fit:cover}
.admin-user-preview>div:last-child{padding:0 20px;display:grid;gap:2px}
.admin-user-preview>div:last-child small{color:var(--admin-muted)}
.admin-danger-zone{margin-top:22px;padding:15px;border:1px solid #efb9b9;background:#fff4f4;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.admin-danger-zone>div{display:grid;gap:4px}.admin-danger-zone small{color:#8d6262}
.admin-body .btn.danger{background:#df4747!important;color:#fff!important;border-color:#df4747!important}

@media(max-width:650px){
  .social-profile-page{padding:0!important}
  .social-profile-card{border-radius:0!important;border-left:0!important;border-right:0!important}
  .social-profile-cover{height:225px!important}
  .social-profile-main{padding:0 20px 22px!important;min-height:240px!important}
  .social-profile-avatar{
    width:132px!important;height:132px!important;left:28px!important;top:-72px!important;
    border-width:7px!important;font-size:49px!important
  }
  .social-profile-actions{min-height:70px!important;gap:10px!important;padding-top:12px!important}
  .profile-action{width:52px!important;height:52px!important}
  .profile-action svg{width:27px!important;height:27px!important}
  .social-profile-text{padding-top:20px!important}
  .social-profile-name-row h1{font-size:27px!important}
  .online-state{font-size:16px!important}
  .social-profile-status{font-size:18px!important;margin-top:14px!important}
  .social-profile-stats{min-height:96px!important}
  .social-profile-stats strong{font-size:27px!important}
  .social-profile-stats span{font-size:13px!important}
  .admin-danger-zone{align-items:flex-start;flex-direction:column}
}

/* NovaCMS v0.9.13 — profile wall */
.profile-wall{max-width:100%;margin:14px 0 0;background:var(--app-surface);border:1px solid var(--app-line);border-radius:7px;padding:18px}
.profile-wall-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.profile-wall-title h2{margin:0;font-size:22px}.profile-wall-title span{font-size:12px;color:var(--app-muted)}
.wall-compose{border:1px solid var(--app-line);background:var(--app-surface);border-radius:6px;padding:0;overflow:hidden}
.wall-compose textarea{display:block;width:100%;border:0!important;border-radius:0!important;min-height:115px;padding:18px;font-size:17px;resize:vertical;background:transparent;color:var(--app-text)}
.wall-compose-actions{display:flex;align-items:center;gap:9px;padding:10px 14px 12px;border-top:1px solid var(--app-line)}
.wall-submit{background:#4558bf;color:#fff;border:0;border-radius:4px;padding:10px 22px;font-size:15px;font-weight:600}
.wall-icon-btn{width:40px;height:40px;border:0;background:transparent;color:#4558bf;display:grid;place-items:center;cursor:pointer}
.wall-icon-btn svg{width:27px;height:27px;fill:currentColor}
.emoji-menu{padding:10px 14px;border-top:1px solid var(--app-line);display:flex;gap:7px;flex-wrap:wrap}
.emoji-menu[hidden]{display:none!important}
.emoji-menu button{border:0;background:#f2f3f7;border-radius:6px;font-size:22px;padding:5px 7px;cursor:pointer}
.wall-file-hint{padding:0 14px 11px;color:var(--app-muted);font-size:11px}
.wall-login-note,.wall-empty{padding:18px;border:1px dashed var(--app-line);border-radius:6px;color:var(--app-muted)}
.wall-list{display:grid;gap:10px;margin-top:12px}
.wall-post{border:1px solid var(--app-line);border-radius:6px;padding:14px;background:var(--app-surface)}
.wall-post-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.wall-author{display:flex;align-items:center;gap:10px;color:inherit!important}
.wall-author-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#4558bf,#765ee2);color:#fff;font-weight:800;display:grid;place-items:center;overflow:hidden}
.wall-author-avatar img{width:100%;height:100%;object-fit:cover}
.wall-author>div:last-child{display:grid}.wall-author small{font-size:10px;color:var(--app-muted);margin-top:2px}
.wall-delete{border:0;background:transparent;color:#a4a6ad;font-size:24px;line-height:1;cursor:pointer}
.wall-post-text{margin-top:12px;font-size:15px;line-height:1.5}
.wall-image-link{display:inline-block;margin-top:12px}
.wall-image-thumb{display:block;width:150px;height:110px;object-fit:cover;border-radius:5px;border:1px solid var(--app-line);cursor:zoom-in}
.wall-file{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin-top:12px;padding:9px 12px;border:1px solid var(--app-line);border-radius:5px;color:inherit!important;background:rgba(69,88,191,.04)}
.wall-file-icon{font-size:22px}.wall-file>span:last-child{display:grid;min-width:0}.wall-file b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-file small{font-size:10px;color:var(--app-muted);margin-top:2px}
html[data-theme="dark"] .emoji-menu button{background:#262938}
@media(max-width:650px){
  .profile-wall{margin-top:10px;border-left:0;border-right:0;border-radius:0;padding:12px}
  .wall-compose textarea{font-size:16px;min-height:95px;padding:14px}
  .wall-compose-actions{padding:8px 10px 10px}
  .wall-submit{padding:9px 17px}
  .wall-icon-btn{width:36px;height:36px}.wall-icon-btn svg{width:24px;height:24px}
  .wall-image-thumb{width:132px;height:96px}
}

/* NovaCMS v0.9.15 — Friends */
.profile-action.friend-active{background:#3ba76d!important}
.profile-action.pending{background:#8b8f9c!important}
.social-list-page{padding-top:16px!important;padding-bottom:90px!important}
.social-list-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:16px}
.social-list-head h1{font-size:30px;margin:3px 0 0}
.friend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.friend-card{display:flex;gap:12px;align-items:center;padding:14px;background:var(--app-surface);border:1px solid var(--app-line);border-radius:7px;color:inherit!important}
.friend-avatar{width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#4558bf,#765ee2);color:#fff;font-weight:800;font-size:20px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.friend-avatar img{width:100%;height:100%;object-fit:cover}
.friend-card>div:last-child{min-width:0}.friend-card b{display:block;font-size:16px}.friend-card small{display:block;font-size:10px;color:var(--app-muted);margin-top:2px}.friend-card p{font-size:11px;color:var(--app-muted);margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-card{padding:18px;border:1px dashed var(--app-line);border-radius:7px;color:var(--app-muted);background:var(--app-surface)}
.request-section{margin-top:16px}.request-section h2{font-size:19px;margin:0 0 9px}
.request-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:var(--app-surface);border:1px solid var(--app-line);border-radius:7px;margin-bottom:8px}
.request-user{display:flex;align-items:center;gap:10px;color:inherit!important}.request-user>div:last-child{display:grid}.request-user small{font-size:10px;color:var(--app-muted)}
.request-actions{display:flex;gap:7px;flex-wrap:wrap}
.request-actions form{margin:0}
.request-actions .btn,.request-card>.btn{padding:8px 12px!important;font-size:11px!important}
@media(max-width:650px){
 .friend-grid{grid-template-columns:1fr!important}
 .social-list-page{padding:12px!important}
 .social-list-head h1{font-size:26px}
 .request-card{align-items:flex-start;flex-direction:column}
 .request-actions{width:100%}.request-actions form{flex:1}.request-actions .btn{width:100%}
}

/* NovaCMS v0.9.16 — notification badges */
.drawer-nav a{position:relative}
.nav-badge{
  margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:12px;
  background:#ef5350;color:#fff;font-size:11px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
}
.bottom-nav a{position:relative}
.bottom-nav-badge{
  position:absolute;top:4px;right:calc(50% - 24px);min-width:20px;height:20px;padding:0 5px;
  border-radius:12px;background:#ef5350;color:#fff;font-size:10px;font-weight:800;
  display:flex;align-items:center;justify-content:center;border:2px solid var(--app-surface);
}
.notification-list{display:grid;gap:8px}
.notification-card{
  display:flex;align-items:center;gap:11px;position:relative;padding:12px 14px;
  border:1px solid var(--app-line);border-radius:7px;background:var(--app-surface);color:inherit!important
}
.notification-card.unread{background:rgba(69,88,191,.07);border-color:rgba(69,88,191,.22)}
.notification-avatar{
  width:48px;height:48px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(145deg,#4558bf,#765ee2);color:#fff;font-weight:800;flex:0 0 auto
}
.notification-avatar img{width:100%;height:100%;object-fit:cover}
.notification-body{min-width:0}.notification-body b{display:block;font-size:14px}.notification-body p{margin:3px 0;color:var(--app-muted);font-size:12px}.notification-body small{font-size:10px;color:var(--app-muted)}
.notification-dot{width:9px;height:9px;border-radius:50%;background:#ef5350;margin-left:auto;flex:0 0 auto}

/* NovaCMS v0.9.17 — Rulavi-like friends center */
.friends-modern{padding:0 0 85px;background:var(--app-bg);min-height:70vh}
.friends-topbar{background:#4558bf;color:#fff;padding:18px 0 0}
.friends-topbar h1{font-size:22px;font-weight:500;margin:0;padding:0 22px 17px}
.friends-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
.friends-tabs a{position:relative;text-align:center;padding:15px 4px;color:#fff!important;font-size:17px;border-bottom:3px solid transparent}
.friends-tabs a.active{border-bottom-color:#fff}
.tab-count{
  display:inline-flex;min-width:19px;height:19px;padding:0 5px;margin-left:4px;align-items:center;justify-content:center;
  border-radius:10px;background:#ef5350;color:#fff;font-size:10px;vertical-align:middle
}
.friend-list-simple{background:var(--app-surface)}
.friend-row{min-height:78px;padding:11px 18px;border-bottom:1px solid var(--app-line);display:flex;align-items:center;justify-content:space-between;gap:12px;color:inherit!important;background:var(--app-surface)}
.friend-main{display:flex;align-items:center;gap:13px;min-width:0}
.friend-avatar{width:54px!important;height:54px!important;border-radius:50%!important;flex:0 0 54px!important;font-size:20px!important}
.friend-info{display:grid;min-width:0;gap:2px}
.friend-info b{font-size:17px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.friend-info small{font-size:12px;color:var(--app-muted)}
.friend-online{color:#27ad72!important}
.friend-more{font-size:27px;line-height:1;color:#222}
.friend-request-actions{display:flex;gap:10px}
.friend-request-actions form{margin:0}
.round-action{width:48px;height:48px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.2);color:#fff}
.round-action.accept{background:#24b36b}.round-action.decline{background:#ef4c45}
.round-action svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
.empty-friends{padding:25px;text-align:center;color:var(--app-muted);background:var(--app-surface)}
html[data-theme="dark"] .friend-more{color:#ddd}
@media(max-width:650px){
 .friends-topbar h1{padding-left:18px;padding-right:18px}
 .friends-tabs a{font-size:16px;padding:14px 2px}
 .friend-row{padding:10px 14px;min-height:74px}
 .round-action{width:44px;height:44px}
}

/* ======================================================
   NovaCMS v0.9.18 — compact polished profile layout
   ====================================================== */
.social-profile-cover{
  height:230px!important;
}
.social-profile-main{
  min-height:218px!important;
  padding:0 28px 24px!important;
}
.social-profile-avatar{
  width:158px!important;
  height:158px!important;
  left:42px!important;
  top:-82px!important;
  border-width:7px!important;
  font-size:58px!important;
  box-shadow:0 3px 9px rgba(0,0,0,.14)!important;
}
.social-profile-actions{
  min-height:68px!important;
  gap:11px!important;
  padding-top:14px!important;
  padding-right:4px!important;
}
.profile-action{
  width:50px!important;
  height:50px!important;
  box-shadow:0 2px 6px rgba(0,0,0,.17)!important;
}
.profile-action svg{
  width:25px!important;
  height:25px!important;
}
.social-profile-text{
  padding-top:15px!important;
}
.social-profile-name-row{
  gap:10px!important;
}
.social-profile-name-row h1{
  font-size:28px!important;
}
.online-state{
  font-size:16px!important;
}
.social-profile-status{
  margin-top:13px!important;
  font-size:17px!important;
  gap:8px!important;
}
.status-pencil{
  font-size:18px!important;
}
.social-profile-since{
  margin-top:14px!important;
  font-size:12px!important;
}
.social-profile-stats{
  min-height:92px!important;
}
.social-profile-stats strong{
  font-size:27px!important;
}
.social-profile-stats span{
  font-size:13px!important;
}
@media(max-width:650px){
  .social-profile-cover{
    height:195px!important;
  }
  .social-profile-main{
    min-height:205px!important;
    padding:0 18px 20px!important;
  }
  .social-profile-avatar{
    width:118px!important;
    height:118px!important;
    left:24px!important;
    top:-60px!important;
    border-width:6px!important;
    font-size:44px!important;
  }
  .social-profile-actions{
    min-height:61px!important;
    gap:9px!important;
    padding-top:12px!important;
    padding-right:0!important;
  }
  .profile-action{
    width:44px!important;
    height:44px!important;
  }
  .profile-action svg{
    width:22px!important;
    height:22px!important;
  }
  .social-profile-text{
    padding-top:12px!important;
  }
  .social-profile-name-row h1{
    font-size:25px!important;
  }
  .online-state{
    font-size:14px!important;
  }
  .social-profile-status{
    margin-top:11px!important;
    font-size:16px!important;
  }
  .status-pencil{
    font-size:17px!important;
  }
  .social-profile-since{
    margin-top:12px!important;
  }
  .social-profile-stats{
    min-height:82px!important;
  }
  .social-profile-stats strong{
    font-size:24px!important;
  }
  .social-profile-stats span{
    font-size:12px!important;
  }
}

/* NovaCMS v0.9.19 — messages badge + real dialogs */
.bottom-nav .message-badge{background:#ef5350!important;color:#fff!important}
.message-unread-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:18px;background:#eef9f3;color:#28a66b;font-size:12px;font-weight:700}
.dialog-list{padding:0!important;overflow:hidden!important}
.dialog-list h3{padding:14px 16px!important;margin:0!important;border-bottom:1px solid var(--app-line)}
.dialog-row{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto;gap:11px!important;align-items:center!important;padding:11px 13px!important;border-radius:0!important;border-bottom:1px solid var(--app-line);background:var(--app-surface)}
.dialog-row:last-child{border-bottom:0}.dialog-row.unread{background:rgba(69,88,191,.07)!important}.dialog-row.active{background:rgba(69,88,191,.12)!important}
.dialog-avatar,.dm-peer-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:linear-gradient(145deg,#4558bf,#765ee2);color:#fff;font-weight:800}
.dialog-info{display:grid;gap:4px;min-width:0}.dialog-name-line{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dialog-name-line b,.dialog-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-name-line b{font-size:14px}.dialog-info small{font-size:11px;color:var(--app-muted)}
.dialog-row>time{font-size:10px;color:var(--app-muted);align-self:start;margin-top:4px}
.dialog-unread-count{min-width:20px;height:20px;padding:0 6px;border-radius:12px;background:#ef5350;color:#fff;font-style:normal;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.dialogs-empty{padding:22px 16px;color:var(--app-muted);font-size:12px;text-align:center}
.dm-peer{display:flex;align-items:center;gap:10px;color:inherit!important}.dm-peer-avatar{width:38px;height:38px;font-size:14px}
.dm-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dm-head h2{margin:0;font-size:18px}
.dialog-prompt{min-height:260px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px}.dialog-prompt b{color:var(--app-text);font-size:18px}.dialog-prompt span{color:var(--app-muted);font-size:12px}
@media(max-width:850px){.modern-dialogs{display:block!important}.modern-dialogs .dialog-list{display:block!important;overflow:visible!important;margin-bottom:10px}.modern-dialogs .dialog-row{display:grid!important;min-width:0!important}.messages-heading h1{font-size:28px!important}}

/* NovaCMS v0.9.20 — Gifts */
.profile-gift-fab{
  position:absolute;left:202px;top:50px;z-index:6;width:43px;height:43px;border-radius:50%;
  display:grid;place-items:center;background:#4558bf;color:#fff!important;border:4px solid var(--app-surface);
  box-shadow:0 2px 6px rgba(0,0,0,.18);font-size:20px
}
.profile-gifts-strip{margin:12px 0;background:var(--app-surface);border:1px solid var(--app-line)}
.profile-gifts-head{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;border-bottom:1px solid var(--app-line)}
.profile-gifts-head a{color:inherit!important;font-weight:600}
.profile-gifts-items{display:flex;gap:12px;padding:14px 16px;overflow-x:auto}
.profile-gift-mini{width:72px;min-width:72px;text-align:center}
.profile-gift-mini img{width:64px;height:64px;object-fit:contain;border-radius:8px;background:#fff}
.profile-gift-mini small{display:block;font-size:10px;color:var(--app-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.gifts-page{max-width:980px;margin:0 auto;padding:18px 20px 90px}
.gifts-page-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:18px}
.gifts-page-head h1{font-size:34px;margin:3px 0}.gifts-page-head p{color:var(--app-muted);margin:6px 0 0}
.gift-category{background:var(--app-surface);border:1px solid var(--app-line);margin-bottom:14px}
.gift-category-title{display:flex;gap:10px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--app-line)}
.gift-category-title h2{font-size:20px;margin:0}.gift-title-icon{font-size:21px}
.gift-catalog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:18px}
.gift-choice{border:0;background:#fff;border-radius:10px;aspect-ratio:1;box-shadow:0 2px 7px rgba(0,0,0,.14);padding:8px;cursor:pointer}
.gift-choice img{width:100%;height:100%;object-fit:contain}
.gift-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:10000;display:grid;place-items:center;padding:18px}
.gift-modal[hidden]{display:none}.gift-modal-card{position:relative;width:min(420px,100%);background:var(--app-surface);border-radius:12px;padding:22px;border:1px solid var(--app-line)}
.gift-modal-card>img{width:150px;height:150px;object-fit:contain;display:block;margin:0 auto 10px;background:#fff;border-radius:10px}
.gift-modal-card h3{text-align:center;margin:5px 0 16px}.gift-modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:26px;color:var(--app-text)}
.received-gifts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.received-gift{display:flex;gap:13px;padding:14px;background:var(--app-surface);border:1px solid var(--app-line);border-radius:8px}
.received-gift img{width:90px;height:90px;object-fit:contain;background:#fff;border-radius:8px}.received-gift>div{min-width:0}
.received-gift b,.received-gift small,.received-gift time{display:block}.received-gift small,.received-gift time{font-size:11px;color:var(--app-muted)}
.received-gift p{margin:7px 0;font-size:13px}.gift-empty{padding:25px;text-align:center;color:var(--app-muted);border:1px dashed var(--app-line);background:var(--app-surface)}
.gifts-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gift-admin-list{margin-top:15px}
.gift-admin-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--app-line)}
.gift-admin-row small{display:block;color:var(--app-muted);font-size:11px}.admin-gift-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.admin-gift-card{padding:10px;border:1px solid var(--app-line);border-radius:8px;text-align:center}.admin-gift-card img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:6px}
.admin-gift-card b,.admin-gift-card small{display:block}.admin-gift-card small{font-size:10px;color:var(--app-muted);margin:3px 0 8px}
@media(max-width:650px){
 .profile-gift-fab{left:121px;top:38px;width:38px;height:38px;font-size:17px;border-width:3px}
 .gift-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px}
 .gifts-page{padding:13px 12px 85px}.gifts-page-head h1{font-size:28px}
 .received-gifts-grid{grid-template-columns:1fr}.received-gift img{width:76px;height:76px}
 .gifts-admin-grid{grid-template-columns:1fr}.admin-gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* NovaCMS v0.9.24 — rich notifications */
.notification-list{display:grid;gap:10px}
.notification-card{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid var(--app-line);
  background:var(--app-surface);
  color:inherit!important;
  border-radius:8px;
}
.notification-card.unread{
  background:rgba(69,88,191,.07);
  border-color:rgba(69,88,191,.22);
}
.notification-avatar{
  width:48px;height:48px;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;background:#eef0ff;
}
.notification-avatar img{width:100%;height:100%;object-fit:cover}
.notification-event-icon{font-size:24px;line-height:1}
.notification-body{min-width:0}
.notification-body b{display:block;font-size:15px;margin-bottom:3px}
.notification-body p{margin:0 0 4px;color:var(--app-muted);font-size:12px;line-height:1.45}
.notification-body small{font-size:10px;color:var(--app-muted)}
.notification-dot{
  width:9px;height:9px;border-radius:50%;background:#ef5350;box-shadow:0 0 0 4px rgba(239,83,80,.10)
}
@media(max-width:650px){
  .notification-card{grid-template-columns:42px minmax(0,1fr) auto;padding:11px 12px;gap:10px}
  .notification-avatar{width:42px;height:42px}
  .notification-event-icon{font-size:21px}
}

/* NovaCMS v0.9.25 — Nova Music */
.music-page{max-width:900px;margin:0 auto;padding:18px 18px 100px}
.music-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.music-head h1,.music-user-head h1{font-size:34px;margin:3px 0}.music-head p{margin:5px 0;color:var(--app-muted)}
.music-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px}
.music-search input,.playlist-create input{min-width:0}
.music-tabs{display:flex;gap:0;border:1px solid var(--app-line);background:var(--app-surface);overflow:auto;margin-bottom:12px}
.music-tabs a{padding:12px 16px;white-space:nowrap;color:var(--app-muted)!important;border-right:1px solid var(--app-line)}
.music-tabs a.active{color:#4558bf!important;background:rgba(69,88,191,.08);font-weight:700}
.music-upload-card{background:var(--app-surface);border:1px solid var(--app-line);margin-bottom:14px}
.music-upload-card summary{padding:13px 16px;font-weight:700;cursor:pointer}
.music-upload-card form{padding:0 16px 16px;display:grid;gap:10px}.music-upload-card label{display:grid;gap:5px}
.music-upload-card small{font-size:11px;color:var(--app-muted)}
.nova-track-list{display:grid;gap:1px;background:var(--app-line);border:1px solid var(--app-line)}
.nova-track{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;background:var(--app-surface);padding:10px 11px}
.nova-track-play{width:42px;height:42px;border-radius:50%;border:0;background:#4558bf;color:#fff;display:grid;place-items:center;cursor:pointer}
.nova-track-play svg{width:20px;fill:currentColor}.nova-track-play.playing{background:#2fa36b}
.nova-track-info{min-width:0}.nova-track-info b,.nova-track-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nova-track-info b{font-size:14px}.nova-track-info small{color:var(--app-muted);font-size:10px;margin-top:3px}
.nova-track-actions{display:flex;gap:4px;align-items:center}.nova-track-actions form{margin:0}
.music-icon-action{width:31px;height:31px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--app-soft);color:var(--app-text);font-size:16px;cursor:pointer}
.music-icon-action.active{color:#2fa36b}.music-icon-action.danger{color:#d84b4b}
.track-playlist-menu{position:relative}.track-playlist-menu summary{list-style:none}.track-playlist-menu summary::-webkit-details-marker{display:none}
.track-playlist-menu>div{position:absolute;right:0;top:36px;z-index:20;width:190px;background:var(--app-surface);border:1px solid var(--app-line);box-shadow:0 4px 15px rgba(0,0,0,.15)}
.track-playlist-menu button{width:100%;border:0;border-bottom:1px solid var(--app-line);background:transparent;color:var(--app-text);padding:9px 11px;text-align:left}
.nova-music-player{position:fixed;left:50%;bottom:74px;transform:translateX(-50%);z-index:9000;width:min(720px,calc(100% - 24px));display:grid;grid-template-columns:44px minmax(110px,1fr) minmax(180px,320px);align-items:center;gap:10px;padding:8px 12px;background:#202228;color:#fff;border-radius:8px;box-shadow:0 5px 22px rgba(0,0,0,.3)}
.nova-music-player[hidden]{display:none}.nova-player-toggle{width:38px;height:38px;border-radius:50%;border:0;background:#4558bf;color:#fff}.nova-music-player b,.nova-music-player small{display:block}.nova-music-player small{opacity:.7;font-size:10px}
.music-user-head{display:flex;gap:13px;align-items:center;margin-bottom:15px}.music-user-head img,.music-user-head>span{width:64px;height:64px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:linear-gradient(145deg,#4558bf,#765ee2);color:#fff;font-weight:800;font-size:25px}
.playlist-create{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px}.playlist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.playlist-card{background:var(--app-surface);border:1px solid var(--app-line);padding:10px}.playlist-card>a{display:grid;color:inherit!important}.playlist-cover{height:110px;display:grid;place-items:center;background:linear-gradient(145deg,#4558bf,#765ee2);color:#fff;font-size:42px;border-radius:5px;margin-bottom:9px}
.playlist-card b,.playlist-card small{display:block}.playlist-card small{color:var(--app-muted);font-size:10px;margin-top:3px}.music-link-danger,.playlist-remove-track{border:0;background:transparent;color:#d84b4b;padding:7px 0;font-size:11px}
.playlist-track-wrap{background:var(--app-surface)}.playlist-track-wrap .nova-track{border:0}.playlist-remove-track{margin-left:58px}
.admin-music-list{padding:0!important}.admin-music-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--app-line)}
.admin-music-row:last-child{border-bottom:0}.admin-music-icon{width:38px;height:38px;border-radius:7px;display:grid;place-items:center;background:#eef0ff;color:#4558bf;font-size:22px}.admin-music-row small{display:block;color:var(--app-muted);font-size:10px;margin-top:3px}
.profile-audio-link{color:inherit!important;display:contents}
@media(max-width:650px){
 .music-page{padding:13px 10px 100px}.music-head h1,.music-user-head h1{font-size:27px}.music-head{align-items:center}
 .music-search,.playlist-create{grid-template-columns:1fr}.music-search .btn,.playlist-create .btn{width:100%}
 .nova-track{grid-template-columns:40px minmax(0,1fr) auto;padding:9px 8px;gap:8px}.nova-track-play{width:36px;height:36px}.nova-track-play svg{width:17px}
 .music-icon-action{width:27px;height:27px;font-size:13px}.nova-track-actions{gap:2px}
 .playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playlist-cover{height:90px}
 .nova-music-player{bottom:76px}
}

.nova-music-player audio{width:100%;height:38px}.music-download{text-decoration:none!important}.nova-music-player.player-error:after{content:"Не удалось открыть аудиофайл";grid-column:1/-1;color:#ffb3b3;font-size:11px}

/* NovaCMS v0.9.27 — clickable profile counters + aligned stats */
.social-profile-stats{align-items:stretch!important}
.social-profile-stats>.profile-stat-link{min-width:0;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center;text-decoration:none!important;color:inherit!important;padding:10px 2px!important;box-sizing:border-box}
.social-profile-stats>.profile-stat-link strong{display:block!important;line-height:1.05!important;margin:0!important}
.social-profile-stats>.profile-stat-link span{display:block!important;line-height:1.2!important;margin-top:7px!important}
.social-profile-stats>a.profile-stat-link{cursor:pointer}
.social-profile-stats>a.profile-stat-link:active{background:var(--app-soft)}
.social-profile-stats>.profile-stat-link.is-disabled{cursor:default}
@media(max-width:650px){.social-profile-stats>.profile-stat-link{min-height:82px!important;padding:8px 1px!important}.social-profile-stats>.profile-stat-link strong{font-size:24px!important}.social-profile-stats>.profile-stat-link span{font-size:12px!important;margin-top:6px!important}}
/* Nova Photos v0.9.28 */
.photo-card-link{display:block;text-decoration:none;color:inherit}.photo-card-link .photo-caption{display:block;padding:12px;color:var(--muted);min-height:48px}.photo-viewer{padding:0;overflow:hidden}.photo-stage{position:relative;background:#111;display:flex;justify-content:center;align-items:center;min-height:280px}.photo-stage>img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain}.photo-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:64px;border-radius:16px;background:rgba(0,0,0,.42);color:#fff;display:grid;place-items:center;font-size:42px;text-decoration:none}.photo-prev{left:12px}.photo-next{right:12px}.photo-view-caption{padding:16px 18px 0;margin:0;font-size:17px}.photo-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.photo-actions form{margin:0}.photo-comments{margin-top:18px}.photo-comments h2{margin-top:0}.photo-comment-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:18px}.photo-comment-form textarea{min-height:82px;resize:vertical}.photo-comment-list{display:grid;gap:10px}.photo-comment{padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.photo-comment-user{font-weight:800;color:var(--text);text-decoration:none}.photo-comment small{display:block;margin-top:6px}@media(max-width:620px){.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-stage{min-height:220px}.photo-nav{width:38px;height:54px;font-size:34px}.photo-comment-form{grid-template-columns:1fr}.photo-comment-form .btn{width:100%}}
/* NovaCMS 0.9.29 — wall likes & comments */
.wall-social-actions{display:flex;align-items:center;gap:18px;margin-top:14px;padding-top:12px;border-top:1px solid #ececf1}.wall-social-actions form{margin:0}.wall-like-btn{border:0;background:transparent;color:#777;font:inherit;font-weight:700;display:inline-flex;align-items:center;gap:6px;padding:8px 4px;cursor:pointer}.wall-like-btn.is-liked{color:#e64b55}.wall-comment-count{color:#777;font-weight:600}.wall-comments{margin-top:8px;display:grid;gap:10px}.wall-comment{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:9px 0}.wall-comment-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#4d62cf,#7456ee);color:#fff;text-decoration:none;font-weight:700}.wall-comment-avatar img{width:100%;height:100%;object-fit:cover}.wall-comment a{text-decoration:none;color:inherit}.wall-comment p{margin:3px 0;overflow-wrap:anywhere}.wall-comment small{color:#999}.wall-comment-form{display:grid;grid-template-columns:1fr 44px;gap:8px;margin-top:10px}.wall-comment-form input{min-width:0;border:1px solid #dddde5;border-radius:18px;padding:10px 14px;font:inherit;background:#f8f8fb}.wall-comment-form button{width:44px;height:44px;border:0;border-radius:50%;background:#4d62cf;color:#fff;font-size:18px;cursor:pointer}@media(max-width:600px){.wall-social-actions{gap:14px}.wall-comment{grid-template-columns:34px 1fr}.wall-comment-avatar{width:34px;height:34px}}

/* NovaCMS v0.9.30 — Video */
.video-page{max-width:900px;margin:0 auto;padding:18px 18px 90px}.video-head h1{font-size:34px;margin:3px 0}.video-upload{background:var(--app-surface);border:1px solid var(--app-line);margin:12px 0}.video-upload summary{padding:13px 16px;font-weight:700}.video-upload form{padding:0 16px 16px;display:grid;gap:10px}.video-upload label{display:grid;gap:5px}.video-upload small{color:var(--app-muted);font-size:11px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.video-card{color:inherit!important}.video-cover{aspect-ratio:16/9;background:#1d1f25;position:relative;overflow:hidden;border-radius:7px;display:grid;place-items:center;color:white;font-size:30px}.video-cover img{width:100%;height:100%;object-fit:cover}.video-cover i{position:absolute;width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.62);display:grid;place-items:center;font-style:normal;font-size:17px}.video-card b,.video-card small{display:block;margin-top:6px}.video-card small{color:var(--app-muted);font-size:10px}.video-watch video{width:100%;max-height:70vh;background:#000;border-radius:8px}.video-watch h1{margin:12px 0 5px}.video-watch small{display:block;color:var(--app-muted);margin:8px 0 14px}@media(max-width:650px){.video-page{padding:12px 10px 90px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.video-head h1{font-size:27px}}

/* NovaCMS v0.9.31 — Video social */
.video-social{display:flex;align-items:center;gap:18px;padding:12px 0;margin:8px 0 14px;border-top:1px solid var(--app-line);border-bottom:1px solid var(--app-line)}.video-social form{margin:0}.video-social>a{color:var(--app-muted)!important;text-decoration:none;font-weight:700}.video-like-btn{border:0;background:transparent;color:var(--app-muted);font:inherit;font-weight:800;cursor:pointer;padding:7px 3px}.video-like-btn.is-liked{color:#e64b55}.video-comments{margin-top:18px}.video-comments h2{display:flex;gap:8px;align-items:center}.video-comments h2 span{font-size:13px;color:var(--app-muted)}.video-comment-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:16px}.video-comment-form textarea{min-height:76px;resize:vertical}.video-comment-list{display:grid;gap:8px}.video-comment{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--app-line);background:var(--app-surface);border-radius:8px}.video-comment-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#4d62cf,#7456ee);color:#fff!important;font-weight:800;text-decoration:none}.video-comment-avatar img{width:100%;height:100%;object-fit:cover}.video-comment-head{display:flex;justify-content:space-between;gap:10px}.video-comment-head a{color:inherit!important;text-decoration:none}.video-comment-head small{color:var(--app-muted);font-size:10px}.video-comment p{margin:5px 0;overflow-wrap:anywhere}.video-comment-delete{border:0;background:transparent;color:#d84b4b;padding:0;font-size:10px;cursor:pointer}@media(max-width:650px){.video-comment-form{grid-template-columns:1fr}.video-comment-form .btn{width:100%}.video-comment{grid-template-columns:34px minmax(0,1fr)}.video-comment-avatar{width:34px;height:34px}}

/* NovaCMS v0.9.32 — Forum 2.0 */
.forum2{max-width:1040px;margin:0 auto;padding:18px 14px 100px}.forum2-hero,.forum2-thread-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.forum2-hero h1,.forum2-thread-head h1{font-size:32px;margin:3px 0}.forum2-hero p,.forum2-thread-head p{margin:4px 0;color:var(--app-muted)}
.forum2-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px}.forum2-tabs{display:flex;overflow:auto;border:1px solid var(--app-line);background:var(--app-surface);margin-bottom:14px}.forum2-tabs a{padding:11px 15px;color:var(--app-muted)!important;white-space:nowrap;border-right:1px solid var(--app-line)}.forum2-tabs a.active{background:rgba(69,88,191,.08);color:#4558bf!important;font-weight:700}
.forum2-section{border:1px solid var(--app-line);background:var(--app-surface);margin-bottom:14px}.forum2-title{padding:11px 14px;background:var(--app-soft);display:flex;justify-content:space-between}.forum2-category,.forum2-topic{display:grid;align-items:center;color:inherit!important;border-top:1px solid var(--app-line)}.forum2-category{grid-template-columns:44px minmax(0,1fr) 160px 210px;gap:10px;padding:12px 14px}.forum2-cat-icon,.forum2-topic-icon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:#eef0ff;color:#4558bf;font-weight:800}.forum2-category small,.forum2-topic small{display:block;color:var(--app-muted);font-size:10px;margin-top:3px}.forum2-stats{display:flex;gap:14px}.forum2-stats span{font-size:10px;color:var(--app-muted)}.forum2-stats b{display:block;color:var(--app-text);font-size:13px}.forum2-last{min-width:0}.forum2-last b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.forum2-topic{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:11px 14px}.forum2-topic-stats{display:flex;gap:12px;color:var(--app-muted);font-size:11px}.solved{font-style:normal;color:#238b57;font-size:10px;background:rgba(35,139,87,.1);padding:2px 6px;border-radius:10px}
.forum2-dialog{width:min(560px,calc(100% - 24px));border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-text);padding:0;border-radius:8px}.forum2-dialog::backdrop{background:rgba(0,0,0,.5)}.forum2-dialog form{display:grid;gap:10px;padding:14px}.forum2-dialog label{display:grid;gap:5px}.forum2-dialog small{color:var(--app-muted)}.dialog-head{display:flex;justify-content:space-between;font-size:18px}.dialog-head button{border:0;background:transparent;color:inherit;font-size:25px}
.forum2-head-actions,.forum2-mod>div{display:flex;gap:7px;flex-wrap:wrap}.forum2-head-actions form,.forum2-mod form{margin:0}.forum2-mod{border:1px solid var(--app-line);background:var(--app-surface);padding:10px 12px;margin-bottom:12px}.forum2-mod summary{cursor:pointer;font-weight:700;margin-bottom:8px}
.forum2-posts{display:grid;gap:10px}.forum2-post{display:grid;grid-template-columns:150px minmax(0,1fr);border:1px solid var(--app-line);background:var(--app-surface)}.forum2-post.answer-solved{border:2px solid #2fa36b}.forum2-author{padding:14px;background:var(--app-soft);text-align:center}.forum2-author img,.forum2-author>span{width:64px;height:64px;border-radius:50%;margin:0 auto 7px;object-fit:cover;display:grid;place-items:center;background:linear-gradient(145deg,#4558bf,#765ee2);color:#fff;font-size:24px;font-weight:800}.forum2-author b,.forum2-author small{display:block}.forum2-author small{color:var(--app-muted);font-size:10px}
.forum2-message{padding:12px 14px;min-width:0}.forum2-post-meta{display:flex;gap:10px;color:var(--app-muted);font-size:10px;border-bottom:1px solid var(--app-line);padding-bottom:8px;margin-bottom:10px}.forum2-post-meta span{margin-left:auto}.forum2-copy{line-height:1.55;overflow-wrap:anywhere}.forum2-quote{display:block;color:inherit!important;background:var(--app-soft);border-left:3px solid #4558bf;padding:8px 10px;margin-bottom:10px}.forum2-quote b,.forum2-quote span{display:block}.forum2-quote span{font-size:11px;color:var(--app-muted);margin-top:2px}.forum2-attachment{display:inline-block;margin-top:10px;padding:7px 9px;background:var(--app-soft);color:#4558bf!important;font-size:11px}
.forum2-post-actions{display:flex;gap:5px;align-items:center;margin-top:12px}.forum2-post-actions form{margin:0}.forum2-post-actions button,.post-tools summary{border:0;background:var(--app-soft);color:var(--app-muted);padding:6px 9px;font-size:10px;cursor:pointer}.forum2-post-actions button.active{color:#d64d63}.post-tools{position:relative;margin-left:auto}.post-tools summary{list-style:none}.post-tools>div{position:absolute;right:0;top:30px;z-index:10;width:140px;border:1px solid var(--app-line);background:var(--app-surface);box-shadow:0 5px 15px rgba(0,0,0,.15)}.post-tools>div button{width:100%;text-align:left;background:transparent;border-bottom:1px solid var(--app-line)}
.forum2-pages{display:flex;gap:5px;margin:14px 0}.forum2-pages a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--app-line);background:var(--app-surface);color:inherit!important}.forum2-pages a.active{background:#4558bf;color:#fff!important}.forum2-reply{margin-top:14px;border:1px solid var(--app-line);background:var(--app-surface);padding:13px}.forum2-reply form{display:grid;gap:9px}.forum-editor-toolbar{display:flex;gap:4px}.forum-editor-toolbar button{border:1px solid var(--app-line);background:var(--app-soft);color:inherit;padding:6px 9px}.reply-hint{padding:7px 9px;background:#eef0ff;color:#4558bf;font-size:11px}.forum-file{font-size:11px;color:var(--app-muted)}
@media(max-width:760px){.forum2{padding:12px 8px 100px}.forum2-hero,.forum2-thread-head{align-items:flex-start;flex-direction:column}.forum2-hero h1,.forum2-thread-head h1{font-size:26px}.forum2-category{grid-template-columns:38px minmax(0,1fr);padding:10px}.forum2-stats,.forum2-last{display:none}.forum2-topic{grid-template-columns:38px minmax(0,1fr);padding:10px}.forum2-topic-stats{grid-column:2}.forum2-post{grid-template-columns:1fr}.forum2-author{display:grid;grid-template-columns:42px 1fr;column-gap:9px;text-align:left;align-items:center}.forum2-author img,.forum2-author>span{width:42px;height:42px;margin:0;grid-row:1/3}.forum2-author small{grid-column:2}.forum2-search{grid-template-columns:1fr auto}.forum2-message{padding:10px}.forum2-post-actions{flex-wrap:wrap}}

/* v0.9.33 Forum admin */
.forum-admin-hero{display:flex;justify-content:space-between;gap:18px;align-items:center}.forum-admin-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--app-line)}.forum-admin-symbol{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:rgba(69,88,191,.1);color:#4558bf;font-weight:800}.forum-admin-row small,.forum-admin-row em{display:block;color:var(--app-muted);font-size:11px;font-style:normal;margin-top:3px}.forum-admin-row details{position:relative}.forum-admin-row summary{list-style:none;cursor:pointer;padding:7px}.forum-admin-menu{position:absolute;right:0;top:32px;width:145px;z-index:20;background:var(--app-surface);border:1px solid var(--app-line);box-shadow:0 8px 20px rgba(0,0,0,.15)}.forum-admin-menu button{width:100%;border:0;border-bottom:1px solid var(--app-line);background:transparent;color:var(--app-text);text-align:left;padding:9px;cursor:pointer}@media(max-width:700px){.forum-admin-hero{align-items:flex-start;flex-direction:column}}

/* v0.9.34 Forum moderation */
.forum-admin-extra{margin-top:18px}.forum-admin-mod-list{margin-top:16px}.forum-admin-mod,.forum-admin-topic{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--app-line)}.forum-admin-mod small,.forum-admin-topic small{display:block;color:var(--app-muted);margin-top:3px}.forum-admin-topic>div{min-width:0}.forum-admin-topic b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forum-admin-topic form{display:flex;gap:7px;align-items:center}.forum-admin-topic select{max-width:180px}@media(max-width:700px){.forum-admin-topic{align-items:flex-start;flex-direction:column}.forum-admin-topic form{width:100%}.forum-admin-topic select{max-width:none;flex:1}}

/* v0.9.35 Forum ranks, reputation and role badges */
.forum-author-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:4px 0 7px}.forum-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;line-height:1.2}.forum-badge.admin{background:#ffe8e8;color:#c93636}.forum-badge.moderator{background:#e8f6ee;color:#248454}.forum-badge.author{background:#eef0ff;color:#4557c9}.forum-rank{font-weight:800!important;color:var(--app-accent,#4d5fc9)!important}.forum2-author small{line-height:1.35}@media(max-width:700px){.forum-author-badges{justify-content:flex-start}.forum2-author small{display:inline-block;margin-right:7px}}

/* Nova Market v0.9.36 */
.market-page{max-width:1120px;margin:0 auto;padding:18px 14px 100px}.market-hero{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.market-hero h1{font-size:30px;margin:3px 0}.market-actions{display:flex;gap:7px;flex-wrap:wrap}.market-search{display:grid;grid-template-columns:2fr 1.1fr 1fr 1fr .7fr .7fr auto;gap:7px;padding:10px;border:1px solid var(--app-line);background:var(--app-surface);margin-bottom:14px}.market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.market-card{overflow:hidden;border:1px solid var(--app-line);background:var(--app-surface);color:inherit!important}.market-photo{aspect-ratio:4/3;background:var(--app-soft);display:grid;place-items:center;position:relative;color:var(--app-muted)}.market-photo img{width:100%;height:100%;object-fit:cover}.market-photo i{position:absolute;top:7px;left:7px;background:#252525;color:#fff;padding:4px 7px;font-size:10px;font-style:normal}.market-card-body{padding:9px}.market-card-body strong,.market-card-body b,.market-card-body small{display:block}.market-card-body strong{font-size:17px;margin-bottom:3px}.market-card-body b{font-size:12px}.market-card-body small{font-size:10px;color:var(--app-muted);margin-top:5px}.market-form-card{max-width:720px;margin:12px auto;border:1px solid var(--app-line);background:var(--app-surface);padding:16px}.market-form-card form{display:grid;gap:10px}.market-form-card label{display:grid;gap:5px}.market-form-card small{color:var(--app-muted)}.market-form-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.market-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px}.market-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;background:var(--app-surface);border:1px solid var(--app-line);padding:6px}.market-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.market-gallery a:first-child{grid-column:1/-1}.market-gallery a:first-child img{aspect-ratio:16/9}.market-no-photo{grid-column:1/-1;min-height:300px;display:grid;place-items:center;background:var(--app-soft);color:var(--app-muted)}.market-description,.market-seller-card{margin-top:10px;padding:14px;border:1px solid var(--app-line);background:var(--app-surface)}.market-seller-card{margin-top:0;align-self:start;position:sticky;top:70px}.market-type{font-size:10px;color:#4558bf;font-weight:800}.market-seller-card h1{font-size:22px;margin:6px 0}.market-price{font-size:27px;font-weight:800;margin:8px 0}.market-price small{font-size:11px}.market-user{display:flex;gap:8px;align-items:center;padding:10px 0;margin:8px 0;border-top:1px solid var(--app-line);border-bottom:1px solid var(--app-line);color:inherit!important}.market-user span{width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#4558bf;color:#fff}.market-user img{width:100%;height:100%;object-fit:cover}.market-seller-card form{margin-top:7px}.market-report{margin-top:12px}.market-report form{display:grid;gap:6px}
@media(max-width:850px){.market-search{grid-template-columns:1fr 1fr}.market-grid{grid-template-columns:repeat(3,1fr)}.market-detail{grid-template-columns:1fr}.market-seller-card{position:static;grid-row:1}.market-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.market-page{padding:12px 8px 90px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.market-search{grid-template-columns:1fr 1fr}.market-search input:first-child{grid-column:1/-1}.market-card-body strong{font-size:15px}.market-form-row{grid-template-columns:1fr}.market-gallery{grid-template-columns:1fr}.market-gallery a:first-child{grid-column:auto}.market-gallery img,.market-gallery a:first-child img{aspect-ratio:4/3}}
/* Nova Market 0.9.38 */
.market-category-strip{display:flex;gap:9px;overflow-x:auto;padding:2px 1px 12px;scrollbar-width:none}.market-category-strip::-webkit-scrollbar{display:none}.market-category-chip{min-width:105px;padding:10px 8px;border:1px solid var(--app-line);background:var(--app-surface);display:flex;flex-direction:column;align-items:center;gap:6px;color:inherit!important;text-align:center}.market-category-chip span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--app-soft);color:#4c5ed0;font-weight:900;font-size:18px}.market-category-chip b{font-size:11px;line-height:1.2}.market-category-chip.active{border-color:#4c5ed0}.market-category-chip.active span{background:#4c5ed0;color:#fff}.market-search-v2{display:block}.market-search-main{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:8px}.market-search-main input{font-size:16px}.market-filter-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.market-filter-actions{display:flex;gap:7px;margin-top:8px}.market-list-head{display:flex;justify-content:space-between;align-items:center;margin:15px 1px 9px}.market-list-head span{font-size:12px;color:var(--app-muted)}.market-placeholder{display:flex;flex-direction:column;align-items:center;font-size:28px}.market-placeholder small{font-size:10px;margin-top:4px}.market-card-body strong em{font-size:10px;font-style:normal;color:var(--app-muted)}.market-card-meta{opacity:.8}.market-empty{grid-column:1/-1;display:grid;gap:9px;justify-items:start;padding:22px}.market-empty span{color:var(--app-muted)}
@media(max-width:850px){.market-filter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.market-hero h1{font-size:27px}.market-hero p{font-size:13px}.market-actions{width:100%}.market-actions .btn{flex:1;text-align:center;padding-left:7px;padding-right:7px;font-size:11px}.market-category-chip{min-width:92px}.market-search-main{grid-template-columns:1fr auto}.market-search-main .btn{padding-left:14px;padding-right:14px}.market-filter-grid{grid-template-columns:1fr 1fr}.market-filter-grid select:last-child{grid-column:1/-1}.market-filter-actions .btn{flex:1}.market-list-head{margin-top:12px}.market-photo{aspect-ratio:1/1}.market-card-body{padding:8px}.market-card-body b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-card-body small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Nova Market 0.9.39 — seller storefront, favorites notifications, similar listings */
.market-user div{min-width:0}.market-user div b,.market-user div small{display:block}.market-user div small{font-size:10px;color:var(--app-muted);margin-top:2px}.market-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0}.market-mini-stats span{background:var(--app-soft);padding:8px 4px;text-align:center;font-size:9px;color:var(--app-muted)}.market-mini-stats b{display:block;color:var(--app-text);font-size:15px}.market-similar{margin-top:20px}.market-seller-profile{border:1px solid var(--app-line);background:var(--app-surface);margin:10px 0 18px}.market-seller-profile-head{display:flex;align-items:center;gap:14px;padding:18px}.market-seller-profile-head h1{margin:3px 0;font-size:25px}.market-seller-profile-head a{font-size:11px}.market-seller-avatar{width:76px;height:76px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#4d62cf,#7456ee);color:#fff;font-size:28px;font-weight:800}.market-seller-avatar img{width:100%;height:100%;object-fit:cover}.market-seller-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--app-line)}.market-seller-stats span{text-align:center;padding:12px 5px;color:var(--app-muted);font-size:10px}.market-seller-stats b{display:block;color:var(--app-text);font-size:20px;margin-bottom:2px}@media(max-width:600px){.market-seller-profile-head{padding:14px}.market-seller-avatar{width:64px;height:64px}.market-similar .market-grid{display:flex;overflow-x:auto}.market-similar .market-card{min-width:155px}}

/* Nova Market 0.9.40 — visual category tiles */
.market-category-strip{gap:12px;padding:4px 1px 14px}.market-category-chip{position:relative;min-width:132px;height:118px;padding:0;border:0;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#202128,#292a31);box-shadow:0 7px 18px rgba(25,30,55,.12);justify-content:flex-end}.market-category-chip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.market-category-chip:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.market-category-chip b{position:relative;z-index:2;width:100%;padding:10px 9px 11px;color:#fff;font-size:13px;line-height:1.15;text-shadow:0 1px 4px rgba(0,0,0,.55)}.market-category-chip span{position:absolute;inset:0;width:auto;height:auto;border-radius:0;background:linear-gradient(145deg,#eef0ff,#dfe4ff);font-size:28px;z-index:1}.market-category-chip span+ b{color:#252938;text-shadow:none;background:linear-gradient(transparent,rgba(255,255,255,.95))}.market-category-chip.active{outline:3px solid #5368df;outline-offset:2px}.market-category-chip:hover img{transform:scale(1.04)}
.market-admin-category{display:flex!important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.market-admin-category-info{display:flex;align-items:center;gap:10px}.market-admin-category-info img,.market-admin-category-empty{width:58px;height:58px;border-radius:15px;object-fit:cover;display:grid;place-items:center;background:var(--app-soft)}.market-category-image-form{display:flex;align-items:center;gap:7px;max-width:320px}.market-category-image-form input[type=file]{min-width:0;max-width:190px;font-size:11px}
@media(max-width:600px){.market-category-strip{gap:9px}.market-category-chip{min-width:112px;height:104px;border-radius:21px}.market-category-chip b{font-size:12px;padding:8px}.market-admin-category{align-items:flex-start}.market-category-image-form{width:100%;max-width:none}.market-category-image-form input[type=file]{max-width:none;flex:1}}


/* Nova Market 0.9.41 — visual product cards */
.market-product-grid{gap:16px}
.market-product-card{border:0;border-radius:18px;background:transparent;overflow:visible;box-shadow:none;transition:transform .16s ease}
.market-product-card:hover{transform:translateY(-2px)}
.market-product-card .market-photo{aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--app-soft);box-shadow:0 3px 14px rgba(20,28,55,.09)}
.market-product-card .market-photo img{transition:transform .25s ease}
.market-product-card:hover .market-photo img{transform:scale(1.025)}
.market-product-card .market-card-body{padding:9px 3px 4px}
.market-product-card .market-card-body strong{font-size:18px;line-height:1.15;color:var(--app-text);font-weight:850;margin:0 0 5px}
.market-product-card .market-card-body b{font-size:14px;line-height:1.3;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
.market-product-card .market-card-body small{font-size:11px;margin-top:5px}
.market-product-card .market-card-location{color:var(--app-muted)}
.market-product-card .market-card-meta{font-size:10px;opacity:.72}
.market-condition{position:absolute;left:8px;bottom:8px;z-index:2;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:#222;font-size:10px;font-weight:800;box-shadow:0 2px 7px rgba(0,0,0,.12);backdrop-filter:blur(5px)}
.market-product-card .market-photo>i{top:8px;left:8px;bottom:auto;border-radius:999px;background:rgba(28,28,31,.88);padding:6px 9px;font-weight:800;z-index:3}
.market-product-card.is-sold .market-photo img{filter:grayscale(.4) brightness(.68)}
.market-product-card.is-sold .market-condition{display:none}
@media(max-width:600px){
 .market-product-grid{gap:12px 9px}
 .market-product-card{border-radius:14px}
 .market-product-card .market-photo{border-radius:14px}
 .market-product-card .market-card-body{padding:7px 2px 3px}
 .market-product-card .market-card-body strong{font-size:16px}
 .market-product-card .market-card-body b{font-size:12px;min-height:32px;white-space:normal}
 .market-product-card .market-card-body small{font-size:10px}
 .market-condition{left:6px;bottom:6px;padding:4px 7px;font-size:9px}
}
@media(min-width:1200px){.market-product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Nova Search v0.9.42 */
.header-search-link{text-decoration:none}.nova-search-page{max-width:980px;margin:0 auto;padding:18px 14px 100px}.nova-search-head{background:var(--app-surface);border:1px solid var(--app-line);padding:18px;margin-bottom:10px}.nova-search-head h1{font-size:28px;margin:4px 0}.nova-search-head p{color:var(--app-muted);margin:0 0 14px}.nova-search-form{display:flex;gap:7px}.nova-search-form input{flex:1;font-size:15px;padding:12px}.nova-search-tabs{display:flex;gap:6px;overflow:auto;padding:5px 0 11px;scrollbar-width:none}.nova-search-tabs a{white-space:nowrap;padding:8px 11px;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-text);font-size:12px}.nova-search-tabs a.active{background:#4558bf;color:#fff;border-color:#4558bf}.nova-search-tabs b{margin-left:5px;background:rgba(127,127,127,.15);padding:2px 5px;border-radius:10px;font-size:9px}.nova-search-section{margin:9px 0 16px}.nova-search-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.nova-search-section-title h2{font-size:15px;margin:0}.nova-search-section-title a{font-size:11px}.nova-search-results{display:grid;grid-template-columns:1fr 1fr;gap:7px}.nova-search-item{display:flex;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid var(--app-line);background:var(--app-surface);color:inherit!important}.nova-search-item>span:last-child{min-width:0}.nova-search-item b,.nova-search-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nova-search-item b{font-size:12px}.nova-search-item small{font-size:10px;color:var(--app-muted);margin-top:3px}.nova-search-avatar,.nova-search-thumb,.nova-search-symbol{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;background:var(--app-soft);overflow:hidden}.nova-search-avatar{border-radius:50%;background:#4558bf;color:#fff;font-weight:800}.nova-search-avatar img,.nova-search-thumb img{width:100%;height:100%;object-fit:cover}.nova-search-thumb{border-radius:8px}.nova-search-symbol{border-radius:8px;font-size:20px}.nova-search-empty{display:grid;gap:4px;text-align:center;padding:30px}.nova-search-empty span{color:var(--app-muted);font-size:12px}@media(max-width:650px){.nova-search-page{padding:10px 8px 90px}.nova-search-head{padding:12px}.nova-search-head h1{font-size:21px}.nova-search-results{grid-template-columns:1fr}.nova-search-form{display:grid;grid-template-columns:1fr auto}.nova-search-avatar,.nova-search-thumb,.nova-search-symbol{width:44px;height:44px;flex-basis:44px}}
/* Nova Activity v0.9.43 */
.activity-head{align-items:flex-start}.activity-head .muted{margin:6px 0 0}.activity-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:none}.activity-tabs::-webkit-scrollbar{display:none}.activity-tab{flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border:1px solid var(--line,#ddd);border-radius:15px;background:#fff;color:inherit;text-decoration:none;font-weight:700;white-space:nowrap}.activity-tab.active{background:var(--primary,#4b5fc7);color:#fff;border-color:transparent}.activity-tab b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:20px;background:#ef5350;color:#fff;font-size:12px}.activity-list{display:grid;gap:10px}.activity-list .notification-card{border-radius:18px;transition:transform .15s ease,box-shadow .15s ease}.activity-list .notification-card:active{transform:scale(.99)}.activity-empty{text-align:center;padding:38px 20px}.activity-empty>div{font-size:34px}.activity-empty b{display:block;font-size:20px;margin:8px 0}.activity-empty p{margin:0;color:#8a8a8a}@media(max-width:600px){.activity-head{gap:10px}.activity-head h1{font-size:34px}.activity-head .btn{padding:10px 12px}.activity-tabs{margin-right:-16px;padding-right:16px}.activity-tab{min-height:42px;padding:0 12px;font-size:14px}}

/* NovaCMS v0.9.44 — desktop drawer + stable single-icon theme toggle */
.theme-toggle .theme-icon{width:21px;height:21px;display:block;position:relative;border:2px solid currentColor;border-radius:50%;box-sizing:border-box;transition:transform .18s ease,background .18s ease}
html[data-theme="light"] .theme-toggle .theme-icon{background:currentColor;box-shadow:0 -7px 0 -5px currentColor,0 7px 0 -5px currentColor,7px 0 0 -5px currentColor,-7px 0 0 -5px currentColor,5px 5px 0 -5px currentColor,-5px -5px 0 -5px currentColor,5px -5px 0 -5px currentColor,-5px 5px 0 -5px currentColor}
html[data-theme="dark"] .theme-toggle .theme-icon{background:transparent;border:0;box-shadow:inset -7px -2px 0 0 currentColor;transform:rotate(-18deg)}
html[data-theme="dark"] .theme-toggle .theme-icon:after{content:"";position:absolute;inset:1px;border-radius:50%;border:2px solid currentColor}
@media(min-width:821px){
  .menu-toggle{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  .mobile-menu{display:block!important;visibility:visible!important}
  .app-header .theme-toggle{display:grid!important}
}
@media(max-width:820px){
  .app-header .theme-toggle{display:grid!important}
}


/* NovaCMS v0.9.45 — modal drawer backdrop */
.menu-backdrop{
  position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.48);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;
}
.menu-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}
html.menu-open,body.menu-open{overflow:hidden!important;overscroll-behavior:none}
.mobile-menu{z-index:100!important}
@media (prefers-reduced-motion:reduce){.menu-backdrop,.mobile-menu{transition:none!important}}
/* Nova Saved v0.9.49 */
.saved-page{max-width:980px;margin:0 auto;padding:18px 14px 100px}.saved-head{padding:18px;border:1px solid var(--app-line);background:var(--app-surface);margin-bottom:10px}.saved-head h1{font-size:28px;margin:4px 0}.saved-head p{margin:0;color:var(--app-muted)}.saved-tabs{display:flex;gap:6px;overflow:auto;padding:4px 0 12px;scrollbar-width:none}.saved-tabs a{white-space:nowrap;padding:8px 11px;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-text);font-size:12px}.saved-tabs a.active{background:#4558bf;color:#fff;border-color:#4558bf}.saved-tabs b{margin-left:5px;font-size:9px;background:rgba(127,127,127,.18);padding:2px 5px;border-radius:10px}.saved-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.saved-card{display:flex;align-items:center;gap:7px;padding:8px;border:1px solid var(--app-line);background:var(--app-surface)}.saved-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:inherit!important}.saved-main>span:last-child{min-width:0}.saved-main b,.saved-main small,.saved-main em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-main b{font-size:13px}.saved-main small{font-size:10px;color:var(--app-muted);margin-top:3px}.saved-main em{font-style:normal;font-size:9px;color:var(--app-muted);margin-top:4px}.saved-thumb{width:58px;height:58px;flex:0 0 58px;border-radius:9px;overflow:hidden;background:var(--app-soft);display:grid;place-items:center;font-size:22px}.saved-thumb img{width:100%;height:100%;object-fit:cover}.saved-remove{border:0;background:transparent;font-size:18px;cursor:pointer;padding:8px}.saved-empty{grid-column:1/-1;display:grid;gap:5px;text-align:center;padding:34px}.saved-empty span{font-size:12px;color:var(--app-muted)}@media(max-width:650px){.saved-page{padding:10px 8px 90px}.saved-head{padding:13px}.saved-head h1{font-size:22px}.saved-grid{grid-template-columns:1fr}.saved-thumb{width:52px;height:52px;flex-basis:52px}}

/* NovaCMS v0.9.49 — drawer starts BELOW the site header */
:root{--nova-app-header-h:58px}
.app-header{z-index:120!important}

/* Drawer itself never covers the blue site header. */
.mobile-menu{
  display:block!important;
  position:fixed!important;
  top:var(--nova-app-header-h)!important;
  left:0!important;
  bottom:auto!important;
  width:min(360px,82vw)!important;
  height:calc(100dvh - var(--nova-app-header-h))!important;
  max-height:calc(100dvh - var(--nova-app-header-h))!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  z-index:110!important;
  transform:translateX(-104%)!important;
  transition:transform .22s ease!important;
  box-shadow:5px 0 22px rgba(0,0,0,.22)!important;
}
.mobile-menu.open{transform:translateX(0)!important}

/* The dark layer also starts below the header, so the header remains visible/usable. */
.menu-backdrop{
  position:fixed!important;
  top:var(--nova-app-header-h)!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  height:auto!important;
  z-index:105!important;
  background:rgba(0,0,0,.48)!important;
}
.menu-backdrop.open{pointer-events:auto!important}

/* Closing happens from the hamburger/X in the real site header, not from a second menu header. */
.mobile-menu-close{display:none!important}

/* Keep the profile/guest block as the first content INSIDE the drawer. */
.drawer-profile{
  min-height:106px!important;
  padding:18px 16px!important;
  background:var(--app-surface)!important;
  border-bottom:1px solid var(--app-line)!important;
}

/* Slightly more Bymas-like menu rhythm. */
.drawer-nav{padding:0!important}
.drawer-nav a{
  min-height:58px!important;
  padding:0 17px!important;
  grid-template-columns:44px minmax(0,1fr)!important;
}
.drawer-rulavi-icon svg{width:25px!important;height:25px!important}

/* When the drawer is open, the actual header button becomes the close button. */
html.menu-open .menu-toggle,
body.menu-open .menu-toggle{background:rgba(255,255,255,.13)!important}

@media(max-width:520px){
  .mobile-menu{width:84vw!important}
}
@media(min-width:821px){
  .mobile-menu{width:min(380px,38vw)!important}
}
@media(prefers-reduced-motion:reduce){
  .mobile-menu,.menu-backdrop{transition:none!important}
}
/* NovaCMS v0.9.59 — hashtags */
.nova-hashtag{color:var(--app-accent)!important;font-weight:700;text-decoration:none}.nova-hashtag:hover{text-decoration:underline}.nova-tag-cloud{padding:14px 16px;margin-bottom:12px}.nova-tag-cloud>b{display:block;margin-bottom:10px}.nova-tag-cloud>div{display:flex;gap:7px;flex-wrap:wrap}.nova-tag-cloud a{padding:7px 10px;border-radius:18px;background:var(--app-accent-soft);color:var(--app-accent)!important;font-weight:700;font-size:12px}.nova-tag-cloud small{opacity:.72;margin-left:3px}

/* NovaCMS v0.9.59 — language selector */
.nova-language-menu{position:relative}
.nova-language-menu>summary{list-style:none;cursor:pointer}
.nova-language-menu>summary::-webkit-details-marker{display:none}
.nova-language-popover{position:absolute;right:0;top:48px;z-index:160;width:205px;padding:8px;background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-line);box-shadow:0 8px 24px rgba(0,0,0,.18);border-radius:10px}
.nova-language-popover>b{display:block;padding:6px 8px 8px;font-size:11px;color:var(--app-muted)}
.nova-language-popover form{margin:0}
.nova-language-popover button{width:100%;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:7px;border:0;background:transparent;color:var(--app-text);padding:8px;border-radius:7px;text-align:left;cursor:pointer}
.nova-language-popover button:hover,.nova-language-popover button.active{background:var(--app-accent-soft);color:var(--app-accent)}
.nova-language-popover button span{font-size:10px;font-weight:900}
.nova-language-popover button em{font-style:normal;font-size:12px}

/* NovaCMS v0.9.59 — @mentions */
.nova-mention{color:var(--app-accent)!important;font-weight:800;text-decoration:none}
.nova-mention:hover{text-decoration:underline}

/* NovaCMS v0.9.59 — mention autocomplete */
.nova-mention-compose{position:relative}
.nova-mention-compose textarea{width:100%}
.nova-mention-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:145;max-height:290px;overflow:auto;background:var(--app-surface);border:1px solid var(--app-line);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);padding:6px}
.nova-mention-suggest[hidden]{display:none!important}
.nova-mention-option{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--app-text);padding:8px 10px;border-radius:9px;text-align:left;cursor:pointer}
.nova-mention-option:hover,.nova-mention-option.active{background:var(--app-accent-soft);color:var(--app-accent)}
.nova-mention-avatar{width:34px;height:34px;min-width:34px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--app-accent-soft);font-weight:900}
.nova-mention-option b{font-size:13px}

/* NovaCMS v0.9.59 — Nova Control mobile header: language + profile stay on the right */
@media(max-width:600px){
  .admin-mobile-bar{grid-template-columns:42px minmax(0,1fr) 37px 37px!important;}
  .admin-mobile-bar .admin-language-menu{grid-column:3;justify-self:end;margin:0!important;position:relative;}
  .admin-mobile-bar .admin-language-menu>summary{margin:0!important;list-style:none;}
  .admin-mobile-bar .admin-language-menu>summary::-webkit-details-marker{display:none;}
  .admin-mobile-bar>a.admin-mobile-avatar{grid-column:4;justify-self:end;margin:0!important;}
}

/* Nova API permission switches */
.api-permissions{display:grid;gap:10px;margin-top:12px}
.api-permission{display:flex!important;align-items:center;justify-content:space-between;gap:16px;margin:0!important;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--card,#fff);cursor:pointer}
.api-permission-info{min-width:0;display:flex;flex-direction:column;gap:4px}
.api-permission-info strong{font-size:15px}
.api-permission-info code{width:max-content;max-width:100%;font-size:12px}
.api-switch{position:relative;flex:0 0 auto;width:46px;height:26px}
.api-switch input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;pointer-events:none}
.api-switch-ui{display:block;width:46px;height:26px;border-radius:999px;background:#c9cbd3;transition:.2s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.api-switch-ui:after{content:"";display:block;width:20px;height:20px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}
.api-switch input:checked + .api-switch-ui{background:var(--primary,#4d61d6)}
.api-switch input:checked + .api-switch-ui:after{transform:translateX(20px)}
.api-switch input:focus-visible + .api-switch-ui{outline:3px solid rgba(77,97,214,.25);outline-offset:2px}
@media(max-width:560px){.api-permission{padding:13px 14px;border-radius:14px}.api-permission-info strong{font-size:14px}}

/* NovaCMS v0.9.62 — RBAC roles and permissions */
.role-permission-card{margin-top:16px}
.permission-groups{display:grid;gap:18px}
.permission-group{padding:16px;border:1px solid var(--app-line,var(--border));border-radius:16px;background:var(--app-surface,#fff)}
.permission-group h3{margin:0 0 12px;font-size:14px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.permission-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--app-line,var(--border));border-radius:13px;cursor:pointer;transition:.18s;background:var(--app-surface,#fff)}
.permission-item:hover,.permission-item.is-on{border-color:var(--app-accent,var(--primary));background:var(--app-accent-soft,rgba(114,87,255,.08))}
.permission-item input{margin-top:3px;accent-color:var(--app-accent,var(--primary))}
.permission-item span{display:flex;min-width:0;flex-direction:column;gap:4px}
.permission-item b{font-size:13px;line-height:1.3}
.permission-item small{font-size:11px;color:var(--app-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}
.role-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
@media(max-width:760px){.permission-grid{grid-template-columns:1fr}.permission-group{padding:12px}.permission-item{padding:11px}}


/* NovaCMS v0.9.65 — UI switches, public users directory, profile links */
.permission-grid{grid-template-columns:1fr!important;gap:0!important;border:1px solid var(--app-line,var(--border));border-radius:18px;overflow:hidden;background:var(--app-surface,#fff)}
.permission-item{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;gap:18px!important;padding:15px 16px!important;border:0!important;border-bottom:1px solid var(--app-line,var(--border))!important;border-radius:0!important;background:transparent!important;min-height:72px;cursor:pointer}
.permission-item:last-child{border-bottom:0!important}.permission-item:hover{background:var(--app-soft,#f7f8fc)!important}.permission-item.is-on{background:transparent!important}.permission-item input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.permission-copy{display:flex!important;flex-direction:column;gap:5px;min-width:0}.permission-copy b{font-size:15px!important;line-height:1.25}.permission-copy small{display:inline-flex!important;width:max-content;max-width:100%;padding:3px 7px;border-radius:7px;background:var(--app-accent-soft,rgba(114,87,255,.10));font-size:12px!important}.permission-switch{width:52px;height:30px;border-radius:999px;background:#cbd0d9;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);padding:3px;transition:.2s ease;flex:0 0 auto}.permission-switch i{display:block;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.22);transition:transform .2s ease}.permission-item input:checked~.permission-switch{background:var(--app-accent,var(--primary))}.permission-item input:checked~.permission-switch i{transform:translateX(22px)}.permission-item input:focus-visible~.permission-switch{outline:3px solid rgba(77,97,214,.22);outline-offset:3px}.permission-item input:disabled~.permission-switch{opacity:.65}.permission-group{padding:0!important;border:0!important;background:transparent!important}.permission-group>h3{margin:0 0 9px 2px}.permission-groups{gap:22px!important}
.users-directory-hero .users-total{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:var(--app-accent-soft,rgba(114,87,255,.10));font-weight:700}.users-directory-toolbar{padding:12px}.users-search-form{display:flex;align-items:center;gap:8px;position:relative}.users-search-form input{flex:1;min-width:0;padding-left:42px!important}.users-search-icon{position:absolute;left:15px;font-size:23px;color:var(--app-muted);pointer-events:none}.users-clear-search{position:absolute;right:91px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--app-soft,#eef0f5);font-size:20px;text-decoration:none}.users-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.user-directory-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;text-decoration:none;color:inherit;transition:.18s}.user-directory-card:hover{transform:translateY(-2px);border-color:var(--app-accent,var(--primary));box-shadow:0 10px 28px rgba(20,24,40,.08)}.user-directory-avatar{position:relative;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;overflow:visible;background:var(--app-accent-soft,rgba(114,87,255,.12));font-weight:800;font-size:21px}.user-directory-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-online-dot{position:absolute;right:1px;bottom:2px;width:13px;height:13px;border-radius:50%;background:#38c172;border:3px solid var(--app-surface,#fff)}.user-directory-info{display:flex;flex-direction:column;gap:3px;min-width:0}.user-directory-info strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-directory-info .role-pill{width:max-content;font-size:10px}.user-directory-info>span:not(.role-pill){font-size:12px;color:var(--app-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-directory-info em{font-style:normal;font-size:11px;color:var(--app-muted)}.user-directory-arrow{font-size:28px;color:var(--app-muted)}.users-pagination{display:flex;justify-content:center;gap:7px;margin-top:20px}.users-pagination a{min-width:38px;height:38px;padding:0 10px;border:1px solid var(--app-line,var(--border));border-radius:11px;display:grid;place-items:center;text-decoration:none;color:inherit}.users-pagination a.active{background:var(--app-accent,var(--primary));color:#fff;border-color:var(--app-accent,var(--primary))}.users-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}.chat-user-link,.post-user-link,.forum-user-link,.forum-author-profile{color:inherit;text-decoration:none}.chat-user-link{display:flex;align-items:center;gap:9px}.chat-user-link:hover b,.post-user-link:hover,.forum-user-link:hover,.forum-author-profile:hover b{text-decoration:underline}.forum-author-profile{display:flex;flex-direction:column;align-items:center;gap:7px}.dialog-list{position:relative}.dialog-profile-link{float:right;margin-top:-54px;margin-right:8px;position:relative;z-index:3;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--app-soft,#eef0f5);text-decoration:none;color:var(--app-muted)}
@media(max-width:980px){.users-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.permission-item{min-height:68px;padding:13px 12px!important}.permission-switch{width:48px;height:28px;padding:3px}.permission-switch i{width:22px;height:22px}.permission-item input:checked~.permission-switch i{transform:translateX(20px)}.users-directory-grid{grid-template-columns:1fr}.users-search-form{display:grid;grid-template-columns:1fr auto}.users-search-form input{grid-column:1/-1}.users-search-form .btn{grid-column:2;display:none}.users-clear-search{right:10px}.user-directory-card{padding:12px}.users-community-preview{padding-top:4px}}

.friends-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.friends-title-row h1{margin:0}@media(max-width:560px){.friends-title-row{align-items:flex-start;flex-direction:column}.friends-title-row .btn{width:100%}}

/* NovaCMS v0.9.70 — gift action moved to Gifts section */
.social-profile-actions{
  flex-wrap:nowrap!important;
  gap:9px!important;
}
.social-profile-actions>form{margin:0!important;display:flex!important}
.social-profile-actions .profile-action{flex:0 0 auto}
.js-report-open{border:0;cursor:pointer;font:700 22px/1 Manrope,system-ui,sans-serif}
.profile-gift-fab{display:none!important}
.profile-report-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px}
.profile-report-modal[hidden]{display:none!important}
.profile-report-backdrop{position:absolute;inset:0;border:0;background:rgba(10,12,20,.58);backdrop-filter:blur(3px);cursor:pointer}
.profile-report-dialog{position:relative;z-index:1;width:min(440px,100%);max-height:min(620px,calc(100vh - 36px));overflow:auto;background:var(--app-surface,#fff);color:var(--app-text,var(--text));border:1px solid var(--app-line,var(--line));border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.profile-report-dialog h3{margin:0 38px 5px 0;font-size:21px}
.profile-report-dialog p{margin:0 0 16px}
.profile-report-dialog textarea{width:100%;min-height:112px;resize:vertical}
.profile-report-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:var(--app-soft,#eef0f5);color:var(--app-text,var(--text));font-size:25px;line-height:1;cursor:pointer}
.profile-report-dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
body.report-modal-open{overflow:hidden}
.user-directory-avatar{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;max-width:58px!important;max-height:58px!important;aspect-ratio:1/1!important;flex:0 0 58px!important;border-radius:50%!important;overflow:visible!important}
.user-directory-avatar img{display:block!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;max-width:58px!important;max-height:58px!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important}
@media(max-width:650px){
  .social-profile-main{overflow:visible!important}
  .social-profile-actions{gap:7px!important;padding-top:12px!important;min-height:61px!important}
  .social-profile-actions .profile-action{width:44px!important;height:44px!important}
  .social-profile-actions .profile-action svg{width:22px!important;height:22px!important}
  .profile-report-dialog{border-radius:16px;padding:20px 16px 16px}
  .profile-report-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
  .profile-report-dialog-actions .btn{width:100%}
  .user-directory-card{grid-template-columns:62px minmax(0,1fr) 22px!important;gap:12px!important}
  .user-directory-avatar,.user-directory-avatar img{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;max-width:58px!important;max-height:58px!important}
}
@media(max-width:390px){
  .social-profile-actions{gap:5px!important}
  .social-profile-actions .profile-action{width:42px!important;height:42px!important}
}


/* NovaCMS v0.9.70 — gift button lives in the Gifts section, not over profile actions */
.profile-gifts-head{gap:12px;flex-wrap:wrap}
.profile-gifts-title{display:inline-flex;align-items:center;gap:7px}
.profile-gifts-head-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.profile-gifts-count{min-width:22px;text-align:center;color:var(--app-muted)}
.profile-gift-send-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border-radius:10px;background:var(--primary,#4558bf);color:#fff!important;font-weight:700;font-size:13px;white-space:nowrap;box-shadow:0 3px 10px rgba(69,88,191,.18)}
.profile-gift-send-btn:hover{filter:brightness(1.04);text-decoration:none}
@media(max-width:520px){
  .profile-gifts-head{align-items:center;padding:12px 14px}
  .profile-gifts-head-actions{gap:7px}
  .profile-gift-send-btn{min-height:34px;padding:7px 10px;font-size:12px}
}
@media(max-width:370px){
  .profile-gifts-head-actions{width:100%;margin-left:0;justify-content:space-between}
  .profile-gift-send-btn{flex:1}
}
.module-upload{display:flex;align-items:center;gap:12px;padding:16px;margin:0 0 18px;border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:16px;background:var(--soft)}.module-upload>div{display:grid;gap:3px;margin-right:auto}.module-upload small{color:var(--muted)}.module-file{position:relative;display:inline-flex}.module-file input{position:absolute;opacity:0;width:1px;height:1px}.module-file span{min-height:42px;display:flex;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--solid);font-weight:800;cursor:pointer}.module-actions{display:flex;align-items:center;gap:7px}.module-package-badge{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:10px;font-weight:900}@media(max-width:650px){.module-upload{align-items:stretch;flex-direction:column}.module-upload .btn,.module-file,.module-file span{width:100%;justify-content:center}.module-actions{flex-wrap:wrap;justify-content:flex-end}}
