/*

* ============================================================
* POSTFIXADMIN 4.0.5 - CUSTOM CSS
* ============================================================
*
* Main goals:
* * Full-width page layout
* * Centered login form
* * Fixed-width technical and action columns
* * Flexible content columns
* * Separate mailbox table styling
* * Horizontal scrolling on smaller screens

*/

/*
* ============================================================
* GENERAL PAGE LAYOUT
* ============================================================
*/

.container,
.container-fluid,
.container-xl,
#container {
width: 100% !important;
max-width: 100% !important;
padding-left: 20px !important;
padding-right: 20px !important;
box-sizing: border-box !important;
}

#main_div,
#overview,
.card {
width: 100% !important;
max-width: 100% !important;
margin-left: 0 !important;
margin-right: 0 !important;
box-sizing: border-box !important;
}

.card-header,
.card-body,
.card-footer {
width: 100% !important;
box-sizing: border-box !important;
}

/*
* ============================================================
* LOGIN
* ============================================================
*/

/* Full-width layout for the login page */
body:has(#login) #container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Keep the login form centered and limited to 600px */
body:has(#login) #login {
    width: 100% !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/*
* ============================================================
* TABLE SCROLL WRAPPERS
* ============================================================
*/

.domain-list-scroll,
.virtual-list-scroll,
.mailbox-list-scroll {
width: 100% !important;
max-width: 100% !important;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

/*
* ============================================================
* DOMAIN AND ALIAS TABLE BASE
* ============================================================
*/

#admin_table {
width: 100% !important;
max-width: none !important;
table-layout: fixed !important;
}

#admin_table th,
#admin_table td {
box-sizing: border-box !important;
padding-left: 5px !important;
padding-right: 5px !important;
vertical-align: middle;
}

/*

* ============================================================
* DOMAIN LIST
* ============================================================
*
* Content columns:
* * Domain: 25%
* * Description: 25%
* * Remaining content: 50%
*
* Technical/action columns use fixed widths.

*/

/*
* Domain name
*/

#admin_table th.list-col-domain,
#admin_table td.list-col-domain {
width: 25% !important;
min-width: 180px;
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Domain description
*/

#admin_table th.list-col-description,
#admin_table td.list-col-description {
width: 25% !important;
min-width: 150px;
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Domain aliases count
*/

#admin_table th.list-col-aliases_quot,
#admin_table td.list-col-aliases_quot {
width: 50% !important;
text-align: center;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Domain mailboxes count
*/

#admin_table th.list-col-mailboxes_quot,
#admin_table td.list-col-mailboxes_quot {
width: 50% !important;
text-align: center;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Maximum quota
*/

#admin_table th.list-col-maxquota,
#admin_table td.list-col-maxquota {
width: 90px !important;
min-width: 90px !important;
max-width: 90px !important;
text-align: center;
white-space: nowrap;
}

/*
* Total quota
*/

#admin_table th.list-col-total_quot,
#admin_table td.list-col-total_quot {
width: 90px !important;
min-width: 90px !important;
max-width: 90px !important;
text-align: center;
white-space: normal;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Transport
*/

#admin_table th.list-col-transport,
#admin_table td.list-col-transport {
width: 100px !important;
min-width: 100px !important;
max-width: 100px !important;
text-align: center;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Backup MX
*/

#admin_table th.list-col-backupmx,
#admin_table td.list-col-backupmx {
width: 120px !important;
min-width: 120px !important;
max-width: 120px !important;
text-align: center;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Domain active status
*/

#admin_table th.list-col-active,
#admin_table td.list-col-active {
width: 55px !important;
min-width: 55px !important;
max-width: 55px !important;
text-align: center;
white-space: nowrap;
}

/*
* Last modified
*/

#admin_table th.list-col-modified,
#admin_table td.list-col-modified {
width: 160px !important;
min-width: 160px !important;
max-width: 160px !important;
text-align: center;
white-space: nowrap;
}

/*
* Domain and alias action columns
*/

#admin_table th.list-col-action,
#admin_table td.list-col-action,
#admin_table th.list-col-actions,
#admin_table td.list-col-actions {
width: 55px !important;
min-width: 55px !important;
max-width: 55px !important;
text-align: center;
white-space: nowrap;
}

