/* =================================================================
   THEME SYSTEM - CSS Variables Approach
   Single file to maintain, toggle via .dark-mode class on <html>
   ================================================================= */

/* ============================================
   DARK THEME (Default - no class)
   ============================================ */
:root {
    /* Background Colors */
    --bg-primary: #2d2d2d;
    --bg-secondary: #434343;
    --bg-tertiary: #3a3a3a;
    --bg-elevated: #2a2a2a;

    /* Text Colors */
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --text-tertiary: #888888;
    --text-inverse: #ffffff;

    /* Border Colors */
    --border-light: #404040;
    --border-medium: #4a4a4a;
    --border-dark: #5a5a5a;

    /* Brand Colors (slightly adjusted for dark mode) */
    --brand-primary: #5ac0e8;
    --brand-secondary: #4a9dc4;
    --brand-accent: #6ee8b8;

    /* Status Colors */
    --status-success: #34d399;
    --status-warning: #fbbf24;
    --status-error: #f87171;
    --status-info: #60a5fa;

    /* Input Colors */
    --input-bg: #1a1a1a;
    --input-border: #404040;
    --input-focus: #5ac0e8;
    --input-text: #ffffff;

    /* Admin Specific */
    --admin-nav-bg: #2d2d2d;
    --admin-nav-text: #ffffff;
    --admin-nav-hover-bg: #1e3a4a;
    --admin-nav-hover-text: #5ac0e8;
    --admin-content-bg: #2d2d2d;

    /* Header & Footer */
    --header-bg: #434343;
    --header-text: #ffffff;
    --footer-bg: #434343;
    --footer-text: #e0e0e0;

    /* Shadow (lighter in dark mode) */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
}

/* ============================================
   LIGHT THEME (When .dark-mode class is present)
   ============================================ */
html.dark-mode {
    /* Background Colors */
    --bg-primary: #f9fafb;
    --bg-secondary: #ffffff;
    --bg-tertiary: #f3f4f6;
    --bg-elevated: #ffffff;

    /* Text Colors */
    --text-primary: #2c3e50;
    --text-secondary: #4b5563;
    --text-tertiary: #6b7280;
    --text-inverse: #ffffff;

    /* Border Colors */
    --border-light: #e5e7eb;
    --border-medium: #d1d5db;
    --border-dark: #9ca3af;

    /* Brand Colors */
    --brand-primary: #4AAEDC;
    --brand-secondary: #3a8cb8;
    --brand-accent: #5ED8AA;

    /* Status Colors */
    --status-success: #10b981;
    --status-warning: #f59e0b;
    --status-error: #ef4444;
    --status-info: #3b82f6;

    /* Input Colors */
    --input-bg: #ffffff;
    --input-border: #e0e0e0;
    --input-focus: #4AAEDC;
    --input-text: #2c3e50;

    /* Admin Specific */
    --admin-nav-bg: #f9fafb;
    --admin-nav-text: #4b5563;
    --admin-nav-hover-bg: #e0f2fe;
    --admin-nav-hover-text: #0369a1;
    --admin-content-bg: #ffffff;

    /* Header & Footer */
    --header-bg: #0B3A68;
    --header-text: #ffffff;
    --footer-bg: #0B3A68;
    --footer-text: #F2EBEA;

    /* Shadow */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* ============================================
   APPLY VARIABLES TO ELEMENTS
   ============================================ */

body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

/* Header & Footer */
header {
    background-color: var(--header-bg);
    color: var(--header-text);
}

footer,
.footer {
    background-color: var(--footer-bg);
    color: var(--footer-text);
}

/* Admin Layout */
.admin-hub {
    background-color: var(--bg-primary);
}

.admin-left,
.dashboard-nav-left {
    background-color: var(--admin-nav-bg);
    border-right-color: var(--border-light);
}

.admin-right {
    background-color: var(--admin-content-bg);
}

/* Admin Navigation */
.admin-links a,
.dashboard-links a {
    color: var(--admin-nav-text);
}

.admin-links a:hover,
.dashboard-links a:hover {
    background-color: var(--admin-nav-hover-bg);
    color: var(--admin-nav-hover-text);
}

.admin-links h3,
.dashboard-links h3 {
    color: var(--text-tertiary);
}

/* Admin Content */
.admin-site-settings,
.admin-urgent-reports,
.admin-emails,
.moderate-panel {
    background-color: var(--bg-elevated);
    border-color: var(--border-light);
}

.admin-news-section {
    background-color: var(--bg-secondary);
    border-color: var(--border-light);
}

.admin-site-settings h1,
.admin-site-settings h2,
.admin-site-settings h3,
.admin-news-section h1,
.admin-news-section h2,
.admin-news-section h3 {
    color: var(--text-primary);
}

.admin-site-settings p,
.admin-site-settings span,
.admin-news-section p,
.admin-news-section span {
    color: var(--text-secondary);
}

/* Moderation Panel Text Colors */
.moderate-cont,
.moderate-cont h2,
.moderate-cont h3,
.moderate-cont h4,
.moderate-cont p,
.moderate-cont span,
.moderate-cont div,
.moderation-user-profile,
.moderation-user-profile h2,
.moderation-user-profile h3,
.moderation-user-profile h4,
.moderation-user-profile p,
.moderation-user-profile span,
.moderation-user-profile div,
.moderate-profile-cont,
.moderate-profile-cont h2,
.moderate-profile-cont h3,
.moderate-profile-history,
.moderate-profile-history h3,
.moderate-profile-history h4,
.moderate-profile-history div,
.profile-info-cont,
.profile-info-cont div,
.profile-info-cont span {
    color: var(--text-primary);
}

.delete-confirm,
.delete-confirm h3,
.delete-confirm span,
.delete-confirm-review,
.delete-confirm-review h3,
.delete-confirm-review span {
    color: var(--text-primary);
}

.delete-confirm p,
.delete-confirm-review p {
    color: var(--status-error);
}

/* Moderation Status Indicator Items - dark text for colored backgrounds */
.mod-status-item,
.mod-status-item h3,
.mod-status-item h4,
.mod-status-item div,
.mod-status-item span,
.profile-info-cont,
.profile-info-cont h3,
.profile-info-cont h4,
.profile-info-cont div,
.profile-info-cont span,
.moderate-actions,
.moderate-actions div,
.moderate-actions span {
    color: #1a1a1a !important;
}

/* News Items */
.admin-gemini-news {
    border-color: var(--border-light);
}

.admin-gemini-news:hover {
    background-color: var(--bg-secondary);
    border-color: var(--brand-accent);
}

.admin-gemini-news:hover a,
.admin-gemini-news:hover span,
.admin-gemini-news:hover p {
    color: #1a1a1a;
}

.admin-gemini-news a {
    color: var(--text-primary);
}

.admin-gemini-news span {
    color: var(--text-primary);
}

.admin-gemini-news p {
    color: var(--text-primary);
}

/* Form Inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="datetime-local"],
input[type="number"],
select,
textarea {
    background-color: var(--input-bg);
    color: var(--input-text);
    border-color: var(--input-border);
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--input-focus);
}

/* Buttons */
.btn-primary {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    color: var(--text-inverse);
}

.btn-cancel {
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    border-color: var(--border-medium);
}

.btn-cancel:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

/* Scrollbar Styling */
.admin-right::-webkit-scrollbar-track,
.admin-left::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

.admin-right::-webkit-scrollbar-thumb,
.admin-left::-webkit-scrollbar-thumb {
    background: var(--border-dark);
}

.admin-right::-webkit-scrollbar-thumb:hover,
.admin-left::-webkit-scrollbar-thumb:hover {
    background: var(--text-tertiary);
}
* {
    margin: 0;
    padding: 0;
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings:
      "wdth" 100;
}

/* Prevent horizontal scrolling globally */
html, body, wrapper {
    max-width: 100vw;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* Custom Scrollbar Styles */
* {
    scrollbar-width: thin;
    scrollbar-color: #4a4a4a transparent;
    scrollbar-color: var(--border-medium, #4a4a4a) transparent;
}

/* WebKit Scrollbar (Chrome, Safari, Edge) */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
    background: var(--bg-tertiary, rgba(0, 0, 0, 0.1));
    border-radius: 5px;
}

::-webkit-scrollbar-thumb {
    background: #5a5a5a;
    background: var(--border-dark, #5a5a5a);
    border-radius: 5px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

::-webkit-scrollbar-thumb:hover {
    background: #5ac0e8;
    background: var(--brand-primary, #5ac0e8);
}

::-webkit-scrollbar-thumb:active {
    background: #4a9dc4;
    background: var(--brand-secondary, #4a9dc4);
}

::-webkit-scrollbar-corner {
    background: transparent;
}

/* Sticky Footer - keeps footer at bottom when content is short */
html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

wrapper {
    flex: 1 0 auto;
    display: block;
}

.ft {
    flex-shrink: 0;
}
.article-textarea{
    width: 95%;
    height: 300px;
    margin: 0 auto;
    padding: 10px;
    font-size: 1em;
    border-radius: 15px;
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);
    text-align: left    ;
}
.input-textarea-ckeditor {
    width: 95%;
}
.email-change-container i,
.change-password-container i {
    font-size: 2em;
}
.theme-toggle{
    cursor: pointer;
    text-wrap: nowrap;
}
.theme-toggle i{
    position: relative;
    font-size: 1.25em;
    width: auto;
    z-index: 1;
}
h1,h2,h3,h4,h5,h6{
    font-weight: 900;
}
input, select, textarea, button {}
header {
    width: calc(50vw - 50px + 50%);
    margin: 0 auto;
    position: relative;
    display: flex;
    align-items: center;
    background-color: var(--header-bg);
    color: var(--header-text);
    border-radius: 0 0 15px 15px;
}
.header-item{
    flex-grow: 1;
    text-align: center;
}
header a {
    text-decoration: none;
    color: white;
}
.header-user, .header-logo{
    max-width: 20%;
    justify-content: center;
}
.nav-box {
    width: auto;
    display: flex;
    text-align: center;
    border-radius: 5px;
    color: white;
    font-size: 1.2em;
    z-index: 1;
    align-items: center;
}
.nav-box-left {
    flex: 0 0 auto;
    margin-right: 10px;
}
.nav-box-center {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}
.nav-box-center:nth-child(1){
    text-align: left;
}
.nav-box-notifs{
    padding: 8px 0;
}
.nav-box-right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: 10px;
}

.nav-box-logged-in {
    top: 13px;
}
.nav-box-avatar {
    width: 48px;
    height: 48px;
    vertical-align: top;
    padding: 1px;
    border: 2px solid var(--brand-primary);
    border-radius: 10px;
    object-fit: cover;
}

/* Profile link styles in header */
.nav-username-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}
.nav-username-link:hover {
    color: var(--brand-primary);
}
.dropdown-username-link {
    color: inherit;
    text-decoration: none;
}
.dropdown-username-link:hover {
    color: var(--brand-primary);
}

nav{
    display: flex;
    justify-content: center;
    align-items: center;
}
nav ul{
    display: flex;
    flex-grow: .2;
    list-style: none;

}
nav ul li{
    flex:auto;
}
header li{
    position: relative;
    font-weight: bold;
    font-size: 1.3em;
    padding: 10px;
}
header li a:hover{
    color: var(--brand-primary);
}
.logo {
    max-width: 200px;
}
.notloggedin{
    align-items: center;
}
.notloggedin .nav-box-notifs{
    margin: 0 2.5px;
}
#help-nav,
#community-nav {
    position: absolute;
    z-index: 4;
    min-width: 175px;
    display: none;
    border-radius: 15px;
    left: -60%;
    top: 40px;
    background-color: #0B3A68ff;
}
#list{
    position: relative;
}
.loader-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50vh;
    

}

.loader {
    height: 80px;
    aspect-ratio: 1;
    display: grid;
  }
  .loader:before,
  .loader:after {
    content: "";
    --c:no-repeat linear-gradient(#000 0 0);
    background: var(--c), var(--c);
    background-size: 25% 50%;
    animation: l4 1.5s infinite linear;
  }
  .loader:after {
    transform: scale(-1);
  }
  @keyframes l4 {
    0%,
    10%  {background-position:33.4% 100%,66.6% 100%}
    40%  {background-position:33.4% 0,100% 100%}
    70%  {background-position:0 100%,66.6% 0}
    100% {background-position:33.4% 100%,66.6% 100%}
  } 
.list-filters > label {
    display: flex;
    vertical-align: middle;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin: 5px 0;
}
.page-list-item{
    display: inline-block;
    width: 100%;
    transition: opacity .75s;
    vertical-align: top;
}
#loading-bar{
    position: relative;
    width: 100%;
    height: 25px;
    background-color: var(--brand-primary);
    margin: 10px 0;
    border-radius: 15px;
    text-align: center;
}
#loading-bar-fill{
    position: absolute;
    width: 0;
    height: 100%;
    background-color: var(--brand-accent);
    border-radius: 15px;
    transition: width 1s;
    border-radius: 15px;
    z-index: 1;
}
#tooltip-controller{
    display: none;
    position:fixed;
    bottom:0;
    right:0;
    border-radius: 10%;
    min-width: 150px;
    max-width: 150px;
    padding: 5px;
    margin: 5px;
    cursor: pointer;
    z-index: 9999;
    text-align: center;
}
#tooltip-controller>div{
    display: none; 
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
    text-align: center;
    padding: 5px;
    width: 60%;
}
#tooltip-controller>div>div{
    display: none;
    justify-content: center;
    width: 15px;
    font-size: 1.2em;
    padding: 5px;
    border-radius: 10px;
}
.tippy-box{
    display: none;
    font-size: 1.1em;
}
a {
    color: var(--text-primary);
}
.main-search{
    display: block;
    margin: 0 auto;
    width: 50%;
    padding: 10px;
    text-align: center;
    border-radius: 15px;
}
.main-search input[type="text"]{
    width: 98%;
    padding: 1%;
    font-size: 3em;
    border-radius: 10px;
}
.section-header i{
    font-size: 1.6em;
}
.setting_section_cont{
    display: none;
}
.server-list,
.user-profile{
    min-height: calc(100vh - 200px);
}
.community-carousel{
    width: 100%;
    height: 50%;
    display: grid;
    grid-template-columns: .25fr .25fr .25fr;
    grid-template-rows: .5fr;
    justify-items: center;
    margin: 0 auto;
    padding: 5vh 0;
    justify-content: center;
}
.community-carousel-item{
    min-width: 300px;
    width: 33.3%;
    height: auto;
    display: grid;
    text-align: center;
    padding: 10px;
    border-radius: 15px;
    box-shadow: 0 0 5px;
    background-color: var(--bg-primary);
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}
.community-carousel-banner{
    min-height: 100px;
    position: relative;
}
.community-carousel-icon{
    position: absolute;
    bottom: 0;
    right: 0;
    left:0;
    margin: 0 auto;
    width: 64px;
    height: 64px;
    padding: 5px;
    background-color: rgba(255,255, 255, 0.9);
    border-radius: 50px;

}
.community-carousel-icon img{
    bottom:0;
}
.community-carousel-banner-img{
    width: 100%;
    max-height: 50%;
    border-radius: 15px;
}

.messages-grid-header{
    font-size: 1.3em;
}
.messages-grid-header, .messages-grid-list{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-auto-rows: 1fr;
    gap: 5px;
    align-items: center;
    justify-items: center;
    border-radius: 5px;

}
.messages-grid-list{
    margin: 3px 0;
}
.ck-content ul, .ck-content ol, .ck-content li{
    padding: revert;
    margin: revert;
}
.setting-section{
    width: 90%;
}
.setting{
    display:inline-flex;
    vertical-align: top;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 0 2px;
    border-radius: 15px;
    margin: 5px 2px;
    min-height: 175px;
    text-align: left;
}
.setting label{
    font-size: 1.2em;
    font-weight: bold;
    display: block;
    margin: 10px;
}
.setting>input, .setting>select, .setting>textarea{
    width: 90%;;
    padding: 5px;
    margin: 5px;
}
.setting textarea{
    min-height: 100px;
}
.report-form
.add-server-desc .ck-content {
    min-height: 400px;
}
.add-server-desc #serverDesc{
    text-align: left;
}
#url_preview{
    word-break: break-all;
}
.user-perms{
    display: block;
    margin: 2px;
    padding: 2px;
    border-radius: 5px;
    font-size: 1em;
}
.permission-select{
    height: 100px;
}
.permissions-list-item>button,.permissions-list-item>p{
    display: inline-block;
}
#hide-ads,
#hide-ads u {
    cursor: pointer;
}

.content-page-link {
    margin: 10px 0;
}

.content-page-link a {
    color: var(--text-primary);
}

.content-page {
    margin: 0 auto;
    min-width: 300px;
    max-width: 50%;
    min-height: 80vh;
}

.replyComment,
.postComment {
    box-shadow: inset 0 0 2px black;
    border-radius: 15px !important;
    height: auto;
    min-height: 40px;
    max-height: 250px;
    transition: min-height 0.2s ease 0.1s; /* Delay expansion slightly */
}

/* Expanded state on focus */
.reply-box:focus-within .postComment,
.reply-box:focus-within .replyComment,
.comment-reply-box:focus-within .replyComment {
    min-height: 100px;
    transition-delay: 0s; /* Expand immediately */
}

/* Comment box wrapper */
.reply-box,
.comment-reply-box {
    position: relative;
}

/* RayEditor wrapper */
.reply-box .ray-editor-wrapper,
.comment-reply-box .ray-editor-wrapper {
    min-height: 40px;
    transition: min-height 0.2s ease 0.1s;
}

.reply-box:focus-within .ray-editor-wrapper,
.comment-reply-box:focus-within .ray-editor-wrapper {
    min-height: 100px;
    transition-delay: 0s;
}

/* Keep Post/Reply button in a fixed position so it doesn't shift */
.reply-box .comment-privacy-wrapper,
.comment-reply-box .comment-privacy-wrapper {
    position: sticky;
    bottom: 0;
    background: inherit;
    padding-top: 8px;
    z-index: 1;
}

.content-hr {
    border-left: 2px solid var(--brand-primary);
    border-top: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-accent);
    border-right: 2px solid var(--brand-accent);
}

input[type=checkbox] {
    width: 30px;
    height: 30px;
}



.content-feed-user {
    display: inline-block;

}

.content-feed-comment-item {
    width: 90%;
}

.content-feed-content {
    max-height: 50px;
    overflow: hidden;
}

.content-feed-content img {
    max-width: 100%;
}

.content-feed-comment {
    position: relative;
    width: 100%;
}

.content-feed-interactions-bar {
    display: flex;
    gap: 10px;
    padding: 12px 0;
    margin-top: 10px;
    border-top: 1px solid var(--border-light, rgba(255,255,255,0.1));
    position: relative;
    z-index: 100;
}

