/* Premium contractor polish */
.pb-page {
  max-width:1320px;
  margin:0 auto;
  width:100%;
  gap:16px;
}
.pb-hero {
  position:relative;
  overflow:hidden;
  border:1px solid #e7ebf0;
  background:linear-gradient(135deg,#ffffff 0%,#fbfcfe 68%,#fff7ed 100%);
  box-shadow:0 12px 34px rgba(15,23,42,.07);
}
.pb-hero::after {
  content:"";
  position:absolute;
  right:-54px;
  bottom:-92px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(249,115,22,.13),rgba(249,115,22,0) 68%);
  pointer-events:none;
}
.pb-hero > * { position:relative; z-index:1; }
.pb-hero h2 { letter-spacing:-.025em; }
.pb-hero .btn-primary { box-shadow:0 8px 20px rgba(249,115,22,.22); }

.pb-health-card {
  position:relative;
  min-height:98px;
  overflow:hidden;
  border-color:#e9edf2;
  box-shadow:0 8px 22px rgba(15,23,42,.055);
}
.pb-health-card::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:#d8dee8;
}
.pb-health-card:nth-child(1)::after { background:#334155; }
.pb-health-card:nth-child(2)::after { background:#64748b; }
.pb-health-card.warn::after { background:#f97316; }
.pb-health-card.good::after { background:#22c55e; }
.pb-health-card strong { letter-spacing:-.03em; }

.pb-toolbar-card {
  gap:12px;
  border:1px solid #e7ebf0;
  box-shadow:0 10px 28px rgba(15,23,42,.055);
}
.pb-toolbar {
  padding-bottom:2px;
}
.pb-search .input { background:#fbfcfe; }
.pb-tools {
  padding-top:12px;
  border-top:1px solid #eef1f4;
}
.pb-tools .btn { border-radius:9px; }
.pb-bulk {
  padding:11px 12px;
  background:linear-gradient(180deg,#f9fafb,#f5f7fa);
}
.pb-bulk > strong::before {
  content:"↗";
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-right:7px;
  border-radius:7px;
  background:#fff7ed;
  color:#ea580c;
}

.pb-items { gap:10px; }
.pb-item-card {
  border-left:4px solid #94a3b8;
  border-radius:13px;
  box-shadow:0 7px 20px rgba(15,23,42,.045);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.pb-item-card[data-category="Shingles"] { border-left-color:#f97316; }
.pb-item-card[data-category="Underlayment"] { border-left-color:#3b82f6; }
.pb-item-card[data-category="Flashing & edge"] { border-left-color:#64748b; }
.pb-item-card[data-category="Ventilation"] { border-left-color:#06b6d4; }
.pb-item-card[data-category="Labor"] { border-left-color:#8b5cf6; }
.pb-item-card[data-category="Decking"] { border-left-color:#a16207; }
.pb-item-card[data-category="Tear-off & disposal"] { border-left-color:#ef4444; }
.pb-item-card[data-category="Fees & equipment"] { border-left-color:#0f766e; }
.pb-item-card:hover {
  border-top-color:#d8dee8;
  border-right-color:#d8dee8;
  border-bottom-color:#d8dee8;
  box-shadow:0 14px 34px rgba(15,23,42,.085);
  transform:translateY(-1px);
}
.pb-item-top {
  padding:13px 14px;
  background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%);
}
.pb-field > span {
  color:#7c8799;
  letter-spacing:.085em;
}
.pb-name input {
  min-height:46px;
  font-size:14px;
  font-weight:800;
  color:#172033;
  border-color:#dce2e9;
  background:#fff;
}
.pb-name input:focus { background:#fff; }
.pb-money {
  padding:6px;
  border:1px solid #edf0f3;
  border-radius:10px;
  background:#f8fafc;
}
.pb-money > span { padding-inline:2px; }
.pb-money .input { background:#fff; border-color:#dfe4ea; }
.pb-profit {
  min-height:52px;
  padding:8px 11px;
  border-color:#d8eee0;
  background:linear-gradient(180deg,#f4fbf6,#eef9f2);
}
.pb-profit > span { color:#5f7567; }
.pb-profit strong { color:#137333; font-size:14px; }
.pb-row-actions .btn-outline { background:#fff; }
.pb-row-actions .btn-danger { min-width:38px; }
.pb-star {
  border:1px solid transparent;
  transition:all .18s ease;
}
.pb-star:hover { border-color:#fed7aa; color:#f59e0b; background:#fff7ed; }

.pb-details {
  background:linear-gradient(180deg,#fafbfd,#f7f9fb);
}
.pb-details summary {
  list-style:none;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  color:#536174;
}
.pb-details summary::-webkit-details-marker { display:none; }
.pb-details summary::before {
  content:"›";
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:6px;
  background:#e9eef4;
  color:#44546a;
  font-size:16px;
  line-height:1;
  transition:transform .16s ease,background .16s ease;
}
.pb-details[open] summary::before {
  transform:rotate(90deg);
  background:#fff1e8;
  color:#ea580c;
}
.pb-details[open] summary { color:#1f2937; }
.pb-detail-grid {
  padding:8px 14px 16px 42px;
  border-top:1px dashed #e1e6ec;
}

.pb-assemblies {
  border:1px solid #e7ebf0;
  box-shadow:0 9px 26px rgba(15,23,42,.05);
}
.pb-assembly {
  position:relative;
  border-color:#e6eaf0;
  background:linear-gradient(180deg,#fff,#fbfcfe);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.pb-assembly::before {
  content:"▰";
  color:#f97316;
  margin-right:2px;
  font-size:12px;
}
.pb-assembly:hover {
  border-color:#fdba74;
  box-shadow:0 8px 20px rgba(249,115,22,.08);
  transform:translateY(-1px);
}
.pb-assembly > div:first-child { flex:1; }

.pb-modal { border:1px solid rgba(255,255,255,.65); }
.pb-picker-item:hover { transform:translateY(-1px); box-shadow:0 7px 18px rgba(15,23,42,.06); }

@media (max-width: 1280px) {
  .pb-page { max-width:1180px; }
}
@media (max-width: 900px) {
  .pb-page { max-width:none; }
  .pb-item-card { transform:none !important; }
}
@media (max-width: 720px) {
  .pb-page { gap:11px; margin:0 auto; }
  .pb-hero { border-radius:14px; }
  .pb-health-card { min-height:88px; border-radius:12px; }
  .pb-toolbar-card, .pb-assemblies { border-radius:13px; }
  .pb-item-card { border-left-width:3px; border-radius:12px; }
  .pb-item-top { padding:12px 11px; background:#fff; }
  .pb-money { padding:5px 6px; }
  .pb-detail-grid { padding:8px 12px 14px; }
  .pb-details summary { padding-inline:12px; }
  .pb-assembly::before { display:none; }
}
