/* Shared typography contract; loaded after shell and module styles. */
:root{--tks-font-body:16px;--tks-font-menu:16px;--tks-font-label:16px;--tks-font-control:16px;--tks-font-table:14px;--tks-font-caption:14px;--tks-font-title:30px}
body{font-size:var(--tks-font-body)}
.sidebar .nav-item,.sidebar .logout-button{font-size:var(--tks-font-menu);white-space:normal;line-height:1.4}
.sidebar .nav-item>span,.user-copy{min-width:0;overflow-wrap:anywhere}
.form-label,.filter-primary .form-label,.house-form-section .form-label{font-size:var(--tks-font-label)}
.form-control,.form-select,.btn,.show-password,.page-link,.filter-primary .form-control,.filter-primary .form-select,.filter-secondary .form-select,.house-form-section .form-control,.house-form-section .form-select,.page-heading>.btn,.row-actions .btn,.house-form-actions .btn{font-size:var(--tks-font-control)}
.form-control::placeholder,.filter-primary .form-control::placeholder{font-size:var(--tks-font-control)}
table,.house-table,.house-table th,.house-table td,.house-table :is(small,strong,time,.house-id,.house-address,.location-name,.count-badge,.member-count){font-size:var(--tks-font-table)}
.page-heading h1,.login-form-wrap h2{font-size:var(--tks-font-title)}
.page-description,.alert,.form-text,.login-help,.secure-note{font-size:var(--tks-font-caption)}
.login-top,.login-footer,.page-heading,.topbar{gap:12px;flex-wrap:wrap}
.environment-badge{white-space:normal;line-height:1.5}
.filter-primary>*,.login-panel,.login-story,.workspace{min-width:0}
.house-facts>div{grid-template-columns:minmax(0,36%) minmax(0,1fr)}
@media(max-width:767.98px){:root{--tks-font-title:28px}.login-top,.login-footer{align-items:flex-start}.topbar{height:auto;min-height:65px;padding-top:12px;padding-bottom:12px}.filter-secondary{flex-wrap:wrap}.house-pagination{flex-wrap:wrap}}
@media(max-width:479.98px){.house-facts>div{grid-template-columns:1fr}.login-panel{padding-left:24px;padding-right:24px}}
