/* =================================================================
   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;
}
.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;
}
.nav-box-left, .nav-box-right{
    width: 25%;
}

.nav-box-left{

}
.nav-box-center{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

}
.nav-box-center:nth-child(1){
    text-align: left;
}
.nav-box-notifs{
    padding: 8px 0;
}
.nav-box-right{

}

.nav-box-logged-in {
    top: 13px;
}
.nav-box-avatar {
    width: 48px;
    height: 48px;
    vertical-align: top;
    padding: 1px;
    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: 50%;
}

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 {
    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;
    max-height: 250px;
}
.postComment:focus, .replyComment:focus{
    height: 100px;
}
.postComment:focus, .replyComment:focus{
    height: 100px;
}

.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 {
    text-align: center;
    display: flex;
}

.content-react-btn,
.content-comment-btn,
.content-share-btn {
    position: relative;
    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);
    padding: 5px;
    width: 33%;
    margin: 5px;
    vertical-align: middle;
    border-radius: 10px;
}

.content-react-cont {
    position: relative;
    font-size: 20px;
    margin: 2px;
    min-height: 24px;
    vertical-align: middle;

}

.content-react-cont > div > span {
    font-size: 16px !important;
    vertical-align: middle;
    padding: 3px;
}

.feels-text-cont {
    margin: 0 6px;
}

.feels-text-cont,
.your-feels {
    display: inline-flex;
    font-size: 20px;
    vertical-align: middle;
}

.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;
}


.content-react-hover,
.content-share-hover {
    display: none;
    position: absolute;
    top: 98%;
    left: -25px;
    min-width: 275px;
    min-height: 50px;
    justify-content: center;
    font-size: 24px;
    padding: 5px;
    z-index: 9999;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 15px;
}



.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: 48px !important;
    margin: 2px;
}



.content-share-btn:hover > .content-share-hover,
.content-react-btn:hover > .content-react-hover {
    display: flex;
}


.content-react-hover > i:hover {
    font-size: 58px !important;
}

#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);
} 
#popup-cont {
    position: fixed;
    margin: 0 auto;
    width: auto;
    top: 0;
    left: 0;
    right: 0;
    max-width: 500px;
    min-width: 300px;
    z-index: 100;
    text-align: center;
    max-height: 40vh;
    overflow: hidden;
}

.error-popup,
.success-popup {
    position: relative;
    display: block;
    padding: 10px;
    font-size: 1.2em;
    box-shadow: 0 3px 5px black;
}

.error-item,
.success-item {
    display: block;
    opacity: 0;
    transition: opacity .5s linear;
}

.error-item-show,
.success-item-show {
    opacity: 1;
}

.error-popup {
    color: white;
    background-color: crimson;
}

.success-popup {
    background-color: #21e600;
    color: white;
}

.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);
}

/* Logout button gets red accent */
.stuff-box a[href*="logout"]:hover {
    color: var(--status-error) !important;
}

.stuff-box td:has(a[href*="logout"]):hover {
    background: rgba(239, 68, 68, 0.08) !important;
    border-left-color: var(--status-error) !important;
}

/* Notification badges with color accent */
.stuff-box .notification-number-overlay {
    background: var(--status-error);
    animation: pulse-notification 2s infinite;
}

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

.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;
}

.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::before {
    content: "×";
}

.close-infobox {
    padding: 6px 8px;
    font-weight: 500;
    position: absolute;
    top: 8px;
    right: 12px;
    color: #6b7280;
    font-size: 1.5em;
    border-radius: 6px;
    transition: all 0.2s ease;
    z-index: 10;
}

.close-infobox:hover {
    color: var(--status-error);
    background: rgba(239, 68, 68, 0.1);
    cursor: pointer;
    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 {
    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;
}

.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.9em;
    opacity: 0.6;
    padding: 2px;
    margin-bottom: 5px;
    display: inline-block;
    width: 100%;
}

.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);

}

.parentNewsComment {
    width: 100%;
}

.parentCommentImg,
.childCommentImg,
.messages-avatar,
.content-feed-user-img img,
.mention-details img {
    display: inline-block;
    vertical-align: middle;
    height: 100%;
    width: 100%;
    max-height: 64px;
    max-width: 64px;
    margin-left: 2px;
    margin-top: 2px;
    padding: 2px;
    border-radius: 50%;
    border-left: 1px solid var(--brand-primary);
    border-top: 1px solid var(--brand-primary);
    border-bottom: 1px solid var(--brand-accent);
    border-right: 1px solid var(--brand-accent);
}

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

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

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

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

.username-icon-cont {
    position: relative;
    display: inline-block;
    width: 75%;
    vertical-align: middle;
}

.parentCommentComment,
.childCommentComment,
.review-item p,
.content-feed-content,
#submitEdit,
#cancelEdit {
    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;
}
#submitEdit, #cancelEdit{
    border-radius: 2px;
    font-size: 1em;
    margin: 5px;
    padding:3px;
}
#submitEdit{
    margin-left: 15px;
}
#submitEdit:hover, #cancelEdit:hover{
    color: white;
    cursor: pointer;
    border-radius: 5px;
}
#submitEdit:hover{
    background-color: var(--brand-accent)ff;
}
#cancelEdit:hover{
    background-color: #FF4B12;
}
#submitEdit, #cancelEdit{
    border-radius: 2px;
    font-size: 1em;
    margin: 5px;
    padding:3px;
}
#submitEdit{
    margin-left: 15px;
}
#submitEdit:hover, #cancelEdit:hover{
    color: white;
    cursor: pointer;
    border-radius: 5px;
}
#submitEdit:hover{
    background-color: var(--brand-accent)ff;
}
#cancelEdit:hover{
    background-color: #FF4B12;
}
.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: calc(50vw - 50px + 50%);
    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: 15px 15px 0 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;
    }

    #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::before {
        content: "×";
    }

    .close-infobox {
        padding: 8px 10px;
        font-weight: 500;
        position: absolute;
        top: 5px;
        right: 8px;
        color: #6b7280;
        font-size: 1.8em;
        border-radius: 6px;
        transition: all 0.2s ease;
        z-index: 10;
    }

    .close-infobox:hover {
        color: var(--status-error);
        background: rgba(239, 68, 68, 0.1);
        cursor: pointer;
        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: 50%;
    border: 1px solid var(--brand-primary);
    flex-shrink: 0;
}

.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: 50%;
    border: 1px solid var(--brand-primary);
    flex-shrink: 0;
}

.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;
}
