/* PRISMAX Mail · PostfixAdmin 3.3.15 Debian · v1.0
   Additional stylesheet only. Keep static/bootstrap.css enabled.
   No remote fonts, scripts, template or authentication changes. */
:root {
  --px-bg:#48494c; --px-panel:#505154; --px-card:#5a5b5e;
  --px-text:#f8f7f4; --px-muted:#d6d3ce; --px-gold:#e3cda0;
  --px-line:rgba(255,255,255,.18); --px-input:#3d3e41;
}
html { min-height:100%; }
body {
  margin:0; min-height:100vh; padding:0 0 28px;
  background-color:var(--px-bg); color:var(--px-text);
  background-image:radial-gradient(rgba(227,205,160,.09) .7px,transparent .8px);
  background-size:28px 28px;
  font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.6;
}
a { color:var(--px-gold); }
a:hover,a:focus { color:#fff2d7; }
h1,h2,h3,h4,.h2 { color:var(--px-text); line-height:1.25; }
h2,.h2 { font-family:Newsreader,Georgia,serif; font-weight:400; }
body > .container[role="main"] {
  min-width:0 !important; width:calc(100% - 48px) !important;
  max-width:1440px; margin:38px auto 0; padding:0;
}
body.page-users_main > .container[role="main"],
body.page-password > .container[role="main"],
body.page-users_edit-alias > .container[role="main"],
body.page-password-recover > .container[role="main"],
body.page-password-change > .container[role="main"] { max-width:760px; }
.navbar.navbar-default {
  position:relative; top:auto; border:0; border-bottom:1px solid var(--px-line);
  border-radius:0; margin:0; background:#414245; box-shadow:0 4px 24px #0000000d;
}
.navbar .container,.navbar .container-fluid { width:auto; max-width:1488px; padding:12px 24px; }
.navbar-header a.navbar-brand {
  padding:0; margin:0 26px 0 0; width:205px; height:50px;
  background:url("prismax-mail.svg") no-repeat left center; background-size:200px auto;
}
/* Both logged-in menus hardcode postbox.png. Keep its alt text in the DOM. */
.navbar-brand img#login_header_logo { opacity:0; width:200px; height:50px; }
.navbar-default .navbar-nav > li > a { color:var(--px-muted); border-radius:6px; }
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
  color:var(--px-gold); background:#ffffff0c;
}
.navbar-default .navbar-toggle { border-color:var(--px-line); margin-right:0; }
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus { background:var(--px-card); }
.navbar-default .navbar-toggle .icon-bar { background:var(--px-gold); }
.navbar-default .navbar-collapse { border-color:var(--px-line); }
.dropdown-menu { background:#414245; border:1px solid var(--px-line); }
.dropdown-menu > li > a { color:var(--px-text); padding:10px 18px; }
.dropdown-menu > li > a:hover,.dropdown-menu > li > a:focus { background:var(--px-card); color:var(--px-gold); }
.dropdown-menu .divider { background:var(--px-line); }
div#login.container { max-width:520px; width:100%; padding:8px 0 0; }
#login > h2 { font-size:30px; margin:0 0 24px; }
.well,.panel,.modal-content {
  color:var(--px-text); background:var(--px-panel);
  border:1px solid var(--px-line); border-radius:12px; box-shadow:0 18px 50px #00000015;
}
.well { padding:30px; }
.panel-default > .panel-heading,.panel-footer,.modal-header,.modal-footer {
  color:var(--px-text); background:#ffffff04; border-color:var(--px-line); padding:20px 28px;
}
.panel-heading { border-radius:12px 12px 0 0; }
.panel-heading h4 { margin:0; font-size:21px; font-weight:500; }
.panel-footer { border-radius:0 0 12px 12px; }
.panel-body { padding:28px; }
label { font-weight:500; color:var(--px-text); }
.form-group { margin-bottom:22px; }
.form-control,select {
  background:var(--px-input); color:var(--px-text); border:1px solid #959595;
  border-radius:6px; min-height:46px; box-shadow:none; font-size:15px;
}
.form-control:focus,select:focus {
  border-color:var(--px-gold); outline:2px solid var(--px-gold); outline-offset:2px; box-shadow:none;
}
.form-control::placeholder { color:#c6c3bd; opacity:1; }
.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control { background:#55565a; color:#dedbd6; }
input:-webkit-autofill { -webkit-text-fill-color:var(--px-text); -webkit-box-shadow:0 0 0 1000px var(--px-input) inset; }
textarea.form-control { min-height:160px; resize:vertical; }
select { padding:7px 10px; max-width:100%; }
input[type="radio"],input[type="checkbox"] { accent-color:#e3cda0; }
.radio,.checkbox { padding:10px 12px; background:#ffffff05; border:1px solid var(--px-line); border-radius:6px; }
.help-block,.text-muted { color:var(--px-muted); }
.has-error .help-block,.has-error .control-label { color:#ffd1ca; }
.has-error .form-control { border-color:#ffb4a8; }
.has-success .help-block,.has-success .control-label { color:#c5e8ce; }
.btn { border-radius:6px; padding:10px 17px; font-weight:600; white-space:normal; transition:background-color .15s; }
.btn-primary { background:#c9a876; color:#252629; border-color:#c9a876; }
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,
.btn-primary.active,.open > .dropdown-toggle.btn-primary { background:#e3cda0; color:#252629; border-color:#e3cda0; }
.btn-default,.btn-secondary { color:var(--px-text); background:transparent; border:1px solid #aaa6a0; }
.btn-default:hover,.btn-default:focus,.btn-secondary:hover,.btn-secondary:focus { color:var(--px-text); background:#ffffff10; border-color:var(--px-gold); }
.btn-danger { background:#823c39; border-color:#d78f85; color:white; }
.btn-success { background:#315d47; border-color:#91bea2; color:white; }
.btn:focus-visible,a:focus-visible { outline:2px solid var(--px-gold); outline-offset:3px; }
#login .text-center > .btn-primary { width:100%; }
#login .reset-button { width:100%; margin-left:0; }
#login select { display:block; width:100%; }
/* Stack labels on these small self-service forms; admin editform untouched. */
.page-password #edit_form .form-group,.page-users_edit-alias #edit_form .form-group { margin-left:0; margin-right:0; }
.page-password #edit_form .form-group > [class*="col-"],
.page-users_edit-alias #edit_form .form-group > [class*="col-"] { float:none; width:100%; padding:0; text-align:left; }
.page-password #edit_form .control-label,.page-users_edit-alias #edit_form .control-label { margin-bottom:9px; }
.form-control-static { overflow-wrap:anywhere; }
.form-control-static em { font-style:normal; color:var(--px-gold); }
.page-users_edit-alias .panel-body > p { text-align:left; color:var(--px-muted); }
/* Re-layout existing user menu without changing links, roles or messages. */
.page-users_main #main_menu { background:none; border:0; box-shadow:none; }
.page-users_main #main_menu .table,.page-users_main #main_menu tbody { display:block; margin:0; }
.page-users_main #main_menu tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.page-users_main #main_menu tr {
  display:flex; flex-direction:column; padding:28px; gap:14px;
  background:var(--px-panel); border:1px solid var(--px-line); border-radius:12px;
}
.page-users_main #main_menu td { display:block; border:0; padding:0; white-space:normal; }
.page-users_main #main_menu td + td { color:var(--px-muted); }
.page-users_main #main_menu .btn { display:block; text-align:left; }
.page-users_main #main_menu tr:last-child { grid-column:1/-1; padding:18px 28px; flex-direction:row; align-items:center; }
.page-users_main #main_menu tr:last-child .btn { background:transparent; color:var(--px-gold); border-color:#aaa6a0; }
.table { color:var(--px-text); }
.table > thead > tr > th,.table > tbody > tr > td,.table > tbody > tr > th { border-color:var(--px-line); }
.table-striped > tbody > tr:nth-of-type(odd) { background:#ffffff06; }
.table-hover > tbody > tr:hover { background:#ffffff0c; }
.table .success,.table .info,.table .warning { color:#292a2d; }
.pagination > li > a,.pagination > li > span { background:var(--px-panel); color:var(--px-gold); border-color:var(--px-line); }
.pagination > .active > a { background:#c9a876; color:#252629; border-color:#c9a876; }
.alert { border-radius:8px; }
.alert-danger { background:#593d3e; color:#ffe0da; border-color:#aa7069; }
.alert-success { background:#354d41; color:#d7f4df; border-color:#769883; }
.alert-info,.alert-warning { background:#514d42; color:#fff0d1; border-color:#ab9674; }
.footer { position:static; height:auto; line-height:1.8; padding:24px 0 0; margin-top:36px; background:transparent; color:var(--px-muted); }
.footer .container { width:100%; }
.footer a { color:var(--px-muted); }
/* Preserve attribution and version; no security controls are hidden. */
@media (max-width:1100px) and (min-width:768px) {
  .navbar-header { float:none; }
  .navbar-collapse { clear:both; }
}
@media (max-width:767px) {
  body > .container[role="main"] { width:calc(100% - 28px) !important; margin-top:24px; }
  .navbar .container,.navbar .container-fluid { padding:8px 14px; }
  .navbar-header a.navbar-brand { margin-left:0; }
  #login > h2 { font-size:26px; }
  .well,.panel-body { padding:20px; }
  .panel-default > .panel-heading,.panel-footer { padding:18px 20px; }
  .page-users_main #main_menu tbody { grid-template-columns:1fr; }
  .page-users_main #main_menu tr { padding:22px; }
  .page-users_main #main_menu tr:last-child { flex-wrap:wrap; }
  .panel-footer .pull-right { float:none !important; display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
  .panel-footer .btn { margin:0; font-size:15px; }
  .footer { font-size:11px; }
  .page-list-virtual > .container[role="main"],.page-list > .container[role="main"] { overflow-x:auto; }
}
@media (prefers-reduced-motion:reduce) { .btn { transition:none; } }
