/* One document scroll area; tables and pipeline lanes wrap within the viewport. */
[hidden]{display:none!important}
.app{grid-template-columns:210px minmax(0,1fr)}
.app>div,.content,.panel,.grid-even>*,.grid2>*,.row>*{min-width:0}
.sidebar{position:sticky;top:0;height:auto;min-height:100dvh;align-self:start;padding:18px 14px}
.brand{display:flex;justify-content:center;padding:0}
.brand-logo{display:block;width:96px;height:96px;border-radius:50%;object-fit:contain}
.mobile-logo{display:none}
.nav-caption{margin-top:14px}
.nav button{padding:9px 12px}
.content{max-width:1600px;width:100%;padding:26px 24px 40px}
.topbar{padding:12px 24px;height:auto;min-height:76px;flex-wrap:wrap}
.topbar form{flex:1;max-width:340px}
.topbar input{width:100%}
.topbar .row{justify-content:flex-end}
.menu-toggle{display:none}
.table-wrap{overflow:visible}
table{width:100%;table-layout:fixed;white-space:normal}
td,th{padding:12px 10px;overflow-wrap:anywhere;vertical-align:top}
td .row{gap:6px}
td input[type=checkbox]{width:18px;height:18px}
td button.link{max-width:100%}
.candidate-table th:last-child{width:12%}
.candidate-table th:nth-last-child(2){width:16%}
.candidate-table table:has(tbody input[type=checkbox]) th:first-child{width:5%}
.candidate-table table:has(tbody input[type=checkbox]) th:nth-child(2){width:20%}
.candidate-actions{display:flex;flex-wrap:wrap;gap:6px}
.candidate-skills{min-width:0}
.skills-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;line-height:1.45;max-height:4.35em;overflow:hidden;overflow-wrap:anywhere}
.candidate-skills .link{margin-top:5px}
.candidate-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;max-width:100%;min-width:0}
.candidate-tags .badge{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.candidate-table td .row>span:last-child{min-width:0}
.badge{white-space:normal;overflow-wrap:anywhere}
.kanban{grid-template-columns:repeat(auto-fit,minmax(min(225px,100%),1fr));overflow:visible;align-items:start}
.lane{min-height:180px}
.application .name,.application p{overflow-wrap:anywhere}
.bars{min-width:0}
.client-grid{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}
.grid2,.grid-even{grid-template-columns:repeat(2,minmax(0,1fr))}
.heading,.panel-head,.task{flex-wrap:wrap}
.heading .row{justify-content:flex-end}
.heading>div:first-child{flex:1;min-width:220px}
.row{max-width:100%}
.record-actions{display:inline-flex;gap:6px;margin:4px 0}
.danger{color:#a32929;border-color:#e9c4c4}
.resume-link,.resume-download{display:block;overflow-wrap:anywhere}
.resume-download{font-size:11px;margin-top:5px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.permission-grid fieldset{border:1px solid var(--line);border-radius:8px;margin:0;min-width:0;padding:12px}
.permission-grid legend{font-weight:600;padding:0 5px}
.permission-actions{display:flex;gap:10px;flex-wrap:wrap}
.permission-actions label,.assignment-list label{display:flex;align-items:center;gap:7px;color:var(--ink)}
.permission-actions input,.assignment-list input{width:17px;height:17px;flex-shrink:0}
.assignment-list{display:grid;gap:15px;margin:20px 0}
.assignment-list label{flex-wrap:wrap}
.form-error{color:#a32929;margin-top:12px}
.form-grid input,.form-grid select{width:100%}
.resume-text{margin-top:20px}
.resume-text summary{cursor:pointer;color:var(--teal)}
.resume-text pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:15px}
.resume-import-actions{margin-top:20px}
.import-tabs{margin-bottom:20px}
.drop input{width:100%;max-width:440px}
.modal-foot{flex-wrap:wrap}
dialog{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 32px)}
@media(max-width:1200px){
 .app{grid-template-columns:180px minmax(0,1fr)}
 .content{padding:22px 18px}
 .topbar{padding:12px 18px}
 .grid2{grid-template-columns:1fr}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .avatar{display:none}
}
@media(max-width:900px){
 .app{display:block}
 .sidebar{display:none;position:static;height:auto;min-height:0;padding:12px}
 .mobile-logo{display:block;flex-shrink:0;border-radius:50%;object-fit:contain}
 .nav-open .sidebar{display:block}
 .brand,.brand-sub,.nav-caption,.sidebar-foot{display:none}
 .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:4px}
 .nav button{white-space:normal;width:100%;margin:0}
 .menu-toggle{display:inline-block;flex-shrink:0}
 .topbar{gap:10px;padding:12px}
 .topbar form{max-width:none;flex:1;min-width:160px}
 .topbar .user-name{display:none}
 .content{padding:20px 12px 32px}
 .heading{gap:12px;margin-bottom:18px}
 .heading .row{justify-content:flex-start}
 .grid-even,.grid2,.permission-grid{grid-template-columns:1fr}
 .panel{overflow:visible}
 table,thead,tbody,tr,td{display:block;width:100%}
 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 tbody tr{padding:12px;border-bottom:1px solid var(--line)}
 tbody tr:last-child{border-bottom:0}
 td{display:grid;grid-template-columns:minmax(105px,32%) minmax(0,1fr);gap:6px 10px;padding:6px 0;border:0;align-items:start}
 td::before{content:attr(data-label);grid-column:1;grid-row:1 / span 8;color:var(--muted);font-size:11px;font-weight:600}
 td>*{grid-column:2;min-width:0}
 td[colspan]{display:block;text-align:center}
 td[colspan]::before{display:none}
 .role-perms{min-width:0}
 .form-grid{grid-template-columns:1fr}
 .span2{grid-column:auto}
 .panel-head{padding:14px}
 .pad{padding:14px}
 .drop{padding:18px 12px}
 dialog .body,dialog header,.modal-foot{padding:16px}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .toolbar input{min-width:0;width:100%;flex-basis:100%}
 .toolbar select{max-width:100%}
 .bars{gap:5px;padding-left:6px;padding-right:6px}
 .bar-item small{font-size:9px}
}
@media(max-width:420px){
 .topbar .row{width:100%;justify-content:flex-end}
 h1{font-size:23px}
 .stat{padding:13px}
 .stat strong{font-size:26px}
 .nav{grid-template-columns:1fr}
 td{grid-template-columns:minmax(90px,30%) minmax(0,1fr)}
 .heading>div:first-child{min-width:0}
 .heading .row{width:100%}
 .heading .row button{flex:1}
}
