/**
 * Roundcube Custom Branding
 * Avvocato Penalista H24
 */

:root {
    --aph-accent: #196568;
    --aph-accent-hover: #124a4c;
    --aph-accent-light: #1d7a7d;
    --aph-oro: #C8AC47;
    --aph-oro-light: #d4be6a;
}

/* ===== LIGHT MODE LOGIN ===== */
html:not(.dark-mode) #layout-login {
    background: linear-gradient(135deg, #f7f8f9 0%, #e8e9eb 100%);
}

html:not(.dark-mode) #layout-login #logo {
    background: linear-gradient(135deg, var(--aph-accent) 0%, var(--aph-accent-hover) 100%);
    padding: 20px 30px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(25, 101, 104, 0.3);
    margin-bottom: 2rem;
}

html:not(.dark-mode) #login-form {
    background: #ffffff;
    border: none;
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

html:not(.dark-mode) #login-form::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--aph-accent) 0%, var(--aph-oro) 100%);
}

html:not(.dark-mode) #login-form .formbuttons button {
    background: linear-gradient(135deg, var(--aph-accent) 0%, var(--aph-accent-hover) 100%);
    border: none;
    font-weight: 600;
}

html:not(.dark-mode) #login-form .formbuttons button:hover {
    background: linear-gradient(135deg, var(--aph-accent-hover) 0%, #0e3638 100%);
}

html:not(.dark-mode) #login-form .box-footer a {
    color: var(--aph-accent);
}

/* ===== DARK MODE LOGIN ===== */
html.dark-mode #layout-login {
    background: linear-gradient(135deg, #1a1f24 0%, #2d3339 100%);
}

html.dark-mode #layout-login #logo {
    background: linear-gradient(135deg, var(--aph-accent) 0%, var(--aph-accent-hover) 100%);
    padding: 20px 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 40px rgba(25, 101, 104, 0.2);
    margin-bottom: 2rem;
    border: 1px solid rgba(200, 172, 71, 0.3);
}

html.dark-mode #login-form {
    background: #2a2f35;
    border: 1px solid #3d4450;
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

html.dark-mode #login-form::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--aph-accent) 0%, var(--aph-oro) 100%);
}

html.dark-mode #login-form .input-group {
    background: #1e2328;
    border-color: #3d4450;
}

html.dark-mode #login-form .input-group-prepend {
    background: #252a30;
}

html.dark-mode #login-form .input-group-prepend .icon {
    color: var(--aph-accent-light);
}

html.dark-mode #login-form input {
    background: #1e2328;
    color: #e0e0e0;
}

html.dark-mode #login-form .formbuttons button {
    background: linear-gradient(135deg, var(--aph-accent) 0%, var(--aph-accent-hover) 100%);
    border: 1px solid var(--aph-oro);
    font-weight: 600;
}

html.dark-mode #login-form .formbuttons button:hover {
    background: linear-gradient(135deg, var(--aph-accent-light) 0%, var(--aph-accent) 100%);
}

html.dark-mode #login-form .box-footer {
    background: #252a30;
    border-top: 1px solid #3d4450;
}

html.dark-mode #login-form .box-footer a {
    color: var(--aph-oro);
}

/* ===== HEADER / TOOLBAR ===== */
#layout > .header,
.header.ui.toolbar {
    background: linear-gradient(135deg, var(--aph-accent) 0%, var(--aph-accent-hover) 100%);
    border-bottom: 2px solid var(--aph-oro);
}

#layout > .header a,
.header.ui.toolbar a {
    color: #ffffff !important;
}

#layout > .header a:hover,
.header.ui.toolbar a:hover {
    color: var(--aph-oro) !important;
}

/* ===== BOTTONI ===== */
.btn-primary,
button.primary,
.formbuttons .button.mainaction {
    background: linear-gradient(135deg, var(--aph-accent) 0%, var(--aph-accent-hover) 100%) !important;
    border-color: var(--aph-accent) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
button.primary:hover {
    background: linear-gradient(135deg, var(--aph-accent-hover) 0%, #0e3638 100%) !important;
    border-color: var(--aph-oro) !important;
}

/* ===== SIDEBAR ===== */
#layout-sidebar .listing li.selected,
.listing li.selected {
    background-color: rgba(25, 101, 104, 0.15);
    border-left: 3px solid var(--aph-accent);
}

#layout-sidebar .listing li.selected > a {
    color: var(--aph-accent) !important;
}

#layout-sidebar .listing li:hover {
    background-color: rgba(25, 101, 104, 0.08);
}

/* ===== LINK ===== */
a { color: var(--aph-accent); }
a:hover { color: var(--aph-accent-hover); }
html.dark-mode a { color: var(--aph-accent-light); }
html.dark-mode a:hover { color: var(--aph-oro); }

/* ===== MESSAGGI ===== */
.messagelist tr.selected td {
    background-color: rgba(25, 101, 104, 0.12) !important;
}

/* ===== FOCUS ===== */
input:focus, textarea:focus, select:focus {
    border-color: var(--aph-accent) !important;
    box-shadow: 0 0 0 3px rgba(25, 101, 104, 0.15) !important;
}

/* ===== TABS ===== */
.tabsbar a.selected, .tabsbar a:hover {
    border-bottom-color: var(--aph-oro);
    color: var(--aph-accent);
}

/* ===== ANIMAZIONI ===== */
#login-form, #layout-login #logo {
    animation: fadeIn 0.4s ease-out;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
