/* AI V4 HACK 5.8.0 · App Pro: PWA, announcements, session security */
.app-install-btn{border:1px solid rgba(99,232,225,.18);background:rgba(99,232,225,.07);color:#dffdfa;border-radius:12px;padding:9px 12px;font:800 9px/1 system-ui;letter-spacing:.35px;cursor:pointer;display:none;align-items:center;gap:7px}.app-install-btn.show{display:inline-flex}.app-install-btn:hover{background:rgba(99,232,225,.12)}
.pwa-install-float{position:fixed;right:16px;bottom:16px;z-index:140;border:1px solid rgba(99,232,225,.18);background:rgba(8,12,26,.94);backdrop-filter:blur(20px);color:#ecfffd;border-radius:15px;padding:11px 14px;font:850 9px system-ui;box-shadow:0 16px 42px rgba(0,0,0,.35);cursor:pointer;display:none}.pwa-install-float.show{display:block}.dashboard-page .pwa-install-float{bottom:86px}
.app-announcement-banner{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:0 0 14px;padding:12px 14px;border:1px solid rgba(99,232,225,.16);border-radius:16px;background:linear-gradient(135deg,rgba(99,232,225,.07),rgba(111,91,255,.06));box-shadow:0 16px 40px rgba(0,0,0,.16)}.app-announcement-banner[data-tone="warning"]{border-color:rgba(255,198,108,.22);background:rgba(255,198,108,.07)}.app-announcement-banner[data-tone="critical"]{border-color:rgba(255,102,133,.22);background:rgba(255,102,133,.07)}.app-announcement-banner[data-tone="success"]{border-color:rgba(70,230,173,.2);background:rgba(70,230,173,.065)}.app-announcement-banner .ann-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:15px}.app-announcement-banner b{display:block;font-size:10px}.app-announcement-banner p{margin:3px 0 0;color:#8792aa;font-size:8px;line-height:1.5}.app-announcement-banner .ann-actions{display:flex;align-items:center;gap:7px}.app-announcement-banner a,.app-announcement-banner button{border:0;border-radius:10px;padding:8px 10px;font:850 8px system-ui;cursor:pointer;text-decoration:none}.app-announcement-banner a{background:rgba(99,232,225,.11);color:#dffffb}.app-announcement-banner button{background:rgba(255,255,255,.04);color:#7e899f}
.app-announcement-popup{position:fixed;z-index:180;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,4,12,.65);backdrop-filter:blur(9px);opacity:0;pointer-events:none;transition:.18s}.app-announcement-popup.show{opacity:1;pointer-events:auto}.app-announcement-popup .ann-modal{width:min(460px,100%);padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(9,12,27,.97);box-shadow:0 30px 90px rgba(0,0,0,.52)}.ann-modal .ann-kicker{font-size:7px;font-weight:950;letter-spacing:1.2px;color:#63e8e1}.ann-modal h3{margin:8px 0 8px;font-size:20px}.ann-modal p{margin:0;color:#8993aa;font-size:10px;line-height:1.7;white-space:pre-line}.ann-modal .ann-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.ann-modal .ann-modal-actions a,.ann-modal .ann-modal-actions button{border-radius:11px;padding:10px 13px;font:850 9px system-ui;text-decoration:none;cursor:pointer}.ann-modal .ann-modal-actions a{border:0;background:linear-gradient(135deg,#6f57ff,#48d7c7);color:#fff}.ann-modal .ann-modal-actions button{border:1px solid rgba(255,255,255,.09);background:transparent;color:#a4aec1}
.security-launch{margin-top:8px}.security-alert-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#ffbe66;box-shadow:0 0 12px rgba(255,190,102,.55)}
.session-security-modal{position:fixed;z-index:190;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,4,12,.7);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:.18s}.session-security-modal.show{opacity:1;pointer-events:auto}.session-security-card{width:min(720px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(8,11,25,.98);box-shadow:0 30px 90px rgba(0,0,0,.52)}.session-security-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.session-security-head small{font-size:7px;font-weight:950;letter-spacing:1.2px;color:#63e8e1}.session-security-head h3{margin:6px 0 4px;font-size:20px}.session-security-head p{margin:0;color:#7e899f;font-size:9px}.session-security-head button{width:34px;height:34px;border-radius:11px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#aab3c5;cursor:pointer}.session-alert{margin:14px 0 0;padding:11px 12px;border:1px solid rgba(255,190,102,.18);border-radius:13px;background:rgba(255,190,102,.055);color:#e6cfa9;font-size:9px;line-height:1.55}.session-list{display:grid;gap:9px;margin-top:16px}.session-row{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.065);border-radius:15px;background:rgba(255,255,255,.025)}.session-row .device-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(111,91,255,.08)}.session-row b{font-size:10px}.session-row p{margin:4px 0 0;color:#758097;font-size:7.5px;line-height:1.45}.session-row .current-chip{display:inline-flex;margin-left:6px;padding:3px 6px;border-radius:99px;background:rgba(70,230,173,.08);color:#72e8bd;font-size:6px}.session-row button{border:1px solid rgba(255,102,133,.15);background:rgba(255,102,133,.055);color:#ff91a6;border-radius:9px;padding:8px 9px;font:800 7px system-ui;cursor:pointer}.session-security-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.session-security-actions button{border-radius:11px;padding:10px 12px;font:850 8px system-ui;cursor:pointer}.session-security-actions .secondary{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#c4cbda}.session-security-actions .danger{border:1px solid rgba(255,102,133,.16);background:rgba(255,102,133,.06);color:#ff92a7}
.admin-page [data-permission-hidden="1"]{display:none!important}.role-permission-note{margin:8px 0 0;color:#79849b;font-size:8px;line-height:1.5}.role-badge-super_admin{background:rgba(255,199,92,.1)!important;color:#ffd77e!important}.role-badge-moderator{background:rgba(99,232,225,.08)!important;color:#8ef1ea!important}
.announcement-admin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:14px}.announcement-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.announcement-form label{display:grid;gap:6px;color:#818ca3;font-size:8px;font-weight:850}.announcement-form .span2{grid-column:1/-1}.announcement-form input,.announcement-form select,.announcement-form textarea{width:100%;border:1px solid rgba(255,255,255,.08);outline:0;border-radius:11px;background:rgba(4,7,18,.65);color:#eef2fb;padding:10px 11px;font:700 9px system-ui}.announcement-form textarea{resize:vertical;min-height:110px}.announcement-admin-actions{display:flex;justify-content:flex-end;margin-top:12px}.announcement-history{display:grid;gap:9px;margin-top:14px}.announcement-history-item{padding:12px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:rgba(255,255,255,.025)}.announcement-history-item .row{display:flex;justify-content:space-between;gap:10px}.announcement-history-item b{font-size:9px}.announcement-history-item p{margin:5px 0;color:#7b869d;font-size:8px;line-height:1.45}.announcement-history-item small{color:#68738b;font-size:7px}.announcement-history-item button{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.035);color:#aeb7c9;padding:6px 8px;font:800 7px system-ui;cursor:pointer}
@media(max-width:900px){.announcement-admin-grid{grid-template-columns:1fr}.app-announcement-banner{grid-template-columns:auto 1fr}.app-announcement-banner .ann-actions{grid-column:1/-1;justify-content:flex-end}.session-row{grid-template-columns:36px 1fr}.session-row>button{grid-column:2;justify-self:start}}
@media(max-width:520px){.announcement-form{grid-template-columns:1fr}.announcement-form .span2{grid-column:auto}.session-security-card{padding:17px}.session-security-actions{flex-direction:column}.session-security-actions button{width:100%}.pwa-install-float{right:10px;bottom:78px}}

/* 6.1.0 session modal close alignment */
.session-security-card{position:relative}.session-security-head button{flex:0 0 34px;display:grid;place-items:center;line-height:1;padding:0;font-size:19px;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.session-security-head button:hover,.session-security-head button:focus-visible{transform:rotate(90deg);background:rgba(255,102,133,.07);border-color:rgba(255,102,133,.22);color:#ff9bae;outline:none}
