*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;min-height:100vh;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);color:#fff;overflow-x:hidden}
img,video{max-width:100%;height:auto}
textarea,input,select{max-width:100%}

.content,.card,table,td,th{word-break:break-word;overflow-wrap:anywhere}
button{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;background:#1abc9c;color:#000;font-weight:600;transition:0.2s;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
button:hover{background:#16a085}
.login-hero{display:flex;align-items:center;justify-content:center;height:100vh;padding:40px}
#login-page{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}
.login-card{background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(0,0,0,0.25));padding:28px;border-radius:16px;max-width:92vw;width:420px;box-shadow:0 30px 60px rgba(0,0,0,0.5);text-align:left;backdrop-filter: blur(10px);border:1px solid rgba(255,255,255,0.04)}
.brand-row{display:flex;align-items:center;gap:12px;flex-direction:column;justify-content:center;text-align:center;margin:0;padding:24px 0}
.login-logo{width:72px;height:72px;border-radius:12px;background:linear-gradient(135deg,#1abc9c,#16a085);display:flex;align-items:center;justify-content:center;font-size:22px;color:#000;box-shadow:0 8px 20px rgba(0,0,0,0.25);font-weight:900;font-family: 'Poppins', 'Segoe UI', system-ui, -apple-system, Roboto, Arial, sans-serif;letter-spacing:1px}
.brand-text h1{margin:6px 0 0;font-size:18px}
.brand-text .muted{margin:0;font-size:13px;opacity:0.8}
.login-lead{font-size:14px;color:rgba(255,255,255,0.9);margin:12px 0 18px}
.input-group{position:relative;margin-bottom:12px}
.input-group .input-field{width:100%;padding:12px 44px 12px 44px;border-radius:10px;border:1px solid rgba(255,255,255,0.08);background:rgba(0,0,0,0.35);color:#fff;outline:none;transition:border-color .15s, background .15s}
.input-group .input-field:focus{border-color:#1abc9c;background:rgba(0,0,0,0.45)}
.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;opacity:.85}
.input-icon svg{width:20px;height:20px;fill:#1abc9c}
.toggle-visibility{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:#fff;opacity:.85;font-size:13px;cursor:pointer;padding:6px}
.toggle-visibility:hover{opacity:1}
.login-btn{width:100%;margin-top:26px;padding:12px;border-radius:10px;background:#1abc9c;color:#000;font-weight:700}
#login-page .login-error{color:#f66;margin-top:10px;min-height:1.2em;text-align:center}
.form-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;margin-bottom:8px}
.checkbox{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.9);font-size:13px}
.checkbox input{transform:scale(1.02)}
.forgot{color:rgba(255,255,255,0.85);text-decoration:none;font-size:13px}
.divider{display:flex;align-items:center;gap:12px;margin:14px 0}
.divider:before,.divider:after{content:'';flex:1;height:1px;background:rgba(255,255,255,0.04)}
.divider span{font-size:12px;color:rgba(255,255,255,0.6)}
.socials{display:flex;justify-content:center}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:rgba(255,255,255,0.95);padding:10px 14px;border-radius:10px}
.new-here{color:rgba(255,255,255,0.85);font-weight:600}
.contact-row .admin-input{min-height:80px}


#contact-message-account{
	width:100%;
	min-height:140px;
	max-height:360px;
	padding:12px 14px;
	border-radius:10px;
	border:1px solid rgba(255,255,255,0.06);
	background:rgba(255,255,255,0.02);
	color:#fff;
	font-size:14px;
	line-height:1.5;
	resize:vertical;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.02);
}
#contact-message-account::placeholder{ color: rgba(255,255,255,0.55); }
#contact-message-account:focus{ outline:none; border-color:#3498db; background:rgba(0,0,0,0.12); }



.contact-cancel, .contact-send {
  padding:8px 16px !important;
  min-width:100px !important;
  height:44px !important;
  border-radius:8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.contact-cancel{ background:#e74c3c !important; color:#fff !important; border:0 !important }
.contact-send{ background:#1abc9c !important; color:#000 !important; border:0 !important }


#contact-result-account.success{ background: rgba(26,188,156,0.12); padding:6px 10px; border-radius:6px }


.contact-toast{display:inline-block;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,0.45);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,0.45);font-weight:600}
.contact-toast.success{border-left:4px solid #1abc9c;background:linear-gradient(90deg,rgba(26,188,156,0.06),rgba(0,0,0,0.35));color:#eafff5}
.contact-toast.error{border-left:4px solid #e74c3c;background:linear-gradient(90deg,rgba(231,76,60,0.04),rgba(0,0,0,0.45));color:#ffecec}
.contact-send{min-width:100px;padding:10px 16px;border-radius:8px;font-weight:700;background:#1abc9c;color:#000;border:0}
.contact-send:disabled{opacity:0.65;cursor:not-allowed}


#admin-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px}
.login-foot{margin-top:12px;text-align:center;font-size:13px;color:rgba(255,255,255,0.85)}
.login-foot a{color:#1abc9c;text-decoration:none}
#app{display:none;height:100vh;flex-direction:row}
.sidebar{width:260px;max-width:100%;background:rgba(0,0,0,0.6);padding:20px;display:flex;flex-direction:column;overflow-y:auto;max-height:100vh}
.user-box{margin-bottom:30px;padding:12px;background:rgba(255,255,255,0.1);border-radius:10px;cursor:pointer}
.user-box span{font-size:14px;opacity:0.8}
.menu button{width:100%;margin-bottom:10px;text-align:center}
.submenu{margin-left:10px;margin-bottom:10px;display:none}
.submenu button{background:#3498db;margin-bottom:6px;text-align:center}

.submenu button[data-page="roa-points-add"], .submenu button[data-page="chests"]{
	background: #f1c40f !important;
	color: #000 !important;
	box-shadow: 0 4px 10px rgba(0,0,0,0.2) inset;
	border: 1px solid rgba(0,0,0,0.08);
}
.content{flex:1;padding:40px;overflow-y:auto;min-width:0}
.card{background:rgba(0,0,0,0.55);padding:25px;border-radius:16px;margin-bottom:20px}
.card h2{margin-bottom:10px}


.admin-panel { padding: 20px; }
.admin-section { margin-bottom: 18px; }
.admin-form { display:flex; flex-direction:column; }
.admin-input { width:100%; margin-bottom:10px; padding:10px; border-radius:8px; border:none }
.admin-input[type="textarea"], .admin-form textarea { min-height:100px }
.admin-actions { margin-top:6px }
.admin-result { margin-top:8px; color:#fff }
.admin-logs table{ width:100%; border-collapse:collapse }
.admin-logs th, .admin-logs td { text-align:left; padding:8px; border-top:1px solid rgba(255,255,255,0.06) }
.admin-logs{overflow-x:auto}


.admin-logs .msg-actions{display:inline-flex;gap:8px;align-items:center}
.admin-logs .msg-actions button{margin:0}


.btn-primary{background:#3498db;color:#fff;border:1px solid #2c6ea0;padding:8px 10px;border-radius:8px}
.btn-primary:hover{background:#217dbb}
.btn-danger{background:#e74c3c;color:#fff;border:1px solid #c0392b;padding:8px 10px;border-radius:8px}
.btn-danger:hover{background:#c0392b;border-color:#a93226;color:#fff}


.admin-logs .msg-actions .mark-btn{border-color:#3498db;color:#3498db;background:transparent}
.admin-logs .msg-actions .mark-btn:hover{background:rgba(52,152,219,0.08);color:#217dbb;border-color:#217dbb}


.admin-logs .msg-actions .btn-ghost.danger:hover{background:rgba(231,76,60,0.08) !important;border-color:#e74c3c !important;color:#e74c3c !important}


.table-responsive{overflow-x:auto}
.table-responsive table{min-width:640px}


.players-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.players-table-wrap table{min-width:980px;border-collapse:separate;border-spacing:0}
.players-table-wrap th,.players-table-wrap td{background-clip:padding-box}

.players-table-wrap thead th{position:sticky;top:0;z-index:2;background:#1abc9c;color:#000}

.players-table-wrap tbody tr:nth-child(odd) td{background:rgba(255,255,255,0.05)}
.players-table-wrap tbody tr:nth-child(even) td{background:rgba(255,255,255,0.08)}

.players-table-wrap td .edit-controls input,
.players-table-wrap td .edit-controls select{max-width:100%}


.sidebar-footer{margin-top:auto;padding-top:10px}
.logout-btn{width:100%;padding:12px;border-radius:10px;background:#e74c3c;color:#fff;font-weight:700}
.logout-btn:hover{background:#c0392b}


@media (max-width: 1200px){
	.content{padding:28px}
}
@media (max-width: 992px){
	.sidebar{width:220px}
	.content{padding:22px}
}
@media (max-width: 768px){
	#app{flex-direction:column;height:auto;min-height:100vh}
	.sidebar{width:100%;padding:16px;max-height:none;overflow-y:visible}
	.menu button{width:100%}
	.submenu{margin-left:0}
	.content{padding:16px}
	.card{padding:18px}
	.admin-actions{display:flex;flex-wrap:wrap;gap:8px}
	.admin-logs table{display:block;white-space:nowrap}
}


dialog,.modal,.modal-content{max-width:100%;width:min(720px,92vw)}
.admin-input, .admin-form textarea{width:100%}



#ann-create-modal{background:#0f1113 !important;padding:18px !important}
#ann-editor-toolbar{background:#f0f2f5 !important;padding:8px !important;border-radius:8px !important;border:1px solid rgba(0,0,0,0.08) !important}
#ann-editor-toolbar button,#ann-editor-toolbar select,#ann-editor-toolbar label{background:#ffffff !important;color:#0b0b0b !important;border:1px solid rgba(0,0,0,0.08) !important;padding:6px 8px;border-radius:6px;cursor:pointer;font-weight:600}
#ann-editor-toolbar button:hover,#ann-editor-toolbar select:hover,#ann-editor-toolbar label:hover{background:#eaeef2 !important;color:#000 !important}
#ann-editor-toolbar button{min-width:36px;text-align:center}
#ann-editor-toolbar select{appearance:none;padding:6px 8px}


#new-ann-editor{background:#ffffff !important;color:#0b0b0b !important;min-height:180px;max-height:520px;overflow:auto;padding:12px !important;border-radius:8px !important;border:1px solid rgba(0,0,0,0.08) !important;box-shadow:0 6px 18px rgba(0,0,0,0.35) inset;white-space:pre-wrap;word-break:break-word}
#new-ann-editor:focus{outline:2px solid rgba(26,188,156,0.18) !important}
#new-ann-editor img{max-width:100%;height:auto;display:block;margin:10px 0;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,0.25)}


#ann-editor-toolbar label{display:inline-flex;align-items:center;gap:6px}
#ann-editor-toolbar input[type=file]{display:none}


#ann-editor-toolbar button.active{background:#1abc9c !important;color:#000 !important;border-color:#149b7a !important;box-shadow:0 4px 8px rgba(0,0,0,0.12) inset}
#ann-editor-toolbar button[title="Bold"], #ann-editor-toolbar button[title="Italic"], #ann-editor-toolbar button[title="Underline"]{font-weight:700}

#ann-editor-toolbar input[type=color].active{outline:3px solid rgba(26,188,156,0.18); box-shadow:0 4px 10px rgba(0,0,0,0.12) inset; border-radius:6px}


@media (max-width:768px){
	#ann-create-modal{padding:12px !important}
	#ann-editor-toolbar{gap:6px}
	#new-ann-editor{min-height:140px}
}
