.booking-note{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin-top:7px}.part-price-input{min-width:105px!important;width:115px!important}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;flex-wrap:wrap}.calendar-toolbar h2{font-size:18px;margin:0 10px}.calendar-toolbar select{max-width:230px}.calendar-scroll{overflow:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:875px;border-top:1px solid var(--line)}.calendar-day-name{padding:12px;text-align:center;background:var(--bg);color:var(--muted);font-size:11px;font-weight:600}.calendar-day{min-height:140px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:9px;display:flex;flex-direction:column;align-items:stretch;gap:7px}.calendar-grid.week .calendar-day{min-height:430px}.calendar-day.outside{background:var(--bg)}.calendar-day.outside .calendar-date{opacity:.45}.calendar-date{font-size:11px;margin-bottom:5px;align-self:flex-end;padding:5px 7px}.calendar-date.today{border-radius:50%;color:white;background:var(--green)}.appointment-card{display:grid;gap:5px;text-align:left;padding:9px 8px;border-left:3px solid var(--green);background:#eaf6f0;border-radius:5px;color:#345a53;font-size:10px;line-height:1.6}.appointment-card strong{font-size:11px}.appointment-card b{font-weight:500}.appointment-card span{overflow:hidden;text-overflow:ellipsis}.appointment-card small{font-size:9px;opacity:.75}.appointment-card.complete{border-color:#7692aa;background:#eff4f8;color:#547087}.appointment-card.hold{border-color:#d49e49;background:#fcf4e7;color:#8d7046}.appointment-card:hover{filter:brightness(.96)}.equipment-navigation{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.equipment-subtabs{display:flex;gap:4px;flex-wrap:wrap;background:var(--bg);padding:4px;border-radius:8px}.equipment-subtabs button{background:transparent;color:var(--muted);padding:10px 13px;font-size:11px;border-radius:5px}.equipment-subtabs button.active{background:var(--surface,#fff);color:var(--green);box-shadow:0 1px 5px #1d493310}.equipment-filter{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.equipment-filter select{max-width:320px}.product-thumb-button{padding:0;background:transparent;border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:zoom-in}.product-thumb{display:block;object-fit:contain;width:75px;height:56px;background:#edf4f3}.product-preview{width:100%;max-height:60vh;object-fit:contain;background:var(--bg);border-radius:10px}.product-photo-field{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:10px}.product-photo-field input[type=file]{max-width:320px}.product-photo-field small{color:var(--muted);font-size:10px}.bp-record-table td:has(.product-thumb){min-width:95px}html[data-theme="dark"] .appointment-card{background:#173e32;color:#b7dfcf}html[data-theme="dark"] .appointment-card.complete{background:#243644;color:#bad2df}html[data-theme="dark"] .appointment-card.hold{background:#493d29;color:#ead3ab}@media(max-width:760px){.calendar-toolbar{padding:16px}.calendar-toolbar .actions{flex-wrap:wrap}.equipment-filter select{max-width:240px}}
.sidebar nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.sidebar .side-note{margin-top:15px;flex-shrink:0}@media(max-width:760px){.sidebar nav{overflow:visible;flex:none}}
.week-time-scroll{max-height:620px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;outline-offset:-3px}
.week-time-grid{display:grid;grid-template-columns:64px repeat(7,minmax(130px,1fr));min-width:974px;position:relative}
.week-time-corner,.week-day-heading{position:sticky;top:0;z-index:4;min-height:53px;box-sizing:border-box;background:var(--surface,#fff);border-bottom:1px solid var(--border,#e1e8ed);display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px}
.week-day-heading{flex-direction:column;border-left:1px solid var(--border,#e1e8ed);color:var(--muted,#8795a3)}
.week-day-heading strong{font-size:12px;color:var(--text,#24394d)}
.week-day-heading.current-day strong{background:#147e6c;color:#fff;border-radius:18px;padding:3px 10px}
.week-time-corner{left:0;z-index:6;color:var(--muted,#8795a3)}
.week-time-axis{position:sticky;left:0;z-index:3;background:var(--surface,#fff);height:1536px;border-right:1px solid var(--border,#e1e8ed)}
.week-time-label{height:32px;position:relative;box-sizing:border-box;font-size:10px;color:var(--muted,#8795a3)}
.week-time-label span{position:absolute;right:9px;top:-7px}.week-time-label:first-child span{top:0}
.week-time-day{position:relative;height:1536px;border-right:1px solid var(--border,#e1e8ed);background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,var(--border,#e1e8ed) 31px,var(--border,#e1e8ed) 32px)}
.appointment-card.week-event{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;gap:1px;margin:0;padding:5px 6px;min-height:0;overflow:hidden;border-radius:5px;font-size:10px;line-height:15px;text-align:left;z-index:1}
.week-event>*{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:100%}.week-event strong{font-size:10px!important;line-height:14px}.week-event b{font-size:10px;font-weight:600}.week-event .event-customer{display:none}.week-event.tall .event-customer{display:block}.week-event:focus-visible{z-index:2;outline:2px solid #168dca;outline-offset:1px}
.warranty-equipment-photo{display:flex;align-items:center;gap:18px;padding:22px 24px 0}.warranty-equipment-photo>button{padding:0;flex-shrink:0;border:1px solid var(--border,#e1e8ed);border-radius:12px;background:var(--surface,#fff);overflow:hidden;cursor:zoom-in}.warranty-product-image{display:block;width:145px;height:110px;object-fit:contain}.warranty-equipment-photo strong{display:block;font-size:15px}.warranty-equipment-photo small{display:block;margin-top:7px;font-size:11px;color:var(--muted,#8795a3)}
.equipment-reference+.equipment-reference{margin-top:13px}.equipment-reference small{display:block;margin-top:4px}.equipment-reference>span{display:block;min-width:155px}
html[data-theme="dark"] .week-time-corner,html[data-theme="dark"] .week-day-heading,html[data-theme="dark"] .week-time-axis{background:#192733}html[data-theme="dark"] .week-time-day{background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#304451 31px,#304451 32px)}html[data-theme="dark"] .week-day-heading strong{color:#dae7ee}html[data-theme="dark"] .week-day-heading.current-day strong{color:#fff}html[data-theme="dark"] .warranty-equipment-photo>button{background:#192733;border-color:#304451}
@media(max-width:600px){.warranty-equipment-photo{gap:12px;padding:18px 16px 0}.warranty-product-image{width:100px;height:85px}.warranty-equipment-photo strong{font-size:13px}}
.job-reference-link{border:0;padding:0;background:transparent;color:#147e6c;cursor:pointer;font:inherit;text-align:left;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.job-reference-link:focus-visible{outline:2px solid #168dca;outline-offset:4px}html[data-theme="dark"] .job-reference-link{color:#80d5b9}
html[data-theme="dark"] :is(.week-time-corner,.week-day-heading,.week-time-axis,.week-time-day){border-color:#304451}
.week-time-axis,.week-time-day{height:844px}.week-time-label:last-child{height:12px}.appointment-card.week-event.short{padding:0 4px;line-height:14px}.week-event.short b{line-height:14px}.job-map-actions{gap:12px;margin-top:10px}.job-map-actions a{font-size:11px}.job-map-actions .btn{padding:7px 10px;font-size:10px}
.item-catalog-table{min-width:760px}.item-catalog-table .product-thumb{width:70px;height:54px;object-fit:contain;border-radius:8px}.item-catalog-table td:nth-child(3){min-width:175px}.item-price{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.item-profile{gap:20px;flex-wrap:wrap}.item-profile-image{width:100px;height:80px;object-fit:contain;border:1px solid var(--line,#e1e8ed);border-radius:12px}.item-hero-price{margin-left:auto;white-space:nowrap;font-size:25px;color:var(--accent,#147e6c)}.item-knowledge-toolbar{padding:0 0 22px;flex-wrap:wrap}.item-detail .info-grid{padding:0}@media(max-width:600px){.item-hero-price{font-size:20px}.item-profile-image{width:76px;height:65px}.item-profile{gap:12px}.item-profile h2{font-size:18px}}
html[data-theme="dark"] .item-hero-price{color:#80d5b9}
.group-detail .info-grid{padding:0 0 20px}.item-catalog-table{min-width:850px}

/* Keep the workspace bar balanced as the available content width changes. */
.shell{min-width:0;container-type:inline-size;container-name:workspace}
.shell>header{height:auto;min-height:76px;display:flex;flex-wrap:nowrap;gap:16px;padding-block:14px}
header #breadcrumb{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-right{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px;min-width:0;margin-left:auto}
.header-right>*{flex-shrink:0}
.demo-indicator{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px}
.header-right .profile-trigger{flex-shrink:1;min-width:0}
.profile-menu{top:calc(100% - 4px)}
@container workspace (max-width:1000px){
  .header-right .demo-indicator{display:none}
  .header-right .profile-name{display:none}
  .shell>header{gap:12px}
  header #breadcrumb{font-size:10px}
}
@container workspace (max-width:600px){
  .shell>header{padding:12px 16px;gap:10px;min-height:68px}
  header #breadcrumb{font-size:9px}
  .header-right{gap:6px}
  .header-right>.icon-button{display:none}
  .header-right .role-control select{max-width:94px;font-size:10px;padding:7px 5px}
  .display-preferences{gap:5px}
}
@container workspace (max-width:440px){
  .shell>header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  header #breadcrumb{width:100%;font-size:10px}
  .header-right{width:100%;justify-content:flex-end;margin-left:0}
  .header-right .display-preferences{margin-right:auto}
}
#item-catalog-rows>tr.clickable,#group-rows>tr.clickable{cursor:pointer}
#item-catalog-rows>tr:focus-visible,#group-rows>tr:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
#item-catalog-rows .actions,#group-rows .actions{flex-wrap:nowrap}

@media screen and (max-width:760px){
  body:not(.auth-screen) .sidebar{position:fixed;inset:0 auto 0 0;z-index:9;display:flex;flex-direction:column;align-items:stretch;gap:0;width:224px;height:100dvh;padding:18px 12px;border-right:1px solid var(--line);border-bottom:0;box-shadow:12px 0 28px #0002}
  .sidebar .brand{margin:0 0 18px;min-width:0;font-size:14px;justify-content:flex-start;flex-shrink:0}
  .sidebar .brand-icon{width:32px;height:32px;border-radius:9px;flex-shrink:0}
  .sidebar .sidebar-toggle{position:static;align-self:flex-end;margin:0 0 18px;width:36px;height:36px;border-radius:8px;font-size:18px;flex-shrink:0}
  .sidebar nav{display:block!important;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0;scrollbar-width:thin}
  .sidebar .nav-group{margin:0 0 8px;min-width:0}
  .sidebar .nav-parent{justify-content:flex-start;gap:10px;padding:12px 10px;min-height:44px;font-size:12px}
  .sidebar .nav-parent i{font-size:21px;width:22px}
  .sidebar .nav-chevron{display:block}
  .sidebar .nav-children{gap:4px;margin:6px 0 12px 20px;padding-left:8px;border-left:1px solid var(--line)}
  .sidebar .nav-children button{padding:10px 8px;font-size:11px;min-height:38px}
  .sidebar .nav-group[hidden],.sidebar .nav-children[hidden]{display:none!important}
  body.sidebar-collapsed .sidebar{width:64px;padding:18px 10px;box-shadow:none}
  .sidebar-collapsed .sidebar .brand{justify-content:center;margin:0 0 18px}
  .sidebar-collapsed .sidebar .sidebar-toggle{align-self:center;margin:0 0 20px}
  .sidebar-collapsed .sidebar nav{display:block!important;margin:0}
  .sidebar-collapsed .sidebar .nav-parent{justify-content:center;width:44px;height:44px;padding:10px;border-radius:9px}
  .sidebar-collapsed .sidebar .nav-parent i{font-size:22px}
  body:not(.auth-screen) .shell,body.sidebar-collapsed:not(.auth-screen) .shell{margin-left:64px}
}

.btn.catalog-edit { width: 40px; height: 40px; padding: 0; }
