/* Shared visual layer. Status colors intentionally remain independent. */
html,body{background:var(--bg)}
.card,.panel,.auth-card,.modal .modal-card,dialog.modal[open],.navbar,.rental-tabs-wrap,.rp-subnav-wrap,.settings-tabs-wrap{background:var(--surface);border-color:var(--border);backdrop-filter:blur(var(--glass-blur,12px));-webkit-backdrop-filter:blur(var(--glass-blur,12px));color:var(--text)}
.rentprice input,.rentprice select,.rentprice textarea,.pr-input{background:var(--bg-elev);color:var(--text);border-color:var(--border)}
.pr-card{background:var(--surface);color:var(--text);border-color:var(--border)}
.rental-tabs a.active,.rp-subnav a.active,.settings-tabs a.active{background:var(--bg-elev);color:var(--link)}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.theme-grid label{display:grid;gap:8px}.theme-grid input[type=color]{width:100%;height:42px}
.theme-editor{width:100%;min-height:240px;font-family:monospace;background:#10141c;color:#e7ecf3;padding:16px}
.theme-preview{width:100%;height:300px;border:1px solid var(--border);border-radius:12px;background:#111}
.theme-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}

/* Page footer participates in normal flow, never overlaps content. */
body.site-layout{display:flex;flex-direction:column;min-height:100vh;height:auto;min-height:100dvh}
.site-layout>main,.site-layout>.container{flex-shrink:0}
.site-layout>.navbar,.site-layout>.site-footer{flex-shrink:0}
.site-layout>.auth-wrap{min-height:0;flex:1}
.site-layout>.rentprice{min-height:0}
.site-layout .site-footer{display:flex;justify-content:center;align-items:center;align-self:stretch;width:100%;max-width:none;margin: auto 0 0;padding:22px 16px;text-align:center;color:var(--subtle);background:transparent;border:0;overflow-wrap:anywhere}

/* Match settings controls to the shared search-field appearance. */
.settings-page input:is([type=text],[type=password],[type=number],[type=email],[type=search]),
.settings-page select,.settings-page textarea{width:100%;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font:inherit;transition:border-color .12s ease,box-shadow .12s ease}
.settings-page input:focus-visible,.settings-page select:focus-visible,.settings-page textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}
.settings-page input::placeholder,.settings-page textarea::placeholder{color:var(--subtle)}
.settings-page textarea.theme-editor{font-family:var(--font-mono);min-height:240px;resize:vertical}
@media print{.site-footer{display:none!important}body.site-layout{display:block;min-height:0}}

/* Consistent field dimensions within each form column, including date fields. */
body.site-layout input:is(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local]),
body.site-layout select,body.site-layout textarea{
  box-sizing:border-box;width:100%;min-width:0;max-width:100%;
  background:var(--bg-elev);color:var(--text);border:1px solid var(--border);
  border-radius:12px;padding:12px 14px;font:inherit;line-height:1.4;
}
body.site-layout input:is(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local]),
body.site-layout select{height:46px}
body.site-layout .field{min-width:0}
body.site-layout input:is([type=date],[type=time],[type=datetime-local]){color-scheme:dark}
.site-layout .site-footer small{display:block;text-align:center}

body.site-layout textarea.theme-editor{font-family:var(--font-mono,monospace)}
