.rules-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:12px; background:#eef3f7; border:1px solid #cad5df; border-radius:10px 10px 0 0; }
.rules-toolbar button { padding:8px 10px; border:1px solid #bdcbd7; border-radius:6px; background:white; cursor:pointer; color:#172b40; }
.rules-toolbar label { display:flex; align-items:center; gap:6px; font-size:13px; }
.rules-toolbar input[type=color] { width:42px; height:36px; padding:2px; }
.rules-toolbar select { width:auto; padding:8px; }
.rules-image-button input { max-width:210px; font-size:12px; }
.rules-document { font-family:Arial,sans-serif; line-height:1.6; overflow-wrap:anywhere; color:#172b40; }
.rules-document p { margin:0 0 12px; }
.rules-document img { max-width:100%; max-height:830px; height:auto; }
.rules-document blockquote { border-left:3px solid #b8c8d4; padding-left:16px; }
.rules-editor { min-height:400px; padding:24px; border:1px solid #bdcbd7; background:white; border-radius:0 0 10px 10px; }
.rules-editor:focus { outline:2px solid #2563eb; outline-offset:2px; }
.rules-page-settings { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:16px; border:1px solid #cad5df; border-radius:8px; padding:14px; }
.rules-page-settings label { display:flex; align-items:center; gap:8px; }
.rules-page-settings input, .rules-toolbar input[type=number] { width:85px; }
.rules-toolbar input[type=text] { max-width:220px; }
.rules-document { font-family:"DejaVu Sans",Arial,sans-serif; font-size:11pt; line-height:1.5; }
.rules-document p { margin:0 0 9pt; }
.rules-document .rules-page-break { border:0; border-top:2px dashed #9bacc1; margin:24px 0; clear:both; }
.rules-editor .rules-page-break { cursor:pointer; }
.rules-editor img { cursor:pointer; }
@media print { .rules-document .rules-page-break { page-break-before:always; break-before:page; border:0; height:0; margin:0; padding:0; } }
.rules-public { max-width:850px; margin:28px auto; padding:30px; background:white; border-radius:14px; }
.rental-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin:18px 0; }
.rental-metric { padding:16px; border:1px solid #d9e2ec; background:#f6f9fc; border-radius:10px; }
.rental-metric strong { display:block; font-size:24px; margin:6px 0; }
.payment-form { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:12px; align-items:end; margin:12px 0; }
.payment-form fieldset { display:contents; }
.payment-form .payment-actions { display:flex; gap:8px; flex-wrap:wrap; grid-column:1/-1; }
.payment-booking { border:1px solid #d9e2ec; border-radius:12px; margin:14px 0; padding:16px; }
.payment-booking summary { cursor:pointer; line-height:1.7; }
.payment-booking h4 { margin-bottom:4px; }
.rental-year { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.rental-year input { max-width:120px; }
.occupancy-meter { min-width:100px; width:100%; max-width:180px; accent-color:#2563eb; }
[hidden] { display:none !important; }
@media(max-width:650px) { .payment-form { grid-template-columns:1fr; } .rules-editor { padding:14px; } .rules-public { margin:12px; padding:18px; } .rules-toolbar { gap:6px; } }