/* Dark mode (default - no class) */
.content-react-btn,
.content-comment-btn,
.content-share-btn {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
    font-size: 14px;
    color: #fff;
    background: linear-gradient(#1a1a1a, #1a1a1a) padding-box,
                linear-gradient(135deg, #4DBCDD, #25CC94) border-box;
    border: 2px solid transparent;
}

.content-react-btn:hover,
.content-comment-btn:hover,
.content-share-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.2);
    background: linear-gradient(#2a2a2a, #2a2a2a) padding-box,
                linear-gradient(135deg, #4DBCDD, #25CC94) border-box;
}

/* Light mode (dark-mode class present) */
.dark-mode .content-react-btn,
.dark-mode .content-comment-btn,
.dark-mode .content-share-btn {
    color: #333;
    background: linear-gradient(#f5f5f5, #f5f5f5) padding-box,
                linear-gradient(135deg, #4DBCDD, #25CC94) border-box;
}

.dark-mode .content-react-btn:hover,
.dark-mode .content-comment-btn:hover,
.dark-mode .content-share-btn:hover {
    background: linear-gradient(#e8e8e8, #e8e8e8) padding-box,
                linear-gradient(135deg, #4DBCDD, #25CC94) border-box;
}

.content-react-btn span,
.content-comment-btn span,
.content-share-btn span {
    font-size: 14px;
    font-weight: 500;
}

.content-comment-btn > div {
    font-size: 12px;
    opacity: 0.7;
    margin-left: 4px;
}

.content-react-cont {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0;
    font-size: 18px;
    min-height: 32px;
}

.content-react-cont > div > span {
    font-size: 14px !important;
    vertical-align: middle;
    padding: 2px 4px;
    opacity: 0.8;
}

.feels-text-cont {
    margin-left: auto;
    font-size: 13px;
    color: var(--text-secondary, #999);
}

.feels-text-cont,
.your-feels {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
}

.content-react-cont > div i {
    vertical-align: middle;
}

.heart-icon {
    background: crimson;

}

.sad-icon {
    background: var(--brand-primary);

}

.laugh-icon {
    background: #eade00;

}

.like-icon {
    background: -webkit-linear-gradient(var(--brand-primary), var(--brand-accent));

}

.angry-icon {
    background: -webkit-linear-gradient(#ff5b5b, crimson);

}

.surprise-icon {
    background: #c707f2;
}

.heart-icon,
.like-icon,
.sad-icon,
.laugh-icon,
.angry-icon,
.surprise-icon {
    font-size: 20px !important;
    -webkit-background-clip: text;
    background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    vertical-align: middle;
}


/* Dark mode (default - no class) */
.content-react-hover,
.content-share-hover {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 280px;
    padding: 12px 16px;
    padding-top: 20px;
    z-index: 99999;
    background: #1e1e1e;
    border: 1px solid #3a3a3a;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    justify-content: center;
    align-items: center;
    gap: 8px;
}

/* Light mode (dark-mode class present) */
.dark-mode .content-react-hover,
.dark-mode .content-share-hover {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Invisible bridge to prevent hover gap */
.content-react-hover::before,
.content-share-hover::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
}



.react-icon-cont {
    display: inline-flex;
    align-items: center;
}

.react-icon-cont > div {
    display: inline-flex;
    margin: 0 3px;
    vertical-align: middle;
}

.react-icon-cont > div > i,
.react-icon-cont > div > span,
.your-feels > div {
    padding: 0 3px;
}

.content-react-hover i {
    font-size: 32px !important;
    padding: 8px;
    transition: transform 0.2s ease;
    cursor: pointer;
}

.content-react-hover i:hover {
    transform: scale(1.4);
}

.content-share-btn:hover > .content-share-hover,
.content-react-btn:hover > .content-react-hover {
    display: flex !important;
    flex-direction: column;
}

/* Share Hover Styles */
.content-share-hover {
    min-width: 200px !important;
    padding: 12px !important;
}

.content-share-hover #share-buttons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    width: 100%;
}

.content-share-hover #share-buttons img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
    opacity: 0.85;
}

.content-share-hover #share-buttons img:hover {
    transform: scale(1.15);
    opacity: 1;
}

.content-share-hover #share-buttons a {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Page Share Buttons (row layout) */
#share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

#share-buttons img {
    width: 32px;
    height: 32px;
    cursor: pointer;
    transition: transform 0.2s ease;
}

#share-buttons img:hover {
    transform: scale(1.1);
}

#share-buttons a {
    display: inline-flex;
}

.share-link-icon {
    width: 32px;
    height: 32px;
    cursor: pointer;
    color: var(--text-primary, #fff);
    background: transparent;
    border-radius: 6px;
    transition: transform 0.2s ease, color 0.2s ease;
    text-align: center;
    line-height: 32px;
    font-size: 16px;
}

.share-link-icon:hover {
    transform: scale(1.1);
    color: var(--brand-primary, #4DBCDD);
}

.content-share-hover .share-link-icon {
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 18px;
    border-radius: 8px;
}

/* Searchable Reaction Picker Styles */
.reaction-search-container {
    width: 100%;
    margin-bottom: 10px;
}

.reaction-search {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-light, #3a3a3a);
    border-radius: 8px;
    background: var(--bg-tertiary, #2a2a2a);
    color: var(--text-primary, #fff);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.reaction-search:focus {
    border-color: var(--brand-primary, #6366f1);
}

.reaction-search::placeholder {
    color: var(--text-muted, #888);
}

.reaction-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
    gap: 4px;
    width: 100%;
}

.reaction-grid-extended {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
    gap: 4px;
    width: 100%;
    padding-top: 10px;
    border-top: 1px solid var(--border-light, #3a3a3a);
    margin-top: 10px;
}

.reaction-picker-icon {
    font-size: 24px !important;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
    border-radius: 6px;
    box-sizing: border-box;
}

.reaction-picker-icon:hover {
    transform: scale(1.2);
    background: var(--bg-tertiary, rgba(255,255,255,0.1));
}

.reaction-more-toggle {
    width: 100%;
    padding: 8px;
    margin-top: 8px;
    text-align: center;
    cursor: pointer;
    color: var(--text-muted, #888);
    font-size: 12px;
    border-top: 1px solid var(--border-light, #3a3a3a);
    transition: color 0.2s ease;
}

.reaction-more-toggle:hover {
    color: var(--brand-primary, #6366f1);
}

.reaction-more-toggle i {
    font-size: 12px !important;
    padding: 0 !important;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

.reaction-more-toggle.expanded i {
    transform: rotate(180deg);
}

/* Light mode (dark-mode class present) - Reaction Picker */
.dark-mode .reaction-search {
    border-color: #e0e0e0;
    background: #f5f5f5;
    color: #333;
}

.dark-mode .reaction-search::placeholder {
    color: #999;
}

.dark-mode .reaction-grid-extended {
    border-top-color: #e0e0e0;
}

.dark-mode .reaction-picker-icon:hover {
    background: rgba(0, 0, 0, 0.05);
}

.dark-mode .reaction-more-toggle {
    color: #666;
    border-top-color: #e0e0e0;
}

/* Reactions Detail Modal Styles */
.reactions-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    align-items: center;
    justify-content: center;
}

.reactions-modal.show {
    display: flex;
}

.reactions-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
}

.reactions-modal-content {
    position: relative;
    background: var(--bg-secondary, #1e1e1e);
    border-radius: 12px;
    width: 90%;
    max-width: 480px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.reactions-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-light, #3a3a3a);
}

.reactions-modal-header h3 {
    margin: 0;
    font-size: 18px;
    color: var(--text-primary, #fff);
}

.reactions-modal-close {
    background: none;
    border: none;
    color: var(--text-muted, #888);
    cursor: pointer;
    padding: 8px;
    font-size: 18px;
    transition: color 0.2s ease;
}

.reactions-modal-close:hover {
    color: var(--text-primary, #fff);
}

.reactions-modal-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border-light, #3a3a3a);
    background: var(--bg-tertiary, #252525);
}

.reaction-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 20px;
    background: var(--bg-secondary, #1e1e1e);
    border: 1px solid var(--border-light, #3a3a3a);
    cursor: pointer;
    transition: all 0.2s ease;
}

.reaction-tab:hover {
    border-color: var(--brand-primary, #6366f1);
}

.reaction-tab.active {
    background: var(--brand-primary, #6366f1);
    border-color: var(--brand-primary, #6366f1);
}

.reaction-tab .tab-label {
    font-size: 13px;
    font-weight: bold;
    color: var(--text-primary, #fff);
}

.reaction-tab .tab-count {
    font-size: 12px;
    color: var(--text-muted, #888);
}

.reaction-tab.active .tab-count {
    color: rgba(255, 255, 255, 0.8);
}

.reaction-tab i {
    font-size: 16px;
}

.reactions-users-list {
    flex: 1;
    overflow-y: auto;
    padding: 12px 0;
}

.reaction-user-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    transition: background 0.2s ease;
}

.reaction-user-item:hover {
    background: var(--bg-tertiary, #252525);
}

.reaction-user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
}

.reaction-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reaction-user-info {
    flex: 1;
    min-width: 0;
}

.reaction-user-name {
    color: var(--text-primary, #fff);
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
}

.reaction-user-name:hover {
    color: var(--brand-primary, #6366f1);
}

.reaction-user-reaction {
    flex-shrink: 0;
}

.reaction-user-reaction i {
    font-size: 20px;
}

.reactions-loading,
.reactions-error,
.reactions-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px 20px;
    color: var(--text-muted, #888);
    font-size: 14px;
}

.reactions-error {
    color: var(--color-error, #e74c3c);
}

.reactions-load-more {
    display: block;
    text-align: center;
    padding: 12px 20px;
    color: var(--brand-primary, #6366f1);
    cursor: pointer;
    font-size: 14px;
    transition: background 0.2s ease;
}

.reactions-load-more:hover {
    background: var(--bg-tertiary, #252525);
}

#tooltip-controller,
#tooltip-controller,
.content-feed-item,
.drophere,
.edit-link-items,
.legal-disclosure,
.server-page-title,
.srv-page-interact,
.serverDetailWrap,
.srv-page-desc,
.server-page-right,
.left-list,
.right-list,
.help-block,
.contactus,
.login-register,
.account-settings,
.server-settings-editor,
.account-recover-cont,
.parentComment,
.childComment,
.server-dashboard,
.dashboard-left,
.dashboard-small-items,
.dashboard-items,
.notifications,
.notif-item,
.old-notif-item,
.messages-container,
.message-list,
.message-read,
.messages,
.reply-message,
.news-title,
.news-info,
.news-content,
.parentNewsComment,
.commentInteract,
.edit-comment-overlay,
.delete-overlay,
.delete-confirm,
.delete-confirm-review,
.stuff-box,
#login-form,
.MOTD-confirm,
.extra-options,
.add-server-heading,
.add-server-desc,
.add-server-tags,
.add-server-obj-center,
.hide-ip-option,
.server-confirmation,
.error-container,
.claim-form,
.report-form form,
.review-container,
.review-item,
.announcement,
.lists-page,
.default-list-link,
.bedrock-support-cont,
.server-dashboard-calendar,
.calendar-left,
.server-event-item,
.delete-modal,
.error,
.event-edit-item,
.upcoming-only,
.delete-box,
.current-announcement,
.error-popup,
.success-popup,
.user-perms,
.settings-section, .special-thanks {
    background-color: var(--bg-secondary);
    border-radius: 15px;
    box-shadow: var(--shadow-md);
    margin: 10px;
}

.special-thanks{
    text-align: left;
    font-size: 1.2em;
    padding: 5px;
    margin: 5px auto;
    list-style-position: inside;

}
.special-thanks ol{
    padding: 0 10px;
    margin: 0;
}
.content-feed-item {
    text-align: left;
    height: auto;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
} 
/* ===========================================
   TOAST NOTIFICATION SYSTEM
   =========================================== */

/* Toast Container - Fixed position top-right */
#toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 400px;
    width: calc(100% - 40px);
    max-height: 80vh;
    overflow: hidden;
    pointer-events: none;
}

/* Individual Toast */
.toast {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    pointer-events: auto;
    opacity: 0;
    transform: translateX(100%);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.toast.show {
    opacity: 1;
    transform: translateX(0);
}

.toast.hiding {
    opacity: 0;
    transform: translateX(100%);
}

/* Toast Icon */
.toast-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    font-size: 14px;
}

/* Toast Content */
.toast-content {
    flex: 1;
    min-width: 0;
}

.toast-title {
    font-weight: 600;
    font-size: 0.95em;
    color: var(--text-primary);
    margin-bottom: 2px;
}

.toast-message {
    font-size: 0.875em;
    color: var(--text-secondary);
    line-height: 1.4;
    word-wrap: break-word;
}

/* Toast Close Button */
.toast-close {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 4px;
    margin: -4px -4px -4px 8px;
    border-radius: 6px;
    transition: all 0.2s ease;
    font-size: 14px;
}

.toast-close:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

/* Toast Progress Bar */
.toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: currentColor;
    border-radius: 0 0 12px 12px;
    opacity: 0.3;
    transition: width linear;
}

/* Toast Type: Success */
.toast--success {
    border-left: 4px solid #22c55e;
}
.toast--success .toast-icon {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
}
.toast--success .toast-progress {
    color: #22c55e;
}

/* Toast Type: Error */
.toast--error {
    border-left: 4px solid #ef4444;
}
.toast--error .toast-icon {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}
.toast--error .toast-progress {
    color: #ef4444;
}

/* Toast Type: Warning */
.toast--warning {
    border-left: 4px solid #f59e0b;
}
.toast--warning .toast-icon {
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
}
.toast--warning .toast-progress {
    color: #f59e0b;
}

/* Toast Type: Info */
.toast--info {
    border-left: 4px solid var(--brand-primary, #5ac0e8);
}
.toast--info .toast-icon {
    background: rgba(90, 192, 232, 0.15);
    color: var(--brand-primary, #5ac0e8);
}
.toast--info .toast-progress {
    color: var(--brand-primary, #5ac0e8);
}

/* Responsive: Mobile */
@media (max-width: 480px) {
    #toast-container {
        top: 10px;
        right: 10px;
        left: 10px;
        width: auto;
        max-width: none;
    }

    .toast {
        padding: 12px;
    }
}

.legal-disclosure {
    width: 90%;
    padding: 5px;
    font-size: .9em;
    margin: 10px auto;
    font-style: italic;
    word-break: keep-all;
    background-color: var(--bg-tertiary);
    color: var(--text-secondary);
    border: 1px solid var(--border-light);
    border-radius: 4px;
}

.visually-hidden {
    display: none;
}

.opened {
    display: block;
}

.delete-server-setting button {
    background-color: orangered;
    font-size: 1.2em;
    width: 200px;
}

.delete-server-setting button:hover {
    background-color: var(--status-error);
}

.delete-server-setting input {
    font-size: 1.2em;
    padding: 3px;
}

.future-event-display {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
    background-color: var(--bg-primary);
}

.success-notif-box {
    background-color: lightgreen;
    font-size: 1.1em;
    padding: 5px;
    color: black;
    margin: 5px;
}

.site-setting-input {
    font-size: 1.2em;
    padding: 5px;
    width: 50px;
    text-align: center;
}

.site-setting-item {
    text-align: center;
    display: inline-block;
    width: auto;
    min-width: 100px;
    max-width: 200px;
    border-radius: 15px;
    margin: 5px;
    padding: 5px;
    min-height: 80px;
    max-height: 200px;
    background-color: var(--bg-primary);
    vertical-align: top;
}

.site-setting-save {
    width: 200px;
    font-size: 1.3em;
    padding: 10px;
    border-radius: 15px;
    cursor: pointer;
}

.site-setting-save:hover {
    box-shadow: inset 0 0 1px black;
}

.failed-notif-box, .remove-perms-btn {
    background-color: crimson;
    font-size: 1.1em;
    padding: 5px;
    color: white;
    margin: 5px;
}
.remove-perms-btn{
    font-size: .6em;
    cursor: pointer;
    border-radius: 10px;
}
.remove-perms-btn:hover{
    background-color: red;
}
.change-email-form,
.change-password-form {
    display: none;
    margin: 10px 0;
    box-shadow: 0 0 1px;
    padding: 10px 0;
    border-radius: 15px;
}

.change-email-form label,
.change-email-form input,
.change-email-form button,
.change-password-form button,
.change-password-form label,
.change-password-form input {
    display: block;
    width: 50%;
    padding: 5px;
    margin: 0 auto;
    font-size: 1.2em;
}

.change-email-form button,
.change-password-form button {
    margin: 10px auto;
    cursor: pointer;
}

.default-list-link {
    margin: 5px auto !important;
    min-width: 190px;
    width: 10%;
    display: block;
    padding: 5px;
    font-size: 1.2em;
    background: linear-gradient(90deg, rgba(37, 204, 148, 0.5) 0%, rgba(77, 188, 221, 0.5) 100%);
}

.default-list-link:hover {
    animation: gradient_bg 1s linear infinite;
    cursor: pointer;
    cursor: pointer;
}

.default-list-link a:hover {
    color: white;
}

@keyframes gradient_bg {
    0% {
        background: linear-gradient(0deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    2.7% {
        background: linear-gradient(0deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    5.4% {
        background: linear-gradient(10deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    8.1% {
        background: linear-gradient(20deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    10.8% {
        background: linear-gradient(30deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    13.5% {
        background: linear-gradient(40deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    16.2% {
        background: linear-gradient(50deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    18.9% {
        background: linear-gradient(60deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    21.6% {
        background: linear-gradient(70deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    24.3% {
        background: linear-gradient(80deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    27% {
        background: linear-gradient(90deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    29.7% {
        background: linear-gradient(100deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    32.4% {
        background: linear-gradient(110deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    35.1% {
        background: linear-gradient(120deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    37.8% {
        background: linear-gradient(130deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    40.5% {
        background: linear-gradient(140deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    43.2% {
        background: linear-gradient(150deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    45.9% {
        background: linear-gradient(160deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    48.6% {
        background: linear-gradient(170deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    51.3% {
        background: linear-gradient(180deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    54% {
        background: linear-gradient(190deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    56.7% {
        background: linear-gradient(200deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    59.4% {
        background: linear-gradient(210deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    62.1% {
        background: linear-gradient(220deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    64.8% {
        background: linear-gradient(230deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    67.5% {
        background: linear-gradient(240deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    70.2% {
        background: linear-gradient(250deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    72.9% {
        background: linear-gradient(260deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    75.6% {
        background: linear-gradient(270deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    78.3% {
        background: linear-gradient(280deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    81% {
        background: linear-gradient(290deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    83.7% {
        background: linear-gradient(300deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    86.4% {
        background: linear-gradient(310deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    89.1% {
        background: linear-gradient(320deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    91.8% {
        background: linear-gradient(330deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    94.5% {
        background: linear-gradient(340deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    97.2% {
        background: linear-gradient(350deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }

    99.9% {
        background: linear-gradient(360deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
    }
}

.lists-page {
    padding: 10px;
    min-height: 59vh;
}

.lists-item {
    display: inline-block;
    border-radius: 15px;
    margin: 3px !important;
    width: 40%;
    text-align: center !important;
    background: linear-gradient(90deg, rgba(37, 204, 148, 0.5) 0%, rgba(77, 188, 221, 0.5) 100%);
}

.lists-item:hover {
    animation: gradient_bg 1s linear;
    animation-iteration-count: infinite;
}

.list-item-img {
    min-height: 100px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.server-page-review-buttons {
    text-align: center;
}

.server-page-review-buttons div,
.server-page-review-buttons a {
    cursor: pointer;
    padding: 5px;
    text-decoration: underline;
    display: inline-block;
}

.fa-bell,
.fa-envelope {
    position: relative;
}

.fa-bell::before,
.fa-envelope::before,
.fa-cog::before,
.fa-chart-bar::before,
.fa-server::before,
.fa-paper-plane,
.fa-shield-alt::before,
.fa-newspaper-o {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.6em;
}

.nav-box-icons::before {
    font-size: 1.4em;
}

.nav-box-icons {
    margin: 0 5px;
}

.notification-number-overlay {
    position: absolute;
    right: -4px;
    top: -8px;
    color: #fff;
    background-color: #CF503Bff;
    border-radius: 50%;
    padding-top: 1px;
    padding-bottom: 3px;
    padding-right: 4px;
    padding-left: 4px;
    font-size: 14px;
    text-align: center;
}

.gemini-servers-comment {
    font-size: 1.5em;
    font-weight: bold;
}

.gemini-servers-comment-fade {
    opacity: 0.5;
}

#search-dropdown {
    list-style-type: none;
}

.tagit {
    overflow: hidden;
}
/* TODO: FIX - This is causing some weirdmess when focusing the input and scrolling while it is focused. */
.textarea-ckeditor-description .ck-editor__editable_inline {
    min-height: 300px; /* Set your desired minimum height here */
}
 .cke_contents {
    min-height: 500px;
}

.event-edit-selection .ck-content,
.dashboard-board .ck-content,
.compose-mail .ck-content,
.admin-site-settings .ck-content {
    height: 80vh;
    max-height: 80vh;
}

.save-settings-btn {
    margin-top: 10px;
    width: 50%;
    height: 45px;
}

#load-more-box a {
    text-decoration: none;
}

.server-page {
    display: inline-flex;
}

.contactus-header {
    font-size: 3em;
    padding-top: 1%;
}

.server-page-review-buttons {
    margin: 15px;
}

.add-server-heading,
.add-server-desc,
.add-server-tags,
.add-server-obj-center,
.add-server-ip-port,
.hide-ip-option,
.server-confirmation {
    padding: 10px;
}

.server-settings-editor {
    font-size: 1.1em;
    padding: 10px;
}

.server-settings-editor input,
.server-settings-editor span {
    vertical-align: middle;
}

.server-settings-editor input[type=checkbox] {
    width: 30px;
    height: 30px;
}

.add-server-form-cont {
    width: 50%;
    margin: 0 auto;
}

#login-form,
.stuff-box {
    margin: 0;
    padding: 18px;
    position: relative;
    border: 1px solid rgba(79, 70, 229, 0.2);
}

.stuff-box td {
    padding: 8px 12px;
    border-radius: 6px;
    margin: 3px;
    transition: all 0.2s ease;
    border-left: 2px solid transparent;
}

.stuff-box td:not(:empty):hover {
    background: rgba(79, 70, 229, 0.08);
    border-left-color: #4f46e5;
    transform: translateX(3px);
}

.stuff-box a {
    color: inherit;
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s ease;
}

.stuff-box a:hover {
    color: #4f46e5;
}

.stuff-box i {
    color: #6b7280;
    transition: color 0.2s ease;
}

.stuff-box a:hover i {
    color: #4f46e5;
}

/* Fun username greeting with accent */
.stuff-box tr:first-child td:nth-child(2) {
    font-weight: 600;
    border-left: 2px solid #fbbf24;
    background: rgba(251, 191, 36, 0.05);
}

/* User Menu Button */
.nav-box-right .user-menu-btn,
.user-menu-btn,
button.user-menu-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 18px !important;
    background: linear-gradient(135deg, #25CC94 0%, #4DBCDD 100%) !important;
    border: none !important;
    border-radius: 25px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(37, 204, 148, 0.3) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-family: inherit !important;
    line-height: 1.2 !important;
}

.nav-box-right .user-menu-btn:hover,
.user-menu-btn:hover,
button.user-menu-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(37, 204, 148, 0.4) !important;
    background: linear-gradient(135deg, #4DBCDD 0%, #25CC94 100%) !important;
    color: #fff !important;
}

.nav-box-right .user-menu-btn:active,
.user-menu-btn:active,
button.user-menu-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(37, 204, 148, 0.3) !important;
}

.user-menu-btn .user-menu-label {
    font-size: 13px !important;
    color: #fff !important;
}

.user-menu-btn .user-menu-icon {
    font-size: 11px !important;
    transition: transform 0.3s ease !important;
    opacity: 0.9 !important;
    color: #fff !important;
}

.user-menu-btn:hover .user-menu-icon {
    transform: rotate(180deg) !important;
}

/* Responsive - smaller on mobile */
@media (max-width: 768px) {
    .nav-box-right .user-menu-btn,
    .user-menu-btn,
    button.user-menu-btn {
        padding: 8px 14px !important;
    }
    .user-menu-btn .user-menu-label {
        display: none !important;
    }
    .user-menu-btn .user-menu-icon {
        font-size: 14px !important;
    }
}

/* Menu Header Row */
.stuff-box .menu-header-row td {
    font-weight: 700;
    font-size: 1.1em;
    text-align: center;
    padding: 12px 15px;
    border-bottom: 2px solid var(--brand-primary, #25CC94);
    background: linear-gradient(135deg, rgba(37, 204, 148, 0.1), rgba(77, 188, 221, 0.1));
    border-left: none !important;
}

.stuff-box .menu-header-row td:hover {
    transform: none;
    border-left: none !important;
}

/* Logout Row */
.stuff-box .menu-logout-row td {
    text-align: center;
    padding-top: 15px;
    border-top: 1px solid var(--border-light, rgba(0,0,0,0.1));
    margin-top: 10px;
}

.stuff-box .logout-link {
    color: var(--text-secondary, #666) !important;
    font-weight: 500;
}

.stuff-box .logout-link:hover {
    color: var(--status-error, #ef4444) !important;
}

.stuff-box .menu-logout-row td:hover {
    background: rgba(239, 68, 68, 0.08) !important;
    border-left-color: var(--status-error) !important;
}

/* Close button styling */
.stuff-box .close-infobox {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-tertiary, rgba(0,0,0,0.05));
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    color: var(--text-secondary, #666);
}

.stuff-box .close-infobox:hover {
    background: var(--status-error, #ef4444);
    color: #fff;
}

/* Notification badges in user menu - inline style */
.stuff-box .notification-number-overlay {
    position: relative !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    top: auto !important;
    right: auto !important;
    margin-left: 6px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px !important;
    font-size: 12px !important;
    font-weight: 600;
    background: var(--status-error, #ef4444) !important;
    color: #fff;
    border-radius: 10px;
    vertical-align: middle;
}

/* Hide badge if count is 0 */
.stuff-box .notification-number-overlay:empty {
    display: none;
}

@keyframes pulse-notification {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Menu disclaimer row */
.menu-disclaimer-row td {
    padding: 6px 10px !important;
    font-size: 13px;
    color: var(--text-muted, #888);
    text-align: center;
    border-top: 1px solid var(--border-color, rgba(255,255,255,0.1));
}

.server-setting-editor input {
    background-color: lightgray;
}

.help-block {
    text-align: left;
    padding: 1%;
    line-height: 1.25;
}

.help-list a {
    padding: 5px;
    border-radius: 3px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    display: inline-block;
    margin: 2px;
}

.help-list a:hover {
    background-color: #0B3A68;
}

.amazon-links {
    width: auto;
    text-align: center;
}

.grecaptcha-badge {
    bottom: 10vh !important;
}

.form-creator {
    display: inline-flex;
    width: 76%;
    border: solid 1px black;
    min-height: 560px;
    vertical-align: top;
}

.form-creator label {
    display: block;
}

#form-creator,
#form-created {
    width: 49%;
}

.form-creator-div:nth-child(even) {
    background-color: beige;
}

.form-creator-div {
    position: relative;
    height: 5vh;
}

.application-delete-element {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 2em;
    color: red;
    text-align: center;
}

#form-creator > input,
#form-creator > textarea {
    display: block;
}

.form-item-selection {
    display: inline-block;
    vertical-align: top;
    max-height: 70vh;
    overflow: auto;
}

.form-item > button,
.form-item > span {
    display: block;
    width: 60%;
    margin: 0 auto;
}

.form-item {
    display: block;
    width: 300px;
    text-align: center;
    padding: 10px;
    border: solid 1px black;
}

.app-item {
    height: auto;
    padding: 2px;
    max-width: 300px;
    border: 1px solid;
    border-radius: 4px;
    box-shadow: 0 0 1px black;
}

.app-item-preview {
    text-align: center;
    padding: 10px;
    border: 1px solid;
    overflow: hidden;
    box-shadow: inset 0 0 2px black;
}

.hide-button {
    display: block;
    height: 50px;
    width: 50px;
}

.vertical-align {
    vertical-align: middle;
}

/* Staff icons (Font Awesome) for comments */
.staff-icon {
    font-size: 1.1em;
    margin-left: 6px;
    vertical-align: middle;
}

.staff-icon.moderator-icon {
    color: #3498db;
}

.staff-icon.admin-icon {
    color: #f1c40f;
}

/* Legacy image-based admin icon */
img.admin-icon {
    width: 35px;
}

#show-qr {
    margin-top: 5px;
    font-size: 1.1em;
}

#show-qr:hover,
#hide-qr:hover,
.btn-login:hover,
.btn-signup:hover,
.save-settings-btn:hover,
.content-share-hover img:hover {
    cursor: pointer;
}


#qr-code a img {
    width: 100%;
}

#qr-code span {
    font-weight: bold;
    font-size: 1.2em;
}

/* Slideshow container */
.slideshow-container {
    max-width: 1000px;
    max-height: 486px;
    position: relative;
}

#server_status {
    width: 100%;
    padding: 2px 0;
    text-align: center;
}

/* Hide the images by default */
.mySlides,
.myVidSlides {
    position: relative;
    min-height: 350px;
    display: none;
}

.myVidSlides {
    min-height: 350px;
}

.page-video-cont {
    position: relative;
}

.mySlides img,
.myVidSlides iframe {
    width: auto;
    height: 350px;
    height: 350px;
    max-width: 100%;
    max-height: 350px;
    overflow: hidden;
}
.myVidSlides iframe{
    width:100%;
}

/* Next & previous buttons */
.prev,
.next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    background-color: rgba(0, 0, 0, 0.15);
}

.pause-play {
    display: inline-block;
    padding: 1px;
    box-shadow: 0 0 2px black;
    width: 100px;
    margin-left: 5px;
    vertical-align: middle;
    cursor: pointer;
}

.pause-play:hover {
    background-color: #3C6D70;
    color: white;
}

/* Position the "next button" to the right */
.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.prev {
    left: 0;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {
    background-color: rgba(0, 0, 0, 0.8);

}

/* Number text (1/3 etc) */
.numbertext {
    color: #f2f2f2;
    font-size: 12px;
    padding: 8px 12px;
    position: absolute;
    top: 0;
}

/* The dots/bullets/indicators */
.dot,
.viddot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    transition: background-color 0.6s ease;
}

.active,
.dot:hover,
.viddot:hover {
    background-color: #717171;
}

/* Fading animation */
.fade {
    -webkit-animation-name: fade;
    -webkit-animation-duration: 1.5s;
    animation-name: fade;
    animation-duration: 1.5s;
}

@-webkit-keyframes fade {
    from {
        opacity: .4
    }

    to {
        opacity: 1
    }
}

@keyframes fade {
    from {
        opacity: .4
    }

    to {
        opacity: 1
    }
}

.voteTestButton {
    padding: 5px;
    background-color: var(--bg-primary);
    margin: 4px auto;
    box-shadow: 0 0 3px;
    width: 100px;
    border-radius: 5px;
}

.voteTestButton:hover {
    background-color: #519296;
    color: white;
    cursor: pointer;
    box-shadow: inset 0 0 3px;
}

#testVote {
    font-size: 1.2em;
    font-weight: bold;
    background-color: var(--bg-primary);
    box-shadow: 0 0 2px black;
    border-radius: 5px;
    padding: 2px;
}

#toggle-video-img {
    display: block;
    width: 50%;
    margin: 5px auto;
    padding: 5px;
    box-shadow: 0 0 5px;
    cursor: pointer;
}

#toggle-video-img:hover {
    box-shadow: inset 0 0 5px;
}

#share-buttons img {
    width: 35px;
    padding: 5px;
    border: 0;
    box-shadow: 0;
    display: inline;
}

#share-buttons a {
    text-decoration: none;
}

.login-register {
    display: block;
    text-align: center;
    padding: 10px;
}

.block-label,
.inline-block-label {
    display: block;
    font-weight: bold;
}

.inline-block-label {
    display: inline-block !important;
}

.recover-account-inputs {
    position: relative;
    display: block;
    width: 100%;
}

.recover-account-inputs input,
.recover-account-inputs button {
    width: 50%;
    padding: 10px;
    font-size: 1.2em;
    margin: 2.5px 0;
}

.recover-account-inputs a {
    display: inline-block;
    font-size: 1.5em;
    padding: 3px;

}

.login-register-input-cont {
    display: block;
    margin: 0 auto;
    width: 75%;
}



.login-register input,
.login-register button {
    width: 100%;
    margin: 3px;
    padding: 7px;
}
.login-register-buttons{
    width: 50%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 5px;

}
.register, .forgotpassword, .forgotpassword a, .register a {
    color:white !important;
    text-decoration: none;
    font-size: 1em;
}
.login-register-buttons{
    width: 50%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 5px;

}
.register, .forgotpassword, .forgotpassword a, .register a {
    color:white !important;
    text-decoration: none;
    font-size: 1em;
}
.login-register input[type=checkbox],
.account-settings-form input[type=checkbox] {
    width: 25px;
    height: 25px;
    vertical-align: middle;
}
.account-settings-form input[type=text], .account-settings-form select {

    min-width: 50%;
    max-width: 80vw;
    padding: 5px;
    font-size: 1em;
    margin: 5px auto;
}
.stay_logged {
    display: inline-block;
}

.login-register-btn {
    max-width: 50px;
    max-height: 50px;
    position: relative;
    vertical-align: top;
    z-index: 1;
    font-size: 2.4em;
    padding: 5px 10px;
    margin-left: 10px;
}
.login-register-buttons button:hover,
.login-register-input-cont button:hover{
    background-color: var(--brand-accent);
}
.login-register-btn:hover{
    cursor: pointer;
    background-color: var(--bg-primary);
    color: var(--brand-accent);
}

.privacy-check {
    height: 20px;
    width: 20px;
    vertical-align: middle;
    display: inline;
}

.privacy-label,
.stay_logged {
    font-weight: bold;
}

.register-email,
.register-username,
.register-passwords,
.login-register-input-cont {
    text-align: left;
    display: block;
    width: 50%;
    margin: 5px auto;
}

.register-email span,
.register-username label,
.register-passwords span {
    display: inline-flex;
    text-align: left;
    width: auto;
}

.register-email input,
.register-username input,
.register-passwords input {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 5px;
    height: 4vh;
    font-size: 16px;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.login-fade {
    position: fixed;
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    z-index: 50;
    text-align: center;
}

.edit-comment-overlay span,
.delete-confirm span {
    text-decoration: underline;
    cursor: pointer;
}

.edit-comment-overlay span:hover,
.delete-confirm span:hover {
    color: #397b7f;
}

.delete-confirm,
.edit-comment-overlay,
.delete-confirm-review {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 45vw;
    min-width: 100px;
    padding: 20px;
    height: auto;
    border: 1px solid var(--border-light);
    text-align: center;
    z-index: 9999;
    transform: translate(-50%, -50%);
    background-color: var(--bg-elevated);
    color: var(--text-primary);
    border-radius: 8px;
    box-shadow: var(--shadow-lg);
}

.delete-confirm p,
.delete-confirm-review p {
    color: var(--status-error);
    padding: 5px;
    font-size: 1.15em;
}

.delete-confirm h3,
.delete-confirm-review h3 {
    color: var(--text-primary);
}

.delete-confirm a {
    margin: 15px;
    padding: 8px 16px;
    background-color: var(--bg-tertiary);
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    color: var(--text-primary);
    text-decoration: none;
}

.delete-confirm a:hover {
    background-color: var(--bg-secondary);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}

.delete-confirm textarea,
.delete-confirm-review textarea {
    width: 90%;
    min-height: 80px;
    padding: 10px;
    margin: 10px 0;
    background-color: var(--input-bg);
    color: var(--input-text);
    border: 1px solid var(--input-border);
    border-radius: 6px;
    font-family: inherit;
    font-size: 0.95em;
    resize: vertical;
}

.delete-confirm textarea:focus,
.delete-confirm-review textarea:focus {
    outline: none;
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-primary) 25%, transparent);
}

.login {
    display: inline-block;
    width: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    text-align: left;
}

.close-infobox {
    padding: 6px 8px;
    font-weight: 500;
    position: absolute;
    top: 8px;
    right: 12px;
    color: #6b7280;
    font-size: 1.2em;
    border-radius: 6px;
    transition: all 0.2s ease;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.close-infobox:hover {
    color: var(--status-error);
    background: rgba(239, 68, 68, 0.1);
    transform: scale(1.1);
}

table {
    border: solid #dcdcdc 1px;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
    background-color: var(--bg-primary);
}

table tr,
td {
    padding: 15px;
    width: auto;
}

table tr td input {
    width: 97%;
    height: 45px;
    border: solid #e1e1e1 1px;
    border-radius: 3px;
    padding-left: 10px;
    font-size: 16px;
    background: #f9f9f9;
    transition-duration: 0.5s;
    box-shadow: inset 0 0 1px rgba(0, 0, 0, 1.2);
}

table tr td button {
    width: 100%;
    height: 45px;
    border: 0;
    background: #AAA;
    background: -moz-linear-gradient(top, #595959, #515151);
    border-radius: 3px;
    box-shadow: 1px 1px 1px rgba(1, 0, 0, 0.2);
    color: #f9f9f9;
    font-size: 18px;
    font-weight: bolder;
    text-transform: uppercase;
}

table tr td button:active {
    position: relative;
    top: 1px;
}

table tr td button:hover {
    box-shadow: 2px 2px 2px rgba(1, 0, 0, 0.5);
    transition: all .2s;
    cursor: pointer;
}

table tr td a {
    text-decoration: none;
    color: #000;
    font-size: 1em;
}

#login img,
.setting-icon {
    vertical-align: middle;
    height: 30px;
}

.events-header {
    display: flex;
}

.navigation-bars {
    font-size: 40px;
    padding: 5px 10px;
}

.menu-button {
    position: absolute;
    display: none;
    z-index: 1;
    right: 0;
    border: none;
}

.login-link,
.register-link {
    display: inline-block;
}

.info-box {
    width: 100%;
    height: auto;
}

.info-box a {
    text-decoration: none;
}

.avatar {
    vertical-align: middle;
    width: 35px;
    height: 35px;
    padding: 4px;
}

.mail-icon {
    width: 25px;
    height: 20px;
    vertical-align: middle;
}

.youHaveMail {
    background-color: red;
}

.notification {
    width: 25px;
    vertical-align: middle;
}

.info-box span {
    padding: 3px;
    margin: 2px;
}


#list-nav {
    left: -20%;
}

#help li,
#list-nav li {
    display: block;
    font-size: 1em;
}

body {
    position: relative;
    display: block;
    min-height: 100vh;
    background-color: var(--bg-primary);
}

.server-list,
.ultima-server-list,
.dashboard-container,
.breadcrumb,
.user-profile {
    margin: 0 auto;
    height: 100%;
    width: 100%;
    overflow: hidden;
    text-align: center;
}
.breadcrumb i{
    margin: 0 2.5px;
    font-size: 1.2em;
}
.breadcrumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: unset;
    padding: 5px 0;
    font-weight: bold;
    font-size: 1em;
}
.breadcrumb a, .breadcrumb span {
    text-decoration: none;
    color: rgb(0, 141, 188);
    padding: 5px;
}
.breadcrumb a:hover {
    color: #0B3A68ff;
    text-decoration: underline;
}
.breadcrumb i{
    margin: 0 2.5px;
    font-size: 1.2em;
}
.breadcrumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: unset;
    padding: 5px 0;
    font-weight: bold;
    font-size: 1em;
}
.breadcrumb a, .breadcrumb span {
    text-decoration: none;
    color: rgb(0, 141, 188);
    padding: 5px;
}
.breadcrumb a:hover {
    color: #0B3A68ff;
    text-decoration: underline;
}

.list-container,
.ultima-list-container,
.server-dashboard,
.server-dashboard-calendar,
.settings-list-cont {
    display: inline-flex;
    flex-direction: column;
    width: calc(50vw - 50px);
    text-align: center;
    flex-wrap: nowrap;
    margin: 0 0;
    margin: 0 0;
}

.settings-list-cont {
    width: 65vw;
}

.server-dashboard-calendar {
    width: auto;
    max-width: 83%;
}

.sitewide-calendar {
    width: 100%;
    max-width: 100%;
}

.ultima-list-container {
    min-height: 75vh;
    height: auto;
    width: calc(50vw - 110px);
    border: 30px solid transparent;
    border-image: url(images/default/uo-scroll-background.png) 60 fill;
}

.ultima-online-list,
.ultima-online-page {
    background: transparent;
}

.ultima-online-item,
.ultima-online-texture {
    background: url(images/default/uo-repeated-texture.jpg) repeat top left;
    box-shadow: inset 0 0 4px;
    font-weight: bold;
}

.ultima-online-texture {
    font-weight: normal;
    box-shadow: none;
}

.uo-news-header {
    font-size: 1.1em;
    text-decoration: underline;
}

.list-container-large {
    display: block;
    float: left;
    width: 100%;
    margin: 0 auto;
    min-height: 90vh;
    height: 100%;
    background-color: #d9d9d9;
    clear: both;
}

.server-dashboard {
    position: relative;
    height: 100%;
    margin: 0.5%;
}

.dashboard-board {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 1.7em;
}

.dashboard-left,
.calendar-left {
    width: 15%;
    min-height: 0;
    height: auto;
}

.calendar-left {
    width: 20% !important;
    margin: 0;

}

.dashboard-container {
    min-height: 100vh;
    text-align: center;
}

.dashboard-small-items {
    display: inline-block;
    vertical-align: top;
    width: 40%;
    padding: 5px;
    margin: 0.3%;
    min-height: 165px;
}

/* Dashboard Analytics Styles */
.dashboard-analytics-header {
    margin: 20px auto;
    max-width: 1200px;
    text-align: center;
}

.dashboard-analytics-header h2 {
    font-size: 2em;
    margin-bottom: 15px;
    color: var(--text-primary);
}

.dashboard-analytics-header .dashboard-info-box {
    font-size: 0.55em;
    margin: 15px auto;
    max-width: 800px;
    text-align: left;
}

.dashboard-analytics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    font-size: 0.65em;
}

.dashboard-metric-card {
    background-color: var(--bg-tertiary);
    border-radius: 12px;
    padding: 20px;
    box-shadow: var(--shadow-md);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-metric-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.dashboard-metric-card h3 {
    font-size: 1.4em;
    margin: 0 0 20px 0;
    color: var(--accent-primary);
    border-bottom: 2px solid var(--accent-primary);
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.metric-tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: help;
    margin-left: auto;
}

.metric-tooltip i {
    font-size: 0.8em;
    color: var(--text-secondary);
    opacity: 0.6;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.metric-tooltip:hover i {
    opacity: 1;
    color: var(--accent-primary);
}

.metric-tooltip-text {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 125%;
    right: 0;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    padding: 12px 15px;
    border-radius: 8px;
    font-size: 0.65em;
    font-weight: 400;
    white-space: normal;
    width: 280px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    z-index: 1000;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    line-height: 1.4;
    text-align: left;
    border: 1px solid var(--border-color, rgba(0, 0, 0, 0.1));
}

.metric-tooltip-text::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 15px;
    border-width: 6px;
    border-style: solid;
    border-color: var(--bg-primary) transparent transparent transparent;
}

.metric-tooltip:hover .metric-tooltip-text {
    visibility: visible;
    opacity: 1;
}

.metric-stats {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.metric-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    background-color: var(--bg-secondary);
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

.metric-item:hover {
    background-color: var(--bg-primary);
}

.metric-label {
    font-weight: 500;
    color: var(--text-secondary);
    font-size: 1.05em;
}

.metric-value {
    font-weight: 700;
    font-size: 1.3em;
    color: var(--accent-primary);
}

.top-voters-list {
    max-height: 400px;
    overflow-y: auto;
}

.top-voters-list .metric-item {
    background-color: var(--bg-secondary);
}

.top-voters-list .metric-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    margin-right: 10px;
}

.no-data {
    justify-content: center;
    font-style: italic;
    color: var(--text-secondary);
    opacity: 0.7;
}

/* Responsive adjustments for dashboard analytics */
@media screen and (max-width: 768px) {
    .dashboard-analytics-grid {
        grid-template-columns: 1fr;
        padding: 10px;
        font-size: 0.75em;
    }

    .dashboard-metric-card {
        padding: 15px;
    }

    .dashboard-analytics-header .dashboard-info-box {
        font-size: 0.6em;
    }

    .metric-tooltip-text {
        width: 220px;
        font-size: 0.7em;
        left: auto;
        right: -10px;
    }
}

.review-container {
    width: 75%;
    margin: 1% auto;
    padding: 1%;
    min-height: 55vh;
}

.image-delete-btn {
    max-width: 250px;
    width: auto;
    box-shadow: var(--shadow-md);
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
    margin: 15px auto;
}

.image-delete-btn:hover {
    box-shadow: var(--shadow-md);
    color: white;
    background-color: crimson;
}

/* =============================================
   NEWS PAGE STYLES
   ============================================= */

/* News Page Container */
.news-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* News Page Header */
.news-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
    padding: 25px 30px;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
    border-radius: 12px;
    border-left: 4px solid var(--brand-primary);
}

.news-header-content h1 {
    margin: 0 0 8px 0;
    font-size: 1.8em;
    color: var(--text-primary);
}

.news-header-content h1 i {
    margin-right: 10px;
    color: var(--brand-primary);
}

.news-header-content p {
    margin: 0;
    color: var(--text-muted);
    font-size: 1em;
}

/* Post News Button */
.news-post-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.news-post-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    color: white;
}

/* News Layout */
.news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 30px;
    align-items: start;
    max-width: 100%;
    overflow: hidden;
}

.news-main {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.news-sidebar {
    min-width: 0;
    width: 300px;
    grid-column: 2;
    position: sticky;
    top: 20px;
}

/* News Grid */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
    gap: 20px;
    margin-bottom: 30px;
    max-width: 100%;
}

/* News Card */
.news-card {
    background: var(--bg-primary);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.2s ease;
    position: relative;
    max-width: 100%;
    word-wrap: break-word;
}

.news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

.news-card.featured {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
    border: 2px solid var(--brand-primary);
}

.news-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 20px;
    height: 100%;
}

.news-card.featured .news-card-link {
    padding: 30px;
}

.news-card-content {
    position: relative;
}

/* News Badge */
.news-badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--brand-primary);
    color: white;
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px;
    margin-bottom: 12px;
}

/* News Card Title */
.news-card-title {
    margin: 0 0 12px 0;
    font-size: 1.2em;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.4;
    transition: color 0.2s ease;
}

.news-card:hover .news-card-title {
    color: var(--brand-primary);
}

.news-card.featured .news-card-title {
    font-size: 1.6em;
}

/* News Card Excerpt */
.news-card-excerpt {
    margin: 0 0 16px 0;
    color: var(--text-muted);
    font-size: 0.95em;
    line-height: 1.6;
}

/* News Card Meta */
.news-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 0.85em;
    color: var(--text-muted);
}

.news-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.news-card-meta i {
    color: var(--brand-primary);
}

/* Edit Link */
.news-edit-link {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-secondary);
    border-radius: 6px;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
    opacity: 0;
}

.news-card:hover .news-edit-link {
    opacity: 1;
}

.news-edit-link:hover {
    background: var(--brand-primary);
    color: white;
}

/* News Pagination */
.news-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 20px 0;
    flex-wrap: wrap;
}

.news-pagination .page-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    background: var(--bg-primary);
    color: var(--text-primary);
    text-decoration: none;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s ease;
    border: 1px solid var(--border-color);
}

.news-pagination .page-btn:hover:not(.disabled) {
    background: var(--brand-primary);
    color: white;
    border-color: var(--brand-primary);
}

.news-pagination .page-btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.news-pagination .page-numbers {
    display: flex;
    align-items: center;
    gap: 5px;
}

.news-pagination .page-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    background: var(--bg-primary);
    color: var(--text-primary);
    text-decoration: none;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.2s ease;
    border: 1px solid var(--border-color);
}

.news-pagination .page-num:hover:not(.current) {
    background: var(--bg-secondary);
    border-color: var(--brand-primary);
}

.news-pagination .page-num.current {
    background: var(--brand-primary);
    color: white;
    border-color: var(--brand-primary);
}

.news-pagination .page-ellipsis {
    padding: 0 8px;
    color: var(--text-muted);
}

/* News Empty State */
.news-empty {
    text-align: center;
    padding: 60px 20px;
    background: var(--bg-primary);
    border-radius: 12px;
}

.news-empty i {
    font-size: 3em;
    color: var(--text-muted);
    margin-bottom: 20px;
}

.news-empty h3 {
    margin: 0 0 10px 0;
    color: var(--text-primary);
}

.news-empty p {
    margin: 0;
    color: var(--text-muted);
}

/* Responsive News Page */
@media (max-width: 1024px) {
    .news-layout {
        display: flex !important;
        flex-direction: column !important;
    }

    .news-main {
        order: 1;
    }

    .news-sidebar {
        order: 2;
        width: 100% !important;
        position: static;
    }
}

@media (max-width: 768px) {
    .news-page {
        padding: 15px;
    }

    .news-page-header {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }

    .news-header-content h1 {
        font-size: 1.5em;
    }

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card.featured .news-card-title {
        font-size: 1.3em;
    }

    .news-pagination {
        gap: 5px;
    }

    .news-pagination .page-btn {
        padding: 8px 12px;
        font-size: 0.9em;
    }

    .news-pagination .page-num {
        min-width: 32px;
        height: 32px;
        font-size: 0.9em;
    }
}

/* Legacy post-news-btn (kept for backwards compatibility) */
.post-news-btn {
    display: inline-block;
    padding: 5px;
    margin: 5px;
    background-color: #eee;
    box-shadow: 1px 1px 1px black;
}

.compose-mail {
    margin: 10px 0;
    text-align: center;
}

.compose-mail input {
    margin: 10px;
    height: 25px
}

.compose-mail textarea {
    height: 200px;
    width: 500px;
}

.msg-subject-input {
    width: 80%;
}

.msg-lookup-user {
    margin: 2px 0;
    padding: 2px;
    border-left: 2px solid var(--brand-primary);
    border-top: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-accent);
    border-right: 2px solid var(--brand-accent);
}

.msg-lookup-user:hover {
    cursor: pointer;
    background-color: var(--brand-primary);
}

.msg-search-dropdown {
    overflow: hidden;
    transition: height .6s, opacity .5s linear;
    opacity: 0;
    height: 1px;
    margin: 0 auto;
    width: 250px;
}

.additional-msg-input {
    display: inline-block;
}

.additional-msg-input-item {
    border: none;
    background-color: #eee;
    text-align: center;
    display: inline-block;
    max-width: 150px;
    width: auto;
    min-width: 50px;
    font-weight: bold;
    font-size: 1em;
}

.first-msg-input-item {
    text-align: center;
    font-size: 1em;
    font-weight: bold;
}

.mail-send {
    height: 50px;
    width: 80px;
}

.srv-list-item,
.news-list-item,
.list-ad {
    display: flex;
    align-items: center;
    width: auto;
    height: auto;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: var(--bg-primary);
    animation: list 0.5s linear 1;
    overflow: hidden;
    padding: 2px;
    margin: 2.5px 0;
    justify-content: center;
}

.server-list-link {
    width: 100%;
    display: block;
    margin: 0 auto;
    text-decoration: none;
}

.news-list-item {
    height: auto;
    border-left: 2px solid var(--brand-primary);
    border-top: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-accent);
    border-right: 2px solid var(--brand-accent);
}

.news-list-item a {
    text-decoration: none;
}

.news-title {
    padding: 5px 10px;
    text-align: left;
}

.news-info {
    border-radius: 10px;
    padding: 5px 10px;
}

.news-info span {
    margin: 0 5px;
    display: inline-block;
}

.news-content {
    font-size: 1.2em;
    padding: 10px;
    text-align: left;
}

.news-content,
.news-info,
.news-title {
    margin: 2.5px;
}

.news-content ol {
    margin-left: 20px;
}

@keyframes list {
    0% {
        height: 0;
        padding: 0;
    }

    100% {
        height: 100px;
        padding: 10px 0;
    }
}

.srv-list-item > img {
    margin-right: 5%;
    width: 12%;
    height: auto;
}

.list-item-middle,
.list-item-right {
    vertical-align: middle;
}

.list-item-middle {
    vertical-align: middle;
    display: inline-block;
    width: 60%;
    text-align: center;
    word-break: break-all;
}

.list-item-middle span {
    min-width: 50px;
    display: block;
    font-size: 1.4em;
}

.svr-list-version {
    overflow-wrap: break-word;
}

.srv-list-country,
.srv-list-lang {
    font-size: 1.07em !important;
    display: inline-block !important;
    width: auto;
    margin: 0 auto;
    overflow: auto;
    word-break: keep-all;
    max-height: 2em;
    overflow: auto;
    word-break: keep-all;
    max-height: 2em;
}

.list-item-right {
    width: 20%;
    vertical-align: middle;
    overflow: hidden;
    margin-right: -1%;
}

.list-item-right ul {
    text-align: center;
    list-style: none;
}

.list-item-right img {
    height: 30px;
    width: 30px;
}

.isonline,
.isoffline {
    position: relative;
    padding: 2px 0;
    box-shadow: inset 0 0 2px black;
    overflow: hidden;
    font-size: 1.2em;
    border-radius: 3px;
}

.isonline {
    background-color: greenyellow;
}

.isoffline {
    background-color: rgba(255, 0, 0, 0.7);
}

.filter {
    display: block;
    width: 100%;
}

.filter-submit:hover {
    cursor: pointer;
}

.filter-note {
    padding: 3px;
    margin: 5px;
}

#arrow {
    width: 50px;
    height: 50px;
}

@keyframes arrow_up {
    0% {
        transform: rotateZ(270deg)
    }

    100% {
        transform: rotateZ(90deg);
    }
}

@keyframes arrow_down {
    0% {
        transform: rotateZ(90deg)
    }

    100% {
        transform: rotateZ(270deg);
    }
}

@keyframes arrow_left {
    0% {
        transform: rotateZ(180deg)
    }

    100% {
        transform: rotateZ(0deg);
    }
}

@keyframes arrow_right {
    0% {
        transform: rotateZ(0deg)
    }

    100% {
        transform: rotateZ(180deg);
    }
}

.arrow_up,
.arrow_up_noanim {
    -webkit-animation: arrow_up 0.3s linear;
    /* Safari 4.0 - 8.0 */
    animation: arrow_up 0.3s linear;
    transform: rotateZ(90deg);
}

.arrow_down,
.arrow_down_noanim {
    -webkit-animation: arrow_down 0.3s linear;
    /* Safari 4.0 - 8.0 */
    animation: arrow_down 0.3s linear;
    transform: rotateZ(270deg);
}

.arrow_left,
.arrow_left_noanim {
    -webkit-animation: arrow_left 0.3s linear;
    /* Safari 4.0 - 8.0 */
    animation: arrow_left 0.3s linear;
    transform: rotateZ(0deg);
}

.arrow_right,
.arrow_right_noanim {
    -webkit-animation: arrow_right 0.3s linear;
    /* Safari 4.0 - 8.0 */
    animation: arrow_right 0.3s linear;
    transform: rotateZ(180deg);
}

.arrow_right_noanim {
    animation: arrow_right 0s linear;
}

.arrow_left_noanim {
    animation: arrow_left 0s linear;
}

.arrow_down_noanim {
    animation: arrow_down 0s linear;
}

.arrow_up_noanim {
    animation: arrow_up 0s linear;
}

.side-search-bar input,
.side-search-bar select,
.side-search-bar option,
.side-search-bar {
    margin: 0 auto;
    width: calc(99% - 8px);
    padding: 2px;
    font-size: 1em;
    cursor: pointer;
}

.side-search-bar {
    cursor: auto;
}

input[type=text] {
    cursor: text;
}

.side-search-bar input[type=checkbox] {
    display: inline-flex;
    width: 20px;
    height: 20px;
    margin: 5px;
}

.filter-checkbox {
    display: flex;
    justify-content: center;
    justify-items: center;
    flex-wrap: nowrap;
    align-items: center;

}

.side-search-bar div label {
    width: auto;
    font-size: 1.1em;
}

.side-search-bar ul li {
    display: inline-block;
    padding: 2px;
}

.side-search-bar {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin: 5px;
}

.right-list,
.left-list,
.ultima-right-list,
.ultima-left-list,
.calendar-left,
.dashboard-left {
    width: 24%;
    margin: 0.5%;
    position: relative;
    display: inline-flex;
    flex-direction: column;
    font-size: 1.1em;
    vertical-align: top;
}

.ultima-right-list,
.ultima-left-list {
    border: 30px solid transparent;
    width: calc(24% - 80px);
    border-image: url(images/default/uo-scroll-background.png) 60 fill;
    vertical-align: top;
    margin: 0 0.5%;
    min-height: calc(75vh - 20px);
}

.list-news-wrapper {
    width: 100%;
    margin: 0;
}

.mojang::before,
.latest-news-header::before,
.list-links-header::before,
.affiliate-links::before,
.website-stats-header::before,
.info-box::before,
.side-search-bar::before,
.side-search-bar::after,
.contactus-header::after {
    content: '';
    width: 98%;
    margin: 1.5vh auto;
    display: block;
    border-bottom: 2px solid rgba(37, 204, 148, 0.7);
}

.latest-news-header,
.mojang-server-status,
.list-links-header,
.affiliate-links,
.website-stats-header,
.share-header {
    margin-top: 1vh;
    font-size: 2em;
}

.list-news {
    padding: 3px;
    margin: 3px 0;
    background-color: var(--bg-primary);
    font-size: 1em;
    border: 2px solid #fff;
}

.list-news a {
    text-decoration: none;
}

.list-news:hover {
    border-left: 2px solid var(--brand-primary);
    border-top: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-accent);
    border-right: 2px solid var(--brand-accent);}

.list-links a {
    display: inline-block;
    padding: 4px;
    margin: 2px;
    font-weight: bold;
    color: var(--text-primary);
}

.add-server span {
    font-size: 1.2em;
}

.add-server select,
.add-server input {
    padding: 10px;
}

.add-form {
    display: block;
}

.add-form input,
.add-form textarea {
    width: 100%;
    height: 30px;
}

.add-form textarea {
    min-height: 100px;
}
.add-server-object-full-width{
    display: block;
    width: 100%;
}
.add-server-object {
    display: inline-block;
    width: 45%;
}

.add-server-object select,
.add-server-object input {
    width: 100%;
}

.server-confirmation {
    text-align: center;
    padding: 10px;
}

.server-confirmation input {
    padding: 10px;
}

.verification-key {
    background-color: var(--brand-primary)ff;
    border-radius: 15px;
}

.add-server-ip-port input,
.add-server-submit,
.successful-ping input {
    padding: 10px;
}

.MOTD-confirm {
    height: 60vh;
    padding: 1% 5%;
    font-size: 1.2em;
}

.successful-ping,
.failed-ping,
.success {
    font-size: 1.2em;
    text-align: center;
    box-shadow: 0 0 3px;
    border-radius: 10px;
    padding: 10px;
    margin: 10px 10%;
    background-color: greenyellow;
}

.failed-ping {
    background-color: #FF4B12;
    margin-top: 10px;
}

.help {
    padding: 10px;
    font-size: 1.2em;
}

.help p {
    margin: 5px 2px;
}

.help img {
    max-width: 50px;
}

.help ol li {
    margin: 15px;
}

.error {
    margin: 1% 5%;
    padding: 1%;
    font-weight: bold;
}

.error-container {
    min-height: 59vh;
    padding: 1%;
}

.server-page-left,
.server-page-right {
    width: 45vw;
    display: inline-flex;
    height: 100%;
    flex-direction: column;
    vertical-align: top;
}

#server-page-footer {
    background-color: #d9d9d9;
    text-align: center;
    max-width: 1000px;
    margin: 0 auto;
}

.server-page-img {
    width: 100%;
    max-height: 400px;
    opacity: 0.75;
}

.server-page-apply {
    cursor: pointer;
}

#review-preview-display {
    cursor: pointer;
    text-decoration: underline;
    margin-right: 5px;
}

.srv-page-interact,.server-page-title,.serverDetailWrap,.srv-page-desc{
    margin: 5px 10px;
}
.server-page-title {
    text-align: center;
    margin-top: 10px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 5px;
    margin-top: 10px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 5px;
    min-height: 20%;
    height: auto;
}
.srv-page-interact {
    height: auto;
}

.srv-page-desc {
    min-height: 50%;
    height: auto;
}

.server-page-title h1 {
    font-size: 3em;
}

.server-page-title span {
    font-size: 2em;
}

.serverAddress {
    margin: 0 auto;
    width: auto;
    padding-bottom: 1vh;
}

.serverAddress:hover {
    cursor: pointer;
    background-color: rgba(77, 188, 221, 0.5);
    border-radius: 15px;
}

.reauthenticate {
    padding: 5px;
    box-shadow: 0 0 1px;
    text-align: center;
}

.reauthenticate form {
    display: block;
    width: 40%;
    margin: 0 auto;
}

.srv-page-interact {
    padding: 5px 0;
    text-align: center;
    font-size: 1.5em;
}

#interact2 {
    font-size: 1.25em;
}

.srv-page-interact > span {
    margin: 0 3px;
    vertical-align: middle;
    padding: 3px;
    text-decoration: underline;
}

.srv-page-interact span:hover {
    cursor: pointer;
    color: grey;

}

.server-display-votes {
    text-decoration: none !important;
    font-size: 1.2em;
}

.server-display-votes:hover {
    cursor: default !important;
    color: var(--text-primary) !important;
}

.srv-page-interact input {
    padding: 5px;
}

#vote-btn {
    padding: 5px;
}

.serverDetailWrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    min-height: 22%;
    height: auto;
}

.srv-detail-vote {
    width: 49%
}

.page-important-links {
    width: 100%;
}

.page-link-item {
    width: auto;
}

.important-link-cont {
    display: flex;
    flex-wrap: wrap;
}

.imp-lnk-cnt-left,
.imp-lnk-cnt-right {
    text-align: left;
    width: 48%;
    padding: 5px;
    font-size: 1.1em;
}

.srv-page-details {
    font-size: 1.2em;
    display: flex;
    flex-direction: column;
    padding: 10px;
    vertical-align: top;
    text-align: left;

}

#copiedAddress {
    display: block;
    font-size: 1.8em;
    font-weight: bold;
    padding: 10px;
}

.srv-page-desc {
    font-size: 1.2em;
    text-align: left;
    padding: 10px;
    min-height: 0;
    overflow: auto;
    color: var(--text-primary);
}

.srv-detail-items {
    padding: 0 2px;
}

.srv-detail-items h4,
.srv-detail-items div {
    justify-content: center;
    display: inline-flex;
    padding: 2px 2.5px;
}

.srv-detail-items:nth-child(even) {
    background-color: var(--bg-primary);
}

ol,
li,
ul {
    margin: inherit;
    padding: inherit;
}

.reply-box {
    padding: 1% 0;
}

.reply-box > form > textarea,
.ck-content {
    display: block;
    width: auto;
    margin: 0 5px;
    padding: 5px;
    border: solid 1px black;
    border-radius: 5px;
    min-height: 10px;
    min-height: 10px;
    height: 100%;
    max-height: 250px;
}
.setting .ck-content {
    max-height: unset;
}
.setting .ck-content {
    max-height: unset;
}

.reply-box > form > input {
    padding: 5px;
    display: block;
    width: 77%;
    margin: 0 auto;
    border-radius: 5px;
}

.reply-box > form > input:hover {
    box-shadow: inset 0 0 3px black;
    cursor: pointer;
}

.comments,
.comment2 {
    clear: both;
    margin: 0 auto;
    width: 95%;
}

.comment2 {
    width: 96%;
    margin: 0;
    padding: 5px;
}

.commentDateTime,
.contentDateTime {
    font-size: 0.85em;
    color: var(--text-secondary);
    opacity: 0.8;
    display: block;
}

.small-rounded-border {
    border-radius: 10px;
}

.colorful-borders {
    border-left: 2px solid var(--brand-primary);
    border-top: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-accent);
    border-right: 2px solid var(--brand-accent);
}

.colorful-borders-n-background,
.event-active-listing {
    border-left: 2px solid var(--brand-primary);
    border-top: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-accent);
    border-right: 2px solid var(--brand-accent);
    background: linear-gradient(90deg, rgba(37, 204, 148, 0.3) 0%, rgba(77, 188, 221, 0.3) 100%);
}

.active-event-li {
    font-size: 1.2em;
}

.parentComment,
.parentNewsComment,
.childComment,
.review-item,
.lists-item
 {
    margin: 5px auto;
    position: relative;
    text-align: left;
    padding: 3px;
    border-left: 4px solid var(--brand-primary);
    border-top: 4px solid var(--brand-primary);
    border-bottom: 4px solid var(--brand-accent);
    border-right: 4px solid var(--brand-accent);
}

.childComment {
    max-width: 80%;
    margin-left: 1vw;
    background-color: var(--bg-primary);

}

/* Comments disabled message for blocked users */
.comments-disabled-message {
    padding: 20px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.95em;
    background: var(--bg-secondary);
    border-radius: 8px;
    margin: 10px 0;
}

.comments-disabled-message i {
    margin-right: 8px;
    opacity: 0.7;
}

/* Reactions/Comments disabled state for blocked users */
.content-react-btn.reactions-disabled,
.content-comment-btn.content-comments-disabled {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}

.content-react-btn.reactions-disabled span,
.content-comment-btn.content-comments-disabled span {
    color: var(--text-muted);
}

.reactions-disabled-message {
    font-size: 0.85em;
    color: var(--text-muted);
    padding: 5px 10px;
}

.reactions-disabled-text {
    font-size: 0.9em;
    color: var(--text-muted);
    opacity: 0.6;
}

/* Comment react button disabled */
.comment-react-btn.reactions-disabled {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}

/* Event card reactions disabled */
.event-card-reactions.reactions-disabled,
.event-view-reactions-bar.reactions-disabled {
    pointer-events: none;
    opacity: 0.6;
    justify-content: center;
}

.parentNewsComment {
    width: 100%;
}

.parentCommentImg,
.childCommentImg,
.messages-avatar,
.mention-details img {
    display: inline-block;
    vertical-align: middle;
    height: 48px;
    width: 48px;
    max-height: 64px;
    max-width: 64px;
    margin-left: 2px;
    margin-top: 2px;
    padding: 2px;
    border-radius: 10px;
    border: 2px solid var(--brand-primary);
    object-fit: cover;
}

.content-feed-user-img img {
    display: block;
    height: 48px;
    width: 48px;
    object-fit: cover;
    border-radius: 10px;
    border: 2px solid var(--brand-primary);
    flex-shrink: 0;
}

.childCommentImg {
    max-height: 52px;
    max-width: 52px;
    vertical-align: middle;
}

.parentCommentUserName,
.childCommentUserName,
.reviewUserName {
    padding: 1px;
    font-size: 1.25em;
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
}

.contentUsername {
    font-size: 1.1em;
    font-weight: 600;
    display: block;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.childCommentUserName {
    font-size: 1.05em !important;
}

/* Profile link styles for comments and content */
a.parentCommentUserName,
a.childCommentUserName,
a.contentUsername {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}
a.parentCommentUserName:hover,
a.childCommentUserName:hover,
a.contentUsername:hover {
    color: var(--brand-primary);
}
.comment-user-link,
.content-feed-user-link {
    display: inline-block;
    line-height: 0;
}
.comment-user-link img,
.content-feed-user-link img {
    transition: opacity 0.2s ease;
}
.comment-user-link:hover img,
.content-feed-user-link:hover img {
    opacity: 0.85;
}

.parentCommentWrap,
.childCommentWrap {
    position: relative;
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
}

.content-feed-user-img {
    display: flex;
    align-items: center;
    gap: 12px;
}

.username-icon-cont {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.parentCommentComment,
.childCommentComment,
.review-item p,
.content-feed-content {
    font-size: 1.05em;
    padding: 10px;
    margin: 1% 1%;
    background: linear-gradient(90deg, rgba(37, 204, 148, 0.1) 0%, rgba(77, 188, 221, 0.1) 100%);
    border-radius: 15px;
}

.review-item p {
    font-size: 1.2em;
}

.fa-ellipsis-h {
    vertical-align: top;
    font-size: 1.5em;
    z-index: 999;
}

.fa-ellipsis-h:hover {
    cursor: pointer;
}

.comment-interact-drop,
.notification-interact-drop {
    position: absolute;
    display: flex;
    vertical-align: middle;
    right: 8px;

}

.notification-interact-drop {
    right: 15px;
    top: 5px;
}

.commentInteract,
.notificationInteract {
    position: relative;
    right: 8px;
    margin: 0;
    display: none;
    /* inline block*/
    vertical-align: middle;
    padding: 6px;
    border-radius: 10px;
    font-size: 1.3em;
    z-index: 999;
    border-left: 2px solid var(--brand-primary);
    border-top: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-accent);
    border-right: 2px solid #25cc94;
    border-right: 2px solid #25cc94;
}

.commentInteractButtons {
    padding: 5px;
    text-decoration: underline;
    margin: 0 4px;
}

.commentInteractButtons:hover {
    color: #397b7f;
    cursor: pointer;
}

.server-page-vote-notif {
    font-size: .75em;
    padding: 2px;
}

.account-settings,
.settings-form,
.server-settings,
.settings-form-dashboard {
    padding: 1%;
}

.settings-form-dashboard {
    text-align: center;
    max-height: 80vh;
    overflow: auto;
}

.server-settings {
    max-height: 450px;
    overflow: auto;
    text-align: center;
}

.settings-textarea {
    min-height: 100px;
    width: 100%;
}

.dashboard-servers-edit,
.profile-servers-edit {
    display: inline-block;
    width: auto;
    min-width: 150px;
    min-height: 150px;
    max-width: 150px;
    box-shadow: 0 0 4px;
    vertical-align: top;
    text-align: center;
    padding: 3px;
    margin: 2.5px;
    border-radius: 10px;
    word-break: break-all;
}

.profile-servers-edit:hover {
    box-shadow: inset 0 0 4px;
}

.profile-servers-edit a img,
.dashboard-servers-edit a img {
    max-width: 100px;
}

/* Dashboard page group styles */
.dashboard-page-group {
    margin-bottom: 15px;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    overflow: hidden;
    background-color: var(--bg-primary);
}

.dashboard-group-header {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    background-color: var(--bg-secondary);
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease;
    border-bottom: 1px solid var(--border-light);
}

.dashboard-group-header:hover {
    background-color: var(--bg-tertiary, #e0e0e0);
}

.group-toggle-icon {
    width: 20px;
    margin-right: 10px;
    color: var(--text-secondary);
    transition: transform 0.2s ease;
}

.group-toggle-icon i {
    font-size: 0.9em;
}

.group-name {
    font-weight: 600;
    font-size: 1.1em;
    color: var(--text-primary);
}

.group-count {
    margin-left: 8px;
    color: var(--text-secondary);
    font-size: 0.9em;
}

.dashboard-group-content {
    display: none;
    padding: 10px;
    background-color: var(--bg-primary);
}

.dashboard-group-content.expanded {
    display: block;
}

.dashboard-group-content .dashboard-servers-edit {
    margin: 5px;
}

.dashboard-expand-controls {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    justify-content: flex-start;
}

.expand-collapse-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9em;
    color: var(--text-primary);
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.expand-collapse-btn:hover {
    background-color: var(--bg-tertiary, #e0e0e0);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.expand-collapse-btn i {
    font-size: 0.85em;
}

.add-server-form-cont span {
    font-size: 1em;
    margin: 3px;
}

.add-server-form-cont input,
.server-name-input input {
    width: 99%;
    height: 30px;
    border-radius: 5px;
    box-shadow: 0 0 1px black;
    font-size: 1.2em;
    margin: 5px auto;
    padding: 3px;
    border: none;
}

.add-server-form-cont textarea {
    width: 90%;
    padding: 3px;
    min-height: 250px;
    box-shadow: 0 0 1px;
}

.add-server-form-cont select {
    font-size: 1.2em;
}

.extra-options input {
    vertical-align: middle;
}

.extra-options-list input[type=checkbox] {
    width: 25px;
    height: 25px;
}

.ui-widget.ui-widget-content {
    border: none !important;
}

.tagit-new input {
    width: 95%;
}

.add-server-obj-center {
    text-align: center;
}

.text-icon {
    display: none;
}

.add-server-object {
    margin: 0 auto;
    text-align: left;
    width: 42%;
    display: inline-block;
    margin: 5px;
    font-size: 1em;
    padding: 0 5px;
}
.add-server-object-full-width{
    display: inline-block;
    width: 100%;
}
.add-server-object-full-width{
    display: inline-block;
    width: 100%;
}
.add-server-object select {
    width: 100%
}

.add-server-form-cont p {
    font-size: 1.2em;
    padding: 10px;
}

.standard-button,
.standard-file,
.alert-button{
    background-color: var(--brand-primary);
    font-size: 1.3em;
    padding: 5px;
    margin: 5px;
    color: var(--text-inverse);
    border-radius: 15px;
    cursor: pointer;
    box-sizing: border-box;
}
.sidebar-button a{
    color: var(--text-inverse);
}

.standard-file, .sidebar-button{
    font-size: 1em;
}

.alert-button{
    background-color: var(--status-error);
}
.modal-button-cont{
    box-sizing: border-box;
    padding: 5px;
    margin: 5px;
}

.add-server-submit,
.upload-btn,
.post-comment-btn {
    font-size: 2em;
    background-color: var(--brand-primary);
    margin: 20px 0;
    width: 150px;
    padding: 30px;
    color: var(--text-inverse);
    cursor: pointer;
    border-radius: 15px;
}
.add-server-submit{
    min-width: 150px;
    width: auto;
    max-width: 500px;
}
.button-value{
    font-size: 1.2em;
    padding: 10px;
}
#verification_key{
    font-size: 1.2em;
    padding: 3px;
    margin: 10px;
    border-radius: 10px;
    background-color: var(--brand-primary);
    color: var(--text-inverse);
    cursor: pointer;
}
.post-comment-btn {
    font-size: 1.2em;
    width: auto;
    margin: 5px;
    padding: 5px;
}
/* Comment Edit Buttons */
#submitEdit, #cancelEdit{
    border-radius: 6px;
    font-size: 0.9em;
    margin: 5px;
    padding: 8px 16px;
    cursor: pointer;
    border: none;
    font-weight: 500;
    transition: background-color 0.2s, opacity 0.2s;
}
#submitEdit{
    margin-left: 15px;
    background-color: var(--brand-primary, #0d6efd);
    color: #ffffff;
}
#cancelEdit{
    background-color: var(--bg-tertiary, #e9ecef);
    color: var(--text-primary, #333);
}
#submitEdit:hover{
    opacity: 0.9;
}
#cancelEdit:hover{
    background-color: var(--bg-hover, #dee2e6);
}
.add-link-btn {
    display: inline-block !important;
    width: auto;
    padding: 5px;
    font-size: 100%;
}

.add-server-submit {
    display: block;
    margin: 20px auto;
}

.add-server-submit:hover,
.upload-btn:hover,
.post-comment-btn:hover {
    background-color: var(--brand-accent)ff;
}

/* Comment Privacy Styles */
.comment-privacy-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}

.comment-privacy-select {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 4px;
    padding: 5px 8px;
    font-size: 12px;
    color: var(--text-secondary);
    min-width: 100px;
}

.comment-privacy-select:hover {
    border-color: var(--brand-accent);
}

.comment-privacy-select:focus {
    outline: none;
    border-color: var(--brand-accent);
    box-shadow: 0 0 3px rgba(42, 201, 156, 0.3);
}

.upload-btn {
    display: inline;
    vertical-align: middle;
}

.messages-container {
    width: 50vw;
    margin: 0 auto;
    padding: 5px 0;
}
.message-list{
    min-height: 70vh;
}
.message-list table {
    width: 100%;
    text-align: center;
    border-radius: 15px;
    padding: 5px 0;
    box-shadow: inset 1px 0 5px rgba(0, 0, 0, 0.1);
}

.messages-avatar {
    vertical-align: top;
}

.messages-topbar {
    display: block;
    font-size: 1.3em;
    padding: 10px 0;
    margin: 10px 10px;
}

.messages-topbar span {
    margin: 0 10px;
}

.message-table,
.messages-topbar {
    width: auto;
}

.message-read {
    min-height: 50px;
    height: auto;
    text-align: left;
}

.fromThem {
    background-color: var(--bg-secondary);
}

.fromYou {
    background-color: var(--brand-primary);
}

.message {
    display: block;
    width: 100%;
    margin: 3px 5px;
    padding: 5px;
    font-size: 1.1em;
    overflow-y: auto;
    word-break: normal;
    clear: both;
}

.message-sender {
    display: inline-block;
    font-size: 1.2em;
    margin: 0 5px;
    padding: 5px 0;
}

.message-date {
    font-size: 0.8em;
}

.sender-msg-name {
    font-weight: bold;
}

.reply-message {
    padding: 1%;
}

.reply-form input,
.reply-form div {
    padding: 2%;
    text-align: left;
}

.reply-form .cke_contents {
    min-height: 200px !important;
}

.loadMore {
    display: block;
    text-align: center;
    font-size: 1.5em;
    width: auto;
    padding: 5px 0;
    margin: 2px 10px;
    border-radius: 10px;
    background-color: var(--brand-primary)ff;
    font-weight: bold;
    color: white;
    text-shadow: 0 0 3px black;
}

.loadMore:hover {
    background-color: var(--brand-accent)ff;
    color: white;
    cursor: pointer;
}

.notifications {
    margin: 10px auto;
    width: 50%;
    height: auto;
    min-height: 58vh;
    padding: 10px;
}

.notifications > span:nth-child(1) {
    display: block;
    font-size: 1.4em;
    margin: 5px;
}

.errorfof {
    display: block;
    margin: 0 auto;
    max-width: 50%;
}

.errorPage,
.error {
    color: #CF503Bff;
    font-weight: bold;
}

.mark-as-read {
    display: block;
    margin: 10px;
}
.notif-link{
    display: inline-block;
    margin: 5px 0;
    padding: 5px;
    border-radius: 5px;
    background-color: var(--brand-primary);
    color: white;
    text-decoration: none;
    font-size: 1.2em;
}
.notif-link:hover{
    background-color: var(--brand-accent)ff;
}
.notif-link{
    display: inline-block;
    margin: 5px 0;
    padding: 5px;
    border-radius: 5px;
    background-color: var(--brand-primary);
    color: white;
    text-decoration: none;
    font-size: 1.2em;
}
.notif-link:hover{
    background-color: var(--brand-accent)ff;
}
.notif-item,
.old-notif-item {
    position: relative;
    padding: 30px;
    margin: 0 10px 15px 10px;
    box-shadow: 3px 3px 3px 4px rgba(0, 0, 0, 0.1);
    
    box-shadow: 3px 3px 3px 4px rgba(0, 0, 0, 0.1);
    
}

.old-notif-item {
    opacity: 0.50;
    box-shadow: 0 0 2px;
    box-shadow: 0 0 2px;
}

.was-read {
    position: absolute;
    right: 10px;
    top: 10px;
    font-weight: bold;
}

.notif-item {
    background-color: var(--bg-primary);
    
    
}

.notif-item a {
    text-decoration: none;
    color: var(--text-primary);
}

.notif-wrap {
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    width: 90%;
}

.notif-text {
    font-size: 1.2em;
}

.notif-time {
    margin: 0 3%;
}

.notif-item > img,
.old-notif-item > img {
    display: inline-block;
    width: 20px;
    vertical-align: middle;
}

.notif-mark-success {
    display: inline-block;
    padding: 5px;
    background-color: chartreuse;
    margin: 5px 30px;
    font-weight: bold;
    font-size: 1.1em;
}

.smile-please:hover {
    width: 50px;
    height: 50px;
}

.server-review {
    display: none;
    width: 90%;
    margin: 10px auto;
    padding: 10px;
    text-align: center;
}

.edit-review-modal {
    width: 50%;
}

.server-review form {
    font-size: 1.1em;
}

.server-review form input[type=text] {
    padding: 10px;
    width: 98%;
}

.rating {
    margin: 15px;
}

.rating input {
    margin: 10px;
}

.server-review textarea {
    width: 98%;
    height: 400px;
    padding: 10px;
}

.server-review input[type=submit] {
    padding: 10px;
    width: 50%;
}

.report-user,
.contact-form {
    margin: 0 auto;
    width: 75%;
}

.report-form,
.contactus {
    text-align: center;
}
.report-form{
    box-shadow: var(--shadow-lg);
}

.contactus form {
    padding-bottom: 1%;
}

.contactus label,
.contactus p {
    font-weight: bold;
    display: block;
    font-size: 1.2em;
}

.report-form form {
    padding: 10px;
    font-size: 1.2em;
}

.report-form input,
.contactus input {
    padding: 5px;
    font-size: 20px;
}

.report-form textarea,
.contactus textarea {
    margin: 10px;
    padding: 5px;
    height: 250px;
    width: 75%;
}

.report-disclaimer {
    font-size: 0.9em;
    padding: 5px;
    margin-bottom: 5px;
}

.add-server-btn {
    display: block;
    padding: 7px;
    margin: 5px 5px;
    background-color: var(--brand-primary);
    font-weight: bold;
    color: var(--text-inverse);
    text-align: center;
    font-size: 1.45em;
    box-shadow: 0 0 2px black;
    text-shadow: 0 0 5px black;
    border-radius: 5px;
}

.add-server-btn:hover {
    box-shadow: inset 0 0 4px black;
    background-color: var(--brand-accent);
}

footer,
.footer {
    display: flex;
    width: 100%;
    margin: 0 auto;
    height: auto;
    max-height: 20vh;
    text-align: center;
    background-color: var(--footer-bg);
    color: var(--footer-text);
    font-size: 1rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
}

.footer-copyright,
.footer-links,
.footer-social-links {
    display: flex;
    flex-grow: 1;
    height: auto;
    padding: 1rem;
    margin-top: 0;
    margin-bottom: 0;
    justify-content: center;
    align-items: center;
}

.footer-copyright {
    font-size: 1em;
    max-width: 20%;
    flex-flow: column nowrap;
}
.footer-links{
    max-width: 50%;
}
.footer-links,
.footer-social-links a {
    justify-content: center;
    font-size: 1.15em;
}

.footer-links a,
.back-to-top-footer a {
    padding: 5px 5px;
    color: white;
    transition: 0.25s ease;
}

.footer-links a:hover,
.back-to-top-footer:hover {
    background-color: #006080ff;
}

.footer-social-links a {
    padding: 5px;
}

.footer-social-links > a > img {
    width: 64px;
    max-height: 64px;
}

.back-to-top-footer {
    padding: 5px;
    font-size: 1.2rem;
}

.claim-form {
    padding: 10px;
    font-size: 1.1em;
    text-align: center;
}

.claim-form > form > input[type=submit] {
    padding: 5px;
}

.pagination span,
.pagination a {
    display: inline-block;
    font-size: 1.3em;
    margin: 1px;
    padding: 5px 10px;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}

.pagination a:hover {
    background-color: #CF503Bff;
    color: #F2EBEAff;
    box-shadow: inset 0 0 3px black;
}

.current {
    background-color: #CF503Bff !important;
    color: #F2EBEAff;
    box-shadow: inset 0 0 3px black;
}

.disabled:hover {
    cursor: not-allowed !important;
    background-color: #CF503Bff !important;
    color: #F2EBEAff;
    box-shadow: inset 0 0 3px black;
}
.disabled{
    cursor: not-allowed !important;
    background-color: #6f7371 !important;
    color: #F2EBEAff;
    box-shadow: inset 0 0 3px black;
}

.admin-mail-cont {
    margin: 5px 0;
    max-height: 200px;
    max-width: 600px;
    display: block;
    padding: 5px;
    overflow: auto;
    background-color: var(--bg-primary);
}

.admin-mail-item div {
    overflow: auto;
    max-height: 200px;
}

.server-info {
    max-height: 800px;
}

.announcement {
    text-align: center;
    width: 50%;
    left: 0;
    right: 0;
    position: absolute;
    padding: 10px;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 30;
}

.announcement u:hover {
    cursor: pointer;
}

.disabled-message {
    text-align: center;
    font-size: 1.3em;
    font-weight: bold;
    padding: 15px;
    margin: 1%;
}

.discord {
    display: flex;
    width: 100%;
}

#discord-display img {
    width: 150px;
    vertical-align: middle;
}

#discord-display:hover {
    cursor: pointer;
}

.mojang-servers {
    margin: 5px 0;
}

.mojang-servers h3 {
    padding: 2px;
    margin: 2px 0;
}

.status-container {
    display: inline-block;
    margin: 0 2px;
}

.mojang-status {
    width: 60px;
    height: 25px;
    padding: 1.1em 0;
    margin: 0 0 .5em 0;
    border: 5px solid #353535;
    border-radius: 50%;
    background-color: #353535;
    font-weight: bold;
    font-size: 14px;
    color: white;
}

.status-name,
.status-result {
    text-align: center;

}

.status-name {
    padding: 4px 0;
}

.server-page-review {
    display: block;
    padding: 1%;
    text-align: left;
}

.review-preview {
    width: 45% !important;
    margin: 3.5px !important;
}

.review-preview .review-recommendation img {
    max-width: 30px;
}

.review-preview > p {
    max-height: 50px;
    overflow: auto;

}

.review-preview:hover {
    box-shadow: 0 0 3px;
}

.review-preview > hr {
    margin: 2px 10%;
}

.review-preview-arrow {
    width: 35px;
    vertical-align: middle;
}

.left-align {
    text-align: left;
}

.stats {
    margin: 1% 1%;
}

.edit-comment-overlay {
    text-align: center;
    min-height: 30%;

}

.edit-comment-overlay>#edit-comment {
    margin: 0 auto;
}

.edit-comment-overlay>#edit-comment {
    margin: 0 auto;
    width: 70%;
    min-height: 150px;
    padding: 1%;
    border: #000 1px solid;
    border-radius: 15px;
    border: #000 1px solid;
    border-radius: 15px;
}

.srv-page-video
    {
    display: block;
    margin: 0 auto;
    width: calc(560px + 10vw);
    height: calc(340px + 4.3vw);
}

.youtube-video {
    width: 100%;
    height: calc(340px + 4.3vw);
}

.srv-page-img {
    display: block;
}


.srv-posts {
    padding: 10px;
    background-color: #eee;
}

.srv-post-item {
    margin: 5px auto;
    padding: 1%;
    box-shadow: 0 0 2px black;
    background-color: var(--bg-primary);
    font-size: 1.2em;
}

.srv-post-content,
.srv-post-info {
    padding: 3px;
    margin: 2px;
}

#serverAddress, #mc_server_key {
    position: absolute;
    left: -9999px;
}

.loading {
    position: absolute;
    z-index: -1;
}

.review-item {
    position: relative;
    display: inline-flex;
    width: 25%;
    height: auto;
    box-shadow: 0 0 3px black;
    margin: 3px 10px;
    vertical-align: top;
    padding: 5px;
    background-color: var(--bg-primary);
    text-align: center;
}

.server-review-interactions {
    float: right;
    vertical-align: middle;
    padding: 3px;
    box-shadow: 0 0 1px;
    margin: 0 3px 5px 0;
}

.server-review-title {
    display: inline-block;
    text-align: center;
    width: 300px;
}

.review-recommendation {
    text-align: center;
    font-size: 1.2em;
}

.review-recommendation > img,
.review-recommendation > span {
    display: inline-block;
    vertical-align: middle;
    padding: 0 3px;
    font-weight: bold;

}

.review-recommendation img {
    width: 50px;
}

.server-review-body {
    position: relative;
    text-align: left;
    height: auto;
    overflow: auto;
    padding: 3px;
    margin: 5px 0;
}

.review-spacer {
    float: left;
    height: 38px;
    width: 200px;
}

.server-review-author {
    position: absolute;
    display: block;
    width: 100%;
    bottom: 0;
    text-align: center;
}

.server-review-author > span {
    display: block;
}

.hr {
    margin: 2% 0;
}

.account-settings-form {
    font-size: 1.25em;
}

.account-settings-form > label {
    font-weight: bold;
}

.features {
    margin: 1%;
    padding: 1%;
}

.features > ol > li p {
    margin-left: 15px;
}

.admin-hub {
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    background-color: var(--bg-primary);
    height: calc(100vh - 120px);
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;
    box-sizing: border-box;
}

/* Custom scrollbar styling for admin area */
.admin-right::-webkit-scrollbar,
.admin-left::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.admin-right::-webkit-scrollbar-track,
.admin-left::-webkit-scrollbar-track {
    background: var(--bg-secondary);
    border-radius: 10px;
}

.admin-right::-webkit-scrollbar-thumb,
.admin-left::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 10px;
}

.admin-right::-webkit-scrollbar-thumb:hover,
.admin-left::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Left navigation sidebar - fixed width */
.admin-left,
.dashboard-nav-left {
    position: relative;
    flex: 0 0 250px;
    width: 250px;
    height: 100%;
    padding: 15px;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: var(--bg-secondary);
    border-right: 1px solid var(--border-light);
    box-sizing: border-box;
}

.dashboard-left {
    width: 15vmax;
    min-width: 235px;
}

.dashboard-nav-left {
    width: auto;
}

.dashboard-right {
    width: 30%;
}

.admin-left1 > a {
    display: block;
    padding: 2.5px;
    margin: 2.5px;
}

/* Right content area - flexible width, takes remaining space */
.admin-right {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    background-color: var(--bg-primary);
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.admin-center {
    width: 70%;
    overflow: auto;
}

.dashboard-info-box {
    font-size: 20px;
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
    padding: 12px;
    border-radius: 6px;
    line-height: 1.6;
}

.input-value {
    background-color: var(--input-bg);
    color: var(--input-text);
    border: 1px solid var(--input-border);
}

.input-value:focus {
    border-color: var(--input-focus);
    outline: none;
}

.admin-links,
.dashboard-links {
    margin: 0;
}

.admin-links h3,
.dashboard-links h3 {
    padding: 12px 8px 8px 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--admin-nav-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 16px;
}

.admin-links h3:first-child,
.dashboard-links h3:first-child {
    margin-top: 0;
}

.admin-links a,
.dashboard-links a {
    display: block;
    padding: 10px 12px;
    margin: 2px 0;
    background-color: transparent;
    color: var(--admin-nav-text);
    text-shadow: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 500;
    text-align: left;
    transition: all 0.2s ease;
    text-decoration: none;
}

.admin-links a:hover,
.dashboard-links a:hover {
    background-color: var(--admin-nav-hover-bg);
    color: var(--admin-nav-hover-text);
    transform: translateX(2px);
}

.report-wrapper {
    text-align: center;
    height: 100%;
    overflow: hidden;
}

.report-table {
    text-align: left;
    height: 95%;
}

.tr-wrapper {
    height: 75%;
    overflow: auto;
}

.report-table-tr {
    display: block;
    width: 90%;
    padding: 10px;
    box-shadow: 0 0 3px #3c6d70;
    margin: 0 auto;
    text-align: center;

}

.report-table-tr-list {
    padding: 10px;
}

.admin-report-item {
    display: inline-block;
    width: 25%;
    vertical-align: middle;
    text-align: center;
}

.admin-report-id {
    max-width: 50px;
}

.moderate-report-id {
    width: auto;
}

.moderate-report-user {
    padding: 0 3px;
    width: 25%;
    overflow-x: auto;
}

.moderate-report-status {
    width: auto;
    padding: 2px 8px;
}

.moderate-report-date {
    width: 25%;
}

.admin-home {
    position: relative;
    min-height: 100%;
    flex-direction: column;
    flex-wrap: wrap;
}

.admin-right-topbar {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    width: 78vmax;
    height: 20%;
}

.admin-topbar-stat-item {
    position: relative;
    display: inline-block;
    width: 20%;
    min-height: 70px;
    max-height: 110px;
    height: auto;
    padding: 5px;
    margin: 5px;
    background-color: #8cc6ea;
    font-weight: 700;
    border-radius: 10px;
    box-shadow: 1px 1px 5px black;
    overflow: auto;
}

.switch-list-btn {
    text-align: left;
    cursor: pointer;
}

.reasonTextarea {
    max-width: 500px;
    width: auto;
    min-width: 350px;
    min-height: 150px;
    height: auto;
    max-height: 300px;
    padding: 5px;
    margin: 5px;
}

.refresh-notif {
    position: absolute;
    opacity: 0;
    bottom: 3%;
    left: 5%;
    width: 20%;
    margin: 5px auto;
    text-align: center;
    padding: 10px;
    background-color: lightgreen;
    font-weight: bold;
    animation: refreshnotif 6s ease;
}

@keyframes refreshnotif {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.admin-stat-item-cont {
    font-size: max(min(5vmin, 16px), 1em);
}

.admin-home-main {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    flex: 1;
    padding: 20px;
    box-sizing: border-box;
    overflow-x: hidden;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-start;
}
.moderate-profile-cont {
    width: 45%;
    display: inline-block;
    vertical-align: top;
    padding: 8px;
    background-color: var(--bg-secondary);
    border-radius: 6px;
    border: 1px solid var(--border-light);
    margin: 3px;
    color: var(--text-primary);
}

.moderate-profile-cont h2,
.moderate-profile-cont h3,
.moderate-profile-cont h4 {
    color: var(--text-primary);
    margin: 5px 0;
}

.moderation-user-profile {
    color: var(--text-primary);
}

.moderation-user-profile h2,
.moderation-user-profile h3,
.moderation-user-profile h4,
.moderation-user-profile p,
.moderation-user-profile span,
.moderation-user-profile div {
    color: var(--text-primary);
}
.moderate-profile-history {
    width: 45%;
    display: inline-block;
    vertical-align: top;
    padding: 8px;
    margin: 3px;
    background-color: var(--bg-secondary);
    border-radius: 6px;
    border: 1px solid var(--border-light);
}

.moderate-profile-history > div {
    padding: 4px 6px;
    margin: 2px 0;
    background-color: var(--bg-tertiary);
    border-radius: 4px;
    color: var(--text-primary);
    font-size: 0.9em;
}

.moderate-profile-history h3,
.moderate-profile-history h4 {
    color: var(--text-primary);
    margin: 0;
}

.moderate-profile-history > div h3 {
    font-size: 0.95em;
    font-weight: 600;
}

.moderate-server-img-cont {
    display: block;
    width: 100%;
}

.server-img-moderation {
    display: inline-block;
    min-width: 128px;
    max-width: 256px;
    vertical-align: middle;
    cursor: pointer;
    min-height: 128px;
    max-height: 256px;
}

.server-img-moderation-enlarged {
    display: inline-block;
    min-width: 256px;
    max-width: 512px;
    vertical-align: middle;
    cursor: pointer;
    min-height: 256px;
    max-height: 512px;
}

.server-img-moderation:hover {
    box-shadow: inset 0 0 3px;
}

.delete-fade-inline-block {
    display: inline-block;
}

.moderate-server-profile-cont {
    position: relative;
    height: 250px;
}

.admin-urgent-reports,
.admin-emails,
.moderate-panel,
.admin-site-settings {
    display: inline-block;
    width: 30%;
    text-align: center;
    padding: 20px;
    background-color: var(--bg-primary);
    min-height: 300px;
    border-radius: 8px;
    vertical-align: top;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-light);
    margin-bottom: 20px;
    box-sizing: border-box;
}

.admin-news-section {
    display: inline-block;
    width: 30%;
    text-align: center;
    padding: 20px;
    background-color: var(--bg-secondary);
    min-height: 300px;
    border-radius: 8px;
    vertical-align: top;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-light);
    margin-bottom: 20px;
    box-sizing: border-box;
}

/* User moderation page specific layout */
.admin-urgent-reports.require-review {
    width: 32%;
    min-width: 280px;
    flex-shrink: 0;
}

.admin-news-section-container {
    max-height: none;
}

.admin-gemini-news {
    padding: 8px;
    margin: 5px;
    border-radius: 6px;
    border: 1px solid var(--border-light);
    transition: all 0.2s ease;
}

.admin-gemini-news > a {
    text-decoration: none;
}

.admin-gemini-news:hover {
    background-color: #f0fdf4;
    border-color: var(--brand-accent);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Admin Right Sidebar Stats */
.admin-right-item {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 15px 18px;
    margin-bottom: 12px;
    transition: all 0.2s ease;
    box-shadow: var(--shadow-sm);
}

.admin-right-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: var(--brand-primary);
}

.admin-right-item span {
    display: block;
}

.admin-right-item a {
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.admin-right-item a:hover {
    color: var(--brand-primary);
}

.admin-site-settings {
    width: 100%;
    max-width: 100%;
    min-height: auto;
    box-sizing: border-box;
}

/* Ensure good text contrast on white background */
.admin-site-settings h1,
.admin-site-settings h2,
.admin-site-settings h3,
.admin-site-settings h4,
.admin-site-settings p,
.admin-site-settings span,
.admin-site-settings label,
.admin-news-section h1,
.admin-news-section h2,
.admin-news-section h3,
.admin-news-section p,
.admin-news-section span {
    color: #2c3e50;
}

.admin-gemini-news a {
    color: var(--text-primary);
}

.admin-gemini-news span {
    color: var(--text-primary);
    font-weight: 600;
}

.admin-gemini-news p {
    color: var(--text-primary);
}

/* Better contrast for all admin text elements */
.admin-home-main,
.admin-right,
.admin-hub {
    color: var(--text-primary);
}

.admin-urgent-reports h1,
.admin-urgent-reports h2,
.admin-urgent-reports h3,
.admin-urgent-reports p,
.admin-urgent-reports span,
.admin-emails h1,
.admin-emails h2,
.admin-emails h3,
.admin-emails p,
.admin-emails span,
.moderate-panel h1,
.moderate-panel h2,
.moderate-panel h3,
.moderate-panel p,
.moderate-panel span {
    color: var(--text-primary);
}

.site-setting-wrapper {
    text-align: left;
}

.require-review {
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.require-review .report-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.require-review .report-table {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.require-review .tr-wrapper {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.moderate-reqReview-item {
    word-wrap: break-word;
}

.moderate-panel {
    position: relative;
    width: 100%;
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
}

.moderate-panel > h2 {
    flex-shrink: 0;
    margin: 0 0 10px 0;
}

.moderate-panel > div:not(.moderate-cont):not(.moderate-actions) {
    flex-shrink: 0;
}

.moderate-user-comment,
.moderate-replied-comment {
    font-size: 1.1em;
    padding: 10px;
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 6px;
    margin: 5px 0;
}

.moderate-replied-comment {
    font-size: 1em;
    background-color: var(--bg-primary);
}

.moderation-user-profile {
    position: relative;
    height: auto;
    max-height: 50vh;
    overflow-y: auto;
}

.moderate-panel-icon {
    width: 100px;
}

.moderate-cont {
    width: 99%;
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
    margin: 0 auto;
    padding: 10px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    box-sizing: border-box;
    border-radius: 6px;
}

.moderate-cont h2,
.moderate-cont h3,
.moderate-cont h4 {
    color: var(--text-primary);
}

.moderate-cont p,
.moderate-cont span,
.moderate-cont div {
    color: var(--text-primary);
}

.moderate-cont a {
    color: var(--brand-primary);
}

.moderate-cont a:hover {
    color: var(--brand-secondary);
}

.moderate-actions {
    width: 100%;
    padding: 10px 0;
    flex-shrink: 0;
    background-color: var(--bg-primary);
    border-top: 1px solid var(--border-light);
    box-sizing: border-box;
}

.profile-info-cont {
    width: 100%;
    padding: 0;
    color: var(--text-primary);
}

.profile-info-cont div {
    color: var(--text-primary);
}

.profile-info-cont span {
    color: var(--text-primary);
}

.moderate-actions-cont {
    margin-top: 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
}

.moderate-actions-cont > div,
.profile-info-cont > div {
    display: inline-block;
    width: auto;
    min-width: 90px;
    padding: 12px 10px;
    margin: 0;
    font-size: .85em;
    background-color: #8cc6ea;
    font-weight: bold;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.moderate-actions-cont > br {
    display: none;
}

.profile-info-cont > div {
    background-color: white;
    vertical-align: middle;
    margin: 3px 0;
}

.moderate-ban-btn:hover,
.moderate-removeIcon-btn:hover,
.moderate-warn-btn:hover,
.moderate-reportSpam-btn:hover {
    background-color: lightcoral;
}

.moderate-msg-btn:hover,
.moderate-unban-btn:hover {
    background-color: aquamarine;
}

.moderate-ban-btn:hover,
.moderate-warn-btn:hover,
.moderate-removeIcon-btn:hover,
.moderate-msg-btn:hover,
.require-review-item:hover,
.moderate-unban-btn:hover,
.moderate-reportSpam-btn:hover {
    cursor: pointer;
}

.moderate-unban-btn {
    display: none;
}

/* Responsive styles for moderation panel */
@media (max-width: 1024px) {
    .admin-home-main {
        flex-direction: column;
    }

    .admin-urgent-reports.require-review,
    .moderate-panel {
        width: 100%;
        min-width: unset;
        max-height: 50vh;
    }

    .moderate-panel {
        max-height: 60vh;
    }
}

@media (max-width: 600px) {
    .moderate-actions-cont > div {
        min-width: 80px;
        padding: 10px 8px;
        font-size: .8em;
    }

    .moderate-profile-cont,
    .moderate-profile-history {
        width: 100%;
        display: block;
    }
}

.message-icon {
    display: inline-block;
    vertical-align: middle;
    width: 32px !important;
    border: none !important;
}

.message-icon-comment-reply {
    display: inline-block;
    vertical-align: middle;
    width: 24px;
}

.moderate-avatar-wrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    height: 90%;
    overflow-y: auto;
}

.moderate-avatar {
    position: relative;
    display: block;
    margin: 0 auto;
    max-width: 275px;
    max-height: 200px;
}

.moderate-item {
    position: relative;
    display: inline-block;
    width: auto;
    min-width: 300px;
    max-height: 350px;
    background-color: #eee;
    text-align: center;
    margin: 5px;
}
.moderate-image{
    max-height: 300px;
    max-width: 300px;
}
.moderate-interact-items {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.moderate-interact-items > div {
    display: inline-block;
    padding: 5px;
    margin: 3px 4px;
}

.moderate-approve-btn,
.moderate-escalate-btn,
.moderate-remove-btn {
    font-weight: bold;
    box-shadow: 0 0 1px black;
    cursor: pointer;
}

.moderate-approve-btn {
    background-color: lawngreen;
}

.moderate-escalate-btn {
    background-color: red;
}

.moderate-remove-btn {
    background-color: indianred;
}

.moderate-approve-btn:hover,
.moderate-escalate-btn:hover,
.moderate-remove-btn:hover {
    box-shadow: inset 0 0 3px black;

}

.urgent-report-cont,
.admin-email-cont {
    overflow: auto;
    height: 87%;
}

.admin-urgent-reports a,
.admin-emails a {
    text-decoration: none;
    cursor: pointer;

}

.urgent-report-item,
.admin-email-item {
    width: 75%;
    margin: 5px auto;
    box-shadow: 0 0 2px black;
    background-color: var(--bg-primary);
}

.urgent-report-item > div,
.admin-email-item > div {
    font-size: 1.3em;
    display: block;
    margin: 0 5px;
}

.urgent-report-item:hover,
.admin-email-item:hover {
    background-color: #8cc6ea;
}

.server-error {
    font-size: 1.5em;
    font-weight: bold;
}

.report-box {
    border: solid 1px;
}

.report-tr {
    border-bottom: 1px solid;
}

.report-td {
    padding: 5px;
    display: inline-block;
}

.admin-center-list {
    height: 600px;
    overflow: auto;
}

.admin-server-item,
.admin-server-item2 {
    display: block;
    padding: 5px;
    margin: 5px;
    width: auto;
    min-width: 300px;
    text-align: left;
    border: 1px solid;
    border-radius: 10px;
}

.admin-server-item2 {
    display: block;
}

.user-name {
    font-weight: bold;
    font-size: 1.2em;
}

.admin-server-item > img,
.admin-server-item2 > img {
    width: 50px;
    height: 50px;
}

.edit-news {
    background-color: firebrick;
    padding: 3px;
    float: left;
    font-weight: bold;

}

.application-drop {
    display: none;
    text-align: center;
    padding: 5px;
    margin: 5px auto;
    box-shadow: 0 0 3px black;
    background-color: #cccccc;
    width: 95%;
    border-radius: 5px;
}

.application-drop input[type="submit"] {
    padding: 5px;
    font-size: 1.2em;
}

.application-drop input[type="submit"]:hover {
    box-shadow: inset 0 0 3px black;
}

#graph-div {
    margin: 2px 0;
}

.graph-div > div {
    margin: 0 auto;
    width: 100% !important;
}

.back-button {
    padding: 2px;
    margin: 3px;
}

.report-info-box {
    border: solid 1px black;
    min-width: 290px;
    max-width: 100%;
    width: 500px;
    padding: 5px;
    margin: 3px;
}

.admin-action-menu {
    display: inline-block;
    vertical-align: top;
}

.section-list {
    background-color: #eee;
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 5px;
}

.news-form {
    background-color: #eee;
    width: 100%;
    text-align: center;
}

.news-form input {
    width: 50%;
    padding: 10px;
    font-size: 1.2em;
}

.news-threads {
    width: 100%;
    overflow: auto;
    margin: 0 auto;
}

.ad-small {
    text-align: center;
}

.logviewer-form {
    text-align: center;
    font-size: 1.2em;
    margin: 5px 0;
}

.logviewer-form select {
    min-width: 30%;
}

.logviewer-form input,
.logviewer-form select {
    padding: 3px;
}

.logviewer-form div {
    margin: 3px;
}

.srv-app-item {
    display: inline-block;
    box-shadow: 0 0 2px;
    min-width: 150px;
    min-height: 100px;
    width: 100%;
    max-width: 430px;
    max-height: 350px;
    margin: 3px;
    padding: 3px;
    background-color: #e2e2e2;
    vertical-align: top;
}

.srv-app-text {
    min-height: 80px;
    max-height: 200px;
    overflow: auto;
}

.srv-app-button {
    display: inline-block;
    padding: 10px;
    box-shadow: 0 0 2px;
    border-radius: 5px;
    margin: 15px 5px;
    font-weight: bold;
    width: 15%;

}

.srv-app-button:nth-child(2) {
    background-color: greenyellow;
}

.srv-app-button:nth-child(3) {
    background-color: crimson;
}

.srv-app-button:hover {
    box-shadow: inset 0 0 3px;
    cursor: pointer;
}

.srv-app-wrapper,
.srv-app-buttons {
    text-align: center;
}

.gemini-coins-info {
    font-size: 1.1em;
}

.gemini-coins-home {
    width: 75%;
    display: block;
    margin: 0 auto;
    text-align: center;
}

.gemini-coins-home table {
    width: 50%;
    margin: 0 auto;
}

.gemini-coins-home table tr td {
    border: solid 1px var(--border-light);
}

.gemini-coins-home table tr td:hover {
    border: solid 1px skyblue;
    background-color: deepskyblue;
}

.gemini-coins-buy-item {
    width: 20%;
    display: inline-block;
    border: solid 1px black;
    padding: 10px;
    margin: 10px;
}

.gemini-coins-buy-item:hover {
    background-color: deepskyblue;
}

.table {
    width: 100%;
}

.table-tr {
    box-shadow: 0 0 1px;
}

.table-td {
    display: inline-block;
    min-width: 20px;
    border: 1px solid black;
    padding: 3px;
    font-size: 1.2em;
    margin: 0;
}

.coins-navigation {
    width: 99%;
    box-shadow: 0 0 1px;
    padding: 10px;
}

.table-tr-nav,
.coins-nav-items {
    text-align: center;
}

.table-td-nav {
    display: inline-block;
    font-size: 1.4em;
    margin: 0 5px;
}

.coin-nav-item {
    display: inline-block;
    box-shadow: 0 0 1px;
    padding: 10px;
    width: 28%;
    min-height: 50px;
    font-size: 1.4em;
    vertical-align: middle;
    line-height: 50px;
}

.coin-nav-item:hover {
    background-color: #3C6E71;
    color: white;
}

.container {
    text-align: center;
}

.coin-right-top-bar div:nth-child(1),
.coin-list-item div:nth-child(1),
.coin-right-top-bar div:nth-child(2),
.coin-list-item div:nth-child(2),
.coin-right-top-bar div:nth-child(3),
.coin-list-item div:nth-child(3),
.coin-right-top-bar div:nth-child(4),
.coin-list-item div:nth-child(4),
.coin-right-top-bar div:nth-child(5),
.coin-list-item div:nth-child(5) {
    border-right: 1px solid black;
}

.coin-prev-balance {
    width: 18%;
}

.coin-list-item {
    position: relative;
    box-shadow: 0 0 3px;
    margin: 5px 0 0 0;
}

.coin-balance {
    width: 13%;
    text-align: center;
}

.coin-spent,
.coin-purchased,
.coin-earned {
    width: 12%;
    text-align: center;
}

.coin-purchased {
    width: 15%;
}

.coin-date {
    width: 15%;
    text-align: center;
}

.coin-right-bar {
    padding: 5px;
    display: inline-block;
}

.coin-vert-align {
    vertical-align: middle;
}

.coin-right-top-bar {
    border-bottom: 2px solid white;
}

.hide-ip-check {
    width: 100px !important;
}

.hide-ip-check,
.hide-ip-text {
    position: relative;
    display: inline-block !important;
    box-shadow: none !important;
    vertical-align: middle;
}

.hide-ip-text {
    font-size: 2em;
}

.discord-help-img {
    display: block;
    max-width: 300px !important;
    width: 100% !important;
    box-shadow: 0 0 2px black;
    margin-bottom: 5px;
}

.moderator-list-item {
    background-color: #eee;
    max-width: 600px;
    margin: 0 5px;
    padding: 3px;
    margin-bottom: 15px;
    text-align: center;
}

.mod-list-btn {
    display: inline-block;
    padding: 5px;
    background-color: #EF704E;
    font-weight: bold;
    box-shadow: 0 0 2px;
}

.mod-list-btn:hover {
    box-shadow: inset 0 0 3px;
    cursor: pointer;
}

.server-item-mod-info {
    font-weight: bold;
}

.server-item-mod-info > div {
    display: inline-block;
    padding: 5px;
}

.add-image-form {
    font-size: .8em;
}

.upload-image-dividers {
    width: 50%;
    margin: 5px auto;
}

.upload-image-split {
    margin: 5px;
}

.wide-input-field {
    padding: 5px;
    width: 50%;
    background-color: var(--input-bg);
    color: var(--input-text);
    border: 1px solid var(--input-border);
}

.wide-input-field:focus {
    border-color: var(--input-focus);
    outline: none;
}

.upload-image-dividers label,
.upload-image-split label {
    font-weight: bold;
}

.image-search-item {
    position: relative;
    display: inline-block;
    max-width: 48%;
    vertical-align: top;
}

.image-search-text {
    position: absolute;
    left: 0;
    bottom: 0;
    color: white;
    background-color: rgb(50, 50, 50);
    padding: 3px;
}

.image-search-item img {
    width: 100%;
    max-height: 250px;
}

.image-search-item img:hover {
    cursor: pointer;
}

.image-search {
    padding: 10px 0;
}

#image_search_result {
    margin-top: 10px;
}

.event-name-cont input,
.event-datetime-cont input {
    display: block;
    margin: 0 auto;
    font-size: 1.2em;
    width: 95%;
}

.event-datetime-cont,
.inline-event-datetime {
    display: inline-block;
}

.event-datetime-cont input {
    width: auto;
}

.event-submit {
    margin-top: 5px;
    padding: 5px;
    font-size: 1em;
}

.event-edit-item,
.event-edit-item-show {
    display: block;
    width: auto;
    max-height: 300px;
    overflow: auto;
    margin: 5px;
}

.event-edit-action-item,
.inline-event-datetime,
.delete-options {
    display: inline-block;
    text-align: center;
    width: 45%;
    margin: 1%;
}

.event-edit-edit-btn,
.event-edit-delete-btn,
.save-changes,
.delete-options {
    padding: 5px;
    cursor: pointer;
    box-shadow: 0 0 2px black;
}

.event-edit-edit-btn:hover,
.event-edit-delete-btn:hover,
.save-changes:hover {
    box-shadow: inset 0 0 4px black;
}

.event-edit-edit-btn,
.save-changes,
.cancel-btn {
    background-color: lightgreen;
}

.event-edit-delete-btn,
.delete-btn {
    color: white;
    background-color: crimson;
}

.datetime-font,
.event-name-font {
    font-size: 1.7em;
}

.cancel-editing,
.save-btn,
.event-edit-hidden,
.event-edit-item-hide,
.event-edit-info {
    display: none;
}

.save-changes {
    width: 100%;
    border: none;
}

.server-event-cont {
    max-height: 100vh;
    overflow: auto;
    font-size: 0.8em;
}

.server-event-item {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
    position: relative;
    display: none;
    padding: 5px 5px;
    padding-right: 4.5%;
    font-size: 0.8em;
}

.event-display {
    padding: 2px;
    background-color: var(--bg-primary);
    margin: 5px;
    border-radius: 15px;
    cursor: pointer;
}

.delete-modal, .confirmation-modal {
    position: absolute;
    display: none;
    width: 50vw;
    height: auto;
    padding: 10px;
    margin-left: auto;
    margin-right: auto;
    z-index: 10;
}
.confirmation-modal {
    position:fixed;
    background-color: var(--bg-primary);
    border-radius: 15px;
    box-shadow: 0 0 5px black;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 1.3em;

}

.event-edit-select {
    position: relative;
}

.container-shadow {
    position: absolute;
    display: none;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(0, 0, 0, 0.2);
    width: 98%;
    height: 86%;
    z-index: 1;
    border-radius: 15px;
}

.inset-effect {
    word-break: break-all;
    padding: 10px;
    box-shadow: inset 0 0 3px black;
    border-radius: 15px;
}

.btn-contactus {
    font-size: 2em;
    max-width: 150px;
}

.server-page-icon,
.server-page-name {
    display: inline-block;
    vertical-align: middle;
    margin: 5px;

}

.server-page-name {
    width: 95%;
    word-break: break-all;
}

.server-page-icon {
    max-width: 64px;
}

.announcement-textarea {
    max-height: 50vh;
    overflow: auto;
}

.announcement-submit {
    margin-top: 10px;
}

.current-announcement {
    padding: 5px;
    width: 50%;
    margin: 0 auto;
}

.announcement-form {
    margin: 10px;
}

.opened {
    display: block;
}

.available-videos-left,
.used-videos-right {
    display: inline-flex;
    width: 49%;
    height: 500px;
    vertical-align: top;
    flex-direction: column;
    overflow: auto;
    overflow: auto;

}

.available-videos-left {
    background-color: rgba(0, 0, 0, .05);
}

.dropzone {
    height: 100%;
    max-height: 500px;
    overflow: auto;
}

.drophere {
    padding: 10px 0;
}

.draggable:hover {
    cursor: grab;
}
.draggable:active {
    cursor: grabbing;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5);
    background-color: var(--bg-primary);
    border-radius: 15px;
}
.ui-sortable{
    width: 100%;
    min-height: 50px;
    background-color: rgba(0, 0, 0, .05);
}
.mention-details{
    position: absolute;
    z-index: 1;
    background: #fff;
    border-radius: 15px;
    padding: 10px;
    box-shadow: 1px 1px 2px black;
    bottom:30.5%;
    height: auto;
    max-height: 50vh;
    width: 300px;
    max-width: 300px;
}
/* Flex container for the user profile sections */
.user-profile-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px; /* Space between sections */
    padding: 20px;
}

.user-profile-left{
    flex: 1; /* Allow this section to grow */
    max-width: 15%; /* Set a maximum width for the left section */
}
.user-profile-center{
    flex: 2; /* Allow this section to grow more than the left section */
    max-width: 70%; /* Set a maximum width for the center section */
}
.user-profile-right{
    flex: 1; /* Allow this section to grow */
    max-width: 15%; /* Set a maximum width for the right section */
}
/* Left, Center, and Right sections */
.user-profile-left,
.user-profile-center,
.user-profile-right {
    min-width: 300px; /* Ensure sections don't shrink too much */
    padding: 2px;
    border-radius: 10px;
    min-height: calc(100vh - 200px);
}

/* Header styling */
.user-profile-header {
    text-align: center;
    margin-bottom: 20px;
}

.user-profile-header h1 {
    font-size: 2em;
    color: var(--text-primary);
}

/* Section-specific styling */
.user-profile-left h3,
.user-profile-center h3,
.user-profile-right h3 {
    font-size: 1.5em;
    margin-bottom: 10px;
    color: var(--brand-primary);
}

.user-profile-content {
    font-size: 1em;
    line-height: 1.6;
    color: #555;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .user-profile-container {
        flex-direction: column; /* Stack sections vertically on smaller screens */
    }

    .user-profile-left,
    .user-profile-center,
    .user-profile-right {
        min-width: 100%; /* Full width for each section */
    }
}

.user-profile-center-selector {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    gap:10px;
}
.user-profile-center-selector-item{
    flex: 1; /* Allow this section to grow */
    max-width: 30%; /* Set a maximum width for the left section */
    padding: 10px;
    background-color: var(--bg-secondary);
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.user-profile-center-selector-item:hover{
    background-color: #e0e0e0;
    cursor: pointer;
}
.user-profile-center-selector-item.active{
    background-color: var(--brand-primary);
    color: white;
    font-weight: bold;
}

/* User Profile Content Styling */
.no-content-message {
    text-align: center;
    padding: 40px 20px;
    color: var(--text-secondary);
    font-size: 1.1em;
    background-color: var(--bg-secondary);
    border-radius: 8px;
    margin: 20px 0;
}

/* Servers/Pages Owned Styling */
.user-servers-owned {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 0;
}

.server-card {
    display: flex;
    align-items: center;
    background-color: white;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.server-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.server-image {
    flex-shrink: 0;
    margin-right: 20px;
}

.server-image img {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    object-fit: cover;
}

.server-info h3 {
    margin: 0 0 8px 0;
    font-size: 1.3em;
    color: var(--text-primary);
}

.server-info h3 a {
    color: var(--brand-primary);
    text-decoration: none;
}

.server-info h3 a:hover {
    text-decoration: underline;
}

.server-type {
    color: var(--text-secondary);
    font-size: 0.9em;
    margin-bottom: 8px;
    font-weight: 500;
}

.server-description {
    color: #777;
    font-size: 0.9em;
    line-height: 1.4;
}

/* Reviews Styling */
.user-reviews {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 0;
}

.review-card {
    background-color: white;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.review-server-info {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.review-server-image {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    object-fit: cover;
    margin-right: 15px;
}

.review-server-details h4 {
    margin: 0 0 5px 0;
    font-size: 1.1em;
}

.review-server-details h4 a {
    color: var(--brand-primary);
    text-decoration: none;
}

.review-server-details h4 a:hover {
    text-decoration: underline;
}

.review-rating {
    display: flex;
    align-items: center;
    gap: 2px;
}

.star {
    color: var(--text-primary);
    font-size: 1.1em;
}

.star.filled {
    color: #ffc107;
}

.review-content p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 10px;
}

.review-date {
    color: #888;
    font-size: 0.85em;
}

/* Events Styling */
.user-events {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 0;
}

.event-card {
    background-color: white;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-left: 4px solid var(--brand-primary);
}

.event-card.event-ended {
    border-left-color: #6c757d;
    opacity: 0.8;
}

.event-server-info {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.event-server-image {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    object-fit: cover;
    margin-right: 15px;
}

.event-server-details h4 {
    margin: 0 0 5px 0;
    font-size: 1.1em;
}

.event-server-details h4 a {
    color: var(--brand-primary);
    text-decoration: none;
}

.event-server-details h4 a:hover {
    text-decoration: underline;
}

.event-status {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: bold;
    background-color: #28a745;
    color: white;
}

.event-ended .event-status {
    background-color: #6c757d;
}

.event-content h3 {
    margin: 0 0 10px 0;
    color: var(--text-primary);
    font-size: 1.2em;
}

.event-content p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px;
}

.event-times {
    background-color: var(--bg-secondary);
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 10px;
}

.event-time {
    margin-bottom: 5px;
    font-size: 0.9em;
}

.event-time:last-child {
    margin-bottom: 0;
}

.event-date {
    color: #888;
    font-size: 0.85em;
}

/* Gallery Styling */
.user-gallery {
    padding: 20px 0;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
}

.gallery-item {
    background-color: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s ease;
}

.gallery-item:hover {
    transform: translateY(-2px);
}

.gallery-image-container {
    position: relative;
    width: 100%;
    height: 150px;
    overflow: hidden;
}

.gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

.gallery-overlay a {
    color: white;
    text-decoration: none;
    padding: 8px 16px;
    background-color: var(--brand-primary);
    border-radius: 4px;
    font-size: 0.9em;
}

.gallery-item-info {
    padding: 15px;
}

.gallery-item-info h4 {
    margin: 0 0 5px 0;
    font-size: 1em;
    color: var(--text-primary);
}

.upload-date {
    color: #888;
    font-size: 0.85em;
    margin: 0;
}

/* Stats Styling */
.user-stats {
    padding: 20px 0;
}

.user-stats h3 {
    margin-bottom: 20px;
    color: var(--text-primary);
    text-align: center;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}

.stat-item {
    background-color: var(--bg-tertiary);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    box-shadow: var(--shadow-sm);
}

.stat-number {
    display: block;
    font-size: 2em;
    font-weight: bold;
    color: var(--brand-primary);
    margin-bottom: 5px;
}

.stat-value {
    color: var(--text-primary);
    font-weight: 600;
}

.stat-label {
    font-size: 0.9em;
    color: var(--text-secondary);
    font-weight: 500;
}

.join-date {
    text-align: center;
    color: #777;
    font-size: 1em;
    padding: 15px;
    background-color: var(--bg-secondary);
    border-radius: 6px;
}


/*								MOBILE
///////////////////////////////////////////
///////////////////////////////////////////
///////////////////////////////////////////
///////////////////////////////////////////
*/
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-device-pixel-ratio: 2) and (device-aspect-ratio: 2/3),
only screen and (min-device-width:300px) and (max-device-width:620px),
only screen and (min-width:360px) and (max-width:1000px) {
    #verification_key{
        word-wrap: break-word;
        background-color: unset;
        color: rgb(33, 176, 128);
    }
    .settings-section{
        display: block;
        width: 100%;
        margin: 5px auto;
    }
    .setting{
        min-width: 100%;
        margin:3px auto;
    }
    #verification_key{
        word-wrap: break-word;
        background-color: unset;
        color: rgb(33, 176, 128);
    }
    .settings-section{
        display: block;
        width: 100%;
        margin: 5px auto;
    }
    .setting{
        min-width: 100%;
        margin:3px auto;
    }
    .content-share-hover {
        left: auto;
        right: 0;
    }

    .content-page {
        margin: 0 auto;
        min-width: 300px;
        max-width: 99.5%;
        min-height: 80vh;
    }

    .stuff-box {
        height: 65vh;
    }

    .stuff-box .far {
        font-size: 16px;
    }

    .stuff-box table tr,
    .stuff-box td {
        padding: 5px 2px;
        height: auto;
        width: auto;
    }

    .stuff-box a {
        font-size: 16px;
    }

    .stuff-box i {
        width: auto;
    }

    .dashboard-left {
        width: 95%;
        height: auto;
        min-height: 0;
        margin: 0 auto;
    }

    .server-dashboard-calendar {
        max-width: none;
    }

    .discord,
    .discord,
    .side-search-bar {
        display: none;
    }

    .register-email,
    .register-username,
    .register-passwords {
        text-align: left;
        display: block;
        width: 75%;
    }

    .register-email span,
    .register-username span,
    .register-passwords span {
        display: inline-flex;
        text-align: left;
        width: auto;
    }

    .register-email input,
    .register-username input,
    .register-passwords input {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0 5px;
        height: 4vh;
        font-size: 16px;
        font-weight: bold;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.3);
    }

    footer,
    .footer {
        display: block;
        width: 100%;
        min-height: 15vh;
        height: auto;
        max-height: 100%;
        text-align: center;
        background-color: #284B63;
        color: white;
        align-items: center;
        justify-content: center;
    }

    .footer-copyright,
    .footer-links,
    .footer-social-links {
        display: block;
        width: 95%;
        height: auto;
        padding: 5px 0;
        justify-content: center;
    }

    .footer-copyright {
        font-size: 1.15em;
        flex-flow: column nowrap;
    }

    .footer-links,
    .footer-social-links a {
        justify-content: center;
        font-size: 1.15em;
        flex-flow: column nowrap;
    }

    .footer-links a,
    .back-to-top-footer a {
        padding: 4px 5px;
        color: white;
        flex-flow: column nowrap;
        transition: 0.25s ease;
    }

    .footer-links a:hover,
    .back-to-top-footer:hover {
        background-color: #3C6E70;
    }

    .footer-social-links a,
    .back-to-top-footer {
        padding: 5px;
    }

    .footer-social-links > a > img {
        width: 64px;
        max-height: 64px;
    }

    .delete-confirm,
    .edit-comment-overlay,
    .delete-confirm-review {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        width: 95vw;
        min-width: 100px;
        padding: 10px;
        height: auto;
        border: 1px solid;
        text-align: center;
        z-index: 9999;
        transform: translate(-50%, -50%);
    }

    .moderate-panel {
        width: 100%;
        height: auto;
        max-height: none;
    }

    .moderate-cont {
        padding: 0;
    }

    .moderate-actions,
    .profile-info-cont {
        bottom: 0;
    }

    .moderation-user-profile,
    .moderate-server-profile-cont {
        height: auto;
        max-height: none;
    }

    .profile-info-cont,
    .moderate-actions {
        position: relative;
    }

    .moderate-user-profile {
        height: auto;
        max-height: 100%;
    }

    .profile-info-cont > div,
    .moderate-actions-cont > div {
        display: block !important;
    }

    .moderate-actions-cont > div {
        margin: 3px 0;
    }

    .logo {
        display: block;
        padding: 5px;
        width: 267px;
        margin: 0 auto;
    }

    .loadMore {
        display: block;
        text-align: center;
        font-size: 1.5em;
        width: auto;
        padding: 5px 0;
        margin: 2px 10px;
        border-radius: 10px;
        background-color: var(--brand-primary)ff;
        font-weight: bold;
        color: white;
        text-shadow: 0 0 3px black;
    }

    .list-container-large {
        float: none;
    }

    .settings-form-dashboard {
        display: block;
        width: 100%;
        padding: 0;
        overflow: auto;
        text-align: center;
    }

    .server-dashboard {
        float: none;
        display: block;
        width: 100%;
        padding: 0;
    }

    .dashboard-board {
        display: block;
        width: 100%;
        margin: 0 auto;
        text-align: center;
        font-size: 1.4em;
    }

    .dashboard-small-items {
        display: block;
        width: 100%;
        padding: 0;
        margin: 5px 0;
        min-height: 165px;
    }

    .server-page-title h1,
    .server-page-title span,
    .server-page-title {
        padding: 0;
        margin: 0;
    }

    .server-page-title h1 {
        font-size: 2.4em;
    }

    .server-page-title span {
        font-size: max(min(5vmin, 16px), 1.5em);
    }

    .reauthenticate {
        padding: 5px;
        box-shadow: 0 0 1px;
        text-align: left;
    }

    .reauthenticate form {
        display: block;
        width: 100%;
    }

    .comments,
    .comment2 {
        clear: both;
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }

    #share-buttons img {
        width: 35px;
        padding: 5px;
        border: 0;
        box-shadow: 0;
        display: inline;
    }

    #share-buttons a {
        text-decoration: none;
    }

    .application-drop {
        width: 100%;
        margin: 0;
        padding: 2px;
    }

    .news-content img {
        max-width: 100%;
    }

    .parentComment,
    .parentNewsComment,
    .childComment {
        width: 95%;
        max-width: 95%;
        margin: 5px auto;
        position: relative;
        text-align: left;
        padding: 0.5%;
        border-left: 2px solid var(--brand-primary);
        border-top: 2px solid var(--brand-primary);
        border-bottom: 2px solid var(--brand-accent);
        border-right: 2px solid var(--brand-accent);

    }

    .childComment {
        margin-left: 3px;
    }

    .parentCommentImg,
    .childCommentImg,
    .mention-details img {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        max-height: 48px;
        max-width: 48px;
        margin-left: 2px;
        margin-top: 2px
    }
    .parentCommentWrap {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    .username-icon-cont {
        position: relative;
        display: inline-block;
        width: 75%;
        vertical-align: middle;
    }

    .childCommentImg,
    .mention-details img {
        max-height: 32px;
        max-width: 32px;
    }

    .fa-ellipsis-h::before {
        font-size: 1em;
    }

    .commentInteract {
        position: relative;
        right: 8px;
        margin: 0;
        display: inline-block;
        /* inline block*/
        vertical-align: middle;
        padding: 6px;
        border-radius: 10px;
        font-size: 1.3em;
    }

    .comment-interact-drop {
        position: absolute;
    }

    .review-preview {
        display: block;
        width: 90% !important;
        margin: 0 auto;
    }

    .login-register-btn {
        display: inline-block;
        vertical-align: middle;
    }

    header {
        flex-direction: column;
    }
    .header-logo,.header-user{
        max-width: 100%;
    }
    .header {
        display: block;
    }

    .header ul li {
        display: block;
    }
    .footer-copyright,.footer-links {
        max-width: 100%;
        display: block;
        width: 100%;
        text-align: center;
    }
    .menu-button {
        position: absolute;
        display: block;
        z-index: 1;
        right: 0;
        border: none;
    }

    .menu-button::after {
        clear: both;
    }

    .primary-navigation {
        display: none !important;
        clear: both;
    }

    .opened {
        display: block !important;
    }

    .list-container,
    .settings-list-cont {
        float: none;
        display: block;
        width: 100%;
    }

    .ultima-list-container {
        width: calc(100% - 25px);
        margin-left: -20px;
        min-height: 25px;
    }

    .srv-list-item {
        max-width: 99;
        padding: 1px;
    }

    .srv-list-item > img {
        vertical-align: middle;
        display: inline-block;
        min-width: 64px;
        width: 20%;
        height: auto;
        margin-right: 0;
        padding-right: 5px;
        max-width: 96px;

    }

    .list-item-middle {
        vertical-align: middle;
        display: inline-block;
        padding: 5px 0;
        text-align: center;
        overflow: hidden;
        width: 50%;

    }

    .list-item-right {
        width: 25%;
        vertical-align: middle;
        display: inline-block;
        padding: 0;
    }

    .right-list {
        max-width: 92%;
        width: 75%;
        text-align: center;
        padding: 10px;
        position: relative;
        float: none;
        margin: 0 auto;
    }

    .server-list {
        margin: 0 auto;
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        height: auto;
    }

    .nav-box {
        position: relative;
        padding: 5px;
        text-align: center;
        border-radius: 5px;
        color: white;
        font-size: 1.2em;
        z-index: 1;
    }

    .nav-box-logged-in {
        top: 0;
    }

    .nav-box-avatar {
        max-width: 48px;
        vertical-align: top;
    }

    .login-link,
    .register-link {
        display: inline-block;
    }

    .nav-box a {
        color: white;
        text-decoration: none;
    }

    .srv-page-details {
        float: none;
        clear: both;
        display: block;
        margin: 0 auto;
        width: 95%;
        padding: 5px;
        font-size: 1em;
        min-height: 0;
    }

    #help {
        position: relative;
    }

    /* Old header dropdown styles - only apply outside new .hd header */
    :not(.hd-dropdown) > #help-nav {
        position: relative;
        display: block;
        width: 100%;
        left: 0;
        right: 0;
        top: 5px;
        border-top: 1px solid white;
        border-bottom: 1px solid white;
        box-shadow: none;
        border-radius: 0;
    }

    .announcement {
        text-align: center;
        width: auto;
        position: relative;
        padding: 10px;
    }

    .admin-hub {
        padding: 0;
        display: block;
        background-color: #eee;
        height: auto;
        width: 100%;
        max-width: 100%;
        display: block;
        overflow: auto;
    }

    .admin-left,
    .admin-right {
        vertical-align: top;
    }

    .admin-left {
        position: relative;
        display: none;
        width: 99%;
        min-width: 250px;
        height: auto;
        border-right: 1px solid black;
        padding: 5px;
        overflow: scroll;
    }

    .admin-left1 > a {
        display: block;
        padding: 2.5px;
        margin: 2.5px;
    }

    .admin-right {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        min-width: 280px;
        background-color: #afb2b5;
        margin: 0;
        padding: 0;
    }

    .admin-center {
        width: 70%;
        overflow: auto;
    }

    .admin-links {
        margin: 2px;
    }

    .admin-links h3 {
        padding: 4px;
    }

    .admin-links a {
        display: block;
        padding: 3px;
        margin: 2px 4px;
        background-color: #8cc6ea;
        border-radius: 3px;
        font-size: 1.1em;
        font-weight: bold;
        text-align: center;
    }

    .admin-links a:hover {
        background-color: #8cead4;
    }

    .report-wrapper {
        text-align: center;
        height: 45vh;
        overflow: hidden;
    }

    .report-table {
        text-align: left;
        height: 95%;
    }

    .tr-wrapper {
        height: 75%;
        overflow: auto;
    }

    .report-table-tr {
        display: block;
        width: 90%;
        padding: 10px;
        box-shadow: 0 0 3px #3c6d70;
        margin: 0 auto;
        text-align: center;

    }

    .report-table-tr-list {
        padding: 10px;
    }

    .admin-report-item {
        display: inline-block;
        width: 25%;
        vertical-align: middle;
        text-align: center;
    }

    .admin-report-id {
        max-width: 50px;
    }

    .moderate-report-id {
        max-width: 25px;
    }

    .moderate-report-id-server {
        max-width: auto;
    }

    .admin-home {
        position: relative;
        height: 100%;
        display: block;
        flex-direction: column;
        flex-wrap: wrap;
        overflow: auto;
    }

    .admin-right-topbar {
        position: relative;
        display: none;
        flex-wrap: nowrap;
        width: 100%;
        height: auto;
    }

    .admin-topbar-stat-item {
        position: relative;
        display: block;
        width: 99%;
        padding: 5px;
        margin: 5px;
        background-color: #8cc6ea;
        font-size: 1.3em;
        font-weight: 700;
        border-radius: 10px;
        box-shadow: 1px 1px 5px black;
        overflow: auto;
    }

    .admin-home-main {
        width: 92%;
        height: 100%;
        flex: 1;
        padding: 0;
    }

    .admin-urgent-reports,
    .admin-emails,
    .admin-news-section {
        display: block;
        width: 99%;
        text-align: center;
        padding: 5px;
        background-color: #f2f2f2;
        min-height: 35%;
        height: auto;
        max-height: 75%;
        border-radius: 5px;
        box-shadow: 0 0 5px black;
        overflow: auto;
        margin: 5px 0;
    }

    .message-icon {
        display: inline-block;
        vertical-align: middle;
        width: 32px;
    }

    .message-icon-comment-reply {
        display: inline-block;
        vertical-align: middle;
        width: 24px;
    }

    .moderate-avatar-wrap {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        width: 90%;
        height: 90%;
        overflow-y: auto;
    }

    .moderate-avatar {
        position: relative;
        display: block;
        margin: 0 auto;
        max-width: 275px;
        max-height: 200px;

    }

    .moderate-item {
        position: relative;
        display: inline-block;
        width: auto;
        min-width: 300px;
        max-height: 350px;
        background-color: #eee;
        text-align: center;
        margin: 5px;
    }

    .moderate-interact-items {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .moderate-interact-items > div {
        display: inline-block;
        padding: 5px;
        margin: 3px 4px;
    }

    .moderate-approve-btn,
    .moderate-escalate-btn,
    .moderate-remove-btn {
        font-weight: bold;
        box-shadow: 0 0 1px black;
        cursor: pointer;
    }

    .moderate-approve-btn {
        background-color: lawngreen;
    }

    .moderate-escalate-btn {
        background-color: red;
    }

    .moderate-remove-btn {
        background-color: indianred;
    }

    .moderate-approve-btn:hover,
    .moderate-escalate-btn:hover,
    .moderate-remove-btn:hover {
        box-shadow: inset 0 0 3px black;

    }

    .urgent-report-cont,
    .admin-email-cont {
        overflow: auto;
        height: 87%;
    }

    .admin-urgent-reports a,
    .admin-emails a {
        text-decoration: none;
        cursor: pointer;

    }

    .urgent-report-item,
    .admin-email-item {
        width: 75%;
        margin: 5px auto;
        box-shadow: 0 0 2px black;
        background-color: var(--bg-primary);
    }

    .urgent-report-item > div,
    .admin-email-item > div {
        font-size: 1.3em;
        display: block;
        margin: 0 5px;
        word-wrap: break-word;
    }

    .urgent-report-item:hover,
    .admin-email-item:hover {
        background-color: #8cc6ea;
    }

    .server-error {
        font-size: 1.5em;
        font-weight: bold;
    }

    .report-box {
        border: solid 1px;
    }

    .report-tr {
        border-bottom: 1px solid;
    }

    .report-td {
        padding: 5px;
        display: inline-block;
    }

    .admin-center-list {
        height: 600px;
        overflow: auto;
    }

    .admin-server-item,
    .admin-server-item2 {
        display: block;
        padding: 5px;
        margin: 5px;
        width: auto;
        min-width: 300px;
        text-align: left;
        border: 1px solid;
        border-radius: 10px;
    }

    .admin-server-item2 {
        display: block;
    }

    .user-name {
        font-weight: bold;
        font-size: 1.2em;
    }

    .admin-server-item > img,
    .admin-server-item2 > img {
        width: 50px;
        height: 50px;
    }

    .ultima-online-list,
    .ultima-online-page {
        padding: 10px 0;
        font-family: 'MedievalSharp', cursive;
        border-right: none;
        border-left: none;

    }

    .ultima-online-item,
    .ultima-online-texture {
        background: url(images/default/uo-repeated-texture.jpg) repeat top left;
        box-shadow: inset 0 0 4px;
        font-weight: bold;
    }

    .ultima-online-texture {
        font-weight: normal;
        box-shadow: none;
    }

    .uo-news-header {
        font-size: 1.1em;
        text-decoration: underline;
    }

    .server-page {
        display: flex;
        flex-direction: column;
    }

    .server-page-left,
    .server-page-right {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        vertical-align: top;
    }

    .serverDetailWrap {
        flex-direction: column;
    }

    .srv-detail-vote,
    .srv-page-video  {
        width: 100%;
    }

    .srv-page-video iframe {
        width: calc(100% - 20px);
        margin: 0 auto;
    }

    .server-page-title,
    .srv-page-interact,
    .serverDetailWrap,
    .srv-page-desc,
    .server-page-right,
    .server-comments,
    .server-page-left {
        background-color: var(--bg-primary);
        border-radius: 15px;
        box-shadow: 1px 0 5px rgba(0, 0, 0, 0.1);
        margin: 3px 3px;
    }

    .right-list,
    .left-list,
    .ultima-right-list,
    .ultima-left-list {
        width: 100%;
        margin: 0.5%;
        position: relative;
        display: inline-flex;
        flex-direction: column;
        font-size: 1.1em;
    }

    .ultima-right-list,
    .ultima-left-list {
        margin-left: -20px;
        width: calc(100% - 24px);
        min-height: 25px;

    }

    .close-infobox {
        padding: 8px 10px;
        font-weight: 500;
        position: absolute;
        top: 5px;
        right: 8px;
        color: #6b7280;
        font-size: 1.4em;
        border-radius: 6px;
        transition: all 0.2s ease;
        z-index: 10;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
    }

    .close-infobox:hover {
        color: var(--status-error);
        background: rgba(239, 68, 68, 0.1);
        transform: scale(1.1);
    }

    .messages-container,
    .notifications {
        width: 100%;
        margin: 0 auto;
        padding: 5px 0;
    }

    .notifications {
        margin: 5px auto;
        padding: 2px;
    }

    .add-server-form-cont,
    .review-container
     {
        width: auto;
    }

    .review-item {
        display: block;
        width: auto;
    }
    .mySlides img,
    .myVidSlides iframe {
        height: 400px;
    }
}


/* ==================== REVIEWS OVERHAUL - LIGHT MODE STYLES ==================== */
/**
 * Reviews System - Site Integrated Styles
 * Designed to match the existing Gemini Servers design
 */

/* Reset any conflicting header styles */
.review-container header,
.review-container .reviews-page-header {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    height: auto !important;
    z-index: auto !important;
    transform: none !important;
}

/* Container styling consistent with server-list */
.enhanced-reviews-container,
.review-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 10px;
    min-height: calc(100vh - 200px);
    overflow-x: visible;
    word-wrap: break-word;
}

/* Global overflow fix */
.enhanced-reviews-container *,
.review-container * {
    box-sizing: border-box;
    max-width: 100%;
}

/* Review items with existing site styling and size constraints */
.review-card,
.review-item {
    position: relative;
    display: block;
    width: calc(100% - 40px);
    max-width: 800px;
    min-height: 120px;
    margin: 10px auto;
    padding: 15px;
    background-color: var(--bg-primary);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    text-align: left;
    overflow: visible;
    word-wrap: break-word;
    box-sizing: border-box;
    transition: max-height 0.3s ease;
}

/* Default collapsed state */
.review-card:not(.expanded) {
    max-height: 600px;
    overflow: hidden;
}

/* Expanded state for cards with edit history */
.review-card.expanded {
    max-height: none;
    overflow: visible;
}

.review-card::after {
    content: "";
    display: table;
    clear: both;
}

.review-card:hover {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

/* Top section with reviewer info and actions */
.review-top-section {
    margin-bottom: 10px;
    max-width: 100%;
    overflow: visible;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.reviewer-info {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    margin-bottom: 5px;
}

.reviewer-avatar {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--brand-primary);
    flex-shrink: 0;
    object-fit: cover;
}

.reviewer-details {
    display: inline;
    overflow: hidden;
}

.reviewer-name {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95em;
    display: inline;
}

.review-meta {
    color: #888;
    font-size: 0.85em;
    display: inline;
    margin-left: 5px;
}

/* Badges consistent with site colors */
.verified-badge,
.staff-badge {
    display: inline-block;
    padding: 2px 6px;
    margin-left: 5px;
    font-size: 0.8em;
    border-radius: 4px;
    font-weight: bold;
}

.verified-badge {
    background: rgba(37, 204, 148, 0.2);
    color: var(--brand-accent);
    border: 1px solid var(--brand-accent);
}

.staff-badge {
    background: rgba(77, 188, 221, 0.2);
    color: var(--brand-primary);
    border: 1px solid var(--brand-primary);
}

/* Review actions - positioned in top section */
.review-actions {
    position: relative;
    flex-shrink: 0;
}

.review-menu-btn {
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    color: var(--text-primary);
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    transition: all 0.2s ease;
}

.review-menu-btn:hover {
    background: var(--brand-primary);
    color: white;
    border-color: var(--brand-primary);
    transform: scale(1.05);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.review-menu {
    position: fixed;
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
    z-index: 9999;
    min-width: 140px;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
    max-width: calc(100vw - 20px);
}

.review-menu.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.review-menu.align-left.show {
    transform: translateY(0) translateX(0);
}

.review-menu.align-right.show {
    transform: translateY(0) translateX(0);
}

.review-menu button {
    display: block;
    width: 100%;
    padding: 6px 10px;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.85em;
    color: var(--text-primary);
}

.review-menu button:hover {
    background: var(--bg-secondary);
    color: var(--brand-primary);
}

/* Star Rating */
.star-rating {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 1.2em;
    color: #ffd700;
}

.star {
    cursor: default;
}

.star.filled {
    color: #ffd700;
}

.star.empty {
    color: #ddd;
}

.star-rating.interactive .star {
    cursor: pointer;
}

.star-rating.interactive .star:hover {
    color: #ffb347;
}

.rating-value {
    margin-left: 5px;
    color: var(--text-secondary);
    font-size: 0.9em;
}

/* Review recommendation */
.recommendation-badge,
.review-recommendation {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 0.9em;
    font-weight: bold;
    margin-left: 10px;
}

.recommendation-badge.positive {
    background: rgba(37, 204, 148, 0.1);
    color: var(--brand-accent);
    border: 1px solid var(--brand-accent);
}

.recommendation-badge.negative {
    background: rgba(255, 0, 0, 0.1);
    color: var(--status-error);
    border: 1px solid var(--status-error);
}

/* Review content */
.review-title {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--text-primary);
    margin-bottom: 10px;
    overflow: hidden;
    word-wrap: break-word;
    line-height: 1.4;
    max-height: 3.6em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.review-content,
.server-review-body {
    padding: 10px 0;
    line-height: 1.6;
    color: var(--text-primary);
    max-width: 100%;
    max-height: 400px;
    overflow-y: auto;
    word-wrap: break-word;
    position: relative;
}

.review-text {
    white-space: pre-wrap;
    word-wrap: break-word;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
    max-height: 350px;
    overflow-y: auto;
    padding: 5px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.02);
    border: 1px solid transparent;
}

/* Bottom section */
.review-bottom-section {
    margin-top: 10px;
    max-width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.review-stats {
    display: inline-block;
    font-size: 0.8em;
    color: #999;
    margin-right: 15px;
}

/* Helpfulness voting */
.helpfulness-section {
    display: flex;
    align-items: center;
    gap: 8px;
}

.helpfulness-label {
    font-size: 0.8em;
    color: #999;
}

.vote-buttons {
    display: inline-flex;
    gap: 4px;
}

.vote-btn {
    padding: 3px 8px;
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 3px;
    cursor: pointer;
    font-size: 0.8em;
    transition: all 0.2s;
}

.vote-btn:hover {
    border-color: var(--brand-primary);
    background: rgba(77, 188, 221, 0.1);
}

.vote-btn.helpful.active {
    background: var(--brand-accent);
    color: white;
    border-color: var(--brand-accent);
}

.vote-btn.unhelpful.active {
    background: var(--status-error);
    color: white;
    border-color: var(--status-error);
}

/* Aggregate rating */
.aggregate-rating-section {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    color: white;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.aggregate-rating {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rating-summary {
    text-align: center;
}

.rating-summary .star-rating {
    font-size: 1.5em;
    margin-bottom: 5px;
}

.rating-details {
    font-size: 1.1em;
    font-weight: bold;
}

.rating-distribution {
    flex: 1;
    max-width: 300px;
    margin-left: 30px;
}

.rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 5px 0;
    font-size: 0.85em;
}

.rating-row .stars {
    min-width: 60px;
    color: rgba(255,255,255,0.9);
}

.rating-row .bar {
    flex: 1;
    height: 6px;
    background: rgba(255,255,255,0.3);
    border-radius: 3px;
    overflow: hidden;
}

.rating-row .bar-fill {
    height: 100%;
    background: white;
    border-radius: 3px;
}

.rating-row .count {
    min-width: 25px;
    text-align: right;
    color: rgba(255,255,255,0.9);
}

/* Filters */
.review-filters {
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}

.filter-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-group label {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9em;
    display: flex;
    align-items: center;
    gap: 6px;
}

.filter-group input[type="checkbox"] {
    margin: 0;
    vertical-align: middle;
}

.filter-group select {
    padding: 6px 10px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    background: var(--input-bg);
    color: var(--input-text);
    font-size: 0.9em;
}

.filter-group select:focus {
    outline: none;
    border-color: var(--brand-primary);
}

/* Breadcrumb */
.breadcrumb {
    margin-bottom: 15px;
}

.breadcrumb ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.9em;
}

.breadcrumb li {
    display: flex;
    align-items: center;
}

.breadcrumb li:not(:last-child)::after {
    content: "›";
    margin: 0 8px;
    color: var(--text-secondary);
}

.breadcrumb a {
    color: var(--brand-primary);
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

/* Page header */
.reviews-page-header {
    text-align: center;
    margin: 20px auto 30px auto;
    padding: 20px;
    max-width: 800px;
    background: transparent;
    border: none;
    box-shadow: none;
}

.reviews-page-header .page-title {
    color: var(--text-primary);
    font-size: 2.2em;
    font-weight: bold;
    margin: 0 0 15px 0;
    padding: 0;
    line-height: 1.2;
    text-shadow: none;
    background: none;
    border: none;
}

.reviews-page-header .page-description {
    color: var(--text-secondary);
    font-size: 1.1em;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 600px;
    font-weight: normal;
}

/* No reviews */
.no-reviews-message {
    text-align: center;
    padding: 40px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    color: var(--text-secondary);
}

.no-reviews-message h3 {
    color: var(--text-primary);
    margin-bottom: 10px;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.9em;
}

.btn-primary {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
    color: var(--text-inverse);
}

.btn-primary:hover {
    box-shadow: 0 2px 5px rgba(77, 188, 221, 0.4);
    transform: translateY(-1px);
}

.btn-secondary {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-light);
}

.btn-secondary:hover {
    background: var(--bg-secondary);
    border-color: var(--brand-primary);
}

/* Edit review form */
.edit-review-form {
    background: var(--bg-secondary);
    padding: 20px;
    border-radius: 8px;
    border: 2px solid var(--brand-primary);
    margin: 10px 0;
}

.edit-field {
    margin-bottom: 15px;
}

.edit-field label {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 5px;
    font-size: 0.9em;
}

.edit-field input,
.edit-field select,
.edit-field textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 0.9em;
    font-family: inherit;
    box-sizing: border-box;
}

.edit-field input:focus,
.edit-field select:focus,
.edit-field textarea:focus {
    outline: none;
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 2px rgba(77, 188, 221, 0.2);
}

.edit-field textarea {
    resize: vertical;
    min-height: 80px;
}

.edit-rating {
    display: flex;
    gap: 2px;
    margin-top: 5px;
}

.edit-rating .star.editable {
    cursor: pointer;
    font-size: 1.5em;
    color: #ddd;
    transition: color 0.2s;
}

.edit-rating .star.editable.filled {
    color: #ffd700;
}

.edit-rating .star.editable:hover {
    color: #ffb347;
}

.edit-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #ddd;
}

.edit-actions .btn {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.9em;
    transition: all 0.2s;
}

.edit-actions .btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.review-card.editing {
    border: 2px solid var(--brand-primary);
    box-shadow: 0 0 10px rgba(77, 188, 221, 0.3);
}

/* Edit indicator */
.review-edited {
    color: var(--text-secondary);
    font-style: italic;
}

.review-edited .edit-link {
    color: var(--brand-primary);
    text-decoration: underline;
    cursor: pointer;
    transition: color 0.2s;
}

.review-edited .edit-link:hover {
    color: var(--brand-accent);
}

/* Edit details modal */
.edit-details-modal {
    font-family: inherit;
}

.edit-details-modal h3 {
    color: var(--text-primary);
    border-bottom: 2px solid var(--brand-primary);
    padding-bottom: 10px;
}

.edit-details-modal .close-btn:hover {
    color: var(--text-primary);
}

/* Edit history */
.edit-history {
    margin-top: 15px;
    padding: 10px;
    background: var(--bg-secondary);
    border-radius: 4px;
    border-left: 3px solid var(--brand-accent);
}

.edit-history-list {
    max-height: 300px;
    overflow-y: auto;
    transition: max-height 0.3s ease, padding 0.3s ease;
    margin-top: 10px;
}

.edit-history-list.collapsed {
    max-height: 0;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
}

.edit-history-toggle {
    background: none;
    border: none;
    color: var(--brand-primary);
    font-size: 0.9em;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    margin: 0;
    display: block;
    width: auto;
    font-weight: bold;
}

.edit-history-toggle:hover {
    color: var(--brand-primary);
}

.edit-history-list {
    margin-top: 10px;
    font-size: 0.8em;
    color: var(--text-secondary);
}

.edit-history-item {
    padding: 5px 0;
    border-bottom: 1px solid #eee;
}

.edit-history-item:last-child {
    border-bottom: none;
}

.edit-history-date {
    font-weight: 600;
    color: var(--text-primary);
}

.edit-history-changes {
    margin: 5px 0;
    font-size: 0.85em;
    line-height: 1.4;
}

.edit-history-changes strong {
    color: var(--brand-primary);
}

/* Change comparison */
.change-before {
    background: #ffe6e6;
    color: #d73027;
    padding: 4px 6px;
    border-radius: 3px;
    font-family: monospace;
    font-size: 0.9em;
}

.change-after {
    background: #e6f7ff;
    color: #1a73e8;
    padding: 4px 6px;
    border-radius: 3px;
    font-family: monospace;
    font-size: 0.9em;
}

/* Override conflicting styles */
.review-container .star-rating.size-large,
.review-container .star-rating.size-medium,
.review-container .star-rating.size-small {
    font-size: 1.2em;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .enhanced-reviews-container,
    .review-container {
        padding: 5px;
        overflow-x: visible;
    }

    .review-card {
        width: calc(100% - 10px);
        margin: 5px;
        padding: 10px;
        overflow: hidden;
    }

    .aggregate-rating {
        flex-direction: column;
        text-align: center;
    }

    .rating-distribution {
        margin-left: 0;
        margin-top: 20px;
        max-width: 100%;
    }

    .review-filters {
        flex-direction: column;
        align-items: stretch;
        padding: 10px;
    }

    .filter-group {
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .review-top-section {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 10px;
        position: relative;
    }

    .reviewer-info {
        width: 100%;
        max-width: 100%;
    }

    .reviewer-name {
        white-space: normal;
        word-wrap: break-word;
    }

    .review-meta {
        white-space: normal;
        word-wrap: break-word;
    }

    .review-bottom-section {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }

    .vote-buttons {
        flex-wrap: wrap;
    }

    .helpfulness-section {
        flex-wrap: wrap;
        width: 100%;
    }

    .review-actions {
        position: relative;
        z-index: 1;
    }

    .review-menu button {
        padding: 8px 12px;
        font-size: 0.9em;
    }

    .review-top-section {
        position: relative;
        overflow: visible;
    }

    .review-card {
        overflow: visible;
    }

    .reviews-page-header {
        margin: 15px auto 25px auto;
        padding: 15px;
    }

    .reviews-page-header .page-title {
        font-size: 1.8em;
        margin-bottom: 12px;
    }

    .reviews-page-header .page-description {
        font-size: 1em;
        line-height: 1.5;
    }
}

@media (max-width: 480px) {
    .reviews-page-header {
        margin: 10px auto 20px auto;
        padding: 10px;
    }

    .reviews-page-header .page-title {
        font-size: 1.5em;
        margin-bottom: 10px;
    }

    .reviews-page-header .page-description {
        font-size: 0.95em;
    }
}

/* Hide overly complex enhanced styles */
.enhanced-reviews-container .review-categories,
.enhanced-reviews-container .review-photos {
    display: none;
}

/* Simplify animations */
.review-card {
    animation: none;
}

/* ==================== REVIEWS OVERHAUL - LIGHT MODE STYLES ==================== */
/**
 * Reviews System - Site Integrated Styles
 * Designed to match the existing Gemini Servers design
 */

/* Reset any conflicting header styles */
.review-container header,
.review-container .reviews-page-header {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    height: auto !important;
    z-index: auto !important;
    transform: none !important;
}

/* Container styling consistent with server-list */
.enhanced-reviews-container,
.review-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 10px;
    min-height: calc(100vh - 200px);
    overflow-x: visible;
    word-wrap: break-word;
}

/* Global overflow fix */
.enhanced-reviews-container *,
.review-container * {
    box-sizing: border-box;
    max-width: 100%;
}

/* Review items with existing site styling and size constraints */
.review-card,
.review-item {
    position: relative;
    display: block;
    width: calc(100% - 40px);
    max-width: 800px;
    min-height: 120px;
    margin: 10px auto;
    padding: 15px;
    background-color: var(--bg-primary);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    text-align: left;
    overflow: visible;
    word-wrap: break-word;
    box-sizing: border-box;
    transition: max-height 0.3s ease;
}

/* Default collapsed state */
.review-card:not(.expanded) {
    max-height: 600px;
    overflow: hidden;
}

/* Expanded state for cards with edit history */
.review-card.expanded {
    max-height: none;
    overflow: visible;
}

.review-card::after {
    content: "";
    display: table;
    clear: both;
}

.review-card:hover {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

/* Top section with reviewer info and actions */
.review-top-section {
    margin-bottom: 10px;
    max-width: 100%;
    overflow: visible;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.reviewer-info {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    margin-bottom: 5px;
}

.reviewer-avatar {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--brand-primary);
    flex-shrink: 0;
    object-fit: cover;
}

.reviewer-details {
    display: inline;
    overflow: hidden;
}

.reviewer-name {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95em;
    display: inline;
}

.review-meta {
    color: #888;
    font-size: 0.85em;
    display: inline;
    margin-left: 5px;
}

/* Badges consistent with site colors */
.verified-badge,
.staff-badge {
    display: inline-block;
    padding: 2px 6px;
    margin-left: 5px;
    font-size: 0.8em;
    border-radius: 4px;
    font-weight: bold;
}

.verified-badge {
    background: rgba(37, 204, 148, 0.2);
    color: var(--brand-accent);
    border: 1px solid var(--brand-accent);
}

.staff-badge {
    background: rgba(77, 188, 221, 0.2);
    color: var(--brand-primary);
    border: 1px solid var(--brand-primary);
}

/* Review actions - positioned in top section */
.review-actions {
    position: relative;
    flex-shrink: 0;
}

.review-menu-btn {
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    color: var(--text-primary);
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    transition: all 0.2s ease;
}

.review-menu-btn:hover {
    background: var(--brand-primary);
    color: white;
    border-color: var(--brand-primary);
    transform: scale(1.05);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.review-menu {
    position: fixed;
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
    z-index: 9999;
    min-width: 140px;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
    max-width: calc(100vw - 20px);
}

.review-menu.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.review-menu.align-left.show {
    transform: translateY(0) translateX(0);
}

.review-menu.align-right.show {
    transform: translateY(0) translateX(0);
}

.review-menu button {
    display: block;
    width: 100%;
    padding: 6px 10px;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.85em;
    color: var(--text-primary);
}

.review-menu button:hover {
    background: var(--bg-secondary);
    color: var(--brand-primary);
}

/* Star Rating */
.star-rating {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 1.2em;
    color: #ffd700;
}

.star {
    cursor: default;
}

.star.filled {
    color: #ffd700;
}

.star.empty {
    color: #ddd;
}

.star-rating.interactive .star {
    cursor: pointer;
}

.star-rating.interactive .star:hover {
    color: #ffb347;
}

.rating-value {
    margin-left: 5px;
    color: var(--text-secondary);
    font-size: 0.9em;
}

/* Review recommendation */
.recommendation-badge,
.review-recommendation {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 0.9em;
    font-weight: bold;
    margin-left: 10px;
}

.recommendation-badge.positive {
    background: rgba(37, 204, 148, 0.1);
    color: var(--brand-accent);
    border: 1px solid var(--brand-accent);
}

.recommendation-badge.negative {
    background: rgba(255, 0, 0, 0.1);
    color: var(--status-error);
    border: 1px solid var(--status-error);
}

/* Review content */
.review-title {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--text-primary);
    margin-bottom: 10px;
    overflow: hidden;
    word-wrap: break-word;
    line-height: 1.4;
    max-height: 3.6em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.review-content,
.server-review-body {
    padding: 10px 0;
    line-height: 1.6;
    color: var(--text-primary);
    max-width: 100%;
    max-height: 400px;
    overflow-y: auto;
    word-wrap: break-word;
    position: relative;
}

.review-text {
    white-space: pre-wrap;
    word-wrap: break-word;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
    max-height: 350px;
    overflow-y: auto;
    padding: 5px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.02);
    border: 1px solid transparent;
}

/* Bottom section */
.review-bottom-section {
    margin-top: 10px;
    max-width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.review-stats {
    display: inline-block;
    font-size: 0.8em;
    color: #999;
    margin-right: 15px;
}

/* Helpfulness voting */
.helpfulness-section {
    display: flex;
    align-items: center;
    gap: 8px;
}

.helpfulness-label {
    font-size: 0.8em;
    color: #999;
}

.vote-buttons {
    display: inline-flex;
    gap: 4px;
}

.vote-btn {
    padding: 3px 8px;
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 3px;
    cursor: pointer;
    font-size: 0.8em;
    transition: all 0.2s;
}

.vote-btn:hover {
    border-color: var(--brand-primary);
    background: rgba(77, 188, 221, 0.1);
}

.vote-btn.helpful.active {
    background: var(--brand-accent);
    color: white;
    border-color: var(--brand-accent);
}

.vote-btn.unhelpful.active {
    background: var(--status-error);
    color: white;
    border-color: var(--status-error);
}

/* Aggregate rating */
.aggregate-rating-section {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    color: white;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.aggregate-rating {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rating-summary {
    text-align: center;
}

.rating-summary .star-rating {
    font-size: 1.5em;
    margin-bottom: 5px;
}

.rating-details {
    font-size: 1.1em;
    font-weight: bold;
}

.rating-distribution {
    flex: 1;
    max-width: 300px;
    margin-left: 30px;
}

.rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 5px 0;
    font-size: 0.85em;
}

.rating-row .stars {
    min-width: 60px;
    color: rgba(255,255,255,0.9);
}

.rating-row .bar {
    flex: 1;
    height: 6px;
    background: rgba(255,255,255,0.3);
    border-radius: 3px;
    overflow: hidden;
}

.rating-row .bar-fill {
    height: 100%;
    background: white;
    border-radius: 3px;
}

.rating-row .count {
    min-width: 25px;
    text-align: right;
    color: rgba(255,255,255,0.9);
}

/* Filters */
.review-filters {
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}

.filter-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-group label {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9em;
    display: flex;
    align-items: center;
    gap: 6px;
}

.filter-group input[type="checkbox"] {
    margin: 0;
    vertical-align: middle;
}

.filter-group select {
    padding: 6px 10px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    background: var(--input-bg);
    color: var(--input-text);
    font-size: 0.9em;
}

.filter-group select:focus {
    outline: none;
    border-color: var(--brand-primary);
}

/* Breadcrumb */
.breadcrumb {
    margin-bottom: 15px;
}

.breadcrumb ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.9em;
}

.breadcrumb li {
    display: flex;
    align-items: center;
}

.breadcrumb li:not(:last-child)::after {
    content: "›";
    margin: 0 8px;
    color: var(--text-secondary);
}

.breadcrumb a {
    color: var(--brand-primary);
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

/* Page header */
.reviews-page-header {
    text-align: center;
    margin: 20px auto 30px auto;
    padding: 20px;
    max-width: 800px;
    background: transparent;
    border: none;
    box-shadow: none;
}

.reviews-page-header .page-title {
    color: var(--text-primary);
    font-size: 2.2em;
    font-weight: bold;
    margin: 0 0 15px 0;
    padding: 0;
    line-height: 1.2;
    text-shadow: none;
    background: none;
    border: none;
}

.reviews-page-header .page-description {
    color: var(--text-secondary);
    font-size: 1.1em;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 600px;
    font-weight: normal;
}

/* No reviews */
.no-reviews-message {
    text-align: center;
    padding: 40px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    color: var(--text-secondary);
}

.no-reviews-message h3 {
    color: var(--text-primary);
    margin-bottom: 10px;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.9em;
}

.btn-primary {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
    color: var(--text-inverse);
}

.btn-primary:hover {
    box-shadow: 0 2px 5px rgba(77, 188, 221, 0.4);
    transform: translateY(-1px);
}

.btn-secondary {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-light);
}

.btn-secondary:hover {
    background: var(--bg-secondary);
    border-color: var(--brand-primary);
}

/* Edit review form */
.edit-review-form {
    background: var(--bg-secondary);
    padding: 20px;
    border-radius: 8px;
    border: 2px solid var(--brand-primary);
    margin: 10px 0;
}

.edit-field {
    margin-bottom: 15px;
}

.edit-field label {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 5px;
    font-size: 0.9em;
}

.edit-field input,
.edit-field select,
.edit-field textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 0.9em;
    font-family: inherit;
    box-sizing: border-box;
}

.edit-field input:focus,
.edit-field select:focus,
.edit-field textarea:focus {
    outline: none;
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 2px rgba(77, 188, 221, 0.2);
}

.edit-field textarea {
    resize: vertical;
    min-height: 80px;
}

.edit-rating {
    display: flex;
    gap: 2px;
    margin-top: 5px;
}

.edit-rating .star.editable {
    cursor: pointer;
    font-size: 1.5em;
    color: #ddd;
    transition: color 0.2s;
}

.edit-rating .star.editable.filled {
    color: #ffd700;
}

.edit-rating .star.editable:hover {
    color: #ffb347;
}

.edit-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #ddd;
}

.edit-actions .btn {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.9em;
    transition: all 0.2s;
}

.edit-actions .btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.review-card.editing {
    border: 2px solid var(--brand-primary);
    box-shadow: 0 0 10px rgba(77, 188, 221, 0.3);
}

/* Edit indicator */
.review-edited {
    color: var(--text-secondary);
    font-style: italic;
}

.review-edited .edit-link {
    color: var(--brand-primary);
    text-decoration: underline;
    cursor: pointer;
    transition: color 0.2s;
}

.review-edited .edit-link:hover {
    color: var(--brand-accent);
}

/* Edit details modal */
.edit-details-modal {
    font-family: inherit;
}

.edit-details-modal h3 {
    color: var(--text-primary);
    border-bottom: 2px solid var(--brand-primary);
    padding-bottom: 10px;
}

.edit-details-modal .close-btn:hover {
    color: var(--text-primary);
}

/* Edit history */
.edit-history {
    margin-top: 15px;
    padding: 10px;
    background: var(--bg-secondary);
    border-radius: 4px;
    border-left: 3px solid var(--brand-accent);
}

.edit-history-list {
    max-height: 300px;
    overflow-y: auto;
    transition: max-height 0.3s ease, padding 0.3s ease;
    margin-top: 10px;
}

.edit-history-list.collapsed {
    max-height: 0;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
}

.edit-history-toggle {
    background: none;
    border: none;
    color: var(--brand-primary);
    font-size: 0.9em;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    margin: 0;
    display: block;
    width: auto;
    font-weight: bold;
}

.edit-history-toggle:hover {
    color: var(--brand-primary);
}

.edit-history-list {
    margin-top: 10px;
    font-size: 0.8em;
    color: var(--text-secondary);
}

.edit-history-item {
    padding: 5px 0;
    border-bottom: 1px solid #eee;
}

.edit-history-item:last-child {
    border-bottom: none;
}

.edit-history-date {
    font-weight: 600;
    color: var(--text-primary);
}

.edit-history-changes {
    margin: 5px 0;
    font-size: 0.85em;
    line-height: 1.4;
}

.edit-history-changes strong {
    color: var(--brand-primary);
}

/* Change comparison */
.change-before {
    background: #ffe6e6;
    color: #d73027;
    padding: 4px 6px;
    border-radius: 3px;
    font-family: monospace;
    font-size: 0.9em;
}

.change-after {
    background: #e6f7ff;
    color: #1a73e8;
    padding: 4px 6px;
    border-radius: 3px;
    font-family: monospace;
    font-size: 0.9em;
}

/* Override conflicting styles */
.review-container .star-rating.size-large,
.review-container .star-rating.size-medium,
.review-container .star-rating.size-small {
    font-size: 1.2em;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .enhanced-reviews-container,
    .review-container {
        padding: 5px;
        overflow-x: visible;
    }

    .review-card {
        width: calc(100% - 10px);
        margin: 5px;
        padding: 10px;
        overflow: hidden;
    }

    .aggregate-rating {
        flex-direction: column;
        text-align: center;
    }

    .rating-distribution {
        margin-left: 0;
        margin-top: 20px;
        max-width: 100%;
    }

    .review-filters {
        flex-direction: column;
        align-items: stretch;
        padding: 10px;
    }

    .filter-group {
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .review-top-section {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 10px;
        position: relative;
    }

    .reviewer-info {
        width: 100%;
        max-width: 100%;
    }

    .reviewer-name {
        white-space: normal;
        word-wrap: break-word;
    }

    .review-meta {
        white-space: normal;
        word-wrap: break-word;
    }

    .review-bottom-section {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }

    .vote-buttons {
        flex-wrap: wrap;
    }

    .helpfulness-section {
        flex-wrap: wrap;
        width: 100%;
    }

    .review-actions {
        position: relative;
        z-index: 1;
    }

    .review-menu button {
        padding: 8px 12px;
        font-size: 0.9em;
    }

    .review-top-section {
        position: relative;
        overflow: visible;
    }

    .review-card {
        overflow: visible;
    }

    .reviews-page-header {
        margin: 15px auto 25px auto;
        padding: 15px;
    }

    .reviews-page-header .page-title {
        font-size: 1.8em;
        margin-bottom: 12px;
    }

    .reviews-page-header .page-description {
        font-size: 1em;
        line-height: 1.5;
    }
}

@media (max-width: 480px) {
    .reviews-page-header {
        margin: 10px auto 20px auto;
        padding: 10px;
    }

    .reviews-page-header .page-title {
        font-size: 1.5em;
        margin-bottom: 10px;
    }

    .reviews-page-header .page-description {
        font-size: 0.95em;
    }
}

/* Hide overly complex enhanced styles */
.enhanced-reviews-container .review-categories,
.enhanced-reviews-container .review-photos {
    display: none;
}

/* Simplify animations */
.review-card {
    animation: none;
}

/* Review Form Container */
#review-form-container {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-light);
    padding: 20px;
    border-radius: 8px;
    margin: 30px 0;
    text-align: center;
}

#review-form-container h3 {
    color: var(--text-primary);
    margin-bottom: 15px;
}

#review-form-container p {
    color: var(--text-secondary);
    margin-bottom: 15px;
}

#review-form-container input,
#review-form-container textarea,
#review-form-container select,
#review-form-container button {
    background: var(--input-bg);
    color: var(--input-text);
    border: 1px solid var(--input-border);
    padding: 8px 12px;
    border-radius: 4px;
}

#review-form-container button {
    background: var(--brand-primary);
    color: var(--text-inverse);
    border: none;
    cursor: pointer;
    font-weight: 600;
    padding: 12px 24px;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(77, 188, 221, 0.3);
}

#review-form-container button:hover {
    background: var(--brand-secondary);
}

#review-form-container input:focus,
#review-form-container textarea:focus,
#review-form-container select:focus {
    border-color: var(--brand-primary);
    outline: none;
}

/* Write Review Modal Styles */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn {
    from { transform: translateY(-50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.write-review-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    animation: fadeIn 0.3s ease;
}

.write-review-content {
    background: var(--bg-secondary);
    border-radius: 8px;
    padding: 30px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    animation: slideIn 0.3s ease;
    box-shadow: var(--shadow-lg);
}

.write-review-content h3 {
    margin: 0 0 20px 0;
    color: var(--text-primary);
}

.write-review-modal .form-group {
    margin-bottom: 20px;
}

.write-review-modal .form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-primary);
}

.write-review-modal .form-group input,
.write-review-modal .form-group textarea,
.write-review-modal .form-group select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 14px;
    box-sizing: border-box;
    background: var(--input-bg);
    color: var(--input-text);
}

.write-review-modal .form-group textarea {
    resize: vertical;
    min-height: 120px;
}

.write-review-modal .star-rating {
    display: flex;
    gap: 5px;
    margin-bottom: 10px;
}

.write-review-modal .star {
    font-size: 24px;
    color: var(--border-light);
    cursor: pointer;
    transition: color 0.2s;
}

.write-review-modal .star.filled {
    color: #ffc107;
}

.write-review-modal .modal-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 25px;
}

.write-review-modal .btn {
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
}

.write-review-modal .btn-cancel {
    background: #6c757d;
    color: var(--text-inverse);
}

.write-review-modal .btn-submit {
    background: var(--brand-primary);
    color: var(--text-inverse);
}

.write-review-modal .btn:hover {
    opacity: 0.9;
}

/* Placeholder text colors */
input::placeholder,
textarea::placeholder,
select::placeholder {
    color: var(--text-primary) !important;
    opacity: 0.7 !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder {
    color: var(--text-primary) !important;
    opacity: 0.7 !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
    color: var(--text-primary) !important;
    opacity: 0.7 !important;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
    color: var(--text-primary) !important;
    opacity: 0.7 !important;
}

/* Reviews Component Styles */
.reviews-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    animation: fadeIn 0.3s ease;
}

.reviews-modal-content {
    background: var(--bg-secondary);
    border-radius: 8px;
    padding: 30px;
    max-width: 700px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    animation: slideIn 0.3s ease;
    box-shadow: var(--shadow-lg);
}

.reviews-modal-content h2 {
    margin: 0 0 20px 0;
    color: var(--text-primary);
}

.reviews-modal label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-primary);
}

.reviews-modal input[type="text"],
.reviews-modal textarea {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--border-light);
    border-radius: 6px;
    font-size: 16px;
    box-sizing: border-box;
    background: var(--input-bg);
    color: var(--input-text);
}

.reviews-modal textarea {
    resize: vertical;
    font-family: inherit;
    min-height: 120px;
}

.star-rating {
    display: inline-flex;
    gap: 5px;
    margin-bottom: 10px;
}

.star-rating .star {
    font-size: 24px;
    color: var(--text-primary);
    cursor: pointer;
    transition: color 0.2s;
}

.star-rating .star.filled,
.star-rating .star:hover {
    color: #ffc107;
}

.star-rating .rating-value {
    margin-left: 10px;
    color: var(--text-secondary);
    font-size: 14px;
}

.recommend-options {
    display: flex;
    gap: 20px;
}

.recommend-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 16px;
}

.recommend-label input[type="radio"] {
    margin: 0;
    transform: scale(1.2);
}

.recommend-yes {
    color: #28a745;
    font-weight: 600;
}

.recommend-no {
    color: #dc3545;
    font-weight: 600;
}

.char-count-container {
    text-align: right;
    margin-top: 5px;
    font-size: 14px;
    color: var(--text-primary);
}

.photo-upload-area {
    border: 2px dashed var(--border-light);
    border-radius: 6px;
    padding: 20px;
    text-align: center;
    background: var(--bg-primary);
}

.photo-upload-button {
    background: var(--bg-secondary);
    border: 2px solid var(--brand-primary);
    color: var(--brand-primary);
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    margin-bottom: 10px;
}

.photo-upload-info {
    font-size: 12px;
    color: var(--text-primary);
    margin-top: 10px;
}

.image-preview-container {
    display: none;
    margin-top: 20px;
}

.image-preview-container.active {
    display: block;
}

.image-preview-label {
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--text-primary);
}

.image-previews {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.modal-actions-divider {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--border-light);
}

.modal-btn-cancel {
    background: #6c757d;
    color: var(--text-inverse);
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
}

.modal-btn-submit {
    background: var(--brand-primary);
    color: var(--text-inverse);
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
}

.modal-btn-cancel:hover,
.modal-btn-submit:hover {
    opacity: 0.9;
}

/* Content Attached Files */
.content-attached-files {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    margin: 15px 0;
}

.content-file-item {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
}

.content-file-item img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.content-file-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.2s;
}

/* ================================================
   EVENT SYSTEM VISUAL OVERHAUL
   ================================================ */

/* Events Section Container */
.server-events-section {
    margin-bottom: 20px;
}

.events-section-title {
    font-size: 1.2em;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--border-light);
}

.server-events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

/* Event Card - New Design */
.event-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s, box-shadow 0.2s;
}

.event-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.event-card-banner {
    width: 100%;
    height: 80px;
    background: linear-gradient(135deg, #4a90d9 0%, #6c5ce7 100%);
    position: relative;
    overflow: hidden;
}

.event-card-banner.has-image {
    height: 120px;
}

.event-card-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Badge - supports both class formats */
.event-card-badge,
.event-modal-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.7em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 5;
}

.event-card-badge.live,
.event-card-badge.event-status-live,
.event-modal-badge.event-status-live {
    background: #dc3545;
    color: #ffffff;
    animation: pulse-live 2s infinite;
}

.event-card-badge.upcoming,
.event-card-badge.event-status-upcoming,
.event-modal-badge.event-status-upcoming {
    background: #0d6efd;
    color: #ffffff;
}

.event-card-badge.ended,
.event-card-badge.event-status-ended,
.event-modal-badge.event-status-ended {
    background: #6c757d;
    color: #ffffff;
}

@keyframes pulse-live {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.event-card-content {
    padding: 15px;
}

.event-card-title {
    font-size: 1.1em;
    font-weight: 600;
    margin: 0 0 10px 0;
    color: var(--text-primary);
    line-height: 1.3;
}

/* Event Date/Time Display */
.event-card-datetime {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9em;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.event-card-datetime svg {
    flex-shrink: 0;
    color: var(--text-tertiary);
    opacity: 0.7;
}

.event-card-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 0.85em;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.event-card-meta i {
    margin-right: 5px;
    color: var(--brand-primary);
}

.event-card-countdown {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: var(--bg-tertiary);
    border-radius: 20px;
    font-size: 0.85em;
    font-weight: 500;
    color: var(--text-primary);
}

.event-card-countdown.starting-soon {
    background: #fff3cd;
    color: #856404;
}

.event-card-countdown.live-now {
    background: #f8d7da;
    color: #721c24;
}

/* RSVP Counts Display */
.event-card-rsvp-counts {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    min-height: 20px;
}

.event-card-rsvp-counts:empty {
    display: none;
}

.rsvp-count {
    font-size: 0.85em;
    font-weight: 500;
}

.rsvp-count.going {
    color: #198754;
}

.rsvp-count.interested {
    color: #0d6efd;
}

/* RSVP Buttons Container */
.event-rsvp-bar {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 15px;
    border-top: 1px solid var(--border-light);
    background: var(--bg-tertiary);
}

.event-rsvp-buttons {
    display: flex;
    gap: 8px;
}

.event-notify-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.85em;
    color: var(--text-secondary);
    padding: 4px 0;
}

.event-notify-toggle:hover {
    color: var(--text-primary);
}

.event-notify-toggle input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--accent-color, #4a90d9);
}

.event-notify-toggle svg {
    flex-shrink: 0;
    opacity: 0.7;
}

.event-notify-toggle:has(input:checked) svg {
    opacity: 1;
    color: var(--accent-color, #4a90d9);
}

.event-card-rsvp-buttons {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

/* RSVP Button Base */
.event-rsvp-btn {
    flex: 1;
    padding: 10px 14px;
    border: 2px solid var(--border-color, #dee2e6);
    border-radius: 8px;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.85em;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.event-rsvp-btn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.event-rsvp-btn:hover {
    border-color: #0d6efd;
    background: rgba(13, 110, 253, 0.05);
}

/* Active States */
.event-rsvp-btn.active {
    color: #ffffff;
}

.event-rsvp-btn.active[data-status="going"],
.event-rsvp-btn.going.active {
    background: #198754;
    border-color: #198754;
    color: #ffffff;
}

.event-rsvp-btn.active[data-status="interested"],
.event-rsvp-btn.interested.active {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #ffffff;
}

.event-rsvp-btn.active[data-status="not_going"],
.event-rsvp-btn.not-going.active {
    background: #6c757d;
    border-color: #6c757d;
    color: #ffffff;
}

.event-rsvp-btn i {
    font-size: 1em;
}

/* View Details Button */
.event-card-details-btn {
    width: 100%;
    padding: 10px 14px;
    border: none;
    border-radius: 8px;
    background: var(--brand-primary, #0d6efd);
    color: #ffffff;
    font-size: 0.9em;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 5px;
}

.event-card-details-btn:hover {
    background: var(--brand-primary-dark, #0b5ed7);
    transform: translateY(-1px);
}

/* Reactions in Card */
.event-card-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

/* RSVP Counts */
.event-rsvp-counts {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 0.85em;
    color: var(--text-secondary);
    padding: 8px 15px;
}

.event-rsvp-count {
    display: flex;
    align-items: center;
    gap: 5px;
}

.event-rsvp-count i {
    color: var(--brand-primary);
}

/* Attendee Avatars */
.event-attendees {
    display: flex;
    align-items: center;
    padding: 10px 15px;
}

.event-attendee-stack {
    display: flex;
}

.event-attendee-avatar {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 2px solid var(--bg-primary);
    margin-left: -10px;
    object-fit: cover;
    background: var(--bg-secondary);
}

.event-attendee-avatar:first-child {
    margin-left: 0;
}

.event-attendee-more {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--brand-primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7em;
    font-weight: 600;
    margin-left: -10px;
    border: 2px solid var(--bg-primary);
}

.event-attendee-label {
    margin-left: 10px;
    font-size: 0.85em;
    color: var(--text-secondary);
}

/* Event Reactions Bar */
.event-reactions-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    border-top: 1px solid var(--border-light);
    flex-wrap: wrap;
}

.event-reaction-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    background: var(--bg-tertiary, #f8f9fa);
    border-radius: 20px;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid var(--border-light, #dee2e6);
    color: var(--text-primary);
}

.event-reaction-chip:hover {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

.event-reaction-chip.active {
    border-color: #0d6efd;
    background: rgba(13, 110, 253, 0.1);
}

.event-reaction-chip .emoji,
.event-reaction-chip .reaction-emoji {
    font-size: 1.1em;
}

.event-reaction-chip .count,
.event-reaction-chip .reaction-count {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.9em;
}

.event-add-reaction {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px dashed var(--border-color);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-secondary);
    transition: all 0.2s;
}

.event-add-reaction:hover {
    border-color: var(--brand-primary);
    color: var(--brand-primary);
    background: var(--bg-secondary);
}

/* Event Detail Modal */
.event-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.event-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.event-modal {
    background: var(--bg-primary);
    border-radius: 16px;
    width: 100%;
    max-width: 700px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transform: translateY(20px);
    transition: transform 0.3s;
}

.event-modal-overlay.active .event-modal {
    transform: translateY(0);
}

.event-modal-header {
    position: relative;
    min-height: 60px;
    padding: 12px 20px;
    padding-top: 25px;
    background: linear-gradient(135deg, #4a90d9 0%, #6c5ce7 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.event-modal-header img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    color: #ffffff;
    font-size: 1.5em;
    font-weight: 300;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    z-index: 10;
}

.event-modal-close:hover {
    background: rgba(0, 0, 0, 0.7);
}

.event-modal-title {
    font-size: 1.4em;
    font-weight: 600;
    margin: 0;
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 5;
}

.event-modal-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px;
}

.event-modal-body .event-modal-title {
    color: var(--text-primary);
    text-shadow: none;
    margin-bottom: 15px;
}

.event-modal-info {
    margin-bottom: 20px;
}

.event-modal-banner {
    width: 100%;
    height: 200px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 16px;
}

.event-modal-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
}

.event-info-item {
    background: var(--bg-tertiary);
    padding: 12px;
    border-radius: 8px;
}

.event-info-label {
    font-size: 0.75em;
    text-transform: uppercase;
    color: var(--text-tertiary);
    margin-bottom: 4px;
    font-weight: 600;
}

.event-info-value {
    font-size: 0.95em;
    color: var(--text-primary);
    font-weight: 500;
}

.event-info-value a {
    color: var(--brand-primary, #0d6efd);
    text-decoration: none;
}

.event-info-value a:hover {
    text-decoration: underline;
}

.event-modal-info-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.event-modal-info-item i {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-primary);
}

.event-description {
    color: var(--text-primary);
    line-height: 1.6;
}

.event-description p {
    margin: 0 0 10px 0;
}

/* Event Attendees List in Modal */
.event-attendees-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.event-attendee-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    background: var(--bg-tertiary);
    border-radius: 8px;
}

.event-attendee-item .event-attendee-avatar {
    width: 40px;
    height: 40px;
    margin: 0;
}

.event-attendee-name {
    flex: 1;
    font-weight: 500;
    color: var(--text-primary);
}

.event-attendee-status {
    font-size: 0.8em;
    padding: 4px 10px;
    border-radius: 12px;
    font-weight: 500;
}

.event-attendee-status.going {
    background: rgba(25, 135, 84, 0.1);
    color: #198754;
}

.event-attendee-status.interested {
    background: rgba(13, 110, 253, 0.1);
    color: #0d6efd;
}

/* Event Comments in Modal */
.event-comments-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.event-comment {
    display: flex;
    gap: 12px;
}

.event-comment-avatar {
    flex-shrink: 0;
}

.event-comment-avatar img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    object-fit: cover;
}

.event-comment-content {
    flex: 1;
    min-width: 0;
}

.event-comment-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.event-comment-author {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9em;
}

.event-comment-time {
    font-size: 0.8em;
    color: var(--text-tertiary);
}

.event-comment-text {
    color: var(--text-primary);
    font-size: 0.95em;
    line-height: 1.5;
}

/* Event Comment Replies Container */
.content-feed-comment-replies {
    margin-left: 30px;
    margin-top: 10px;
    padding-left: 15px;
    border-left: 2px solid var(--border-light, rgba(128, 128, 128, 0.2));
}

.content-feed-comment-replies .replyComment-item {
    margin-bottom: 10px;
}

.content-feed-comment-replies .replyComment-item:last-child {
    margin-bottom: 0;
}

.content-feed-comment-replies .replyCommentImg {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    object-fit: cover;
}

/* Comment Edit Buttons - All Sections */
.comment-edit-buttons,
.event-comment-edit-buttons {
    display: flex !important;
    gap: 8px;
    margin-top: 10px;
    padding: 5px 0;
    visibility: visible !important;
    opacity: 1 !important;
}

.comment-save-btn,
.comment-cancel-btn,
.event-comment-save-btn,
.event-comment-cancel-btn {
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.85em;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: background-color 0.2s, opacity 0.2s;
}

.comment-save-btn,
.event-comment-save-btn {
    background-color: var(--brand-primary, #0d6efd);
    color: white;
}

.comment-save-btn:hover,
.event-comment-save-btn:hover {
    opacity: 0.9;
}

.comment-cancel-btn,
.event-comment-cancel-btn {
    background-color: var(--bg-tertiary, #e9ecef);
    color: var(--text-primary, #333);
}

.comment-cancel-btn:hover,
.event-comment-cancel-btn:hover {
    background-color: var(--bg-hover, #dee2e6);
}

/* Comment text in edit mode */
.content-comment.editing {
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    padding: 10px;
    min-height: 60px;
}

/* Event Reactions Section */
.event-reactions-section {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid var(--border-light, rgba(128, 128, 128, 0.2));
}

.event-reactions-title {
    margin: 0 0 10px 0;
    font-size: 0.9em;
    color: var(--text-secondary, #666);
    font-weight: 600;
}

.event-reactions-title .reaction-total,
.event-share-title .share-total {
    font-weight: 400;
    color: var(--text-tertiary, #888);
}

.event-reactions-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.event-reaction-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 20px;
    border: 1px solid var(--border-color, #ddd);
    background: var(--bg-secondary, #f5f5f5);
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.9em;
}

.event-reaction-chip:hover {
    background: var(--bg-hover, #e9e9e9);
    transform: scale(1.05);
}

.event-reaction-chip.active {
    border-color: var(--brand-primary, #4dbcdd);
    background: rgba(77, 188, 221, 0.1);
}

.event-reaction-chip .reaction-count {
    font-weight: 500;
    color: var(--text-primary, #333);
}

.event-add-reaction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px dashed var(--border-color, #ddd);
    background: transparent;
    cursor: pointer;
    transition: all 0.2s;
    color: var(--text-tertiary, #888);
}

.event-add-reaction:hover {
    border-color: var(--brand-primary, #4dbcdd);
    color: var(--brand-primary, #4dbcdd);
    background: rgba(77, 188, 221, 0.1);
}

.event-user-reaction {
    margin: 10px 0 0 0;
    font-size: 0.85em;
    color: var(--text-secondary, #666);
}

.event-user-reaction i {
    margin: 0 3px;
}

/* Event Reaction Picker */
.event-reaction-picker {
    padding: 12px;
    background: var(--bg-primary, #fff);
    border: 1px solid var(--border-color, #ddd);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    z-index: 10001;
    width: 280px;
}

.event-reaction-picker .reaction-search-container {
    margin-bottom: 10px;
}

.event-reaction-picker .reaction-search {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    font-size: 0.9em;
    outline: none;
    background: var(--bg-secondary, #f5f5f5);
    color: var(--text-primary, #333);
}

.event-reaction-picker .reaction-search:focus {
    border-color: var(--brand-primary, #4dbcdd);
}

.event-reaction-picker .reaction-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 4px;
}

.event-reaction-picker .reaction-grid-extended {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--border-light, rgba(128, 128, 128, 0.2));
}

.event-reaction-picker .reaction-more-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    margin-top: 8px;
    padding: 6px;
    border: none;
    background: transparent;
    color: var(--text-secondary, #666);
    font-size: 0.8em;
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.2s;
}

.event-reaction-picker .reaction-more-toggle:hover {
    background: var(--bg-hover, #f0f0f0);
}

.event-reaction-picker-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: none;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.2em;
    transition: all 0.2s;
}

.event-reaction-picker-btn:hover {
    background: var(--bg-hover, #f0f0f0);
    transform: scale(1.15);
}

/* Event card reactions */
.event-card-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 10px 0;
}

.event-reactions-more {
    font-size: 0.85em;
    color: var(--text-secondary, #666);
    padding: 4px 8px;
}

.event-modal-info-item .info-content {
    display: flex;
    flex-direction: column;
}

.event-modal-info-item .info-label {
    font-size: 0.75em;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.event-modal-info-item .info-value {
    font-weight: 500;
    color: var(--text-primary);
}

.event-modal-description {
    margin-bottom: 20px;
    line-height: 1.6;
    color: var(--text-primary);
}

/* Event Modal Tabs */
.event-modal-tabs {
    display: flex;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 15px;
    margin-top: 20px;
}

.event-modal-tab,
.event-tab {
    padding: 12px 20px;
    background: transparent;
    border: none;
    font-size: 0.9em;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    position: relative;
    transition: color 0.2s;
}

.event-modal-tab:hover,
.event-tab:hover {
    color: var(--text-primary);
}

.event-modal-tab.active,
.event-tab.active {
    color: var(--brand-primary);
}

.event-modal-tab.active::after,
.event-tab.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--brand-primary);
}

.event-modal-tab-content,
.event-tab-content {
    display: none;
}

.event-modal-tab-content.active,
.event-tab-content.active {
    display: block;
    min-height: 100px;
    padding: 20px;
    background: var(--bg-primary);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}

.event-tab-content p,
.event-modal-tab-content p {
    color: var(--text-primary);
    line-height: 1.6;
    margin: 0;
}

/* Modal RSVP Bar - Override card styles */
.event-modal-body .event-rsvp-bar {
    background: var(--bg-secondary);
    border-radius: 10px;
    border: none;
    padding: 10px;
}

.event-modal-body .event-rsvp-btn {
    padding: 12px 16px;
    font-size: 0.9em;
}

/* Event Comments */
.event-comments-section {
    padding: 15px 0;
}

.event-comment-form {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.event-comment-form input {
    flex: 1;
    padding: 12px 15px;
    border: 1px solid var(--border-color);
    border-radius: 25px;
    font-size: 0.9em;
    background: var(--bg-secondary);
}

.event-comment-form input:focus {
    outline: none;
    border-color: var(--brand-primary);
}

.event-comment-form button {
    padding: 12px 20px;
    background: var(--brand-primary);
    color: white;
    border: none;
    border-radius: 25px;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.2s;
}

.event-comment-form button:hover {
    opacity: 0.9;
}

.event-comment-form input {
    color: var(--text-primary);
}

.event-comment-form input::placeholder {
    color: var(--text-tertiary);
}

.event-login-prompt {
    text-align: center;
    padding: 15px;
    margin-bottom: 15px;
    background: var(--bg-secondary);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 0.9em;
}

/* Event Modal Comment Box */
.event-tab-content .reply-box {
    padding: 0;
    margin-bottom: 20px;
}

.event-tab-content .reply-box .postComment {
    width: 100%;
    min-height: 60px;
    max-height: 150px;
    padding: 12px 15px;
    margin: 0;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 0.95em;
    line-height: 1.5;
    overflow-y: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
    box-shadow: none;
    box-sizing: border-box;
}

.event-tab-content .reply-box .postComment:empty:before {
    content: attr(placeholder);
    color: var(--text-tertiary);
    pointer-events: none;
}

.event-tab-content .reply-box .postComment:focus {
    outline: none;
    border-color: var(--brand-primary);
    height: auto;
    min-height: 80px;
}

.event-tab-content .reply-box .comment-privacy-wrapper {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
    gap: 10px;
}

.event-tab-content .reply-box .post-comment-btn {
    padding: 10px 20px;
    background: var(--brand-primary);
    color: #ffffff;
    border: none;
    border-radius: 20px;
    font-size: 0.9em;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.2s;
}

.event-tab-content .reply-box .post-comment-btn:hover {
    opacity: 0.9;
}

.event-no-comments {
    text-align: center;
    padding: 30px 20px;
    color: var(--text-secondary);
    font-size: 0.95em;
    background: transparent;
    border-radius: 8px;
}

.event-comment {
    display: flex;
    gap: 12px;
    padding: 15px 0;
    border-bottom: 1px solid var(--border-color);
}

.event-comment:last-child {
    border-bottom: none;
}

.event-comment-avatar {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    flex-shrink: 0;
}

.event-comment-content {
    flex: 1;
}

.event-comment-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
}

.event-comment-author {
    font-weight: 600;
    color: var(--text-primary);
}

.event-comment-time {
    font-size: 0.8em;
    color: var(--text-secondary);
}

.event-comment-text {
    color: var(--text-primary);
    line-height: 1.5;
}

.event-comment-actions {
    display: flex;
    gap: 15px;
    margin-top: 8px;
}

.event-comment-action {
    background: none;
    border: none;
    font-size: 0.8em;
    color: var(--text-secondary);
    cursor: pointer;
    transition: color 0.2s;
}

.event-comment-action:hover {
    color: var(--brand-primary);
}

.event-comment-replies {
    margin-left: 52px;
    margin-top: 10px;
}

/* Event Modal Footer (Sticky RSVP) */
.event-modal-footer {
    padding: 15px 20px;
    border-top: 1px solid var(--border-color);
    background: var(--bg-primary);
    display: flex;
    gap: 10px;
}

.event-modal-footer .event-rsvp-btn {
    flex: 1;
}

/* Notify Checkbox */
.event-notify-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    font-size: 0.85em;
    color: var(--text-secondary);
    cursor: pointer;
}

.event-notify-toggle input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--brand-primary);
}

/* Event Share Section */
.event-share-section {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

.event-share-title {
    margin: 0 0 12px 0;
    font-size: 0.95em;
    color: var(--text-primary);
    font-weight: 600;
}

.event-share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.event-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 0.85em;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: transform 0.15s, box-shadow 0.15s, opacity 0.15s;
}

.event-share-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

.event-share-btn.copy-link {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.event-share-btn.twitter {
    background: #1DA1F2;
    color: #fff;
    padding: 8px 12px;
}

.event-share-btn.facebook {
    background: #4267B2;
    color: #fff;
    padding: 8px 12px;
}

.event-share-btn.view-page {
    background: var(--brand-primary);
    color: #fff;
}

.event-share-btn.share-to-feed {
    background: linear-gradient(135deg, #25cc94, #1fa87a);
    color: #fff;
}

/* Content Feed Event Widget */
.content-feed-event-widget {
    display: block;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 15px;
    margin-top: 10px;
    cursor: pointer;
    transition: box-shadow 0.2s, transform 0.15s;
    text-decoration: none;
    color: inherit;
}

a.content-feed-event-widget,
a.content-feed-event-widget:hover,
a.content-feed-event-widget:visited,
a.content-feed-event-widget:focus {
    text-decoration: none;
    color: inherit;
}

.content-feed-event-widget:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.event-widget-header {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.event-widget-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 55px;
    padding: 8px 10px;
    background: var(--brand-primary);
    color: #fff;
    border-radius: 8px;
    text-align: center;
}

.event-widget-date .month {
    font-size: 0.7em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.9;
}

.event-widget-date .day {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1;
}

.event-widget-info {
    flex: 1;
}

.event-widget-title {
    font-size: 1.05em;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 5px 0;
}

.event-widget-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 0.85em;
    color: var(--text-secondary);
}

.event-widget-meta i {
    margin-right: 4px;
    color: var(--text-tertiary);
}

.event-widget-status {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.event-widget-status.live {
    background: #dc3545;
    color: #fff;
}

.event-widget-status.upcoming {
    background: var(--brand-primary);
    color: #fff;
}

.event-widget-status.ended {
    background: var(--bg-tertiary);
    color: var(--text-secondary);
}

.event-widget-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
    align-items: center;
}

.event-widget-reactions .event-reaction-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 0.8em;
    background: var(--bg-tertiary);
    border-radius: 15px;
    color: var(--text-secondary);
}

.event-widget-reactions .event-reaction-chip i {
    font-size: 0.95em;
}

.event-widget-rsvp {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 10px;
    font-size: 0.85em;
    color: var(--text-secondary);
}

.event-widget-rsvp span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.event-widget-rsvp i {
    color: var(--brand-primary);
}

/* Event Share Modal - Base Styles */
#event-share-modal.share-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.7);
    padding: 20px;
}

#event-share-modal .share-modal {
    background: var(--bg-primary, #ffffff);
    border-radius: 12px;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

#event-share-modal .share-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid var(--border-color, #eee);
}

#event-share-modal .share-modal-header h3 {
    margin: 0;
    font-size: 1.1em;
    color: var(--text-primary, #333);
}

#event-share-modal .share-modal-close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--text-secondary, #666);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

#event-share-modal .share-modal-close:hover {
    background: var(--bg-secondary, #f0f0f0);
}

#event-share-modal .share-modal-body {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
}

#event-share-modal .share-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid var(--border-color, #eee);
}

#event-share-modal .btn-cancel {
    padding: 10px 20px;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    background: transparent;
    color: var(--text-primary, #333);
    cursor: pointer;
    font-size: 0.9em;
    transition: background 0.2s;
}

#event-share-modal .btn-cancel:hover {
    background: var(--bg-secondary, #f0f0f0);
}

#event-share-modal .btn-share {
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    background: var(--brand-primary, #4AAEDC);
    color: white;
    cursor: pointer;
    font-size: 0.9em;
    font-weight: 500;
    transition: background 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

#event-share-modal .btn-share:hover {
    background: #3a9ecb;
}

#event-share-modal .btn-share:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Event Share Preview in Modal */
.event-share-preview-widget {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 12px 15px;
}

.event-share-preview-widget .event-widget-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.event-share-preview-widget .event-widget-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    padding: 8px 10px;
    background: var(--brand-primary);
    color: #fff;
    border-radius: 8px;
    text-align: center;
}

.event-share-preview-widget .event-widget-date .month {
    font-size: 0.65em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.9;
}

.event-share-preview-widget .event-widget-date .day {
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1;
}

.event-share-preview-widget .event-widget-info {
    flex: 1;
}

.event-share-preview-widget .event-widget-title {
    font-size: 0.95em;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 5px 0;
}

.event-share-preview-widget .event-widget-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 0.8em;
    color: var(--text-secondary);
}

.event-share-preview-widget .event-widget-meta i {
    margin-right: 4px;
    color: var(--text-tertiary);
}

/* Event Share Modal specific styles */
#event-share-modal .share-target-selector {
    margin-bottom: 15px;
}

#event-share-modal .share-target-selector label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.9em;
}

#event-share-modal .share-target-selector select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 0.95em;
    cursor: pointer;
}

#event-share-modal .share-target-selector select:focus {
    outline: none;
    border-color: var(--brand-primary);
}

#event-share-modal .quote-comment-area {
    margin-bottom: 15px;
}

#event-share-modal .quote-comment-area label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.9em;
}

#event-share-modal .quote-comment-area textarea {
    width: 100%;
    min-height: 70px;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 0.95em;
    font-family: inherit;
    resize: vertical;
    box-sizing: border-box;
}

#event-share-modal .quote-comment-area textarea::placeholder {
    color: var(--text-tertiary);
}

#event-share-modal .quote-comment-area textarea:focus {
    outline: none;
    border-color: var(--brand-primary);
}

#event-share-modal .share-preview {
    margin-top: 15px;
    background: var(--bg-tertiary);
    border-radius: 8px;
    padding: 15px;
}

#event-share-modal .share-preview-loading {
    text-align: center;
    padding: 20px;
    color: var(--text-secondary);
}

#event-share-modal .share-preview-error {
    text-align: center;
    padding: 20px;
    color: var(--status-error);
}

/* Calendar Event Indicators */
.calendar-event-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin: 0 2px;
}

.calendar-event-dot.going {
    background: #27ae60;
}

.calendar-event-dot.interested {
    background: #3498db;
}

.calendar-event-dot.default {
    background: var(--brand-primary);
}

.calendar-day-events {
    display: flex;
    justify-content: center;
    gap: 2px;
    margin-top: 4px;
}

/* Calendar Filter Tabs */
.calendar-filters {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.calendar-filter-btn {
    padding: 8px 16px;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    background: transparent;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s;
}

.calendar-filter-btn:hover {
    border-color: var(--brand-primary);
}

.calendar-filter-btn.active {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: white;
}

/* Server Page Event Section */
.server-events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.server-events-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.server-events-header h3 {
    margin: 0;
    font-size: 1.2em;
}

.server-events-view-all {
    font-size: 0.9em;
    color: var(--brand-primary);
    text-decoration: none;
}

.server-events-view-all:hover {
    text-decoration: underline;
}

/* Report Modal */
.event-report-modal {
    max-width: 450px;
}

.event-report-reasons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 15px 0;
}

.event-report-reason {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.event-report-reason:hover {
    border-color: var(--brand-primary);
    background: var(--bg-secondary);
}

.event-report-reason input[type="radio"] {
    accent-color: var(--brand-primary);
}

.event-report-details {
    width: 100%;
    min-height: 100px;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    resize: vertical;
    font-family: inherit;
    margin-top: 15px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .event-modal {
        max-height: 100vh;
        border-radius: 0;
    }

    .event-modal-header {
        height: 140px;
    }

    .event-rsvp-bar {
        flex-direction: column;
    }

    .event-rsvp-btn {
        width: 100%;
    }

    .event-modal-info {
        grid-template-columns: 1fr;
    }

    .server-events-grid {
        grid-template-columns: 1fr;
    }

    .event-card-banner {
        height: 100px;
    }
}

/* ============================================
   CALENDAR RSVP INDICATORS
   Visual indicators for RSVP status on calendar events
   ============================================ */

/* Calendar event with RSVP indicator */
.calendar .days .day_num .event.has-rsvp,
.event.has-rsvp {
    position: relative;
}

/* RSVP status dot indicator */
.event-rsvp-indicator {
    position: absolute;
    top: -3px;
    right: -3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--bg-primary);
    z-index: 2;
}

.event-rsvp-indicator.going {
    background: var(--success-color, #22c55e);
}

.event-rsvp-indicator.interested {
    background: var(--brand-primary, #3b82f6);
}

.event-rsvp-indicator.notify {
    background: var(--warning-color, #f59e0b);
}

/* Attendee count badge on calendar */
.event-attendee-count {
    position: absolute;
    bottom: -4px;
    left: -4px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 600;
    padding: 1px 4px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    z-index: 2;
}

.event-attendee-count svg {
    width: 8px;
    height: 8px;
}

/* Calendar event hover state showing RSVP */
.calendar .days .day_num .event:hover .event-tooltip {
    display: block;
}

.event-tooltip {
    display: none;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: var(--bg-primary);
    color: var(--text-primary);
    padding: 8px 12px;
    border-radius: 8px;
    box-shadow: var(--shadow-lg);
    white-space: nowrap;
    z-index: 100;
    font-size: 12px;
    font-weight: normal;
    margin-bottom: 5px;
}

.event-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: var(--bg-primary);
}

.event-tooltip-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.event-tooltip-row:last-child {
    margin-bottom: 0;
}

.event-tooltip-row svg {
    width: 12px;
    height: 12px;
    color: var(--text-tertiary);
}

/* Calendar day with user's events highlighted */
.calendar .days .day_num.has-my-event {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
}

.calendar .days .day_num.has-my-event::before {
    content: '';
    position: absolute;
    top: 2px;
    right: 2px;
    width: 6px;
    height: 6px;
    background: var(--brand-primary);
    border-radius: 50%;
}

/* Event list view RSVP indicators */
.event-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-bottom: 1px solid var(--border-light);
    transition: background 0.2s ease;
}

.event-list-item:hover {
    background: var(--bg-secondary);
}

.event-list-item:last-child {
    border-bottom: none;
}

.event-list-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 50px;
    padding: 8px;
    background: var(--bg-tertiary);
    border-radius: 8px;
}

.event-list-date-month {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--brand-primary);
}

.event-list-date-day {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.event-list-info {
    flex: 1;
    min-width: 0;
}

.event-list-title {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-list-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: var(--text-tertiary);
}

.event-list-meta svg {
    width: 12px;
    height: 12px;
}

.event-list-rsvp {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
}

.event-list-rsvp.going {
    background: rgba(34, 197, 94, 0.1);
    color: var(--success-color, #22c55e);
}

.event-list-rsvp.interested {
    background: rgba(59, 130, 246, 0.1);
    color: var(--brand-primary, #3b82f6);
}

/* Upcoming events widget for sidebar */
.upcoming-events-widget {
    background: var(--bg-secondary);
    border-radius: 12px;
    padding: 16px;
}

.upcoming-events-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.upcoming-events-title {
    font-weight: 600;
    color: var(--text-primary);
}

.upcoming-events-see-all {
    font-size: 12px;
    color: var(--brand-primary);
    text-decoration: none;
}

.upcoming-events-see-all:hover {
    text-decoration: underline;
}

.upcoming-event-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-light);
}

.upcoming-event-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.upcoming-event-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 40px;
    padding: 6px;
    background: var(--bg-tertiary);
    border-radius: 6px;
}

.upcoming-event-date-month {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--brand-primary);
}

.upcoming-event-date-day {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.upcoming-event-info {
    flex: 1;
    min-width: 0;
}

.upcoming-event-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 2px;
}

.upcoming-event-time {
    font-size: 11px;
    color: var(--text-tertiary);
}

.upcoming-event-rsvp-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.upcoming-event-rsvp-dot.going {
    background: var(--success-color, #22c55e);
}

.upcoming-event-rsvp-dot.interested {
    background: var(--brand-primary, #3b82f6);
}

/* Calendar mini indicators (for month view) */
.calendar-event-dots {
    display: flex;
    gap: 2px;
    margin-top: 2px;
    flex-wrap: wrap;
    justify-content: center;
}

.calendar-event-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.calendar-event-dot.my-event {
    box-shadow: 0 0 0 2px var(--bg-primary), 0 0 0 3px var(--brand-primary);
}

/* Mobile calendar adjustments */
@media (max-width: 768px) {
    .event-rsvp-indicator {
        width: 8px;
        height: 8px;
        top: -2px;
        right: -2px;
    }

    .event-attendee-count {
        display: none;
    }

    .event-tooltip {
        display: none !important;
    }

    .event-list-item {
        padding: 10px 0;
    }

    .event-list-rsvp span {
        display: none;
    }

    .upcoming-events-widget {
        padding: 12px;
    }
}

/* ============================================
   Comment Reactions ("Feels") Styles
   ============================================ */

/* Comment feels container */
.comment-feels-cont {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    margin-top: 4px;
    font-size: 14px;
}

/* Reaction display area */
.comment-feels-display {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
}

.comment-feels-display .react-icon-cont {
    display: inline-flex;
    align-items: center;
}

.comment-feels-display .react-icon-cont > div {
    display: inline-flex;
    margin: 0 2px;
    font-size: 14px;
}

.comment-feels-display .react-icon-cont > div > i {
    font-size: 14px !important;
}

.comment-feels-display .react-icon-cont > div > span {
    font-size: 12px !important;
    opacity: 0.8;
}

.no-comment-feels {
    font-size: 12px;
    color: var(--text-secondary, #888);
    opacity: 0.6;
}

/* Comment react button */
.comment-react-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary, #888);
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.comment-react-btn:hover {
    color: var(--text-primary, #fff);
    background: rgba(255, 255, 255, 0.1);
}

.dark-mode .comment-react-btn:hover {
    background: rgba(0, 0, 0, 0.05);
}

/* Comment reaction picker hover */
.comment-react-hover {
    display: none;
    position: absolute;
    bottom: 100%;
    left: 0;
    min-width: 260px;
    padding: 12px;
    padding-bottom: 16px;
    z-index: 99999;
    background: #1e1e1e;
    border: 1px solid #3a3a3a;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    flex-direction: column;
    gap: 8px;
}

.dark-mode .comment-react-hover {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Invisible bridge to prevent hover gap */
.comment-react-hover::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
}

.comment-react-btn:hover > .comment-react-hover {
    display: flex !important;
}

/* Comment reaction grid */
.comment-reaction-grid,
.comment-reaction-grid-extended {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 4px;
}

.comment-react-hover .reaction-picker-icon {
    font-size: 24px !important;
    padding: 6px;
    transition: transform 0.2s ease;
    cursor: pointer;
    text-align: center;
}

.comment-react-hover .reaction-picker-icon:hover {
    transform: scale(1.3);
}

/* Comment reaction search */
.comment-react-hover .reaction-search-container {
    margin-bottom: 8px;
}

.comment-react-hover .reaction-search {
    width: 100%;
    padding: 6px 10px;
    font-size: 12px;
    border: 1px solid #3a3a3a;
    border-radius: 6px;
    background: #2a2a2a;
    color: #fff;
}

.dark-mode .comment-react-hover .reaction-search {
    background: #f5f5f5;
    border-color: #ddd;
    color: #333;
}

.comment-react-hover .reaction-more-toggle {
    text-align: center;
    font-size: 11px;
    color: var(--brand-primary, #4DBCDD);
    cursor: pointer;
    padding: 4px;
    margin-top: 4px;
}

.comment-react-hover .reaction-more-toggle:hover {
    opacity: 0.8;
}

/* Comment Reactions Modal */
.comment-reactions-modal {
    /* Uses same styles as .reactions-modal defined in content.js */
}

#comment-reactions-modal.reactions-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100000;
    display: none;
}

#comment-reactions-modal.reactions-modal.show {
    display: flex;
    align-items: center;
    justify-content: center;
}

#comment-reactions-modal .reactions-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

#comment-reactions-modal .reactions-modal-content {
    position: relative;
    width: 90%;
    max-width: 500px;
    max-height: 80vh;
    background: #1e1e1e;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.dark-mode #comment-reactions-modal .reactions-modal-content {
    background: #fff;
}

#comment-reactions-modal .reactions-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #3a3a3a;
}

.dark-mode #comment-reactions-modal .reactions-modal-header {
    border-bottom-color: #e0e0e0;
}

#comment-reactions-modal .reactions-modal-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

#comment-reactions-modal .reactions-modal-close {
    background: none;
    border: none;
    color: inherit;
    font-size: 18px;
    cursor: pointer;
    padding: 4px 8px;
    opacity: 0.7;
}

#comment-reactions-modal .reactions-modal-close:hover {
    opacity: 1;
}

#comment-reactions-modal .reactions-modal-tabs {
    display: flex;
    gap: 4px;
    padding: 12px 20px;
    border-bottom: 1px solid #3a3a3a;
    overflow-x: auto;
}

.dark-mode #comment-reactions-modal .reactions-modal-tabs {
    border-bottom-color: #e0e0e0;
}

#comment-reactions-modal .reaction-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 20px;
    cursor: pointer;
    white-space: nowrap;
    background: #2a2a2a;
    transition: all 0.2s;
}

.dark-mode #comment-reactions-modal .reaction-tab {
    background: #f0f0f0;
}

#comment-reactions-modal .reaction-tab:hover {
    background: #3a3a3a;
}

.dark-mode #comment-reactions-modal .reaction-tab:hover {
    background: #e0e0e0;
}

#comment-reactions-modal .reaction-tab.active {
    background: var(--brand-primary, #4DBCDD);
    color: #fff;
}

#comment-reactions-modal .reaction-tab .tab-count {
    font-size: 12px;
    opacity: 0.8;
}

#comment-reactions-modal .reactions-users-list {
    flex: 1;
    overflow-y: auto;
    padding: 12px 20px;
}

#comment-reactions-modal .reaction-user-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #2a2a2a;
}

.dark-mode #comment-reactions-modal .reaction-user-item {
    border-bottom-color: #f0f0f0;
}

#comment-reactions-modal .reaction-user-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

#comment-reactions-modal .reaction-user-info {
    flex: 1;
}

#comment-reactions-modal .reaction-user-name {
    font-weight: 500;
    color: inherit;
    text-decoration: none;
}

#comment-reactions-modal .reaction-user-name:hover {
    color: var(--brand-primary, #4DBCDD);
}

#comment-reactions-modal .reaction-user-reaction i {
    font-size: 20px;
}

#comment-reactions-modal .reactions-loading,
#comment-reactions-modal .reactions-error,
#comment-reactions-modal .reactions-empty {
    text-align: center;
    padding: 20px;
    color: var(--text-secondary, #888);
}

#comment-reactions-modal .reactions-load-more {
    text-align: center;
    padding: 12px;
    color: var(--brand-primary, #4DBCDD);
    cursor: pointer;
}

#comment-reactions-modal .reactions-load-more:hover {
    opacity: 0.8;
}

/* ===============================================
   Modern Sidebar Styles (sb- prefix)
   =============================================== */

.sb-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sb-widget {
    background: var(--bg-primary);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    border: 1px solid var(--border-color);
}

.sb-widget-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    font-weight: 600;
    font-size: 0.95em;
    color: var(--text-primary);
}

.sb-widget-header i {
    color: var(--brand-primary);
    font-size: 1em;
    width: 18px;
    text-align: center;
}

.sb-widget-body {
    padding: 14px 16px;
}

/* Support Widget */
.sb-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9em;
    transition: all 0.2s ease;
    margin-bottom: 10px;
}

.sb-cta-btn:last-child {
    margin-bottom: 0;
}

.sb-cta-btn.primary {
    background: var(--brand-primary);
    color: white;
}

.sb-cta-btn.primary:hover {
    background: var(--brand-dark, #3aa8c5);
    transform: translateY(-1px);
}

.sb-cta-btn.secondary {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.sb-cta-btn.secondary:hover {
    background: var(--bg-tertiary);
    border-color: var(--brand-primary);
}

/* News Widget */
.sb-news .sb-widget-body {
    padding: 8px 0;
}

.sb-news-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 16px;
    text-decoration: none;
    transition: background 0.2s ease;
}

.sb-news-item:hover {
    background: var(--bg-secondary);
}

.sb-news-date {
    flex-shrink: 0;
    width: 45px;
    padding: 4px 8px;
    background: var(--brand-primary);
    color: white;
    font-size: 0.75em;
    font-weight: 600;
    border-radius: 4px;
    text-align: center;
}

.sb-news-title {
    color: var(--text-primary);
    font-size: 0.9em;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sb-news-item:hover .sb-news-title {
    color: var(--brand-primary);
}

.sb-view-all {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 16px;
    color: var(--brand-primary);
    text-decoration: none;
    font-size: 0.85em;
    font-weight: 600;
    border-top: 1px solid var(--border-color);
    margin-top: 8px;
    transition: background 0.2s ease;
}

.sb-view-all:hover {
    background: var(--bg-secondary);
}

.sb-view-all i {
    font-size: 0.8em;
    transition: transform 0.2s ease;
}

.sb-view-all:hover i {
    transform: translateX(3px);
}

/* Links Widget */
.sb-links .sb-widget-body {
    padding: 8px 0;
}

.sb-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    color: var(--text-primary);
    text-decoration: none;
    font-size: 0.9em;
    transition: all 0.2s ease;
}

.sb-link:hover {
    background: var(--bg-secondary);
    color: var(--brand-primary);
}

.sb-link i {
    width: 18px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.9em;
}

.sb-link:hover i {
    color: var(--brand-primary);
}

/* Community Widget */
.sb-community .sb-widget-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px;
}

.sb-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.9em;
    font-weight: 500;
    transition: all 0.2s ease;
    width: 100%;
    box-sizing: border-box;
}

.sb-social.discord {
    background: rgba(88, 101, 242, 0.1);
    color: #5865F2;
}

.sb-social.discord:hover {
    background: #5865F2;
    color: white;
}

.sb-social.facebook {
    background: rgba(66, 103, 178, 0.1);
    color: #4267B2;
}

.sb-social.facebook:hover {
    background: #4267B2;
    color: white;
}

.sb-social i {
    font-size: 1.1em;
}

/* Partner Widget */
.sb-partner-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    background: var(--bg-secondary);
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
    margin-bottom: 10px;
}

.sb-partner-link:hover {
    background: var(--bg-tertiary);
}

.sb-partner-name {
    color: var(--text-primary);
    font-weight: 500;
    font-size: 0.9em;
}

.sb-partner-badge {
    background: var(--brand-primary);
    color: white;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.7em;
    font-weight: 600;
    text-transform: uppercase;
}

.sb-disclaimer {
    font-size: 0.75em;
    color: var(--text-muted);
    line-height: 1.4;
    margin: 0;
}

/* Stats Widget */
.sb-stats .sb-widget-body {
    padding: 12px;
}

/* Stats Grid - 2x2 colorful cards */
.sb-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 12px;
}

.sb-stat-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    background: var(--bg-secondary);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sb-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.sb-stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1em;
    flex-shrink: 0;
}

.sb-stat-card.users .sb-stat-icon {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: white;
}

.sb-stat-card.pages .sb-stat-icon {
    background: linear-gradient(135deg, #06b6d4, #0ea5e9);
    color: white;
}

.sb-stat-card.votes .sb-stat-icon {
    background: linear-gradient(135deg, #22c55e, #10b981);
    color: white;
}

.sb-stat-card.comments .sb-stat-icon {
    background: linear-gradient(135deg, #f59e0b, #f97316);
    color: white;
}

.sb-stat-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sb-stat-value {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}

.sb-stat-label {
    font-size: 0.7em;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Stats List - Additional stats with icons */
.sb-stats-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
}

.sb-stat-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    background: var(--bg-secondary);
}

.sb-stat-row-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8em;
    flex-shrink: 0;
}

.sb-stat-row-icon.minecraft {
    background: rgba(76, 175, 80, 0.15);
    color: #4caf50;
}

.sb-stat-row-icon.community {
    background: rgba(156, 39, 176, 0.15);
    color: #9c27b0;
}

.sb-stat-row-icon.reviews {
    background: rgba(255, 193, 7, 0.15);
    color: #ffc107;
}

.sb-stat-row-icon.reports {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.sb-stat-row-icon.banned-pages {
    background: rgba(249, 115, 22, 0.15);
    color: #f97316;
}

.sb-stat-row-icon.banned-users {
    background: rgba(220, 38, 38, 0.15);
    color: #dc2626;
}

.sb-stat-row-label {
    flex: 1;
    font-size: 0.85em;
    color: var(--text-secondary);
}

.sb-stat-row-value {
    font-size: 0.9em;
    font-weight: 600;
    color: var(--text-primary);
}

/* Ad Widget */
.sb-ad {
    border: none;
    box-shadow: none;
    background: transparent;
}

.sb-ad .sb-widget-body {
    padding: 0;
}

.sb-hide-ads {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 10px;
    margin-top: 10px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    color: var(--text-muted);
    font-size: 0.8em;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sb-hide-ads:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

/* Hide Ads Button (Top/Bottom) */
.sb-hide-ads-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(249, 115, 22, 0.1));
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 10px;
    color: #ef4444;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sb-hide-ads-btn:hover {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(249, 115, 22, 0.2));
    border-color: rgba(239, 68, 68, 0.5);
    transform: translateY(-1px);
}

.sb-hide-ads-btn i {
    font-size: 1em;
}

/* Show Ads Button */
.sb-show-ads {
    margin-top: 15px;
}

.sb-show-ads-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.1), rgba(52, 152, 219, 0.1));
    border: 1px solid rgba(46, 204, 113, 0.3);
    border-radius: 10px;
    color: #2ecc71;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sb-show-ads-btn:hover {
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.2), rgba(52, 152, 219, 0.2));
    border-color: rgba(46, 204, 113, 0.5);
    transform: translateY(-1px);
}

.sb-show-ads-btn i {
    font-size: 1em;
}

/* Responsive Sidebar */
@media (max-width: 1024px) {
    .sb-sidebar {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .sb-sidebar {
        grid-template-columns: 1fr;
    }
}

/* ===============================================
   Modern Gaming Header Styles (hd- prefix)
   =============================================== */

header.hd {
    width: 100%;
    border-radius: 0;
    background: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(90deg, var(--brand-primary), var(--brand-accent)) 1;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
}

.hd-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 70px;
    gap: 20px;
}

/* Logo */
.hd-logo {
    flex-shrink: 0;
}

.hd-logo a {
    display: block;
}

.hd-logo img {
    height: 45px;
    width: auto;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
    transition: transform 0.3s ease;
}

.hd-logo img:hover {
    transform: scale(1.02);
}

/* Mobile Menu Button */
.hd-mobile-btn {
    display: none;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px 12px;
    color: var(--text-primary);
    font-size: 1.2em;
    cursor: pointer;
    transition: all 0.2s ease;
}

.hd-mobile-btn:hover {
    background: var(--brand-primary);
    color: white;
    border-color: var(--brand-primary);
}

/* Navigation */
.hd-nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.hd-nav-list {
    display: flex;
    align-items: center;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.hd-nav-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.9em;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.hd-nav-link:hover {
    color: var(--text-primary);
    background: var(--bg-tertiary);
}

.hd-nav-link i:first-child {
    font-size: 1em;
    opacity: 0.7;
}

.hd-nav-link:hover i:first-child {
    opacity: 1;
    color: var(--brand-primary);
}

.hd-nav-primary {
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
    color: white !important;
    font-weight: 600;
}

.hd-nav-primary:hover {
    background: linear-gradient(135deg, var(--brand-accent), var(--brand-primary));
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(90, 192, 232, 0.4);
}

.hd-nav-primary i:first-child {
    opacity: 1;
    color: white;
}

/* Dropdown */
.hd-dropdown {
    position: relative;
}

.hd-dropdown-icon {
    font-size: 0.7em;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

.hd-dropdown:hover .hd-dropdown-icon {
    transform: rotate(180deg);
}

.hd-dropdown-menu,
.hd-dropdown-menu#help-nav,
.hd-dropdown-menu#community-nav {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    transform: translateY(10px);
    background: var(--bg-secondary) !important;
    border-left: 2px solid var(--brand-primary);
    border-top: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-accent);
    border-right: 2px solid var(--brand-accent);
    border-radius: 10px !important;
    padding: 6px !important;
    min-width: 180px !important;
    list-style: none !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    z-index: 1000 !important;
    display: block !important;
}

.hd-dropdown:hover .hd-dropdown-menu,
.hd-dropdown:hover .hd-dropdown-menu#help-nav,
.hd-dropdown:hover .hd-dropdown-menu#community-nav {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.hd-dropdown-menu li,
.hd-dropdown-menu#help-nav li {
    font-size: 1em !important;
    font-weight: normal !important;
    padding: 0 !important;
    flex: none !important;
}

.hd-dropdown-menu li a,
.hd-dropdown-menu#help-nav li a {
    display: flex !important;
    align-items: center;
    gap: 10px !important;
    padding: 8px 12px !important;
    color: var(--text-secondary) !important;
    text-decoration: none;
    font-size: 0.85em !important;
    font-weight: 500 !important;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.hd-dropdown-menu li a:hover,
.hd-dropdown-menu#help-nav li a:hover {
    background: var(--bg-tertiary) !important;
    color: var(--brand-primary) !important;
}

.hd-dropdown-menu li a i,
.hd-dropdown-menu#help-nav li a i {
    width: 18px !important;
    min-width: 18px !important;
    flex-shrink: 0 !important;
    font-size: 0.9em !important;
    text-align: center;
    opacity: 0.7;
}

.hd-dropdown-menu li a:hover i,
.hd-dropdown-menu#help-nav li a:hover i {
    opacity: 1;
}

.hd-dropdown-divider {
    height: 1px !important;
    background: var(--border-color) !important;
    margin: 4px 8px !important;
    padding: 0 !important;
}

/* User Section */
.hd-user {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.hd-user-logged,
.hd-user-guest {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Icon Buttons */
.hd-icon-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 1em;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.hd-icon-btn:hover {
    background: var(--bg-secondary);
    color: var(--brand-primary);
    border-color: var(--brand-primary);
    transform: translateY(-2px);
}

.hd-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: linear-gradient(135deg, #ef4444, #f97316);
    color: white;
    font-size: 0.7em;
    font-weight: 700;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
}

/* ===========================================
   NOTIFICATION DROPDOWN PANEL
   =========================================== */

.hd-notif-dropdown {
    position: relative;
}

.hd-notif-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 380px;
    max-width: calc(100vw - 40px);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px) scale(0.95);
    transform-origin: top right;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1001;
    overflow: hidden;
}

.hd-notif-dropdown.open .hd-notif-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

/* Panel Header */
.hd-notif-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-tertiary);
}

.hd-notif-header h3 {
    margin: 0;
    font-size: 1em;
    font-weight: 600;
    color: var(--text-primary);
}

.hd-notif-actions {
    display: flex;
    gap: 8px;
}

.hd-notif-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.hd-notif-action-btn:hover {
    background: var(--bg-primary);
    color: var(--brand-primary);
    border-color: var(--brand-primary);
}

/* Notification List */
.hd-notif-list {
    max-height: 400px;
    overflow-y: auto;
}

/* Loading State */
.hd-notif-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: var(--text-muted);
    gap: 10px;
}

.hd-notif-loading i {
    font-size: 1.5em;
}

/* Empty State */
.hd-notif-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: var(--text-muted);
    text-align: center;
}

.hd-notif-empty i {
    font-size: 2.5em;
    margin-bottom: 12px;
    opacity: 0.5;
}

.hd-notif-empty p {
    margin: 0;
    font-size: 0.9em;
}

/* Individual Notification Item */
.hd-notif-item {
    display: flex;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    color: inherit;
}

.hd-notif-item:last-child {
    border-bottom: none;
}

.hd-notif-item:hover {
    background: var(--bg-tertiary);
}

.hd-notif-item.unread {
    background: rgba(90, 192, 232, 0.08);
    border-left: 3px solid var(--brand-primary);
    padding-left: 17px;
}

.hd-notif-item.unread:hover {
    background: rgba(90, 192, 232, 0.12);
}

/* Notification Icon */
.hd-notif-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9em;
    flex-shrink: 0;
}

/* Notification Content */
.hd-notif-content {
    flex: 1;
    min-width: 0;
}

.hd-notif-text {
    font-size: 0.875em;
    color: var(--text-primary);
    line-height: 1.4;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hd-notif-item.unread .hd-notif-text {
    font-weight: 500;
}

.hd-notif-time {
    font-size: 0.75em;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Panel Footer */
.hd-notif-footer {
    padding: 12px 20px;
    border-top: 1px solid var(--border-color);
    background: var(--bg-tertiary);
    text-align: center;
}

.hd-notif-footer-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--brand-primary);
    font-size: 0.85em;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.hd-notif-footer-link:hover {
    color: var(--brand-accent);
}

.hd-notif-footer-link i {
    font-size: 0.8em;
    transition: transform 0.2s ease;
}

.hd-notif-footer-link:hover i {
    transform: translateX(4px);
}

/* Unread Dot Indicator */
.hd-notif-unread-dot {
    width: 8px;
    height: 8px;
    background: var(--brand-primary);
    border-radius: 50%;
    flex-shrink: 0;
    margin-left: auto;
    align-self: center;
}

/* Responsive: Mobile */
@media (max-width: 480px) {
    .hd-notif-panel {
        position: fixed;
        top: 60px;
        right: 10px;
        left: 10px;
        width: auto;
        max-width: none;
        max-height: calc(100vh - 80px);
    }

    .hd-notif-list {
        max-height: calc(100vh - 200px);
    }
}

/* Theme Toggle */
.hd-theme-toggle .fa-sun {
    display: none;
}

.hd-theme-toggle .fa-moon {
    display: block;
}

.dark-mode .hd-theme-toggle .fa-sun {
    display: block;
}

.dark-mode .hd-theme-toggle .fa-moon {
    display: none;
}

/* User Button */
.hd-user-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px 6px 6px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 25px;
    color: var(--text-primary);
    cursor: pointer;
    transition: all 0.2s ease;
}

.hd-user-btn:hover {
    background: var(--bg-secondary);
    border-color: var(--brand-primary);
}

.hd-avatar {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    object-fit: cover;
    border: 2px solid var(--brand-primary);
}

.hd-username {
    font-size: 0.9em;
    font-weight: 600;
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hd-user-btn i:last-child {
    font-size: 0.7em;
    color: var(--text-muted);
    transition: transform 0.2s ease;
}

.hd-user-btn:hover i:last-child {
    color: var(--brand-primary);
}

/* Guest Buttons */
.hd-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 0.9em;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.hd-btn-secondary {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.hd-btn-secondary:hover {
    background: var(--bg-secondary);
    border-color: var(--brand-primary);
    color: var(--brand-primary);
}

.hd-btn-primary {
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
    color: white;
    border: none;
    box-shadow: 0 4px 15px rgba(90, 192, 232, 0.3);
}

.hd-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(90, 192, 232, 0.4);
}

/* Responsive Header */
@media (max-width: 1024px) {
    .hd-container {
        height: 60px;
    }

    .hd-logo img {
        height: 38px;
    }

    .hd-nav-link {
        padding: 8px 12px;
        font-size: 0.85em;
    }

    .hd-username {
        display: none;
    }

    .hd-user-btn {
        padding: 6px;
        border-radius: 50%;
    }

    .hd-btn {
        padding: 8px 14px;
        font-size: 0.85em;
    }

    .hd-btn i {
        display: none;
    }
}

@media (max-width: 768px) {
    .hd-mobile-btn {
        display: flex;
    }

    .hd-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--bg-primary);
        border-bottom: 1px solid var(--border-color);
        padding: 15px;
        display: none;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    }

    .hd-nav.opened {
        display: block;
    }

    .hd-nav-list {
        flex-direction: column;
        gap: 5px;
    }

    .hd-nav-list li {
        width: 100%;
    }

    .hd-nav-link {
        width: 100%;
        padding: 12px 16px;
        justify-content: flex-start;
    }

    .hd-dropdown-menu,
    .hd-dropdown-menu#help-nav,
    .hd-dropdown-menu#community-nav {
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: hidden !important;
        box-shadow: none !important;
        border: none !important;
        background: var(--bg-secondary) !important;
        margin-top: 5px !important;
        display: none !important;
        transition: none !important;
    }

    /* Disable hover on mobile - only use .active class */
    .hd-dropdown:hover .hd-dropdown-menu,
    .hd-dropdown:hover .hd-dropdown-menu#help-nav,
    .hd-dropdown:hover .hd-dropdown-menu#community-nav {
        opacity: 1 !important;
        visibility: hidden !important;
        display: none !important;
        transition: none !important;
    }

    .hd-dropdown.active .hd-dropdown-menu,
    .hd-dropdown.active .hd-dropdown-menu#help-nav,
    .hd-dropdown.active .hd-dropdown-menu#community-nav {
        display: block !important;
        visibility: visible !important;
        transition: none !important;
    }

    .hd-icon-btn {
        width: 36px;
        height: 36px;
    }

    .hd-btn-secondary {
        padding: 8px 12px;
        gap: 0;
    }

    /* Hide "Login" text, show only icon */
    .hd-btn-secondary {
        font-size: 0;
        line-height: 0;
    }

    .hd-btn-secondary i {
        display: inline-block !important;
        font-size: 1.1rem !important;
        line-height: 1;
    }

    .hd-btn-primary {
        padding: 8px 14px;
    }

    .hd-btn-primary i {
        display: none;
    }
}

