:root{font-family:Segoe UI,Hiragino Sans,sans-serif;line-height:1.5;color:#1f2933;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:420px;background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:28px 24px}.card h1{margin:0 0 8px;font-size:1.25rem}.card p.lead,.panel p.lead{margin:0 0 20px;color:#627d98;font-size:.95rem}label{display:block;margin-bottom:12px;font-size:.9rem}input,select{width:100%;margin-top:4px;padding:8px 10px;border:1px solid #bcccdc;border-radius:4px;background:#fff}input:read-only{background:#f0f4f8;color:#334e68}button{margin-top:8px;width:100%;padding:10px 12px;border:0;border-radius:4px;background:#1d4e89;color:#fff;cursor:pointer}button:disabled{opacity:.7;cursor:default}button.secondary{background:#627d98}.error{color:#b91c1c;margin:0 0 12px;font-size:.9rem}.meta{margin:0 0 16px;padding:12px;background:#f0f4f8;border-radius:4px}.meta dt{font-size:.8rem;color:#627d98}.meta dd{margin:0 0 8px}html{overflow-y:auto}.app{min-height:100vh;min-height:100dvh}.app-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:12px 24px;background:#1d4e89;color:#fff}.app-nav{display:flex;flex-wrap:wrap;gap:16px}.app-nav a{color:#fff;text-decoration:none;font-size:.95rem}.app-nav a.active{font-weight:700;text-decoration:underline}.app-user{display:flex;align-items:center;gap:12px;font-size:.9rem}.app-main{padding:24px;width:100%}.panel{width:100%;max-width:none;margin:0;background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:24px}.panel-narrow{max-width:420px;margin-left:auto;margin-right:auto}.panel h1{margin:0 0 16px;font-size:1.25rem}.panel a{color:#1d4e89}.search-form{width:100%;margin-bottom:16px}.search-details-toggle{display:block;width:auto;min-width:0;margin:0 0 12px;padding:0;background:none;border:none;color:#1d4e89;text-align:left;cursor:pointer}.search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 16px;margin-bottom:12px}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}button.inline{width:auto;margin-top:0;padding:8px 12px}.toolbar button{width:auto;min-width:120px}.muted{color:#627d98;margin:0 0 12px}.empty{margin:16px 0;padding:16px;background:#f0f4f8;border-radius:4px}.period-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.period-label{font-size:.9rem;padding-bottom:8px}.period-form select{width:auto;min-width:7rem;margin-top:0}.period-form button{width:auto;margin-top:0}.period-form input[type=file]{width:auto;max-width:100%}.billing-upload-form{align-items:flex-end}.billing-upload-form .period-label{padding-bottom:0;margin-bottom:0}.billing-upload-form input[type=file]{display:block;margin-top:4px;height:2.5rem;padding:0 10px}.billing-upload-form button{height:2.5rem;padding:0 16px}.unit-facility-summary{margin:8px 0 16px}.unit-resident-list li{margin:0 0 8px}.unit-resident-list .table-wrap{margin:8px 0}.unit-resident-list button.inline{width:auto;margin-top:8px}.unit-assign-fieldset{border:0;margin:0;padding:0}.unit-assign-option{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:.9rem}.unit-assign-option input[type=radio]{width:auto;margin:0;flex:none}.unit-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0 24px}.unit-summary-card{background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:12px 14px}.unit-summary-card span{display:block;color:#627d98;font-size:.85rem}.unit-summary-card strong{font-size:1.25rem}.billing-confirm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0 1rem}.billing-confirm-actions button{width:auto;margin-top:0}.panel h2{margin:24px 0 12px;font-size:1.1rem}.billing-group{margin:0 0 24px}.billing-group h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:0 0 8px;font-size:1.05rem}.billing-month{font-weight:400;color:#486581}.table-wrap{width:100%;overflow-x:auto;overflow-y:hidden}.summary-table.data-table{width:max-content;min-width:100%}.summary-table th,.summary-table td{min-width:8.5rem;vertical-align:top}.summary-table th:first-child,.summary-table td:first-child{position:sticky;left:0;z-index:1;min-width:10rem;background:#f0f4f8}.summary-table thead th:first-child{z-index:2}.summary-table .name-cell{white-space:normal}.summary-table .name-list{display:flex;flex-direction:column;gap:2px}.summary-table .care-level-breakdown{display:flex;flex-direction:column;gap:2px;margin-top:6px}.summary-table .care-level-breakdown-row{white-space:nowrap}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:8px 10px;border-bottom:1px solid #d9e2ec;text-align:left;white-space:nowrap}.data-table th{background:#f0f4f8;font-size:.85rem;color:#486581}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.pager p{margin:0;color:#627d98;font-size:.9rem}.pager-buttons{display:flex;gap:6px;flex-wrap:wrap}.notice{margin:0 0 16px;padding:10px 12px;background:#e6f4ea;color:#137333;border-radius:4px}.form-section{margin:0 0 20px;padding:16px;border:1px solid #d9e2ec;border-radius:6px}.form-section legend{font-weight:700;padding:0 6px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;align-items:start}.form-grid.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>label{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-bottom:0}.form-grid>label input,.form-grid>label select,.form-grid>label textarea{margin-top:0}.form-grid>.detail-item{margin-bottom:0}.form-grid>.muted{margin:0}.form-grid-span-2{grid-column:span 2}.form-grid-full{grid-column:1 / -1}.form-grid input[type=date],.form-field-short{max-width:13rem}@media (max-width: 960px){.form-grid,.form-grid.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.form-grid,.form-grid.form-grid-2{grid-template-columns:minmax(0,1fr)}.form-grid-span-2{grid-column:1 / -1}.form-grid input[type=date],.form-field-short{max-width:none}}textarea{width:100%;margin-top:4px;padding:8px 10px;border:1px solid #bcccdc;border-radius:4px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}a.button-link{display:inline-block;margin-top:8px;padding:10px 12px;border-radius:4px;background:#1d4e89;color:#fff;text-decoration:none;text-align:center}a.button-link.secondary{background:#627d98}.toolbar a.button-link,.form-actions a.button-link,.form-actions button{width:auto;min-width:120px;margin-top:0}a.button-link.inline{width:auto;min-width:0;margin-top:0;padding:8px 12px;font-size:.9rem}.data-table td .button-link.inline,.data-table td button.inline{margin-right:6px}.detail-list{margin:0}.detail-item{display:flex;flex-direction:column;align-items:stretch;margin-bottom:12px}.detail-item:last-child{margin-bottom:0}.detail-item dt{font-size:.8rem;color:#627d98}.detail-item dd{margin:2px 0 0}.memo-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.checkbox-fieldset{margin:0 0 16px;padding:12px;border:1px solid #d9e2ec;border-radius:6px}.checkbox-fieldset legend{font-weight:700;padding:0 6px}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px 16px;max-height:160px;overflow-y:auto}.checkbox-group label{display:flex;align-items:center;gap:6px;margin:0;font-size:.9rem}.checkbox-group input{width:auto;margin:0}.list-warning{margin:0 0 16px;padding:10px 12px;background:#fff8e1;color:#8a6d1d;border-radius:4px}.inactive-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:4px;background:#9b1c1c;color:#fff;font-size:.75rem;font-weight:700;vertical-align:middle}button.danger{background:#9b1c1c}.billing-issue{margin:0 0 20px;padding:12px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.billing-issue h3{margin:0 0 8px;font-size:1rem}.billing-source{font-size:.85rem;color:#486581;font-weight:400;margin-left:8px}.billing-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f293373;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.billing-dialog{width:min(480px,100%);background:#fff;border-radius:8px;padding:20px 24px;box-shadow:0 8px 24px #1f29332e}.billing-dialog h2{margin:0 0 12px;font-size:1.05rem}.billing-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.billing-dialog-actions button{width:auto;min-width:5.5rem;margin-top:0}.unit-confirm-dialog{width:min(44rem,100%)}.unit-confirm-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.unit-confirm-rename{display:flex;align-items:center;gap:8px;flex:1;min-width:0;margin:0;font-size:.9rem}.unit-confirm-rename input[type=checkbox]{width:auto;height:auto;margin:0;padding:0;flex:none;align-self:center}.unit-confirm-rename span{min-width:0;line-height:1.4}.unit-confirm-actions button{width:auto;min-width:5.5rem;margin-top:0;flex:none}.notification-email-list{width:100%;display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.notification-email-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:end;width:100%}.notification-email-row label{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-bottom:0;min-width:0}.notification-email-row input{width:100%}.notification-email-actions{display:flex;gap:8px;flex-shrink:0}.notification-email-actions button,.notification-email-add{width:auto;min-width:5.5rem;margin-top:0}.billing-dialog p{margin:0;line-height:1.6}.confirm-dialog-memo{display:flex;flex-direction:column;gap:6px;margin-top:16px}.confirm-dialog-memo textarea{width:100%;min-height:5.5rem;resize:vertical}.data-table.resident-list-table{font-size:.78rem}.data-table.resident-list-table th,.data-table.resident-list-table td{padding:5px 6px;font-size:.78rem}.data-table.resident-list-table th{font-size:.72rem;white-space:normal;line-height:1.3;vertical-align:bottom}.data-table.resident-list-table td .button-link.inline{padding:6px 8px;font-size:.78rem;min-height:2rem}.occupancy-chart{display:block;width:100%;max-width:720px;height:auto;margin:8px 0 16px;background:#fff}.chart-grid{stroke:#e4ebf1;stroke-width:1}.chart-axis{stroke:#9fb3c8;stroke-width:1}.chart-line{fill:none;stroke:#1d4e89;stroke-width:2}.chart-point{fill:#1d4e89}.chart-label{fill:#486581;font-size:11px}.occupancy-history-table{max-width:320px;margin-bottom:24px}.market-count-table{max-width:420px;margin-bottom:12px}.municipality-survey-section{margin-top:32px}.municipality-survey-table{max-width:560px;margin-bottom:12px}.municipality-survey-categories{list-style:none;margin:0 0 12px;padding:0;max-width:720px}.municipality-survey-category{padding:12px 0;border-bottom:1px solid #d9e2ec}.municipality-survey-category-head{display:flex;justify-content:space-between;gap:16px;font-weight:600}.municipality-survey-category-meta{margin-top:8px;color:#486581;font-size:.92rem}.municipality-survey-category-meta p{margin:0 0 4px}
