:root{color:#18313f;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f4;font-family:Avenir Next,Avenir,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:radial-gradient(circle at 92% 4%,#0f766e14,#0000 28rem),#f4f6f4;min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,input,textarea,select{font:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:#fff;border-bottom:1px solid #d9dee8;justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.app-kicker{color:#536175;text-transform:uppercase;margin:0 0 4px;font-size:.85rem}.app-header h1{margin:0;font-size:1.6rem}.app-body{flex:1;grid-template-columns:240px minmax(0,1fr);display:grid}.app-nav{background:#fff;border-right:1px solid #d9dee8;flex-direction:column;gap:4px;padding:20px;display:flex}.app-nav a{color:#334155;border-radius:6px;padding:10px 12px;text-decoration:none}.app-nav a.router-link-active{color:#101827;background:#e9eef7;font-weight:700}.view-section{max-width:880px}.view-section h2{margin:0 0 10px;font-size:1.35rem}.view-section p{color:#536175;margin:0;line-height:1.6}.settings-view{gap:22px;display:grid}.master-data-section{background:#fff;border:1px solid #d9dee8;border-radius:10px;gap:16px;padding:20px;display:grid}.master-data-section h3{margin:0}.tenant-user-section{background:#fff;border:1px solid #d9dee8;border-radius:10px;gap:18px;padding:20px;display:grid}.tenant-user-section h3,.tenant-user-section h4{margin:0}.tenant-user-create-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.tenant-user-form{background:#f8fafc;border:1px solid #d9dee8;border-radius:8px;align-content:start;gap:12px;padding:16px;display:grid}.tenant-user-form label{gap:6px;display:grid}.tenant-user-name-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tenant-user-form label>span{color:#334155;font-size:.92rem;font-weight:700}.tenant-user-form input,.tenant-user-form select,.tenant-user-table input,.tenant-user-table select{color:#172033;border:1px solid #c9d2df;border-radius:6px;width:100%;min-height:40px;padding:9px 10px}.tenant-user-form input[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 1px #b42318}.tenant-user-table-wrapper{border:1px solid #d9dee8;border-radius:8px;overflow-x:auto}.tenant-user-table{border-collapse:collapse;width:100%;min-width:980px}.tenant-user-table th,.tenant-user-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5e9f0;padding:12px}.tenant-user-table thead th{color:#334155;background:#f8fafc;font-size:.9rem}.tenant-user-table tbody tr:last-child th,.tenant-user-table tbody tr:last-child td{border-bottom:0}.tenant-user-table tbody th{overflow-wrap:anywhere;font-weight:600}.reminder-settings-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.reminder-settings-form label,.follow-up-form label,.follow-up-edit label{gap:6px;display:grid}.reminder-settings-form label>span,.follow-up-form label>span,.follow-up-edit label>span{color:#334155;font-size:.92rem;font-weight:700}.reminder-settings-form input,.follow-up-form input,.follow-up-edit input{color:#172033;border:1px solid #c9d2df;border-radius:6px;width:100%;min-height:40px;padding:9px 10px}.reminder-settings-form small{color:#536175}.master-data-create,.master-data-edit{gap:8px;display:grid}.master-data-create label,.master-data-edit label{color:#334155;font-size:.92rem;font-weight:700}.master-data-create>div,.master-data-edit>div,.master-data-actions{flex-wrap:wrap;gap:8px;display:flex}.master-data-create input,.master-data-edit input{border:1px solid #c9d2df;border-radius:6px;flex:260px;min-height:40px;padding:9px 10px}.master-data-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.master-data-list>li{border-top:1px solid #e4e8ef;justify-content:space-between;align-items:center;gap:14px;padding-top:12px;display:flex}.master-data-list .master-data-edit{width:100%}.dashboard-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:24px;display:grid}.dashboard-card{background:#fff;border:1px solid #d9dee8;border-radius:10px;gap:10px;min-height:120px;padding:18px;text-decoration:none;display:grid}.dashboard-card:hover,.dashboard-card:focus-visible{border-color:#7489a6;box-shadow:0 5px 16px #1720331a}.dashboard-card span{color:#536175;font-weight:700}.dashboard-card strong{align-self:end;font-size:2rem}.dashboard-card--overdue{border-color:#d98b8b}.dashboard-card--overdue strong{color:#a31d1d}.reminder-overview{background:#fff;border:1px solid #d9dee8;border-radius:10px;gap:16px;margin-top:24px;padding:20px;display:grid}.reminder-overview h3,.reminder-section h3,.reminder-overrides h4{margin:0 0 6px}.reminder-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.reminder-list>li{border:1px solid #d9dee8;border-left:4px solid #f59e0b;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.reminder-list>li>div:first-child{gap:4px;display:grid}.reminder-kind{color:#8a4b08;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.reminder-list time,.reminder-list small{color:#536175}.reminder-actions{flex-shrink:0;gap:8px;display:flex}.app-footer{color:#536175;background:#fff;border-top:1px solid #d9dee8;padding:12px 28px;font-size:.9rem}.logout-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #c5ccd8;border-radius:6px;padding:9px 14px}.logout-button:disabled{cursor:wait;opacity:.65}.session-actions{align-items:center;gap:18px;display:flex}.active-tenant{flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.active-tenant span,.active-tenant small{color:#536175}.active-tenant a{color:#1f6feb;font-size:.85rem}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #d9dee8;border-radius:10px;gap:18px;width:100%;max-width:420px;padding:32px;display:grid;box-shadow:0 12px 34px #1720331a}.login-card h1,.login-card p{margin:0}.login-card label{gap:7px;font-weight:600;display:grid}.login-card input{border:1px solid #c5ccd8;border-radius:6px;padding:10px 12px}.login-card button[type=submit]{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:6px;padding:11px 16px}.login-card button[type=submit]:disabled{cursor:wait;opacity:.65}.tenant-selection{gap:24px;display:grid}.tenant-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.tenant-list li{background:#fff;border:1px solid #d9dee8;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.tenant-list li div{gap:4px;display:grid}.tenant-list li span{color:#536175;font-size:.9rem}@media (width<=760px){.app-header,.session-actions{flex-direction:column;align-items:flex-start}.app-body{grid-template-columns:1fr}.app-nav{border-bottom:1px solid #d9dee8;border-right:0;flex-direction:row;overflow-x:auto}}.view-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:1px solid #0000;border-radius:6px;min-height:40px;padding:9px 14px}.primary-button{color:#fff;background:#1f6feb}.secondary-button{color:#263548;background:#fff;border-color:#c9d2df}.danger-button{color:#fff;background:#b42318}.modal-backdrop{z-index:20;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-panel{background:#fff;border-radius:8px;width:min(100%,520px);max-width:520px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 60px #0f172a38}.modal-header{border-bottom:1px solid #d9dee8;padding:18px 20px}.modal-header h3{margin:0;font-size:1.1rem}.modal-form{gap:14px;padding:20px;display:grid}.modal-form label{gap:6px;display:grid}.money-input{border:0;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:14px;min-width:0;margin:0;padding:0;display:grid}.money-input legend{color:#334155;margin-bottom:6px;padding:0;font-size:.92rem;font-weight:700}.money-input label{align-content:start}.payment-plan-input{border:1px solid #d9dee8;border-radius:8px;gap:14px;min-width:0;margin:0;padding:16px;display:grid}.payment-plan-input legend{color:#334155;padding:0 6px;font-size:.92rem;font-weight:700}.payment-plan-fields{gap:14px;display:grid}.assignment-fields{border:1px solid #d9dee8;border-radius:8px;gap:10px;min-width:0;margin:0;padding:16px;display:grid}.assignment-fields legend{color:#334155;padding:0 6px;font-size:.92rem;font-weight:700}.assignment-fields label{align-items:center;gap:9px;display:flex}.assignment-fields input[type=radio],.assignment-fields input[type=checkbox]{width:18px;min-height:18px}.assignment-user-list{border-left:3px solid #d9dee8;gap:8px;margin-left:8px;padding-left:14px;display:grid}.checkbox-field{align-items:center;gap:9px!important;display:flex!important}.checkbox-field input{width:18px!important;min-height:18px!important}.modal-form span{color:#334155;font-size:.92rem;font-weight:700}.modal-form input,.modal-form select,.modal-form textarea{color:#172033;border:1px solid #c9d2df;border-radius:6px;width:100%;min-height:40px;padding:9px 10px}.modal-form textarea{resize:vertical}.modal-form .field-error{border-color:#b42318;box-shadow:0 0 0 1px #b42318}.form-message,.form-error{margin:0;font-size:.9rem}.form-message{color:#536175}.form-error{color:#b42318}.load-error{place-items:flex-start start;gap:10px;display:grid}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.65}.data-table{border-collapse:collapse;width:100%;margin-top:20px}.table-wrapper{max-width:100%;overflow-x:auto}.table-wrapper:focus-visible{outline-offset:3px;outline:3px solid #1f6feb}.payment-plan-summary{gap:3px;min-width:130px;display:grid}.payment-plan-summary span{color:#536175;white-space:nowrap}.list-controls{flex-wrap:wrap;align-items:end;gap:12px;margin-top:20px;display:flex}.list-filter{gap:6px;width:100%;max-width:240px;display:grid}.list-filter span{color:#334155;font-size:.92rem;font-weight:700}.list-filter input,.list-filter select{color:#172033;border:1px solid #c9d2df;border-radius:6px;min-height:40px;padding:9px 10px}.list-filter select:disabled{color:#536175;cursor:not-allowed;background:#eef2f8}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d9dee8;padding:10px 12px}.data-table th{color:#263548;background:#eef2f8;font-size:.9rem}.data-table .money-cell{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.obligation-link{font-weight:700}.list-row-actions{gap:8px;min-width:190px;display:grid}.secondary-link{color:#263548;text-align:center;border:1px solid #c9d2df;border-radius:6px;justify-content:center;min-height:40px;padding:9px 14px;text-decoration:none;display:inline-flex}.secondary-link:hover,.secondary-link:focus-visible{background:#eef2f8;border-color:#7489a6}.detail-back-link{margin-bottom:20px;display:inline-block}.view-actions{gap:10px;display:flex}.obligation-details{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;max-width:none;margin:24px 0 0;display:grid}.obligation-details div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:1fr;gap:5px;min-width:0;padding:14px 16px;display:grid}.obligation-details .obligation-details__wide{grid-column:1/-1}.obligation-details dt{color:var(--color-muted);letter-spacing:.025em;text-transform:uppercase;font-size:.78rem;font-weight:700}.obligation-details dd{color:var(--color-ink);overflow-wrap:anywhere;margin:0}.detail-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;max-width:none;margin-top:24px;padding:clamp(18px,3vw,28px);display:grid}.detail-form>label{grid-column:span 4;gap:6px;min-width:0;display:grid}.detail-form>.detail-form__title{grid-column:span 8}.detail-form>.detail-form__wide,.detail-form>.payment-plan-input{grid-column:1/-1}.detail-form>.detail-form__duration{grid-column:span 2}.detail-form>.detail-form__link,.detail-form>.assignment-fields{grid-column:span 6}.detail-form>.money-input{grid-column:span 4}.detail-form label>span,.detail-readonly-field span{color:#334155;font-size:.92rem;font-weight:700}.detail-form input,.detail-form select,.detail-form textarea{color:#172033;border:1px solid #c9d2df;border-radius:6px;width:100%;min-height:40px;padding:9px 10px}.detail-form textarea{resize:vertical}.detail-form .field-error{border-color:#b42318;box-shadow:0 0 0 1px #b42318}.detail-description{white-space:pre-wrap}.detail-readonly-field{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-column:span 4;gap:6px;padding:12px 14px;display:grid}.detail-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.detail-form>.form-message,.detail-form>.form-error{grid-column:1/-1}@media (width<=1050px){.detail-form>label{grid-column:span 6}.detail-form>.detail-form__wide,.detail-form>.payment-plan-input{grid-column:1/-1}.detail-form>.detail-form__title,.detail-form>.money-input,.detail-form>.detail-form__link{grid-column:span 6}.detail-form>.detail-form__duration{grid-column:span 3}.detail-form>.assignment-fields{grid-column:1/-1}}@media (width<=700px){.detail-form{grid-template-columns:1fr}.detail-form>label,.detail-form>.detail-form__title,.detail-form>.detail-form__wide,.detail-form>.detail-form__duration,.detail-form>.detail-form__link,.detail-form>.money-input,.detail-form>.payment-plan-input,.detail-form>.assignment-fields,.detail-form>.detail-readonly-field{grid-column:1}}@media (width<=560px){.money-input{grid-template-columns:1fr}}.cancellation-section,.document-section,.credential-section,.reminder-section{border-top:1px solid #d9dee8;margin-top:32px;padding-top:24px}.cancellation-section h3,.cancellation-section p,.document-section h3,.document-section p,.credential-section h3,.credential-section p,.reminder-section h3,.reminder-section p{margin-top:0}.reminder-section{gap:16px;display:grid}.follow-up-form{grid-template-columns:minmax(150px,.7fr) minmax(220px,1.5fr) auto;align-items:end;gap:12px;display:grid}.follow-up-edit{grid-template-columns:minmax(150px,.7fr) minmax(220px,1.5fr) auto;align-items:end;gap:10px;width:100%;display:grid}.follow-up-edit>div{gap:8px;display:flex}.reminder-overrides{background:#f8fafc;border:1px solid #d9dee8;border-radius:8px;gap:14px;margin-top:8px;padding:18px;display:grid}.cancellation-details{gap:10px;max-width:520px;margin:18px 0;display:grid}.cancellation-details div{grid-template-columns:160px 1fr;gap:12px;display:grid}.cancellation-details dt{color:#536175;font-weight:700}.cancellation-details dd{margin:0}.cancellation-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;max-width:760px;margin-top:18px;display:grid}.cancellation-form label{gap:6px;display:grid}.cancellation-form label>span{color:#334155;font-size:.92rem;font-weight:700}.cancellation-form input{color:#172033;border:1px solid #c9d2df;border-radius:6px;width:100%;min-height:40px;padding:9px 10px}.cancellation-form input[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 1px #b42318}.workflow-reminder{background:#fff7ed;border-left:4px solid #f97316;max-width:520px;padding:10px 12px}.credential-list{gap:12px;margin-top:18px;display:grid}.credential-card{border:1px solid #d9dee8;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px;display:flex}.credential-card h4{margin:0 0 6px}.credential-card p{margin:6px 0}.credential-actions{flex-shrink:0;gap:8px;display:flex}.document-upload{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;max-width:760px;margin-top:18px;display:grid}.document-upload label{gap:6px;display:grid}.document-upload label>span{color:#334155;font-size:.92rem;font-weight:700}.document-upload input{color:#172033;border:1px solid #c9d2df;border-radius:6px;width:100%;min-height:40px;padding:7px 10px}.document-list{gap:12px;margin-top:18px;display:grid}.document-card{border:1px solid #d9dee8;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px;display:flex}.document-card h4{overflow-wrap:anywhere;margin:0 0 6px}.document-card p{color:#536175;margin:6px 0}.document-actions{flex-shrink:0;gap:8px;display:flex}.revealed-password{gap:14px;padding:20px;display:grid}.revealed-password p{margin:0}.revealed-password input{border:1px solid #c9d2df;border-radius:6px;width:100%;min-height:40px;padding:9px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.modal-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}@media (width<=760px){.app-header{gap:16px;padding:16px}.session-actions{gap:12px;width:100%}.active-tenant{align-items:flex-start}.logout-button{width:100%}.app-nav{gap:2px;padding:10px 14px}.app-nav a{flex:none}.app-content{padding:20px 14px}.view-header{flex-direction:column}.list-filter{max-width:none}.primary-button,.secondary-button,.danger-button{width:100%}.view-actions{flex-direction:column-reverse;width:100%}.modal-actions,.detail-actions{flex-direction:column-reverse}.credential-card{flex-direction:column}.credential-actions,.document-actions,.reminder-actions,.follow-up-edit>div{flex-direction:column;width:100%}.document-upload{grid-template-columns:1fr}.document-card{flex-direction:column}.reminder-list>li{flex-direction:column;align-items:stretch}.follow-up-form,.follow-up-edit{grid-template-columns:1fr}}.tenant-profile-section{background:#fff;border:1px solid #d9dee8;border-radius:10px;gap:1rem;padding:1.25rem;display:grid}.tenant-profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.tenant-profile-form label{gap:.35rem;display:grid}.tenant-profile-address,.tenant-profile-form button,.tenant-profile-form>p{grid-column:1/-1}@media (width<=700px){.tenant-profile-form{grid-template-columns:1fr}}:root{--color-ink:#18313f;--color-muted:#526575;--color-brand:#123247;--color-brand-strong:#0b2638;--color-accent:#0f766e;--color-accent-soft:#e7f3f0;--color-highlight:#f2a93b;--color-surface:#fff;--color-surface-muted:#f8faf8;--color-canvas:#f4f6f4;--color-border:#d9e1de;--color-danger:#b42318;--color-danger-soft:#fff1ef;--color-success:#126c46;--color-success-soft:#eaf7ef;--shadow-soft:0 8px 28px #12324714;--shadow-raised:0 18px 54px #12324729;--radius-sm:8px;--radius-md:12px;--radius-lg:18px}::selection{color:var(--color-brand-strong);background:#c7e7e1}:focus-visible{outline-offset:3px;outline:3px solid #0f766e61}.app-shell{color:var(--color-ink)}.app-header{border-bottom-color:var(--color-border);z-index:5;background:#fffffff0;min-height:88px;padding:16px clamp(18px,3vw,42px);position:relative;box-shadow:0 1px #12324708}.brand-link{border-radius:var(--radius-sm);color:inherit;text-decoration:none}.app-brand{align-items:center;gap:12px;min-width:0;display:inline-flex}.app-brand__mark{flex:none;width:48px;height:48px;display:block}.app-brand__copy{gap:1px;line-height:1.2;display:grid}.app-brand__copy strong{color:var(--color-brand);letter-spacing:-.02em;font-size:1.12rem}.app-brand__copy small{color:var(--color-muted);font-size:.78rem}.app-brand--compact{gap:8px}.app-brand--compact .app-brand__mark{width:28px;height:28px}.app-brand--compact .app-brand__copy strong{font-size:.92rem}.app-icon{flex:none;width:20px;height:20px;display:block}.session-actions{gap:14px}.session-user{flex-direction:column;justify-content:center;align-items:flex-end;line-height:1.2;display:flex}.session-user small,.session-user span{color:var(--color-muted);font-size:.72rem}.session-user strong{color:var(--color-brand);font-size:.9rem}.active-tenant{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;line-height:1.2;display:grid}.active-tenant>.app-icon{color:var(--color-accent)}.active-tenant__copy{gap:2px;display:grid}.active-tenant__copy small{color:var(--color-muted);font-size:.72rem}.active-tenant a{color:var(--color-accent);text-underline-offset:3px;font-weight:700;text-decoration-thickness:1px}.logout-button{border-color:var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:8px;min-height:42px;transition:background-color .16s,border-color .16s;display:inline-flex}.logout-button:hover:not(:disabled){background:var(--color-surface-muted);border-color:#aebdb8}.app-body{grid-template-columns:224px minmax(0,1fr)}.app-nav{background:var(--color-brand);border-right:0;gap:7px;padding:26px 18px}.app-nav a{color:#d9e7e7;border:1px solid #0000;border-radius:10px;align-items:center;gap:11px;min-height:46px;padding:11px 13px;transition:background-color .16s,color .16s,transform .16s;display:flex}.app-nav a:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.app-nav a.router-link-active{color:var(--color-brand);background:#fff;box-shadow:0 7px 22px #02121e2e}.app-content{padding:clamp(24px,4vw,48px)}.view-section{width:100%;max-width:1120px;margin-inline:auto}.view-section h2{color:var(--color-brand);letter-spacing:-.025em;font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.25}.view-section h3{color:var(--color-brand)}.view-section p{color:var(--color-muted)}.view-header{align-items:center;gap:24px}.app-footer{background:var(--color-surface);border-top-color:var(--color-border);justify-content:space-between;align-items:center;min-height:54px;padding:10px clamp(18px,3vw,42px);font-size:.82rem;display:flex}.primary-button,.secondary-button,.danger-button,.secondary-link{border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:42px;font-weight:700;transition:box-shadow .16s,transform .16s,background-color .16s;display:inline-flex}.primary-button{background:var(--color-accent)}.primary-button:hover:not(:disabled){background:#0b655f;transform:translateY(-1px);box-shadow:0 7px 18px #0f766e33}.secondary-button,.secondary-link{border-color:var(--color-border);color:var(--color-brand)}.danger-button{background:var(--color-danger)}.master-data-section,.tenant-user-section,.tenant-profile-section,.reminder-overview,.reminder-settings-section{border-color:var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.dashboard-summary{gap:16px}.dashboard-card{border-color:var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);min-height:132px;transition:box-shadow .16s,transform .16s;position:relative;overflow:hidden}.dashboard-card:after{background:var(--color-accent);content:"";border-radius:4px;height:5px;position:absolute;inset:auto 18px 0}.dashboard-card:hover,.dashboard-card:focus-visible{border-color:#9fbab5;transform:translateY(-2px);box-shadow:0 12px 32px #12324721}.dashboard-card--overdue:after{background:var(--color-danger)}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b263894}.modal-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);border:1px solid #ffffff59}.modal-header{background:var(--color-surface-muted);border-bottom-color:var(--color-border)}input,select,textarea{background:var(--color-surface)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:#9eb1ac}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #0f766e1f}.table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin-top:22px}.data-table{min-width:920px;margin-top:0}.data-table th{color:var(--color-brand);background:#edf3f1;padding-block:13px}.data-table td{border-bottom-color:#e7ecea;padding-block:13px}.data-table tbody tr:not(:only-child):hover{background:#fafcfb}.data-table tbody tr:only-child td[colspan]{color:var(--color-muted);text-align:center;padding:34px 18px;font-size:.94rem}.form-message[role=status],.form-message[aria-live],.load-error,.view-section>.form-error,.credential-section>.form-error,.document-section>.form-error,.reminder-section>.form-error{border-radius:var(--radius-sm);margin-top:16px;padding:12px 14px}.form-message[role=status],.form-message[aria-live]{background:var(--color-success-soft);color:var(--color-success);border:1px solid #b9ddc8}.load-error,.view-section>.form-error,.credential-section>.form-error,.document-section>.form-error,.reminder-section>.form-error{background:var(--color-danger-soft);border:1px solid #f2c4bf}.load-error .form-error{color:var(--color-danger)}.state-banner{border-radius:var(--radius-md);align-items:center;gap:10px;min-height:52px;margin-block:18px;padding:13px 15px;display:flex}.state-banner:before{border-radius:999px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:800;display:inline-flex}.state-banner--loading{color:var(--color-accent)!important;background:#edf6f5!important;border:1px solid #b9dcd8!important}.state-banner--loading:before{border:2px solid #a9d3cf;border-top-color:var(--color-accent);content:"";animation:.85s linear infinite state-spin}.state-banner--error{background:var(--color-danger-soft)!important;color:var(--color-danger)!important;border:1px solid #f2c4bf!important}.state-banner--error:before{background:var(--color-danger);color:#fff;content:"!"}.state-banner--empty{background:var(--color-surface-muted);color:var(--color-muted);border:1px dashed #b9c6c2}.state-banner--empty:before{color:var(--color-brand);content:"–";background:#e5ece9}.state-banner--empty h2,.state-banner--empty p{margin:0}.empty-state{background:var(--color-surface-muted)}@keyframes state-spin{to{transform:rotate(360deg)}}.login-page{background:linear-gradient(135deg, #123247f5, #0f5c58e6), var(--color-brand);min-height:100dvh;position:relative}.login-page:before,.login-page:after{content:"";pointer-events:none;border:1px solid #ffffff1f;border-radius:999px;position:fixed}.login-page:before{width:420px;height:420px;top:-180px;left:-220px}.login-page:after{width:520px;height:520px;bottom:-260px;right:-230px}.login-card{border-radius:var(--radius-lg);z-index:1;border:1px solid #ffffff85;gap:22px;max-width:450px;padding:clamp(26px,5vw,40px);position:relative;box-shadow:0 28px 70px #02121e47}.login-card__intro{gap:6px;display:grid}.login-card__intro h1{color:var(--color-brand);letter-spacing:-.02em;font-size:1.55rem}.login-card button[type=submit]{background:var(--color-accent);border-radius:var(--radius-sm);min-height:44px;font-weight:700}.tenant-list li,.credential-card,.document-card,.reminder-list>li,.payment-plan-input,.assignment-fields,.reminder-overrides{border-color:var(--color-border);border-radius:var(--radius-md)}@media (width<=920px){.app-body{grid-template-columns:1fr}.app-nav{border-bottom:1px solid var(--color-border);scrollbar-width:thin;z-index:4;flex-direction:row;padding:10px clamp(14px,3vw,28px);position:sticky;top:0;overflow-x:auto}.app-nav a{flex:none}.app-nav a:hover{transform:none}}@media (width<=760px){.app-header{align-items:stretch;gap:14px;min-height:auto}.session-actions{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.session-user{grid-column:1/-1;align-items:flex-start}.active-tenant{grid-template-columns:auto minmax(0,1fr)}.active-tenant a{grid-column:2}.logout-button{align-self:stretch;width:auto}.logout-button span{display:none}.app-nav a{min-height:42px;padding-block:9px}.app-content{padding:24px 16px 34px}.app-footer{flex-direction:column;align-items:flex-start;gap:6px}.view-header{align-items:stretch}.view-header>.primary-button{width:100%}}@media (width<=480px){.app-brand__copy small{display:none}.app-brand__mark{width:42px;height:42px}.app-nav{justify-content:space-between;padding-inline:8px}.app-nav a{flex-direction:column;flex:1 0 68px;gap:3px;padding:7px 5px;font-size:.7rem}.app-nav .app-icon{width:19px;height:19px}.active-tenant__copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.active-tenant strong{overflow-wrap:anywhere}.obligation-details div,.cancellation-details div{grid-template-columns:1fr;gap:4px}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:none;max-height:92dvh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.reminder-overrides-summary,.about-modal__facts{gap:0;margin:0;display:grid}.reminder-overrides-summary>div,.about-modal__facts>div{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(150px,1fr) minmax(0,1.4fr);align-items:baseline;gap:16px;padding:10px 0;display:grid}.reminder-overrides-summary>div:last-child,.about-modal__facts>div:last-child{border-bottom:0}.reminder-overrides-summary dt,.about-modal__facts dt{color:var(--color-muted);font-weight:700}.reminder-overrides-summary dd,.about-modal__facts dd{margin:0}.app-footer__meta{align-items:center;gap:18px;display:flex}.about-button,.about-modal__close{color:var(--color-accent);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:5px;font-weight:700;text-decoration:underline}.about-button:hover,.about-button:focus-visible{color:var(--color-brand)}.about-modal{width:min(100%,600px)}.about-modal__header{justify-content:space-between;align-items:center;display:flex}.about-modal__close{color:var(--color-brand);border-radius:50%;width:42px;height:42px;font-size:1.8rem;line-height:1;text-decoration:none}.about-modal__close:hover,.about-modal__close:focus-visible{background:var(--color-surface)}.about-modal__content{gap:22px;padding:24px;display:grid}.about-modal__content h2{color:var(--color-brand);margin:4px 0 8px}.about-modal__content p{margin:0}.about-modal__eyebrow{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.about-modal__release-note{background:var(--color-surface-muted);border-left:4px solid var(--color-highlight);border-radius:var(--radius-sm);padding:12px 14px}@media (width<=760px){.app-footer__meta{flex-direction:column;align-items:flex-start;gap:3px}}@media (width<=480px){.reminder-overrides-summary>div,.about-modal__facts>div{grid-template-columns:1fr;gap:4px}}