@media (max-width: 480px) {
    .hd-container {
        padding: 0 15px;
        height: 55px;
    }

    .hd-logo img {
        height: 32px;
    }

    .hd-icon-btn {
        width: 34px;
        height: 34px;
        font-size: 0.9em;
    }

    .hd-avatar {
        width: 28px;
        height: 28px;
    }
}

/* ===============================================
   Modern Gaming Footer Styles (ft- prefix)
   =============================================== */

.ft {
    background: linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
    color: var(--text-primary);
    border-top: 3px solid transparent;
    border-image: linear-gradient(90deg, var(--brand-primary), var(--brand-accent)) 1;
    margin-top: 40px;
}

.ft-main {
    padding: 50px 20px 40px;
}

.ft-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
}

/* Brand Section */
.ft-brand {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ft-logo img {
    max-width: 200px;
    height: auto;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.ft-tagline {
    color: var(--text-secondary);
    font-size: 0.95em;
    line-height: 1.5;
    margin: 0;
}

/* Social Buttons */
.ft-social {
    display: flex;
    gap: 12px;
    margin-top: 10px;
}

.ft-social-btn {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.ft-social-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.1), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ft-social-btn:hover::before {
    opacity: 1;
}

.ft-social-btn.discord {
    background: linear-gradient(135deg, #5865F2, #7289da);
    color: white;
    box-shadow: 0 4px 15px rgba(88, 101, 242, 0.3);
}

.ft-social-btn.discord:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 6px 20px rgba(88, 101, 242, 0.5);
}

.ft-social-btn.facebook {
    background: linear-gradient(135deg, #1877F2, #4267B2);
    color: white;
    box-shadow: 0 4px 15px rgba(24, 119, 242, 0.3);
}

.ft-social-btn.facebook:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 6px 20px rgba(24, 119, 242, 0.5);
}

.ft-social-btn.youtube {
    background: linear-gradient(135deg, #FF0000, #cc0000);
    color: white;
    box-shadow: 0 4px 15px rgba(255, 0, 0, 0.3);
}

.ft-social-btn.youtube:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 6px 20px rgba(255, 0, 0, 0.5);
}

/* Link Columns */
.ft-links {
    display: flex;
    flex-direction: column;
}

.ft-heading {
    color: var(--text-primary);
    font-size: 1em;
    font-weight: 700;
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ft-heading i {
    color: var(--brand-primary);
    font-size: 1.1em;
    margin-right: 10px;
}

.ft-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ft-links ul li a {
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.9em;
    transition: all 0.2s ease;
}

.ft-links ul li a:hover {
    color: var(--brand-primary);
    padding-left: 8px;
}

/* Bottom Bar */
.ft-bottom {
    background: transparent;
    padding: 20px;
    border-top: 1px solid var(--border-color);
}

.ft-bottom .ft-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.ft-copyright {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ft-copyright p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.85em;
}

.ft-disclaimer {
    font-size: 0.75em !important;
    color: var(--text-tertiary);
}

/* Back to Top Button */
.ft-top-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
    color: white;
    text-decoration: none;
    border-radius: 25px;
    font-size: 0.85em;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(90, 192, 232, 0.3);
}

.ft-top-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 25px rgba(90, 192, 232, 0.5);
}

.ft-top-btn i {
    font-size: 1em;
    animation: rocket-float 2s ease-in-out infinite;
}

@keyframes rocket-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

/* Responsive Footer */
@media (max-width: 1024px) {
    .ft-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .ft-brand {
        grid-column: span 2;
        text-align: center;
        align-items: center;
    }

    .ft-social {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .ft-main {
        padding: 40px 20px 30px;
    }

    .ft-container {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }

    .ft-brand {
        grid-column: 1;
    }

    .ft-links {
        align-items: center;
    }

    .ft-links ul {
        align-items: center;
    }

    .ft-links ul li a:hover {
        padding-left: 0;
    }

    .ft-links ul li a::before {
        display: none;
    }

    .ft-bottom .ft-container {
        flex-direction: column;
        text-align: center;
    }

    .ft-copyright {
        align-items: center;
    }
}

@media (max-width: 480px) {
    .ft-logo img {
        max-width: 160px;
    }

    .ft-social-btn {
        width: 40px;
        height: 40px;
    }

    .ft-top-btn span {
        display: none;
    }

    .ft-top-btn {
        padding: 12px;
        border-radius: 50%;
    }
}

/* ===============================================
   Modern Delete/Confirm Modal Styles
   =============================================== */

.delete-fade {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.delete-fade[style*="display: block"],
.delete-fade.active,
.delete-fade:has(.delete-confirm[style*="display: block"]),
.delete-fade:has(.delete-confirm-review[style*="display: block"]) {
    display: flex !important;
    opacity: 1;
}

@keyframes modalPop {
    0% {
        opacity: 0;
        transform: scale(0.9);
    }
    50% {
        transform: scale(1.02);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes iconPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

.delete-confirm,
.delete-confirm-review {
    background: var(--bg-primary) !important;
    border-radius: 20px !important;
    padding: 32px 28px 28px !important;
    max-width: 380px;
    width: 100%;
    text-align: center;
    border: 1px solid var(--border-color) !important;
    box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, 0.25),
        0 0 0 1px rgba(255, 255, 255, 0.05) !important;
    animation: modalPop 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    overflow: hidden;
}

.delete-confirm::before,
.delete-confirm-review::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #ef4444, #f87171);
}

/* Icon container */
.delete-modal-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(239, 68, 68, 0.05));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(239, 68, 68, 0.2);
}

.delete-modal-icon i {
    font-size: 1.5em;
    color: #ef4444;
    animation: iconPulse 2s ease-in-out infinite;
}

/* Title */
.delete-modal-title {
    margin: 0 0 12px !important;
    font-size: 1.25em !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    letter-spacing: -0.02em;
}

/* Message */
.delete-modal-message,
.delete-confirm p,
.delete-confirm-review p {
    margin: 0 0 24px !important;
    color: var(--text-secondary) !important;
    font-size: 0.95em !important;
    line-height: 1.6 !important;
}

/* Button container */
.delete-modal-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

/* Button base styles */
.btn-modal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.9em;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    min-width: 100px;
}

