/* ============================================
   NooraNet CyberSecurity - Guacamole Branding
   Colors from nooranet.com
   Primary: #1ee1ff  Gradient: #1ee1ff -> #0ca6fc
   Dark BG: #0b1121  Card: rgb(28 44 60)
   ============================================ */

/* ---- LOGIN PAGE ---- */

.login-ui {
    background: #0b1121 !important;
}

.login-ui .login-dialog {
    background: rgba(28, 44, 60, 0.95) !important;
    border: 1px solid rgba(30, 225, 255, 0.2) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.2) !important;
    max-width: 420px !important;
    padding: 30px !important;
}

/* Logo */
.login-ui .logo {
    background: url('images/nooranet-logo.png') no-repeat center center !important;
    background-size: contain !important;
    width: 280px !important;
    height: 86px !important;
    margin: 10px auto 10px auto !important;
}
.login-ui .logo * {
    visibility: hidden !important;
}

/* Hide "Apache Guacamole", show Persian brand name */
.login-ui .version {
    margin-bottom: 28px !important;
}
.login-ui .version .app-name {
    font-size: 0 !important;
    color: transparent !important;
    line-height: 0 !important;
    height: auto !important;
}
.login-ui .version .app-name::after {
    content: "\0645\0648\0633\0633\0647\0020\0646\0648\0631\0627\0646\062A" !important;
    font-size: 18px !important;
    color: #1ee1ff !important;
    font-family: 'Tahoma', 'Arial', sans-serif !important;
    display: block !important;
    text-align: center !important;
    direction: rtl !important;
    letter-spacing: 0 !important;
    margin-top: 8px !important;
}
.login-ui .version .version-number {
    display: none !important;
}

/* Form fields */
.login-ui .login-dialog .fields input[type="text"],
.login-ui .login-dialog .fields input[type="password"],
.login-ui .login-dialog input[type="text"],
.login-ui .login-dialog input[type="password"] {
    background: rgba(15, 23, 42, 0.8) !important;
    border: 1px solid rgb(115, 123, 131) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.login-ui .login-dialog .fields input:focus,
.login-ui .login-dialog input[type="text"]:focus,
.login-ui .login-dialog input[type="password"]:focus {
    border-color: #1ee1ff !important;
    box-shadow: 0 0 0 3px rgba(30, 225, 255, 0.15) !important;
    outline: none !important;
    background: rgba(15, 23, 42, 0.95) !important;
}

/* Labels */
.login-ui .login-dialog .fields .field-header,
.login-ui .login-dialog label {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Login button - NooraNet aqua gradient */
.login-ui .login-dialog .buttons input[type="submit"],
.login-ui .login-dialog input[type="submit"],
.login-ui .login-dialog button[type="submit"] {
    background: linear-gradient(to top, #1ee1ff, rgba(30, 225, 255, 0.7), #0ca6fc) !important;
    border: 1px solid #1ee1ff !important;
    border-radius: 8px !important;
    color: rgb(15, 23, 42) !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
}
.login-ui .login-dialog .buttons input[type="submit"]:hover,
.login-ui .login-dialog input[type="submit"]:hover,
.login-ui .login-dialog button[type="submit"]:hover {
    box-shadow: 0 0 15px rgba(30, 225, 255, 0.4) !important;
    filter: brightness(1.1) !important;
}

/* Error messages */
.login-ui .login-dialog .notification .error,
.login-ui .notification .error {
    background: rgba(148, 10, 10, 0.2) !important;
    border: 1px solid rgba(148, 10, 10, 0.4) !important;
    border-radius: 8px !important;
    color: #ff6b6b !important;
}
.login-ui .login-error {
    color: #ff6b6b !important;
}

/* Footer */
.login-ui .footer,
.login-ui .login-dialog .footer {
    color: rgba(255, 255, 255, 0.25) !important;
    font-size: 11px !important;
}

/* ---- INTERNAL PAGES ---- */

/* Top navigation bar */
.header {
    background: rgb(28, 44, 60) !important;
    border-bottom: 1px solid rgba(30, 225, 255, 0.15) !important;
}
.header .title,
.header h1 {
    color: #1ee1ff !important;
}

/* Nav menu */
.header .menu a,
.header .menu button {
    color: rgba(255, 255, 255, 0.75) !important;
}
.header .menu a:hover,
.header .menu button:hover {
    color: #1ee1ff !important;
}
.header .user-menu .username {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Body */
body {
    background: #0b1121 !important;
    color: #ffffff !important;
}

/* Connection list */
.home .connection-list .caption {
    color: #ffffff !important;
}
.recent-connections .connection {
    background: rgba(28, 44, 60, 0.95) !important;
    border: 1px solid rgba(30, 225, 255, 0.1) !important;
    border-radius: 12px !important;
}
.recent-connections .connection:hover {
    background: rgba(28, 44, 60, 1) !important;
    border-color: rgba(30, 225, 255, 0.3) !important;
    box-shadow: 0 0 10px rgba(30, 225, 255, 0.1) !important;
}

/* Settings pages */
.settings .section {
    background: rgba(28, 44, 60, 0.6) !important;
    border-radius: 12px !important;
}
.settings .section-header {
    color: #1ee1ff !important;
}

/* Tables */
table.connection-list th,
table.user-list th,
.list-pager .list-table th {
    background: rgb(28, 44, 60) !important;
    color: #1ee1ff !important;
    border-color: rgba(30, 225, 255, 0.15) !important;
}
table.connection-list td,
table.user-list td,
.list-pager .list-table td {
    border-color: rgba(44, 62, 80, 0.5) !important;
    color: #ffffff !important;
}
table.connection-list tr:hover td,
table.user-list tr:hover td,
.list-pager .list-table tr:hover td {
    background: rgba(30, 225, 255, 0.05) !important;
}

/* Links */
a {
    color: #0eabfc !important;
}
a:hover {
    color: #1ee1ff !important;
}

/* Buttons */
button, .button, input[type="button"] {
    border-radius: 8px !important;
}

/* Modal dialogs */
.modal .modal-body {
    background: rgb(28, 44, 60) !important;
    border: 1px solid rgba(30, 225, 255, 0.15) !important;
    border-radius: 12px !important;
    color: #ffffff !important;
}
.modal .modal-header {
    color: #1ee1ff !important;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #0b1121;
}
::-webkit-scrollbar-thumb {
    background: rgb(44, 62, 80);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(30, 225, 255, 0.4);
}
