[hidden]{display:none!important}main{grid-column:2;min-width:0}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,input,select,textarea{font-family:inherit}input,select,textarea{font-size:16px!important}input,select,textarea{width:100%;padding:12px;border:1px solid #ccd9e5;border-radius:9px;color:var(--ink);background:#fff;margin-top:6px}textarea{min-height:110px;resize:vertical}label{display:block;font-size:14px;font-weight:600;color:#40566e;margin-bottom:16px}button:focus-visible,a:focus-visible{outline:3px solid #74adee;outline-offset:3px}.greeting h1 #day-greeting,.greeting h1 #resident-name{font:inherit;color:inherit}.sidebar{overflow-y:auto;z-index:30}.sidebar-bottom{padding-top:20px}.menu-backdrop{z-index:25}.mobile-menu{z-index:auto!important}.topbar{position:sticky;top:0;z-index:20}.view{padding-bottom:90px}.page-title h1{margin:8px 0}.page-title p{color:#4f7395}.page-title h2{line-height:1.6}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px;min-width:0}.panel h3{margin:0 0 14px}.muted,.meta{color:var(--muted);font-size:13px;line-height:1.6}.meta{display:block}.empty-state{border:1px dashed #cedbe8;border-radius:12px;padding:24px;text-align:center;color:#637b91;line-height:1.6}.empty-state button{margin-top:12px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:12px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.btn{background:#eef5fd;color:#2164aa;border:1px solid #d7e6f7;border-radius:8px;padding:10px 14px;font-weight:600}.danger{background:#fff1ef;border-color:#f3d3cd;color:#ac4b40}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tabs button{border:1px solid #dae5ef;border-radius:25px;padding:10px 15px;background:#fff;color:#61778d;font-weight:600}.tabs .active{background:#164f80;border-color:#164f80;color:#fff}.record{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow-wrap:anywhere}.record h4{margin:0 0 8px}.record p{line-height:1.6;white-space:pre-wrap;font-size:14px}.record .row{margin-top:12px}.badge{display:inline-block;padding:4px 9px;border-radius:20px;background:#edf3fa;color:#456681;font-size:12px;font-weight:700}.badge.active,.badge.confirmed,.badge.resolved,.badge.arrived{background:#e9f7ef;color:#24764f}.badge.pending,.badge.expected,.badge.in_progress{background:#fff6dc;color:#9a6a18}.badge.cancelled,.badge.closed{background:#f0f1f3;color:#68717c}.official{border-left:4px solid #287ddd;background:#f7fbff}.official-label{font-size:11px;letter-spacing:.06em;color:#226bc0;font-weight:800}.rich-text{white-space:pre-wrap;overflow-wrap:anywhere}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.toolbar label{flex:1;min-width:150px}.toolbar button{margin-bottom:16px}.list-title{margin:30px 0 16px}.slots{grid-template-columns:repeat(3,1fr)}.slots button small{display:block;font-size:10px;margin-top:3px}.slots button:disabled{background:#f3f5f7}.booking-card label{margin-top:18px}.booking-card .primary{width:100%}.access-message{margin:0 0 22px;padding:16px 20px;border:1px solid #dae6f1;border-radius:12px;background:#edf5ff;line-height:1.7;font-size:14px}.access-message button{margin-left:10px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.metric{padding:20px;background:#edf5ff;border-radius:12px}.metric strong{display:block;font-size:28px}.metric small{color:#58718a}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted)}.admin-panel{max-width:none}.admin-panel form>label{max-width:none;margin:0 0 16px}.post-head{align-items:flex-start}.post-head .badge{margin-left:auto}.post h4{margin:16px 0 5px}.post-footer{flex-wrap:wrap}.post-footer button{padding:5px}.comment{border-bottom:1px solid var(--line);padding:12px 0}.comment p{margin:6px 0}.comment-form{padding:16px 0!important}.dialog-body{padding:28px;position:relative}.dialog-body form{padding:0}dialog{max-height:90dvh;overflow-y:auto}.dialog-body .close{z-index:2}.dialog-body>h2{padding-right:15px}.dialog-error,.inline-error{color:#a94335;background:#fff2ed;border-radius:8px;padding:12px;font-size:14px;line-height:1.5}.toast{z-index:1000;max-width:calc(100% - 24px);min-width:min(320px,90vw)}body:has(dialog[open]){overflow:hidden}.install-prompt{z-index:21}.chat-shell{border:1px solid #dce7f2;border-radius:16px;overflow:hidden;background:#fff}.chat-header{padding:18px;background:#f2f7fd;border-bottom:1px solid var(--line)}.chat-header label{margin:0;flex:1;max-width:350px}.chat-messages{height:48dvh;min-height:240px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message{align-self:flex-start;background:#f0f4f9;border-radius:13px 13px 13px 3px;padding:12px 15px;max-width:85%;min-width:130px}.message.mine{align-self:flex-end;background:#e6f1ff;border-radius:13px 13px 3px 13px}.message b{font-size:12px;color:#2466a2}.message p{margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:14px}.message time{font-size:10px;color:#6b8196;display:block;text-align:right}.chat-compose{display:flex;gap:10px;align-items:flex-end;padding:15px;border-top:1px solid var(--line)}.chat-compose label{flex:1;margin:0}.chat-compose textarea{min-height:65px;max-height:150px;margin:0}.chat-compose .primary{margin-bottom:3px}.chat-status{margin:0;padding:6px 16px;font-size:12px;color:var(--muted);background:#fafcff}.search-form{margin-bottom:15px}.sync-note{font-size:12px;color:#58718a;margin-top:12px;line-height:1.5}.reply{background:#eef7f0;padding:12px;border-radius:8px}.profile-details p{font-size:15px;letter-spacing:normal;font-weight:400;color:#40566e;line-height:1.8}.more-button{display:block;margin:15px auto}.mobile-menu{color:#294960}.top-actions{gap:12px}.brand{padding-bottom:25px}
@media(max-width:900px){main{grid-column:1}.sidebar{height:100dvh}.menu-backdrop{z-index:25}.two-columns{grid-template-columns:1fr}.sidebar.open{z-index:30}.topbar{height:68px}.chat-messages{height:50dvh}.view{padding-top:25px}}
@media(max-width:580px){.panel,.booking-card{padding:18px}.slots{grid-template-columns:repeat(3,1fr)}.slots button{padding:10px 4px;font-size:12px}.chat-compose{padding:10px}.chat-compose .primary{padding:12px}.message{max-width:92%}.chat-header{padding:12px}.chat-header label{max-width:none}.toolbar{display:block}.toolbar button{width:100%}.view{padding-left:16px;padding-right:16px}.greeting h1{line-height:1.5}.community-grid{grid-template-columns:1fr}.record{padding:14px}.topbar{padding:0 16px}.profile{min-width:36px}.location b{font-size:13px}}