/* Cancel button */
.btn-cancel,
#cancelDeleteComment {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

.btn-cancel:hover,
#cancelDeleteComment:hover {
    background: var(--bg-secondary) !important;
    border-color: var(--text-muted) !important;
    transform: translateY(-1px);
}

/* Danger/Delete button */
.btn-danger,
#confirm-delete-comment {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    color: white !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.35);
}

.btn-danger:hover,
#confirm-delete-comment:hover {
    background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.45);
}

.btn-danger:active,
#confirm-delete-comment:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}

/* Legacy span support for other modals */
.delete-confirm span,
.delete-confirm-review span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.9em;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none !important;
    min-width: 100px;
}

.delete-confirm span u,
.delete-confirm-review span u {
    text-decoration: none !important;
}

/* Legacy confirm button styling */
.delete-confirm span:first-of-type,
.delete-confirm-review span:first-of-type {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    color: white !important;
    border: none;
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.35);
}

.delete-confirm span:first-of-type:hover,
.delete-confirm-review span:first-of-type:hover {
    background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.45);
}

/* Legacy cancel button styling */
.delete-confirm span:last-of-type,
.delete-confirm-review span:last-of-type {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color);
}

.delete-confirm span:last-of-type:hover,
.delete-confirm-review span:last-of-type:hover {
    background: var(--bg-secondary) !important;
    border-color: var(--text-muted);
    transform: translateY(-1px);
}

