:root{
    --bb-blue:#164b7a;
    --bb-light:#f4f7fa;
    --bb-compact-font-size:14px;
}

html{font-size:var(--bb-compact-font-size)}
body{background:var(--bb-light);color:#263442;line-height:1.42}

/* Wspolne elementy interfejsu */
.navbar{--bs-navbar-padding-y:.38rem}
.navbar-brand{font-size:1.08rem}
.navbar-nav{gap:.1rem}
.nav-link{padding-top:.4rem;padding-bottom:.4rem}
.brand-mark{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:.5rem;background:var(--bb-blue);color:#fff;font-size:.76rem}
.card{border:0;box-shadow:0 .2rem .8rem rgba(30,55,80,.08)}
.card-header,.card-footer{padding:.7rem 1rem}
.card-body{padding:1rem}
.auth-card{max-width:420px;margin:4vh auto}
.auth-card .card-body{padding:1.6rem!important}
.btn{--bs-btn-padding-y:.32rem;--bs-btn-padding-x:.68rem;--bs-btn-font-size:.9rem;--bs-btn-line-height:1.35}
.btn-sm{--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.48rem;--bs-btn-font-size:.8rem}
.btn-lg{--bs-btn-padding-y:.48rem;--bs-btn-padding-x:.85rem;--bs-btn-font-size:1rem}
.btn-group-sm>.btn{--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.48rem;--bs-btn-font-size:.8rem}
.form-label{font-weight:600;margin-bottom:.28rem}
.form-control,.form-select{min-height:calc(1.4em + .62rem + 2px);padding:.31rem .62rem;font-size:.9rem}
textarea.form-control{min-height:5rem}
.form-control-lg,.form-select-lg{min-height:calc(1.4em + .8rem + 2px);padding:.4rem .72rem;font-size:1rem}
.form-text{margin-top:.2rem;font-size:.76rem}
.input-group-text{padding:.31rem .62rem;font-size:.9rem}
.table{--bs-table-cell-padding-y:.48rem;--bs-table-cell-padding-x:.7rem;font-size:.9rem}
.table>:not(caption)>*>*{padding:.48rem .7rem}
.table-sm>:not(caption)>*>*{padding:.3rem .5rem}
.table thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#607589;white-space:nowrap}
.badge{font-size:.72em}
.alert{padding:.65rem .85rem;margin-bottom:.85rem}
.alert .btn-close{padding:.8rem}
.dropdown-menu{font-size:.9rem}
.modal-header{padding:.7rem 1rem}
.modal-footer{padding:.6rem 1rem}
.modal-title{font-size:1.05rem!important}
.modal-xl{--bs-modal-width:1040px}
.status{display:inline-block;font-size:.72rem;padding:.24rem .45rem;border-radius:2rem;background:#e8eef4}
.wm-field-inactive{opacity:.62}
.wm-field-inactive textarea{background:#eef1f4}
.wm-attachments-panel{padding:.85rem;border:1px solid #dfe7ee;border-radius:.6rem;background:#fbfcfd}
.wm-attachments-panel{scroll-margin-top:4.75rem}
.wm-attachment-list{min-width:980px}
.wm-attachment-list td:first-child{max-width:28rem;overflow-wrap:anywhere}
.wm-selected-files{padding:.7rem .8rem;border:1px solid #b9d8c3;border-radius:.5rem;background:#f3fbf5}
.wm-selected-files .list-group-item{background:transparent}
.step-dot{width:1.7rem;height:1.7rem;border-radius:50%;display:inline-grid;place-items:center;background:#dce6ef;color:#496276;font-size:.78rem}
.step-dot.active{background:var(--bb-blue);color:white}

/* Administracja i historia */
.admin-section{scroll-margin-top:4.75rem}
.admin-description{max-width:32rem}
.admin-form-card{max-width:900px}
.history-table{min-width:900px}
.history-details>div{display:flex;gap:.3rem;line-height:1.3}
.history-details dt{font-weight:600}
.history-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.admin-dialog-content{overflow:hidden}
.admin-dialog-frame{display:block;width:100%;height:min(76vh,760px);border:0;background:var(--bb-light)}
.history-dialog-content{overflow:hidden}
.history-dialog-frame{display:block;width:100%;height:min(80vh,820px);border:0;background:var(--bb-light)}
.wm-print-dialog-content{overflow:hidden}
.wm-print-dialog-frame{display:block;width:100%;height:min(84vh,900px);border:0;background:#f0f2f4}
.dialog-body{background:var(--bb-light)}
.dialog-body .admin-form-card{max-width:none}
.dialog-body .admin-form-card:first-child{margin-top:0}

/* Moje konto */
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4fr);gap:1.5rem;align-items:start}
.profile-planned-tab{color:#b02a37!important}
.profile-planned-tab:hover,.profile-planned-tab:focus{color:#842029!important;background:#f8d7da}
.profile-planned-tab.active{color:#fff!important;background:#dc3545!important}
.profile-planned-card{border:1px solid rgba(220,53,69,.35)}
.profile-login-history-table{min-width:900px}

/* Projekty, uczestnicy i moduly */
.projects-home-table{min-width:1040px}
.project-list-row:hover{background:#f8fafc}
.project-context-card{border:1px solid #dce5ed;border-left:4px solid var(--bb-blue);box-shadow:0 .24rem .9rem rgba(30,55,80,.1)}
.project-context-card .card-body{padding:1.05rem 1.2rem}
.project-content-section,.project-module-heading{padding-top:.2rem}
.project-summary-card{border-left:3px solid var(--bb-blue)}
.project-meta-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#607589;margin-bottom:.18rem}
.project-party-card{scroll-margin-top:4.75rem}
.project-organization-block{padding:.78rem;border:1px solid #dfe7ee;border-radius:.6rem;background:#fbfcfd}
.project-organization-block+.project-organization-block{margin-top:.72rem}
.project-staff-table{min-width:780px}
.project-staff-table thead th{background:transparent}
.empty-party{border:1px dashed #cbd7e1;border-radius:.6rem;background:#fbfcfd}
.project-module-card{border:1px solid transparent;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.project-module-active{color:var(--bb-blue)}
.project-module-active:hover{transform:translateY(-1px);box-shadow:0 .45rem 1.05rem rgba(30,55,80,.14);border-color:#b9cede}
.project-module-planned{background:#f9fbfc;box-shadow:none;border-color:#e2e9ef}
.project-module-icon{display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:.6rem;background:#e5eef6;color:var(--bb-blue);font-size:1.15rem}

@media(max-width:767.98px){
    html{font-size:15px}
    .admin-dialog-frame{height:82vh}
    .history-dialog-frame{height:calc(100vh - 3.5rem)}
    .wm-print-dialog-frame{height:calc(100vh - 3.5rem)}
    .modal-dialog{margin:.35rem}
    .dialog-body main{padding:.75rem!important}
    .profile-layout{grid-template-columns:1fr;gap:1rem}
    .project-organization-block{padding:.65rem}
    .form-control,.form-select,.input-group-text{font-size:16px}
}
