:root{
  --bp-border:#d9dee7;
  --bp-bg:#fff;
  --bp-bg-alt:#f6f8fb;
  --bp-text:#1f2937;
  --bp-muted:#6b7280;
  --bp-primary:#2563eb;
  --bp-success:#16a34a;
  --bp-warning:#d97706;
  --bp-danger:#dc2626;
  --bp-radius:10px;
  --bp-gap:1rem;
  --bp-shadow:0 2px 10px rgba(0,0,0,.05);
}

.budget-package-details{
 display:flex;
 flex-direction:column;
 gap:var(--bp-gap);
 color:var(--bp-text);
 font-family:Inter,Segoe UI,sans-serif;
}

.budget-package-details__header{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:1rem;
 padding:1rem 1.25rem;
 background:var(--bp-bg);
 border:1px solid var(--bp-border);
 border-radius:var(--bp-radius);
 box-shadow:var(--bp-shadow);
}

.budget-package-details__title{margin:0;font-size:1.6rem}
.budget-package-details__subtitle{margin:.35rem 0 0;color:var(--bp-muted)}
.budget-package-details__status{
 display:inline-flex;
 padding:.35rem .75rem;
 border-radius:999px;
 background:#eef2ff;
 font-weight:600;
}

.budget-package-details__toolbar{
 display:flex;
 gap:.75rem;
 align-items:center;
 flex-wrap:wrap;
}

.budget-package-details__table-select,
.budget-package-details__refresh,
.budget-package-workflow__action{
 padding:.65rem .9rem;
 border:1px solid var(--bp-border);
 border-radius:8px;
 background:#fff;
 font:inherit;
}

.budget-package-details__refresh,
.budget-package-workflow__action{
 cursor:pointer;
 transition:.15s;
}

.budget-package-details__refresh:hover,
.budget-package-workflow__action:hover{
 background:#f3f6fb;
}

.budget-package-details__main{
 display:grid;
 grid-template-columns:minmax(0,2fr) 360px;
 gap:1rem;
}

.budget-package-details__summary{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
 gap:.75rem;
 margin-bottom:1rem;
}

.budget-package-details__summary-item{
 background:var(--bp-bg);
 border:1px solid var(--bp-border);
 border-radius:var(--bp-radius);
 padding:1rem;
 box-shadow:var(--bp-shadow);
}

.budget-package-details__summary-label{
 display:block;
 color:var(--bp-muted);
 font-size:.8rem;
 margin-bottom:.35rem;
}

.budget-package-details__grid,
.budget-package-details__workflow,
.budget-package-details__comments,
.budget-package-details__sessions{
 background:var(--bp-bg);
 border:1px solid var(--bp-border);
 border-radius:var(--bp-radius);
 padding:1rem;
 box-shadow:var(--bp-shadow);
}

.budget-package-workflow__title{
 margin:0 0 1rem;
}

.budget-package-workflow__actions{
 display:flex;
 flex-wrap:wrap;
 gap:.5rem;
}

.budget-package-workflow__action--submit{background:#eff6ff}
.budget-package-workflow__action--approve{background:#ecfdf5}
.budget-package-workflow__action--return{background:#fff7ed}
.budget-package-workflow__action--cancel{background:#fef2f2}

.budget-package-workflow__action[disabled]{
 opacity:.5;
 cursor:not-allowed;
}

.budget-package-workflow__busy,
.budget-package-details__loading{
 padding:.75rem;
 background:#eef6ff;
 border:1px solid #cfe0ff;
 border-radius:8px;
}

.budget-package-details__error,
.budget-package-workflow__error,
.budget-package-workflow__validation{
 padding:.85rem;
 border-radius:8px;
 margin-top:.75rem;
}

.budget-package-details__error,
.budget-package-workflow__error{
 background:#fef2f2;
 color:var(--bp-danger);
 border:1px solid #fecaca;
}

.budget-package-workflow__validation{
 background:#fff7ed;
 border:1px solid #fed7aa;
}

.budget-package-details__sessions-list{
 margin:0;
 padding-left:1.2rem;
}

progress{
 width:160px;
 height:10px;
}

@media (max-width:1024px){
 .budget-package-details__main{
   grid-template-columns:1fr;
 }
}

@media (max-width:640px){
 .budget-package-details__header{
   flex-direction:column;
 }
 .budget-package-details__toolbar{
   flex-direction:column;
   align-items:stretch;
 }
 .budget-package-details__table-select,
 .budget-package-details__refresh{
   width:100%;
 }
}
