/* Shared action hierarchy, including links that perform navigation to an action. */
:root{--green:#17644f;--line:#d4e2db;--paper:#f3f7f5;--muted:#556d65}
body{background:linear-gradient(135deg,#edf5f0 0,#f6f8f7 65%);background-attachment:fixed}
.panel,.camera-tile{border-radius:18px;box-shadow:0 4px 18px #183c2910}
.page-heading{margin-bottom:26px}.page-heading h1{font-weight:750}
.btn,.button-row>a,.text-link,.section-tabs>a,.list-row>a,.login-links>a{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 min-height:44px;padding:10px 16px;border:1px solid #b7cec2;border-radius:11px;
 background:#fff;color:#174f3d;font-size:14px;font-weight:650;line-height:1.4;
 text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere;
 box-shadow:0 2px 3px #163a2610;transition:background .15s,border-color .15s,box-shadow .15s;
}
.btn:hover,.button-row>a:hover,.text-link:hover,.section-tabs>a:hover,.list-row>a:hover,.login-links>a:hover{
 background:#e8f3ed;border-color:#629d84;color:#103e2e;box-shadow:0 3px 8px #163a2620;
}
.btn.btn-primary,.button-row>a.btn-primary{
 background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 3px 8px #17644f30;
}
.btn.btn-primary:hover,.btn.btn-primary:active{background:#104d3c;border-color:#104d3c;color:#fff}
.btn:disabled,.btn.disabled{opacity:.55;box-shadow:none;cursor:not-allowed}
.btn.danger,.text-link.danger,.button-row>a.danger,.list-row>a.danger{
 background:#fff1ee;border-color:#dfa99c;color:#983b28;
}
.btn.danger:hover,.text-link.danger:hover,.button-row>a.danger:hover{background:#ffe2da;border-color:#b66653}
.button-row{gap:10px;margin-block:16px}.form-actions{gap:12px;padding-top:22px}
.section-tabs{gap:8px;padding:10px;background:#e8efeaff;border:1px solid var(--line);border-radius:15px;margin:20px 0 26px}
.section-tabs>a{flex:0 1 auto;font-size:13px;min-height:44px;padding:10px 15px}
.section-tabs>a[aria-current=page]{background:#17644f;border-color:#17644f;color:#fff;box-shadow:0 2px 6px #17644f30}
.sidebar{padding-inline:16px;background:#fcfefd;box-shadow:2px 0 15px #173d2808}
.sidebar nav{gap:8px;padding:2px 3px 8px}.sidebar nav a{
 border:1px solid #dce8e0;background:#f4f8f5;border-radius:11px;color:#35574a;padding:11px 12px;
}
.sidebar nav a:hover{border-color:#94b9a5;background:#e6f1e9}
.sidebar nav a[aria-current=page]{background:#17644f;color:#fff;border-color:#17644f;box-shadow:0 3px 9px #17644f24}
.sidebar nav a[aria-current=page]::after{content:'•';margin-inline-start:auto;color:#b8edd3}
.nav-caption{margin-top:28px}.sidebar-foot{padding-top:15px}
.notification-bell,.logout,.menu-button{border:1px solid #c9dbd0;background:#f2f7f3;border-radius:11px;min-height:44px}
.notification-bell{min-width:44px}.logout{padding:9px 12px;color:#395b4b;font-weight:600}
.notification-bell:hover,.logout:hover,.menu-button:hover{background:#deede3;border-color:#89b69c}
.language-form select{border-color:#c0d4c7;border-radius:10px}.language-form .btn{min-height:44px}
.badge-soft{padding:5px 10px;border:1px solid #d7e5da;border-radius:7px;font-weight:600}
.status-pending{border-color:#ecd09a}.status-blocked{border-color:#edb4a8}
.stat small{display:flex;align-items:center;width:fit-content;border:1px solid #c7dacc;border-radius:8px;background:#fff9;padding:7px 10px;margin-top:3px;color:#21553d;font-weight:650}
.stat:hover,.apartment-card:hover{border-color:#73a58a;box-shadow:0 6px 20px #173c291a}
.person-row{border-radius:10px;padding-inline:8px}.person-row:hover{background:#edf5ef}
.form-panel{box-shadow:0 6px 24px #173b2910}.field>label{font-size:14px}
.field input:not([type=checkbox]),.field select,.field textarea{border-color:#b8cec0;border-radius:10px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#287a59}
.notification-row.unread{background:#f0f7f1;border-radius:10px;padding-inline:14px}
.camera-actions{background:#f8fbf9}.camera-tile:fullscreen .camera-actions,.camera-expanded .camera-actions{background:#20383d}
@media(max-width:800px){.sidebar{padding-block:20px}.topbar-actions{gap:5px}.logout{padding-inline:8px}.section-heading{flex-wrap:wrap}}
@media(max-width:520px){
 .btn,.button-row>a,.text-link,.list-row>a,.login-links>a{font-size:13px;padding:10px 13px}
 .section-tabs{padding:8px;gap:7px}.section-tabs>a{flex:1 1 125px;padding:9px;font-size:12px}
 .button-row>a,.button-row>button,.form-actions>.btn{flex:1 1 140px}
 .setup-row{flex-wrap:wrap}.setup-row>div{min-width:130px}.setup-row .text-link{margin-inline-start:auto}
 .stat small{padding:6px 9px;font-size:11px}.topbar-actions .btn{font-size:10px;padding:7px}
 .login-links{flex-wrap:wrap}.login-links>a{flex:1 1 150px}.notification-bell{min-width:38px}
}
@media(prefers-reduced-motion:reduce){.btn,.button-row>a,.text-link,.section-tabs>a,.list-row>a,.sidebar{transition:none}}

.paybox-qr { margin: 1.5rem 0; text-align: center; }
.paybox-qr img { display: block; width: 296px; max-width: 100%; height: auto; margin: 0 auto 0.75rem; background: white; }
.paybox-panel { margin-block: 1rem; }

.page-loading[hidden] { display: none; }
.page-loading { position: fixed; inset-block-start: 85px; inset-inline-start: 50%; transform: translateX(-50%); z-index: 10000; display: flex; align-items: center; gap: 12px; width: max-content; max-width: calc(100vw - 32px); padding: 14px 20px; border: 1px solid #b8d9cc; border-radius: 18px; background: #fff; color: #17644f; box-shadow: 0 8px 30px #123b3326; pointer-events: none; font-weight: 600; }
html[dir="rtl"] .page-loading { transform: translateX(50%); }
.loading-ring { width: 24px; height: 24px; flex: 0 0 24px; border: 3px solid #d8eae3; border-top-color: #17644f; border-radius: 50%; animation: loading-spin .75s linear infinite; }
@keyframes loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .loading-ring { animation: none; } }
