/* Shared, readable layouts for desktop, tablet and phone screens. */
.commitment-document-preview{overflow-wrap:anywhere;line-height:1.9}
.commitment-document-preview p{margin:0 0 1em;white-space:pre-wrap}
.commitment-document-preview .table-wrap{max-width:100%;overflow-x:auto;margin:20px 0}
.commitment-document-preview table{width:100%;border-collapse:collapse;table-layout:fixed}
.commitment-document-preview td{border:1px solid #dce7ec;padding:12px;vertical-align:top;white-space:normal;overflow-wrap:anywhere}
.commitment-document-preview td p:last-child{margin-bottom:0}
.button-group{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.form-actions>.small{overflow-wrap:anywhere;min-width:0}
@media(max-width:580px){.button-group{width:100%}.button-group .button{flex:1 1 130px;width:auto}.commitment-document-preview td{padding:8px}}
:root{--muted:#657987;--canvas:#f6f8fa;--line:#e1e8ed}
body{font-size:15px;line-height:1.75}
.main-content{max-width:1480px}
.page-heading .eyebrow{display:none}
.page-heading h1{font-size:30px;letter-spacing:-.5px}
.page-heading p,.card-heading p,.detail-actions .card-heading p{font-size:13px;line-height:1.85}
.card{box-shadow:0 2px 6px #18334303}
.card-heading h2,.detail-actions .card-heading h2{font-size:18px}
.card-heading>div,.number-heading>div,.request-list article{min-width:0}
.card-heading,.list-row{flex-wrap:wrap}
.list-row>h3,.list-row>strong{min-width:0;flex:1 1 160px;overflow-wrap:anywhere}
.list-row>.badge{flex-shrink:0}
.timeline .list-row>strong{flex:0 1 auto}
.card-heading .number-heading{flex:1 1 240px}
.nav-link{font-size:14px;min-height:44px}
.nav-number{font-size:11px}
.topbar{font-size:13px}
.profile-info strong{font-size:13px}
.profile-info small,.sidebar-note p{font-size:12px}
.button,.button-small,.face-actions .button,.welcome-banner .button{font-size:14px;min-height:44px;padding:11px 17px;white-space:normal;text-align:center}
.button-text{min-height:44px}
.icon-button{width:44px;height:44px}
.field label,.auth-form .field label,.detail-actions .field label{font-size:14px;line-height:1.6;flex-wrap:wrap}
.field input:not([type="checkbox"]),.field select,.field textarea,.auth-form .field input,.detail-actions .field input,.detail-actions .field select,.detail-actions .field textarea,.inline-form input,.search-form input{font-size:14px;min-height:46px;padding:11px 13px;border-radius:8px}
.field input::placeholder,.field textarea::placeholder,.inline-form input::placeholder,.search-form input::placeholder{font-size:13px;color:#8799a5}
.field small,.auth-form .field small,.field .optional,.form-actions .small,.detail-actions .field small{font-size:12px;line-height:1.8;color:#6d808e}
.field small.password-invalid{color:var(--red)}
.checkbox-label,.checkbox-label.small,.privacy-details{font-size:13px}
.checkbox-label{min-height:40px;align-items:flex-start;padding:5px 0}
.checkbox-label input{width:18px;height:18px;flex:0 0 18px}
.form-stack{gap:21px}
.field input[type="file"],.detail-actions .field input[type="file"]{font-size:13px;padding:6px;min-height:46px;max-width:100%}
.field input[type="file"]::file-selector-button{min-height:32px}
.form-actions{gap:16px}
.small,small,.pill,.badge,.detail-grid dd .badge{font-size:12px}
.notice-strip,.inline-empty,.empty-state p,.request-list article>p,.request-list article>small,.checklist p,.admin-guide p,.service-tags span{font-size:13px;line-height:1.85}
.checklist strong,.admin-guide strong,.list-row strong,.list-row h3,.empty-state h3{font-size:14px}
.list-row small,.list-row a,.list-row time,.request-list article>small{font-size:12px}
.section-jumps{gap:8px;scrollbar-width:thin}
.section-jumps a{font-size:13px;min-height:42px;padding:9px 13px}
.section-number{font-size:13px}
.required-note,.sms-heading p,.sms-forms+.small{font-size:12px}
.sms-heading h3,.upload-card-heading h3,.face-panel h3,.provider-heading h3{font-size:15px}
.sms-heading{align-items:flex-start;flex-wrap:wrap}
.upload-card>p,.file-input-label small,.file-feedback,.face-panel small,.attachment-copy small,.attachment-action,.attachment-note{font-size:12px}
.file-input-label{min-height:116px}
.file-input-label strong,.attachment-copy strong{font-size:13px}
.face-panel p,.order-description,.order-card-title p,.settings-provider>.small,.settings-form>.card>.small{font-size:13px}
.face-panel>div:not(.face-actions){min-width:0}
.order-card-title h3{font-size:14px;overflow-wrap:anywhere}
.order-card-title{flex-wrap:wrap}
.order-card-title>div{min-width:0;flex:1}
.subsection-title{font-size:15px}
.detail-grid dt{font-size:12px;color:#728592}
.detail-grid dd{font-size:14px;line-height:1.8}
.settings-provider{background:#fafcfd}
.provider-heading .small{font-size:11px;letter-spacing:.4px}
.provider-symbol{display:none}
.table-wrap{overscroll-behavior-x:contain;scrollbar-width:thin}
.table-scroll-hint{font-size:12px;color:#667d8c;line-height:1.7;margin:0 0 10px}
.table-scroll-hint[hidden]{display:none}
.table-wrap:focus-visible{outline:2px solid #67a89e;outline-offset:4px;border-radius:4px}
details>summary{cursor:pointer;min-height:44px;padding-top:10px;padding-bottom:10px;font-size:13px}
.table-wrap table{min-width:640px;font-size:13px}
.table-wrap .update-history-table{min-width:760px}
th{font-size:12px;padding:13px 16px;color:#6c808f}
td{font-size:13px;padding:15px 16px;vertical-align:top}
td strong,td .muted,td.muted,td .badge,.table-action{font-size:12px}
.table-action{display:inline-flex;min-height:40px;align-items:center}
.table-user small{font-size:11px}
.pagination .small,.pagination .button{font-size:12px}
.metric-label,.metric-card small{font-size:12px;color:#728493}
.metric-value{font-size:34px}
.process-steps strong{font-size:13px}
.process-steps small{font-size:12px;color:#768a98}
.welcome-banner{min-height:190px}
.welcome-banner p,.welcome-banner .overline,.waiting-label{font-size:13px}
.workspace-footer,.guest-footer,.guest-footer a{font-size:12px;flex-wrap:wrap}
.auth-card{box-shadow:0 10px 32px #1c3a4a08}
.auth-card>.muted,.auth-footnote,.auth-switch{font-size:13px;color:#697f8e}
.auth-form>.button{min-height:48px}
.auth-description{font-size:15px}
.auth-journey strong{font-size:14px}
.auth-journey small{font-size:13px;color:#758996}
.auth-seal{display:none}
.captcha-row{min-width:0}
.captcha-row>input{flex:1 1 0;width:0;min-width:0}
.captcha-button{min-height:46px;flex-shrink:0}
.auth-footnote{align-items:flex-start}
.error-card{max-width:720px;margin:0 auto}
.error-card p{font-size:15px;overflow-wrap:anywhere}
.card [data-face-handoff]{margin-top:22px;margin-right:12px}
@media(max-width:1100px){
    .admin-detail-grid{grid-template-columns:minmax(0,1fr)}
    .detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
    .two-columns{grid-template-columns:minmax(0,1fr)}
    .face-actions{margin-left:0}
}
@media(max-width:780px){
    .sidebar{grid-template-columns:minmax(0,1fr) auto;padding:17px 20px 10px}
    .sidebar .brand strong{font-size:15px}
    .sidebar .brand small{display:none}
    .profile-block{gap:6px;max-width:124px}
    .profile-info{display:none}
    .side-nav{min-width:0;max-width:100%;gap:6px;padding-top:10px;padding-bottom:3px;scrollbar-width:thin}
    .nav-link{flex:0 0 auto;min-width:86px;justify-content:center;min-height:44px;padding:10px 14px;font-size:14px}
    .nav-number,.nav-arrow{display:none}
    .topbar{height:53px;padding:0 20px;font-size:12px}
    .topbar-status{display:none}
    .main-content{padding:24px 20px 32px}
    .page-heading h1{font-size:27px}
    .card{padding:23px;border-radius:12px}
    .field input:not([type="checkbox"]),.field select,.field textarea,.auth-form .field input,.detail-actions .field input,.detail-actions .field select,.detail-actions .field textarea,.inline-form input,.search-form input{font-size:16px;min-height:48px}
    .field input[type="file"],.detail-actions .field input[type="file"]{font-size:13px}
    .button,.button-small,.face-actions .button{min-height:46px}
    .auth-shell{width:100%;max-width:480px}
    .auth-card{padding:28px}
    .auth-card h2{font-size:26px}
    .guest-header{padding:22px}
    .guest-main{padding:12px 20px 28px}
    .guest-header-label{display:none}
    .face-panel{flex-wrap:wrap}
    .face-panel>div:not(.face-actions){min-width:160px}
}
@media(max-width:580px){
    .main-content{padding:22px 14px 28px}
    .sidebar{padding:14px 16px 9px}
    .sidebar .brand strong{font-size:14px}
    .sidebar .brand-mark{flex:0 0 29px}
    .topbar{padding:0 16px}
    .page-heading{flex-wrap:wrap;gap:12px;margin-bottom:20px}
    .page-heading h1{font-size:26px}
    .page-heading p{font-size:13px}
    .page-heading>.button{font-size:13px;max-width:100%}
    .page-heading>.badge{font-size:12px}
    .card{padding:21px 18px;margin-bottom:17px}
    .card-heading{gap:13px;margin-bottom:21px}
    .card-heading h2,.detail-actions .card-heading h2{font-size:18px}
    .card-heading p,.detail-actions .card-heading p{font-size:13px}
    .card-heading .number-heading{flex-basis:100%}
    .required-note{margin-left:0}
    .form-grid,.upload-grid,.detail-actions{grid-template-columns:minmax(0,1fr)}
    .form-grid{gap:21px}
    .form-actions{align-items:stretch;gap:14px}
    .form-actions>form,.form-actions>.button,.submit-panel form>.button{width:100%}
    .form-actions .small{font-size:12px}
    .sms-panel{padding:17px 14px}
    .sms-forms,.sms-forms>form{width:100%}
    .inline-form{min-width:0;gap:8px}
    .inline-form input{min-width:0;max-width:none;flex:1 1 0}
    .inline-form>.button{flex:0 0 auto;padding:11px 12px;font-size:13px}
    .face-actions{width:100%;margin-left:0;gap:8px;align-items:stretch}
    .face-actions form{flex:1;min-width:130px}
    .face-actions .button{width:100%;font-size:13px}
    .face-panel p{font-size:13px}
    .face-panel small{font-size:12px}
    .upload-card{padding:17px}
    .upload-card-heading{flex-wrap:wrap}
    .upload-card>p{font-size:12px;min-height:0}
    .upload-form>.button{width:100%}
    .order-card{padding:17px 14px}
    .order-card-title h3{font-size:14px}
    .order-card-title p,.order-description{font-size:13px}
    .order-card-title .badge{font-size:11px}
    .detail-grid{grid-template-columns:minmax(0,1fr);gap:18px}
    .detail-grid .span-two{grid-column:auto}
    .detail-actions .card{padding:21px 18px}
    .detail-grid dt{font-size:12px}
    .detail-grid dd{font-size:14px}
    .metric-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
    .metric-card{padding:18px 16px}
    .metric-label,.metric-card small{font-size:12px}
    .metric-value{font-size:31px}
    .metric-value.text .badge{font-size:12px}
    .process-steps strong{font-size:12px}
    .process-steps small{font-size:11px;max-width:70px}
    .welcome-banner{padding:25px 22px;min-height:190px}
    .welcome-banner h2{font-size:22px;max-width:100%;line-height:1.65}
    .welcome-banner p{font-size:13px;max-width:100%}
    .banner-symbol{display:none}
    .submit-panel h2{font-size:18px}
    .submit-panel p{font-size:13px}
    .auth-card{padding:25px 20px}
    .auth-card>.muted{font-size:13px}
    .auth-form{gap:21px}
    .auth-footnote{font-size:12px}
    .captcha-button{flex-basis:112px}
    .captcha-button img{width:112px}
    .guest-main{padding:10px 14px 26px}
    .guest-header{padding:20px 18px}
    .guest-footer{padding:18px;gap:10px}
    .workspace-footer{padding:18px 16px;gap:8px}
    .settings-provider{padding:18px 13px}
    .settings-form .submit-panel .button{width:100%}
    .list-row .badge{font-size:11px}
    .error-card{padding:32px 10px}
    .error-card h1{font-size:24px}
    .error-card p{font-size:14px}
    .card [data-face-handoff]{width:100%;margin-right:0}
}
@media(max-width:359px){
    .sidebar .brand-mark{display:none}
    .sidebar .brand strong{font-size:14px}
    .profile-block .avatar{display:none}
    .card,.detail-actions .card{padding:19px 15px}
    .card-heading h2{font-size:17px}
    .process-steps small{display:none}
    .metric-grid.four{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
    .captcha-row{flex-wrap:wrap}
    .captcha-row>input{flex:1 1 100%;width:100%}
    .captcha-button{flex-basis:140px}
    .captcha-button img{width:140px}
    .inline-form{flex-wrap:wrap}
    .inline-form input{flex-basis:100%}
    .inline-form>.button{width:100%!important}
}