/* Handle links inside spans */
.delete-confirm span a,
.delete-confirm-review span a {
    color: inherit !important;
    text-decoration: none !important;
}

/* Responsive */
@media (max-width: 480px) {
    .delete-confirm,
    .delete-confirm-review {
        padding: 28px 20px 24px !important;
        margin: 10px;
        border-radius: 16px !important;
    }

    .delete-modal-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 16px;
    }

    .delete-modal-icon i {
        font-size: 1.3em;
    }

    .delete-modal-title {
        font-size: 1.15em !important;
    }

    .delete-modal-actions {
        flex-direction: column-reverse;
    }

    .btn-modal {
        width: 100%;
        padding: 14px 20px;
    }

    .delete-confirm span,
    .delete-confirm-review span {
        display: block;
        width: 100%;
        margin: 6px 0;
        padding: 14px 20px;
    }
}

/* ===============================================
   Modern Report Modal Styles
   =============================================== */

.report-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

.report-modal-overlay[style*="display: block"] {
    display: flex !important;
}

.report-modal {
    background: var(--bg-primary);
    border-radius: 20px;
    padding: 32px 28px 28px;
    max-width: 480px;
    width: 100%;
    text-align: center;
    border: 1px solid var(--border-color);
    box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, 0.25),
        0 0 0 1px rgba(255, 255, 255, 0.05);
    animation: modalPop 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    overflow: hidden;
    max-height: 90vh;
    overflow-y: auto;
}

