/* Shared responsive workspace: keep fields usable instead of clipping content. */
.discussion{min-width:0;margin-top:24px}.discussion-message{border:1px solid #dfe5e3;border-radius:8px;padding:16px;margin:12px 0;background:#fff}.discussion-message.own{background:#f0f7f4}.discussion-message header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.discussion-message small{color:#60736b}.discussion-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.discussion-form textarea{width:100%;resize:vertical}.discussion-status{color:#a52a2a}.discussion-form{margin-top:20px}
.workspace,.workspace-content,#app,fieldset,.card,.field,.fields>*{min-width:0;min-inline-size:0}
.discussion-message header{position:static;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}.discussion-message header strong{font-size:14px}.discussion-status{color:#346759}.discussion-status[data-error]{color:#a52a2a}
.workspace h1,.workspace h2,.workspace h3,.workspace strong,.workspace small,.workspace a,.workspace code{overflow-wrap:anywhere}
.workspace input,.workspace select,.workspace textarea{max-width:100%}
.workspace input,.workspace select,.workspace textarea{scroll-margin-top:90px}
.nav-close,.mobile-scrim{display:none}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
dialog .dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
dialog .dialog-heading h2{min-width:0}
dialog .dialog-heading button{flex:none}
@media(max-width:800px){
 .navigation{width:min(300px,calc(100vw - 56px));padding:64px 16px 24px;display:flex;flex-direction:column;gap:8px;box-shadow:none;overscroll-behavior:contain;visibility:hidden}
 .menu-open{overflow:hidden}.menu-open .navigation{visibility:visible;box-shadow:12px 0 30px #17353b33}
 .navigation .sidebar-account{position:static;width:100%;margin-top:auto;padding:20px 8px 0;flex-shrink:0}
 .navigation .draft-list{max-height:none;overflow:visible}.navigation .nav-label{margin-top:16px}
 .nav-close{display:grid;place-items:center;position:absolute;right:16px;top:12px;width:44px;height:44px;padding:0;font-size:26px}
 .mobile-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:19;background:#15333e66;border:0;border-radius:0;padding:0;width:100%;height:100dvh}
 .workspace .topbar{position:sticky;top:0;z-index:15;min-height:64px;padding:10px 12px}
 #mobile-menu{min-width:44px;min-height:44px}.topbar #account{min-width:0;gap:8px}.dev-switch{min-width:0}.dev-switch select{min-width:0;max-width:150px}
 .workspace button,.workspace .button,.navigation nav a,.navigation nav button{min-height:44px}
 .workspace input:not([type=checkbox]):not([type=radio]),.workspace select,.workspace textarea,dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea{font-size:16px}
 .navigation .sidebar-trash{min-width:44px;min-height:44px!important}.application-row .application{padding-right:48px!important}
 .workspace-content{padding:24px 16px 40px}.workspace footer{gap:12px;flex-wrap:wrap;overflow-wrap:anywhere}
 .case-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:16px 8px;overflow:visible}
 .case-steps li{min-width:0;flex-direction:column;align-items:center;gap:8px;text-align:center}.case-steps li:not(:last-child)::after{display:none}.case-steps li small{font-size:11px;line-height:1.35;overflow-wrap:normal}
 .stage-heading,.section-title{flex-wrap:wrap;gap:12px}.stage-status{white-space:normal;max-width:100%}
 .case-aside,.fields,.identity-grid{grid-template-columns:minmax(0,1fr)}
 .task-card,.presentation-panel,.revision-item,.rubric-item{padding:16px}.revision-item header{flex-wrap:nowrap}.revision-item header strong{min-width:0}
 .proof-file{flex-wrap:wrap}.proof-file>div{min-width:0;flex-basis:70%}.proof-file a{margin-left:0;min-height:44px;display:inline-flex;align-items:center}
 .reviewer-grid article{flex-wrap:wrap}.reviewer-grid article>div{min-width:0}.decision-document{grid-template-columns:40px minmax(0,1fr)}.decision-document-icon{width:40px;height:40px}.decision-document-actions{grid-column:1/-1;justify-content:flex-start}
 .decision-document-actions .button{flex:1;text-align:center;white-space:normal}
 .upload-zone{padding:18px 12px}.document input{padding:12px 8px}.document input::file-selector-button{max-width:100%;white-space:normal;min-height:44px}
 .actions{gap:10px}.actions>button,.actions>.button{flex:1 1 140px;text-align:center}.actions>.saved,.actions>.working-status{flex-basis:100%}
 .case-details-dialog,.action-dialog,#admin-dialog{width:calc(100vw - 24px);padding:18px;margin:auto}.case-details-dialog form{max-height:none;overflow:visible}
 .case-tabs{scroll-padding:16px;overscroll-behavior-x:contain}.case-tabs button{min-height:48px}
}
@media(max-width:700px){
 #app .mobile-table{display:block;min-width:0;width:100%;border:0;overflow:visible}
 #app .mobile-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #app .mobile-table tbody{display:grid;gap:14px;width:100%}
 #app .mobile-table tr{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}
 #app .mobile-table td,#app .mobile-table tbody th{display:block;width:100%!important;min-width:0;padding:8px 0;border:0;text-align:left;overflow-wrap:anywhere;background:transparent}
 #app .mobile-table td::before,#app .mobile-table tbody th::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#6b7f76;margin-bottom:5px;text-transform:none;letter-spacing:0}
 #app .mobile-table .table-empty::before{display:none}
 #app .mobile-table td input,#app .mobile-table td select{min-width:0;width:100%}
 #app .mobile-table .input-action input{width:0;flex:1;min-width:0}
 #app .mobile-table .row-action{display:flex;justify-content:flex-end;align-items:center;gap:10px}
 #app .mobile-table .row-action::before{display:none}.settings-card td{min-width:0}
 #app .queue-table td:nth-child(2),#app .queue-table td:nth-child(3){margin-right:0}
 #app .queue-table td:last-child button{width:100%}
 #app .table-scroll{overflow:visible}.compact-actions button{min-height:44px;padding:8px 10px}
 .admin-filters{display:grid;grid-template-columns:1fr 1fr}.admin-filters input,.admin-filters select{grid-column:1/-1;width:100%}.metric-row{flex-wrap:wrap;gap:8px}
}
@media(max-width:420px){
 .case-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}
 .workspace-content{padding:20px 12px 32px}.card,.wizard-card{padding:16px}.case-main{padding:0}.case-body{padding:16px}
 .topbar .dev-switch{font-size:0;gap:0}.dev-switch select{font-size:14px!important;max-width:145px}.topbar #account>button{padding:8px 10px}
 h1{font-size:25px;letter-spacing:-.5px}.invoice-card,.deadline-grid,.review-grid,.mode-grid{grid-template-columns:minmax(0,1fr)}
 .invoice-card,.deadline-grid{padding:12px;gap:12px}.invoice-card>div{padding:12px}.review-group,fieldset{padding:14px}.review-group legend span{display:block;margin-left:0}
 .steps{gap:8px}.steps li{min-width:0;font-size:11px}.case-tabs{padding:0 16px}
 .new-actions{flex-wrap:wrap}.new-actions button{flex:1}.rubric-item{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.workspace *,.navigation{scroll-behavior:auto;transition:none}}

@media(max-width:800px){body.login-page .workspace .topbar{position:static;min-height:78px;padding:0 18px;flex-wrap:nowrap}body.login-page .login-brand{gap:10px}body.login-page .login-brand img{width:44px;height:44px}body.login-page .login-brand strong{font-size:14px}body.login-page .login-brand small{font-size:12px}body.login-page .workspace-content{width:calc(100% - 36px);padding:32px 0 48px}body.login-page .workspace>footer{padding:22px 18px;display:block}}
@media(max-width:420px){body.login-page .login-brand small{display:none}body.login-page .login-brand img{width:40px;height:40px}}
@media(max-width:500px){body.login-page .provider-actions{align-items:stretch;flex-direction:column}body.login-page .login-provider{width:100%}}
