*{box-sizing:border-box} :root{--red:#ef233c;--red2:#d71932;--ink:#20242b;--muted:#7b838f;--line:#e7e9ed;--bg:#f4f5f7;--white:#fff} body{margin:0;font-family:'Be Vietnam Pro',sans-serif;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
/* LOGIN */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 0,#fff 0,#f4f5f7 48%)}.login-card{width:min(400px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 24px 70px #15192212}.logo{display:flex;align-items:center;gap:10px}.logo img{width:38px;height:38px;object-fit:contain}.logo b{font-size:22px}.logo em{font-style:normal;color:var(--red)}.login-card h1{margin:28px 0 7px}.login-card p{font-size:12px;color:var(--muted);line-height:1.6}.login-card label{display:block;font-size:11px;font-weight:700;margin:16px 0}.login-card input{display:block;width:100%;height:44px;margin-top:7px;border:1px solid #dfe3e8;border-radius:9px;padding:0 12px;outline:none}.login-card input:focus{border-color:var(--red)}.login-card button,.primary{border:0;border-radius:9px;background:var(--red);color:#fff;font-weight:800}.login-card button{width:100%;height:44px}.login-card small{display:block;color:var(--red2);margin-top:12px;min-height:18px}
/* PORTAL SHELL */
.app{display:none;min-height:100vh}.app.open{display:grid;grid-template-columns:238px 1fr}.login-wrap.hidden{display:none}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#171a20;color:#fff;display:flex;flex-direction:column;z-index:40}.side-brand{height:76px;padding:0 20px;display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;border-bottom:1px solid #ffffff12}.side-brand img{width:38px;height:38px;object-fit:contain}.side-brand span{display:flex;flex-direction:column}.side-brand b{font-size:13px;letter-spacing:.8px}.side-brand small{font-size:8px;color:#8d949f;margin-top:3px;letter-spacing:1.5px}.admin-nav{padding:18px 12px;display:flex;flex-direction:column;gap:5px}.nav-item{position:relative;width:100%;height:44px;border:0;border-radius:9px;background:transparent;color:#aeb4bd;display:flex;align-items:center;gap:11px;padding:0 12px;text-align:left;font-size:11px;font-weight:600}.nav-item>span{width:22px;text-align:center;font-size:16px}.nav-item:hover{background:#ffffff09;color:#fff}.nav-item.active{background:#ef233c18;color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;width:3px;height:20px;border-radius:3px;background:var(--red)}.nav-item i{display:none;margin-left:auto;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff;font-size:8px;font-style:normal;place-items:center}.nav-item i.show{display:grid}.nav-item small{margin-left:auto;background:#ffffff10;color:#777f8a;border-radius:5px;padding:3px 5px;font-size:7px}.nav-item.disabled{opacity:.45;cursor:default}.side-bottom{margin-top:auto;padding:14px 12px 18px;border-top:1px solid #ffffff10;display:grid;gap:6px}.side-bottom a,.side-bottom button{height:38px;border:0;border-radius:8px;background:transparent;color:#8f97a2;text-decoration:none;display:flex;align-items:center;padding:0 12px;font-size:10px}.side-bottom a:hover,.side-bottom button:hover{background:#ffffff09;color:#fff}.admin-shell{grid-column:2;min-width:0}.topbar{position:sticky;top:0;z-index:30;height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.topbar>div{display:flex;align-items:center;gap:12px}.topbar h1{font-size:15px;margin:0}.topbar button{border:1px solid #dfe3e8;background:#fff;color:#343a43;border-radius:8px;padding:8px 11px;font-size:9px}.topbar #mobileMenu{display:none;font-size:16px;border:0}.admin-pill{font-size:8px;font-weight:800;color:var(--red);background:#fff0f2;border:1px solid #ffd4da;padding:6px 8px;border-radius:7px}.portal-main{padding:24px;max-width:1500px;margin:auto}.portal-view{display:none}.portal-view.active{display:block}
/* DASHBOARD */
.welcome{min-height:160px;border-radius:16px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;color:#fff;background:linear-gradient(120deg,#1a1d23 0%,#252a33 65%,#34191e 100%);box-shadow:0 16px 40px #171a2015}.welcome small,.content-toolbar small,.panel-head small{font-size:8px;letter-spacing:1.5px;font-weight:800;color:#ef233c}.welcome h2{font-size:25px;margin:7px 0}.welcome p{margin:0;color:#adb3bc;font-size:11px}.primary{min-height:40px;padding:0 15px;font-size:9px;letter-spacing:.3px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;display:flex;align-items:center;gap:13px}.stats-grid article>span{width:38px;height:38px;border-radius:10px;background:#f5f6f8;display:grid;place-items:center}.stats-grid small{display:block;font-size:7px;color:#9299a3;font-weight:800;letter-spacing:.6px}.stats-grid b{display:block;font-size:24px;margin-top:3px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.panel-head{padding:17px 18px;border-bottom:1px solid #edf0f3;display:flex;align-items:center;justify-content:space-between}.panel-head h3{font-size:13px;margin:4px 0 0}.panel-head button{border:0;background:none;color:var(--red2);font-size:8px;font-weight:700}.mini-list{padding:7px}.mini-list>button{width:100%;border:0;background:#fff;border-radius:9px;padding:9px;display:flex;align-items:center;gap:10px;text-align:left}.mini-list>button:hover{background:#f7f8fa}.mini-list>button>span:nth-child(2){min-width:0;flex:1}.mini-list b,.mini-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-list b{font-size:10px}.mini-list small{font-size:8px;color:#9299a3;margin-top:3px}.mini-list i{font-style:normal;color:#a7adb5}.mini-avatar,.mini-news{width:34px!important;height:34px;border-radius:9px;background:#fff0f2;color:var(--red);display:grid!important;place-items:center;font-size:11px;font-weight:800;flex:none}.mini-news{background:#f1f3f6;color:#4b535e}
/* SUPPORT */
.support-layout{height:calc(100vh - 118px);min-height:580px;display:grid;grid-template-columns:330px 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.inbox-panel{background:#f8f9fb;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.tools{padding:14px;display:flex;gap:7px}.tools input,#input{width:100%;border:1px solid #dfe3e8;border-radius:8px;height:40px;padding:0 12px;outline:none}.tools input:focus,#input:focus{border-color:var(--red)}.tools button{width:40px;border-radius:8px;background:#fff;border:1px solid #e1e4e9;font-size:18px}.filters{padding:0 14px 12px;display:flex;gap:5px}.filters button{border:0;font-size:9px;padding:7px 9px;border-radius:6px;background:#eceff3;color:#626b77}.filters button.active{background:var(--red);color:#fff}.list{overflow:auto;padding:0 9px 12px}.item{position:relative;width:100%;border:1px solid #e4e7ec;background:#fff;border-radius:9px;padding:11px;text-align:left;margin-bottom:7px;cursor:pointer}.item:hover,.item.active{border-color:var(--red);background:#fff5f6}.item b,.item span,.item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item b{font-size:12px}.item span{font-size:9px;color:#646d79;margin-top:5px}.item small{font-size:8px;color:#9299a3;margin-top:4px}.badge{float:right;font-size:7px!important;padding:3px 5px;border-radius:5px;background:#edf0f3}.badge.open{color:#d71932;background:#ffe8ec}.item .unread-badge{position:absolute;right:10px;bottom:10px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff!important;font-size:8px!important;font-weight:800;display:grid;place-items:center;margin:0}.item.has-unread{border-color:#ffc5ce}.note-preview{color:#d71932!important;margin-top:6px!important}.real-name{color:#9aa1ab!important;font-size:8px!important}.chat-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.player{min-height:58px;padding:13px 18px;border-bottom:1px solid #e8ebef;font-size:11px;display:flex;align-items:center}.admin-meta{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr) 70px auto;gap:8px;align-items:end;padding:9px 18px;background:#fff;border-bottom:1px solid #e8ebef}.meta-field label{display:block;font-size:8px;font-weight:800;color:#6f7782;margin:0 0 5px}.meta-field label span{font-weight:500;color:#a0a6af}.meta-field input{width:100%;height:34px;border:1px solid #dfe3e8;border-radius:7px;padding:0 10px;font-size:10px;outline:none}.meta-field input:focus{border-color:var(--red)}#saveMeta{height:34px;border:0;border-radius:7px;background:#20242b;color:#fff;font-size:9px;font-weight:800}.messages{flex:1;overflow:auto;padding:20px;background:#f5f6f8;display:flex;flex-direction:column;gap:9px}.msg{max-width:72%;padding:10px 12px;border-radius:11px;font-size:11px;line-height:1.5;display:flex;flex-direction:column;align-items:flex-start;flex:0 0 auto}.messages .msg.player{align-self:flex-start;background:#fff;border:1px solid #e3e6eb;min-height:0}.msg.admin{align-self:flex-end;background:var(--red);color:#fff}.msg small{width:100%;display:block;font-size:7px;opacity:.65;margin-top:5px;white-space:nowrap}.statusbar{min-height:42px;padding:6px 12px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:7px}.statusbar button{border:0;padding:7px 10px;border-radius:6px;background:#eef0f3;font-size:9px;font-weight:700}.statusbar button:disabled{opacity:.4}#form{min-height:64px;padding:10px 12px;border-top:1px solid var(--line);display:flex;gap:8px}#form .send-btn{width:90px;border:0;border-radius:8px;background:var(--red);color:#fff;font-weight:800}#form button:disabled,#input:disabled{opacity:.45}.image-pick{width:42px!important;min-width:42px;border-radius:8px;background:#f1f3f6!important;color:#343a43!important;border:1px solid #dfe3e8!important;font-size:17px}.chat-search{min-height:48px;padding:7px 18px;border-bottom:1px solid #e8ebef;background:#fff;display:flex;align-items:center;gap:6px}.chat-search input{flex:1;min-width:0;height:33px;border:1px solid #dfe3e8;border-radius:7px;padding:0 10px;font-size:10px}.chat-search span{font-size:9px;color:#737b87}.chat-search button{width:32px;height:32px;border:1px solid #dfe3e8;background:#fff;border-radius:7px}.msg.search-hit{outline:2px solid #f6b400}.msg.search-current{outline:3px solid var(--red)}mark{background:#ffe16a}.image-preview{min-height:58px;padding:7px 12px;border-top:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.preview-grid{display:flex;gap:6px}.preview-thumb{position:relative;width:48px;height:48px}.preview-thumb img{width:48px;height:48px;object-fit:cover;border-radius:7px}.preview-thumb button{position:absolute;right:-5px;top:-5px;width:18px;height:18px;border:0;background:#20242b;color:#fff;border-radius:50%}.chat-image-grid{width:100%;display:grid;gap:4px;grid-template-columns:1fr;overflow:hidden;border-radius:9px}.chat-image-grid.count-2,.chat-image-grid.count-3{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-image-grid .chat-image{width:100%;height:150px;object-fit:cover;border-radius:7px;cursor:zoom-in}.chat-image-grid.count-3 .chat-image:first-child{grid-row:span 2;height:220px}.chat-image-grid.count-3 .chat-image:not(:first-child){height:108px}.image-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:#0a0c10e8;padding:42px;align-items:center;justify-content:center}.image-lightbox.open{display:flex}.image-lightbox img{max-width:92vw;max-height:88vh;border-radius:10px}.image-lightbox-close{position:fixed;right:24px;top:18px;width:42px;height:42px;border:0;border-radius:50%;font-size:28px}.empty{padding:24px 12px;text-align:center;color:#9098a3;font-size:10px}
/* CMS */
.content-toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px}.content-toolbar h2{font-size:22px;margin:5px 0}.content-toolbar p{font-size:10px;color:#8b929c;margin:0}.cms-filters{display:flex;gap:8px;margin-bottom:10px}.cms-filters input,.cms-filters select{height:39px;border:1px solid #dfe3e8;background:#fff;border-radius:8px;padding:0 11px;font-size:10px;outline:none}.cms-filters input{width:min(360px,45%)}.cms-table-wrap{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:auto}.cms-table{width:100%;border-collapse:collapse;min-width:850px}.cms-table th{height:42px;padding:0 13px;text-align:left;background:#f8f9fb;color:#8c949e;font-size:7px;letter-spacing:.7px}.cms-table td{padding:11px 13px;border-top:1px solid #edf0f3;font-size:9px}.post-cell{display:flex;align-items:center;gap:10px;min-width:300px}.post-cell img,.no-cover{width:62px;height:40px;border-radius:7px;object-fit:cover;background:#f1f3f6;display:grid;place-items:center;color:#9aa1ab;font-weight:800}.post-cell span:last-child{min-width:0}.post-cell b,.post-cell small{display:block;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-cell b{font-size:10px}.post-cell small{font-size:8px;color:#9299a3;margin-top:4px}.type-pill,.status-pill{display:inline-block;padding:5px 7px;border-radius:6px;font-size:7px;font-weight:800}.type-pill{background:#eef2f7;color:#59616d}.type-pill.event{background:#fff0e8;color:#b45a1d}.status-pill.published{background:#e8f8ef;color:#16844a}.status-pill.draft{background:#f0f1f3;color:#6d7580}.status-pill.hidden{background:#fff0f2;color:#c91e34}.row-actions{display:flex;gap:5px}.row-actions button{border:1px solid #dfe3e8;background:#fff;border-radius:6px;padding:6px 8px;font-size:8px}.row-actions .danger{color:#d71932}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#101318a8;display:grid;place-items:center;padding:22px}.post-modal{width:min(820px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 25px 90px #0005}.modal-head{position:sticky;top:0;z-index:2;background:#fff;padding:20px 22px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal-head small{font-size:7px;color:var(--red);font-weight:800;letter-spacing:1px}.modal-head h2{font-size:18px;margin:4px 0}.modal-head>button{width:34px;height:34px;border:0;border-radius:50%;font-size:22px}.post-grid{padding:18px 22px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.post-grid label{font-size:9px;font-weight:700;color:#5f6772}.post-grid label.wide{grid-column:1/-1}.post-grid input,.post-grid select,.post-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid #dfe3e8;border-radius:8px;padding:10px;outline:none;font-size:10px;resize:vertical}.post-grid input,.post-grid select{height:40px}.post-grid input:focus,.post-grid textarea:focus,.post-grid select:focus{border-color:var(--red)}.cover-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.post-preview{display:block;width:180px;height:100px;object-fit:cover;border-radius:8px;margin-top:9px}.modal-actions{padding:0 22px 20px;display:flex;justify-content:flex-end;gap:8px}.ghost{min-height:40px;padding:0 15px;border:1px solid #dfe3e8;background:#fff;border-radius:9px;font-size:9px;font-weight:800}#postStatusText{display:block;padding:0 22px 18px;color:var(--red2);font-size:9px}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.support-layout{grid-template-columns:280px 1fr}.admin-meta{grid-template-columns:1fr 1fr 58px}.admin-meta #metaStatus{display:none}}
@media(max-width:760px){.app.open{grid-template-columns:1fr}.admin-sidebar{transform:translateX(-100%);transition:.25s}.menu-open .admin-sidebar{transform:none;box-shadow:20px 0 60px #0005}.admin-shell{grid-column:1}.topbar #mobileMenu{display:block}.portal-main{padding:13px}.topbar{padding:0 14px}.top-actions .admin-pill{display:none}.welcome{padding:22px;align-items:flex-start;gap:20px;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.support-layout{height:calc(100vh - 96px);grid-template-columns:150px 1fr}.filters{display:none}.tools{padding:8px}.item small{display:none}.admin-meta{grid-template-columns:1fr 55px;padding:8px}.admin-meta .note-field{grid-column:1}.admin-meta #saveMeta{grid-column:2;grid-row:1/3;height:100%}.post-grid{grid-template-columns:1fr}.post-grid label.wide{grid-column:1}.cover-row{grid-template-columns:1fr}.content-toolbar{align-items:flex-start;gap:12px}.cms-filters{flex-wrap:wrap}.cms-filters input{width:100%}}