.report-modal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.report-modal-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(245, 158, 11, 0.05));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(245, 158, 11, 0.2);
}

.report-modal-icon i {
    font-size: 1.5em;
    color: #f59e0b;
}

.report-modal-title {
    margin: 0 0 12px !important;
    font-size: 1.25em !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    letter-spacing: -0.02em;
}

.report-modal-content {
    background: var(--bg-tertiary);
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 0.9em;
    color: var(--text-secondary);
    max-height: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    border: 1px solid var(--border-color);
}

.report-modal-content:empty {
    display: none;
}

.report-modal-content h3,
.report-modal-content p,
.report-modal-content div {
    margin: 0;
    font-size: inherit;
    font-weight: normal;
}

.report-modal-form {
    text-align: left;
    margin-bottom: 24px;
}

.report-field {
    margin-bottom: 16px;
}

.report-field label {
    display: block;
    font-size: 0.85em;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.report-select {
    width: 100%;
    padding: 12px 16px;
    font-size: 0.95em;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}

.report-select:focus {
    outline: none;
    border-color: #f59e0b;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
}

.report-textarea {
    width: 100%;
    min-height: 100px;
    padding: 12px 16px;
    font-size: 0.95em;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    resize: vertical;
    font-family: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.report-textarea:focus {
    outline: none;
    border-color: #f59e0b;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
}

.report-textarea::placeholder {
    color: var(--text-muted);
}

.report-modal-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.report-modal-actions .btn-danger {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
}

.report-modal-actions .btn-danger:hover {
    background: linear-gradient(135deg, #d97706, #b45309) !important;
    box-shadow: 0 6px 20px rgba(245, 158, 11, 0.45);
}

/* Responsive */
@media (max-width: 480px) {
    .report-modal {
        padding: 28px 20px 24px;
        margin: 10px;
        border-radius: 16px;
    }

    .report-modal-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 16px;
    }

    .report-modal-icon i {
        font-size: 1.3em;
    }

    .report-modal-title {
        font-size: 1.15em !important;
    }

    .report-modal-actions {
        flex-direction: column-reverse;
    }

    .report-modal-actions .btn-modal {
        width: 100%;
        padding: 14px 20px;
    }
}
/* ===============================================
   Auth Pages Styles (Login/Register)
   Modern centered card design
   =============================================== */

/* CSS Variables for theming */
:root {
    --auth-bg-primary: #0a0a0f;
    --auth-bg-secondary: #12121a;
    --auth-card-bg: rgba(18, 18, 26, 0.95);
    --auth-border-color: rgba(255, 255, 255, 0.1);
    --auth-text-primary: #ffffff;
    --auth-text-secondary: #a0a0a0;
    --auth-text-muted: #666;
    --auth-input-bg: rgba(255, 255, 255, 0.05);
    --auth-input-border: rgba(255, 255, 255, 0.15);
    --auth-input-focus-border: var(--brand-primary, #4AAEDC);
    --auth-error-color: #ff6b6b;
    --auth-success-color: #51cf66;
}

/* Light mode overrides */
.dark-mode {
    --auth-bg-primary: #f0f2f5;
    --auth-bg-secondary: #ffffff;
    --auth-card-bg: rgba(255, 255, 255, 0.98);
    --auth-border-color: rgba(0, 0, 0, 0.1);
    --auth-text-primary: #1a1a2e;
    --auth-text-secondary: #555;
    --auth-text-muted: #888;
    --auth-input-bg: rgba(0, 0, 0, 0.03);
    --auth-input-border: rgba(0, 0, 0, 0.15);
}

/* Reset for auth pages */
body.auth-page {
    margin: 0;
    padding: 0;
    height: 100vh;
    width: 100%;
    max-width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--auth-bg-primary);
    background-image:
        radial-gradient(ellipse at 20% 80%, rgba(74, 174, 220, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(90, 192, 232, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(74, 174, 220, 0.05) 0%, transparent 70%);
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

/* Prevent horizontal overflow */
.auth-page,
.auth-page * {
    box-sizing: border-box;
    max-width: 100%;
}

/* Subtle animated background effect - disabled on mobile to prevent overflow */
@media (min-width: 481px) {
    .auth-page::before {
        content: '';
        position: absolute;
        top: -50%;
        left: -50%;
        width: 200%;
        height: 200%;
        background:
            radial-gradient(circle at 30% 30%, rgba(74, 174, 220, 0.08) 0%, transparent 30%),
            radial-gradient(circle at 70% 70%, rgba(90, 192, 232, 0.06) 0%, transparent 30%);
        animation: authBgFloat 20s ease-in-out infinite;
        pointer-events: none;
    }
}

@keyframes authBgFloat {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(2%, 2%) rotate(1deg); }
    50% { transform: translate(0, 4%) rotate(0deg); }
    75% { transform: translate(-2%, 2%) rotate(-1deg); }
}

/* Auth card container */
.auth-card {
    width: calc(100% - 30px);
    max-width: 440px;
    background: var(--auth-card-bg);
    border: 1px solid var(--auth-border-color);
    border-radius: 12px;
    padding: 32px;
    box-shadow:
        0 4px 24px rgba(0, 0, 0, 0.2),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    position: relative;
    z-index: 1;
    margin: 15px;
}

/* Logo */
.auth-logo {
    display: block;
    text-align: center;
    margin-bottom: 16px;
}

.auth-logo img {
    height: 36px;
    width: auto;
    transition: transform 0.3s ease;
}

.auth-logo:hover img {
    transform: scale(1.05);
}

/* Title and subtitle */
.auth-card h1 {
    margin: 0 0 4px 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--auth-text-primary);
    text-align: center;
}

.auth-subtitle {
    margin: 0 0 16px 0;
    font-size: 0.85rem;
    color: var(--auth-text-secondary);
    text-align: center;
}

/* Form */
.auth-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Input groups */
.auth-input-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.auth-input-group label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--auth-text-secondary);
}

.auth-input-group input[type="text"],
.auth-input-group input[type="email"],
.auth-input-group input[type="password"] {
    width: 100%;
    padding: 10px 12px;
    font-size: 0.9rem;
    color: var(--auth-text-primary);
    background: var(--auth-input-bg);
    border: 1px solid var(--auth-input-border);
    border-radius: 6px;
    outline: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.auth-input-group input:focus {
    border-color: var(--auth-input-focus-border);
    box-shadow: 0 0 0 3px rgba(74, 174, 220, 0.15);
    background: var(--auth-input-bg);
}

.auth-input-group input::placeholder {
    color: var(--auth-text-muted);
}

/* Password input with toggle */
.auth-password-wrapper {
    position: relative;
}

.auth-password-wrapper input {
    padding-right: 48px;
}

.auth-password-toggle {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--auth-text-muted);
    cursor: pointer;
    padding: 4px;
    font-size: 1.1rem;
    transition: color 0.2s ease;
}

.auth-password-toggle:hover {
    color: var(--auth-text-primary);
}

/* Options row (remember me + forgot password) */
.auth-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: -5px;
}

