:root{--wmr-primary:#7c3aed;--wmr-primary-dark:#2e1065;--wmr-primary-mid:#4c1d95;--wmr-primary-tint:#f5f1fc;--wmr-danger:#a4372b;--wmr-bg:#f6f4fb;--wmr-border:#ddd6ea;--wmr-text:#2a2f36;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.module-title{color:#b3b5b8;text-shadow:0 1px 5px #00000040;margin:0;font-family:Open Sans,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:30px;font-weight:300;line-height:36px}*{box-sizing:border-box}body{background:var(--wmr-bg);color:var(--wmr-text);margin:0}#app{min-height:100vh}a{color:var(--wmr-primary)}table{border-collapse:collapse;background:#fff;width:100%}table th,table td{border-bottom:1px solid var(--wmr-border);text-align:left;padding:8px 10px;font-size:14px}table th{background:var(--wmr-primary-tint);border-bottom:2px solid var(--wmr-primary)}table tbody tr:nth-child(2n){background:var(--wmr-bg)}.btn{border:1px solid var(--wmr-primary);background:var(--wmr-primary);color:#fff;cursor:pointer;border-radius:4px;padding:6px 14px;font-size:14px;text-decoration:none;display:inline-block}.btn:hover{opacity:.9}.btn.secondary{color:var(--wmr-primary);background:#fff}.btn.danger{color:var(--wmr-danger);border-color:var(--wmr-danger);background:#fff}.btn.btn-sm{padding:2px 10px;font-size:12px}.field{flex-direction:column;gap:4px;max-width:420px;margin-bottom:10px;display:flex}.field label{font-size:13px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--wmr-border);border-radius:4px;padding:6px 8px;font-size:14px}.panel{border:1px solid var(--wmr-border);background:#fff;border-radius:6px;margin-bottom:16px;padding:16px}.panel h2,.panel h3{margin-top:0}.loading-spinner{justify-content:center;align-items:center;padding:48px 0;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar>.module-title{flex:1}.error{color:var(--wmr-danger);font-size:13px}.muted{color:#6b7280;font-size:13px}.positive{color:#1a7f37}.negative{color:var(--wmr-danger)}.text-right{text-align:right}.text-center{text-align:center}.icon-link{color:var(--wmr-primary);align-items:center;text-decoration:none;display:inline-flex}.icon-link:hover{opacity:.7}.tabs{border-bottom:1px solid var(--wmr-border);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tab-link{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 4px;font-size:14px}.tab-link:hover{color:var(--wmr-text)}.tab-link.active{color:var(--wmr-primary);border-bottom-color:var(--wmr-primary);font-weight:600}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.pagination-controls{align-items:center;gap:10px;display:flex}.pagination-controls a{color:var(--wmr-primary)}.editing-row td{background:var(--wmr-bg)}.inline-edit-form{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:4px 0;display:flex}.inline-edit-form .field{max-width:220px;margin-bottom:0}.inline-edit-form .field-wide{flex:1 0 100%;max-width:none}.inline-edit-form .field-wide textarea{resize:vertical;width:100%}.owner-group-header td{background:var(--wmr-primary);color:#fff;padding:6px 10px;font-weight:700}.owner-group-header.inactive-tenancy-header td{background:#4b5563}.owner-group-header .btn{margin-left:12px}.row-title{font-weight:600}.row-title[href],.report-links .icon-link{color:var(--wmr-text)}.property-cell-heading{align-items:center;gap:6px;display:flex}.row-subtext{color:#6b7280;margin-top:2px;font-size:12px;display:block}.rent-column{min-width:140px}.report-links{text-align:center;align-items:center;gap:8px}table tfoot td{background:var(--wmr-primary);color:#fff;border-bottom:none;font-size:13px}.ptn-cards{display:none}.ptn-card-owner{background:var(--wmr-primary);color:#fff;border-radius:6px;margin-bottom:8px;padding:8px 12px;font-weight:700}.ptn-card{flex-direction:column;display:flex}.ptn-card-row{border-top:1px solid var(--wmr-border);justify-content:space-between;align-items:flex-start;gap:12px;margin-top:8px;padding-top:8px;display:flex}.ptn-card-row>span:last-child{text-align:right}.ptn-card-label{color:#6b7280;flex:none;padding-top:2px;font-size:12px;font-weight:600}.ptn-card-actions{border-top:1px solid var(--wmr-border);gap:20px;margin-top:10px;padding-top:10px;display:flex}.ptn-card-actions .icon-link{color:var(--wmr-text);gap:6px;font-size:13px}.ptn-card-footer{background:var(--wmr-primary);color:#fff;border-radius:6px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 12px;font-size:13px;display:flex}@media (width<=900px){.ptn-table{display:none}.ptn-cards{display:block}}.app-shell{min-height:100vh;display:flex}.app-nav{background:var(--wmr-primary-dark);color:#fff;flex-direction:column;width:220px;min-height:100vh;padding:16px 0;display:flex}.app-nav .nav-bottom{margin-top:auto}.app-nav a{color:#cbbcea;padding:10px 20px;font-size:14px;text-decoration:none;display:block}.app-nav a:hover{color:#fff}.app-nav a.router-link-active{background:var(--wmr-primary-mid);color:#fff}.app-nav .brand{color:#fff;padding:0 20px 16px;font-size:18px;font-weight:700}.app-content{flex-direction:column;flex:1;min-width:0;display:flex}.app-main{flex:1;max-width:1200px;padding:24px}.app-topbar{background:var(--wmr-primary-dark);color:#fff;flex:none;align-items:center;gap:4px;height:52px;padding:0 8px;display:none}.app-topbar-brand{font-size:16px;font-weight:700}.nav-toggle{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.nav-toggle svg{width:24px;height:24px}.nav-backdrop{z-index:1090;background:#0006;position:fixed;inset:0}@media (width>=901px){.nav-backdrop{display:none}}@media (width<=900px){.app-topbar{display:flex}.app-main{padding:16px}.app-nav{z-index:1100;width:260px;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:2px 0 12px #00000040}.app-nav.open{transform:translate(0)}}.app-boot{justify-content:center;align-items:center;min-height:100vh;display:flex}.spinner{border:3px solid var(--wmr-border);border-top-color:var(--wmr-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{background:#fff;border-radius:6px;width:320px;padding:24px;box-shadow:0 4px 16px #0003}.modal-dialog p{margin:0 0 16px}.progress-track{background:var(--wmr-bg);border:1px solid var(--wmr-border);border-radius:4px;height:10px;overflow:hidden}.progress-fill{background:var(--wmr-primary);width:0;height:100%;transition-property:width;transition-timing-function:linear}.login-page{min-height:100vh;display:flex}.login-brand{align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.login-brand img{display:block}.login-teaser{background:linear-gradient(135deg, var(--wmr-primary) 0%, var(--wmr-primary-dark) 100%);color:#fff;flex-direction:column;flex:55%;justify-content:center;gap:40px;padding:64px 72px;display:flex}.login-teaser h1{max-width:520px;margin:0 0 16px;font-size:38px;font-weight:700;line-height:1.25}.login-teaser-lead{color:#ffffffc7;max-width:440px;margin:0;font-size:16px;line-height:1.6}.login-features{flex-direction:column;gap:20px;max-width:440px;margin:0;padding:0;list-style:none;display:flex}.login-features li{align-items:flex-start;gap:14px;display:flex}.login-features strong{margin-bottom:2px;font-size:15px;display:block}.login-features p{color:#ffffffad;margin:0;font-size:13px;line-height:1.5}.login-feature-icon{color:#fff;background:#ffffff1f;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.login-feature-icon svg{width:18px;height:18px}.login-panel{background:#fff;flex:45%;justify-content:center;align-items:center;padding:48px 32px;display:flex}.login-card{width:100%;max-width:360px}.login-card>.login-brand{color:var(--wmr-text);margin-bottom:32px}.login-card h2{margin:0 0 4px;font-size:24px}.login-card>.muted{margin:0 0 24px}.login-card .field,.login-card .field input{max-width:none}.login-submit{width:100%;margin-top:8px;padding:10px 14px;font-size:15px}@media (width<=900px){.login-page{flex-direction:column}.login-teaser{gap:24px;padding:40px 28px}.login-teaser h1{font-size:28px}.login-features{display:none}.login-panel{padding:40px 24px}}