/*

* ============================================================
* ALIAS LIST
* ============================================================
*
* Intended content-column proportions:
* * Address: 30%
* * Destination: 30%
* * Remaining content: 40%
*
* These selectors only apply when the template uses the
* corresponding list-col-* classes.

 */

/*
* Alias address
*/

#admin_table th.list-col-address,
#admin_table td.list-col-address {
width: 30% !important;
min-width: 180px;
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Alias destination
*/

#admin_table th.list-col-goto,
#admin_table td.list-col-goto {
width: 30% !important;
min-width: 180px;
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Alias remaining content
*/

#admin_table th.list-col-alias-domain,
#admin_table td.list-col-alias-domain {
width: 40% !important;
min-width: 150px;
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Alias active status
*/

#admin_table th.list-col-active,
#admin_table td.list-col-active {
width: 55px !important;
min-width: 55px !important;
max-width: 55px !important;
text-align: center;
white-space: nowrap;
}

/*

* ============================================================
* MAILBOX TABLE
* ============================================================
*
* Requires the colgroup classes in list-virtual_mailbox.tpl.
*
* Fixed columns:
* * Status: 35px
* * Quota: 90px
* * Modified: 160px
* * Columns to the right: 55px each
*
* Username, aliases and name share the available content space.
  */

/*
* Mailbox wrapper
*/

#mailboxs {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
}

#mailboxs .mailbox-list-scroll {
width: 100% !important;
max-width: 100% !important;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

/*
* Mailbox table
*/

#mailbox_table {
width: 100% !important;
max-width: none !important;
table-layout: fixed !important;
margin-bottom: 0;
}

#mailbox_table th,
#mailbox_table td {
box-sizing: border-box !important;
padding-left: 5px !important;
padding-right: 5px !important;
vertical-align: middle;
}

/*
* Mailbox column widths
*/

#mailbox_table col.col-status {
width: 35px;
}

#mailbox_table col.col-quota {
width: 90px;
}

#mailbox_table col.col-modified {
width: 160px;
}

#mailbox_table col.col-password-expiry,
#mailbox_table col.col-active,
#mailbox_table col.col-smtp-active,
#mailbox_table col.col-vacation,
#mailbox_table col.col-alias-action,
#mailbox_table col.col-edit,
#mailbox_table col.col-delete {
width: 55px;
}

/*
* Flexible mailbox content columns
*/

#mailbox_table col.col-username,
#mailbox_table col.col-aliases,
#mailbox_table col.col-name {
width: auto;
}

/*
* Mailbox username, aliases and name
*/

#mailbox_table th.list-col-username,
#mailbox_table td.list-col-username,
#mailbox_table th.list-col-aliases,
#mailbox_table td.list-col-aliases,
#mailbox_table th.list-col-name,
#mailbox_table td.list-col-name {
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}

/*
* Mailbox fixed columns
*/

#mailbox_table th.list-col-status,
#mailbox_table td.list-col-status,
#mailbox_table th.list-col-quota,
#mailbox_table td.list-col-quota,
#mailbox_table th.list-col-modified,
#mailbox_table td.list-col-modified,
#mailbox_table th.list-col-password_expiry,
#mailbox_table td.list-col-password_expiry,
#mailbox_table th.list-col-active,
#mailbox_table td.list-col-active,
#mailbox_table th.list-col-smtp_active,
#mailbox_table td.list-col-smtp_active,
#mailbox_table th.list-col-vacation,
#mailbox_table td.list-col-vacation,
#mailbox_table th.list-col-alias-action,
#mailbox_table td.list-col-alias-action,
#mailbox_table th.list-col-edit,
#mailbox_table td.list-col-edit,
#mailbox_table th.list-col-delete,
#mailbox_table td.list-col-delete {
text-align: center !important;
white-space: nowrap;
}

/*
* Mailbox quota bar
*/

#mailbox_table .quota_bar {
width: 100%;
min-width: 0;
box-sizing: border-box;
position: relative;
overflow: hidden;
}

/*
* Mailbox action buttons
*/

#mailbox_table .list-action-icon {
margin-left: 0;
margin-right: 0;
}

/*
* Keep delete forms from adding unexpected spacing
*/

#mailbox_table td.list-col-delete form {
margin: 0;
}

/*
* ============================================================
* RESPONSIVE TABLES
* ============================================================
*/

@media (max-width: 900px) {

#admin_table {
    min-width: 1000px !important;
}

#mailbox_table {
    min-width: 1200px !important;
}


}