/* Custom checkbox */
.auth-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 0.875rem;
    color: var(--auth-text-secondary);
}

.auth-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--brand-primary, #4AAEDC);
    cursor: pointer;
}

.auth-checkbox span {
    user-select: none;
}

.auth-options a {
    font-size: 0.875rem;
    color: var(--brand-primary, #4AAEDC);
    text-decoration: none;
    transition: color 0.2s ease;
}

.auth-options a:hover {
    color: var(--brand-accent, #5AC0E8);
    text-decoration: underline;
}

/* Primary button */
.auth-btn-primary {
    width: 100%;
    padding: 10px 16px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, var(--brand-primary, #4AAEDC), var(--brand-accent, #5AC0E8));
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 4px;
}

.auth-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(74, 174, 220, 0.4);
}

.auth-btn-primary:active {
    transform: translateY(0);
}

.auth-btn-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* OAuth section */
.auth-oauth-section {
    margin-top: 14px;
}

/* Use existing oauth-divider from oauth-buttons.css */

/* Footer links */
.auth-footer {
    margin-top: 14px;
    text-align: center;
    font-size: 0.8rem;
    color: var(--auth-text-secondary);
}

.auth-footer a {
    color: var(--brand-primary, #4AAEDC);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.auth-footer a:hover {
    color: var(--brand-accent, #5AC0E8);
    text-decoration: underline;
}

/* Additional links section */
.auth-links {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--auth-border-color);
    text-align: center;
}

.auth-links p {
    margin: 5px 0;
    font-size: 0.8rem;
    color: var(--auth-text-muted);
}

.auth-links a {
    color: var(--auth-text-secondary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.auth-links a:hover {
    color: var(--brand-primary, #4AAEDC);
}

/* Error/Success messages */
.auth-message {
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.auth-message i {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.auth-message-error {
    background: rgba(255, 107, 107, 0.1);
    border: 1px solid rgba(255, 107, 107, 0.3);
    color: var(--auth-error-color);
}

.auth-message-success {
    background: rgba(81, 207, 102, 0.1);
    border: 1px solid rgba(81, 207, 102, 0.3);
    color: var(--auth-success-color);
}

.auth-message-info {
    background: rgba(74, 174, 220, 0.1);
    border: 1px solid rgba(74, 174, 220, 0.3);
    color: var(--brand-primary, #4AAEDC);
}

/* Privacy checkbox styling */
.auth-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.8rem;
    color: var(--auth-text-secondary);
    line-height: 1.4;
    cursor: pointer;
}

.auth-privacy input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-top: 1px;
    flex-shrink: 0;
    accent-color: var(--brand-primary, #4AAEDC);
    cursor: pointer;
}

.auth-privacy a {
    color: var(--brand-primary, #4AAEDC);
    text-decoration: none;
}

.auth-privacy a:hover {
    text-decoration: underline;
}

/* OAuth registration info box */
.auth-oauth-info {
    background: var(--auth-input-bg);
    border: 1px solid var(--brand-primary, #4AAEDC);
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 18px;
    text-align: center;
}

.auth-oauth-info p {
    margin: 0 0 12px 0;
    color: var(--auth-text-secondary);
    font-size: 0.85rem;
}

.auth-oauth-avatar {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    margin: 0 auto 12px;
    display: block;
    border: 2px solid var(--brand-primary, #4AAEDC);
    object-fit: cover;
}

.auth-oauth-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--auth-text-primary);
    margin: 0 0 4px 0;
}

.auth-oauth-email {
    font-size: 0.85rem;
    color: var(--auth-text-secondary);
    margin: 0;
}

/* Back to home link */
.auth-back-home {
    position: absolute;
    top: 20px;
    left: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--auth-text-secondary);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
    z-index: 10;
}

.auth-back-home:hover {
    color: var(--auth-text-primary);
}

.auth-back-home i {
    font-size: 0.85rem;
}

/* Mobile back link (inside card) - hidden on desktop */
.auth-back-mobile {
    display: none;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    body.auth-page {
        padding: 0;
        align-items: flex-start;
    }

    .auth-card {
        padding: 20px 16px;
        border-radius: 0;
        max-width: 100%;
        width: 100%;
        margin: 0;
        border-left: none;
        border-right: none;
        min-height: 100vh;
    }

    .auth-logo {
        margin-bottom: 12px;
    }

    .auth-logo img {
        height: 32px;
    }

    .auth-card h1 {
        font-size: 1.1rem;
    }

    .auth-subtitle {
        font-size: 0.8rem;
        margin-bottom: 12px;
    }

    .auth-form {
        gap: 10px;
    }

    .auth-input-group input[type="text"],
    .auth-input-group input[type="email"],
    .auth-input-group input[type="password"] {
        padding: 9px 10px;
        font-size: 0.85rem;
    }

    .auth-btn-primary {
        padding: 9px 14px;
        font-size: 0.85rem;
    }

    .auth-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .auth-checkbox {
        font-size: 0.8rem;
    }

    .auth-privacy {
        font-size: 0.75rem;
    }

    .auth-oauth-section {
        margin-top: 12px;
    }

    .auth-footer {
        margin-top: 12px;
        font-size: 0.75rem;
    }

    .auth-links {
        margin-top: 10px;
        padding-top: 10px;
    }

    .auth-links p {
        font-size: 0.7rem;
    }

    .auth-back-home {
        display: none;
    }

    .auth-back-mobile {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--auth-text-secondary);
        text-decoration: none;
        font-size: 0.8rem;
        margin-bottom: 16px;
    }

    .auth-back-mobile:hover {
        color: var(--auth-text-primary);
    }

    .auth-back-mobile i {
        font-size: 0.75rem;
    }

    .auth-message {
        padding: 10px 12px;
        font-size: 0.8rem;
        margin-bottom: 12px;
    }

    .auth-oauth-info {
        padding: 14px;
        margin-bottom: 14px;
    }

    .auth-oauth-avatar {
        width: 50px;
        height: 50px;
    }

    .auth-oauth-name {
        font-size: 1rem;
    }

    .auth-oauth-email {
        font-size: 0.8rem;
    }
}

/* Animation for card entrance */
@keyframes authCardEnter {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.auth-card {
    animation: authCardEnter 0.4s ease-out;
}
/* OAuth Login/Register Buttons */

.oauth-section {
    margin: 20px 0;
    text-align: center;
}

.oauth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 20px 0;
    color: var(--text-tertiary, #888);
}

.oauth-divider::before,
.oauth-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.2));
}

.oauth-divider span {
    padding: 0 15px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.oauth-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 300px;
    margin: 0 auto;
}

.oauth-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 20px;
    border: none;
    border-radius: 6px;
    background-color: var(--btn-color, #333);
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.oauth-btn:hover {
    filter: brightness(1.15);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    text-decoration: none;
    color: #ffffff;
}

.oauth-btn:active {
    transform: translateY(0);
}

.oauth-btn i {
    font-size: 18px;
    margin-right: 10px;
    width: 20px;
    text-align: center;
}

/* Provider-specific colors */
.oauth-btn-discord {
    background-color: #5865F2;
}

.oauth-btn-discord:hover {
    background-color: #4752C4;
}

.oauth-btn-microsoft {
    background-color: #2F2F2F;
}

.oauth-btn-microsoft:hover {
    background-color: #1a1a1a;
}

.oauth-btn-google {
    background-color: #ffffff;
    color: #333333;
    border: 1px solid #ddd;
}

.oauth-btn-google:hover {
    background-color: #f8f8f8;
    color: #333333;
}

.oauth-btn-facebook {
    background-color: #1877F2;
}

.oauth-btn-twitter,
.oauth-btn-x {
    background-color: #000000;
}

/* OAuth Error/Success Messages */
.oauth-message {
    padding: 12px 15px;
    margin: 15px 0;
    border-radius: 6px;
    font-size: 14px;
}

.oauth-error {
    background-color: rgba(220, 53, 69, 0.15);
    border: 1px solid rgba(220, 53, 69, 0.3);
    color: #ff6b6b;
}

.oauth-success {
    background-color: rgba(40, 167, 69, 0.15);
    border: 1px solid rgba(40, 167, 69, 0.3);
    color: #51cf66;
}

.oauth-info {
    background-color: rgba(74, 174, 220, 0.15);
    border: 1px solid rgba(74, 174, 220, 0.3);
    color: #4AAEDC;
}

/* Linked Accounts Section (Account Settings) */
.linked-accounts-section {
    margin: 30px 0;
    padding: 20px;
    background: var(--card-bg, rgba(0,0,0,0.3));
    border-radius: 8px;
    border: 1px solid var(--border-color, rgba(255,255,255,0.1));
}

.linked-accounts-section h3 {
    margin: 0 0 8px 0;
    color: var(--text-primary, #fff);
    font-size: 18px;
}

.linked-accounts-section > p {
    color: var(--text-secondary, #aaa);
    margin: 0 0 20px 0;
    font-size: 14px;
}

.linked-account-row {
    display: flex;
    align-items: center;
    padding: 15px;
    margin: 10px 0;
    background: var(--bg-secondary, rgba(255,255,255,0.05));
    border-radius: 6px;
    border: 1px solid var(--border-color, rgba(255,255,255,0.1));
    transition: all 0.2s ease;
}

.linked-account-row:hover {
    background: var(--bg-hover, rgba(255,255,255,0.08));
}

.linked-account-row.linked {
    border-left: 3px solid #28a745;
}

.linked-account-icon {
    font-size: 28px;
    width: 45px;
    text-align: center;
    flex-shrink: 0;
}

.linked-account-info {
    flex: 1;
    margin-left: 15px;
    min-width: 0;
}

.linked-account-info strong {
    display: block;
    color: var(--text-primary, #fff);
    font-size: 15px;
}

.linked-account-info .oauth-username {
    display: block;
    font-size: 13px;
    color: var(--text-secondary, #aaa);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.primary-badge {
    display: inline-block;
    padding: 2px 8px;
    margin-left: 8px;
    font-size: 11px;
    font-weight: 500;
    background: #28a745;
    color: #fff;
    border-radius: 10px;
    vertical-align: middle;
}

.linked-account-action {
    flex-shrink: 0;
    margin-left: 15px;
}

.linked-account-action .btn-link-oauth,
.linked-account-action .btn-unlink {
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    display: inline-block;
}

.btn-link-oauth {
    background: var(--primary-color, #4AAEDC);
    color: #fff;
    border: none;
}

.btn-link-oauth:hover {
    background: var(--primary-hover, #3a9ecc);
    color: #fff;
    text-decoration: none;
}

.btn-unlink {
    background: transparent;
    color: #dc3545;
    border: 1px solid #dc3545;
}

.btn-unlink:hover {
    background: #dc3545;
    color: #fff;
}

.btn-unlink:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* OAuth Registration Info Box */
.oauth-register-info {
    background: var(--bg-secondary, rgba(255,255,255,0.05));
    border: 1px solid var(--primary-color, #4AAEDC);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    text-align: center;
}

.oauth-register-info p {
    margin: 0 0 15px 0;
    color: var(--text-primary, #fff);
}

.oauth-register-info .oauth-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 10px auto;
    display: block;
    border: 3px solid var(--primary-color, #4AAEDC);
}

.oauth-register-info .oauth-display-name {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary, #fff);
    margin: 10px 0 5px 0;
}

.oauth-register-info .oauth-email {
    font-size: 14px;
    color: var(--text-secondary, #aaa);
}

/* Set Password Section (for OAuth-only users) */
.set-password-section {
    margin: 20px 0;
    padding: 20px;
    background: var(--bg-warning, rgba(255, 193, 7, 0.1));
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: 8px;
}

.set-password-section h4 {
    margin: 0 0 10px 0;
    color: #ffc107;
}

.set-password-section p {
    margin: 0 0 15px 0;
    color: var(--text-secondary, #aaa);
    font-size: 14px;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .oauth-buttons {
        max-width: 100%;
        gap: 8px;
    }

    .oauth-btn {
        padding: 10px 12px;
        font-size: 13px;
    }

    .oauth-btn i {
        font-size: 16px;
    }

    .oauth-divider {
        margin: 14px 0;
    }

    .oauth-divider span {
        font-size: 11px;
    }

    .linked-account-row {
        flex-wrap: wrap;
        gap: 10px;
    }

    .linked-account-action {
        width: 100%;
        margin-left: 0;
        margin-top: 10px;
    }

    .linked-account-action .btn-link-oauth,
    .linked-account-action .btn-unlink {
        width: 100%;
        text-align: center;
    }
}
