/*
 * Rental Manager 2.11 Session 2
 * Human-centered employee workflows for Applications, Requests, Customers,
 * Inventory, Calendar, Messages, and responsive cleanup carried forward from
 * Session 1. Theme tokens own readability; brand tokens own identity.
 */

.cfl-v2-shell{
  --cfl-workflow-surface:var(--cfl-v2-surface);
  --cfl-workflow-surface-soft:var(--cfl-v2-surface-2);
  --cfl-workflow-text:var(--cfl-v2-text);
  --cfl-workflow-muted:var(--cfl-v2-muted);
  --cfl-workflow-line:var(--cfl-v2-line);
  --cfl-workflow-primary:var(--cfl-v2-primary);
  --cfl-workflow-success:var(--cfl-ui-success,#087a4a);
  --cfl-workflow-warning:var(--cfl-ui-warning,#a15c00);
  --cfl-workflow-danger:var(--cfl-ui-danger,#b42318);
}
.cfl-v2-shell .cfl-v2-content{min-width:0;max-width:100%}
.cfl-v2-shell .cfl-v2-content :where(section,article,div,form,fieldset,details,table,nav){min-width:0;box-sizing:border-box}
.cfl-v2-shell .cfl-v2-content :where(h1,h2,h3,h4,p){overflow-wrap:anywhere}

/* Shared workflow sections and intentional empty states. */
.cfl-v2-shell .cfl-workflow-section,
.cfl-v2-shell .cfl-application-history,
.cfl-v2-shell .cfl-request-history{
  display:grid;
  gap:16px;
  width:100%;
  padding:clamp(16px,2vw,22px);
  border:1px solid var(--cfl-workflow-line);
  border-radius:var(--cfl-v2-radius);
  background:var(--cfl-workflow-surface);
  color:var(--cfl-workflow-text);
  box-shadow:var(--cfl-ui-shadow-sm);
}
.cfl-v2-shell .cfl-workflow-section-head,
.cfl-v2-shell .cfl-directory-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.cfl-v2-shell .cfl-workflow-section-head h2,
.cfl-v2-shell .cfl-directory-heading h2{
  margin:2px 0 5px!important;
  font-size:clamp(20px,2vw,26px)!important;
  line-height:1.15!important;
}
.cfl-v2-shell .cfl-workflow-section-head p,
.cfl-v2-shell .cfl-directory-heading p{margin:0!important;max-width:760px;color:var(--cfl-workflow-muted)!important}
.cfl-v2-shell .cfl-workflow-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 11px;
  border:1px solid var(--cfl-workflow-line);
  border-radius:999px;
  background:var(--cfl-workflow-surface-soft);
  color:var(--cfl-workflow-muted);
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
.cfl-v2-shell .cfl-workflow-empty{
  display:flex;
  align-items:flex-start;
  gap:13px;
  width:100%;
  padding:17px 18px;
  border:1px dashed var(--cfl-workflow-line);
  border-radius:13px;
  background:color-mix(in srgb,var(--cfl-workflow-success) 5%,var(--cfl-workflow-surface));
}
.cfl-v2-shell .cfl-workflow-empty.is-warning{background:color-mix(in srgb,var(--cfl-workflow-warning) 7%,var(--cfl-workflow-surface))}
.cfl-v2-shell .cfl-workflow-empty-icon{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:50%;
  background:color-mix(in srgb,var(--cfl-workflow-success) 13%,var(--cfl-workflow-surface));
  color:var(--cfl-workflow-success);
  font-weight:900;
}
.cfl-v2-shell .cfl-workflow-empty.is-warning .cfl-workflow-empty-icon{
  background:color-mix(in srgb,var(--cfl-workflow-warning) 14%,var(--cfl-workflow-surface));
  color:var(--cfl-workflow-warning);
}
.cfl-v2-shell .cfl-workflow-empty h3{margin:0 0 4px!important;font-size:16px!important}
.cfl-v2-shell .cfl-workflow-empty p{margin:0!important;color:var(--cfl-workflow-muted)!important}
.cfl-v2-shell .cfl-workflow-empty .cfl-btn{margin-top:12px}

/* Applications: decision queue first, history second. */
.cfl-v2-shell .cfl-application-queue,
.cfl-v2-shell .cfl-location-application-grid,
.cfl-v2-shell .cfl-request-queue{display:grid;gap:13px}
.cfl-v2-shell .cfl-application-queue-card,
.cfl-v2-shell .cfl-location-application-card,
.cfl-v2-shell .cfl-request-queue-card{
  display:grid;
  gap:14px;
  padding:17px;
  border:1px solid var(--cfl-workflow-line);
  border-radius:14px;
  background:var(--cfl-workflow-surface);
  color:var(--cfl-workflow-text);
  box-shadow:var(--cfl-ui-shadow-xs);
}
.cfl-v2-shell .cfl-application-queue-head,
.cfl-v2-shell .cfl-request-queue-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.cfl-v2-shell .cfl-application-queue-head>div,
.cfl-v2-shell .cfl-request-queue-head>div{min-width:0;flex:1}
.cfl-v2-shell .cfl-application-queue-head h3,
.cfl-v2-shell .cfl-request-queue-head h3{margin:1px 0 4px!important;font-size:18px!important}
.cfl-v2-shell .cfl-application-queue-head p,
.cfl-v2-shell .cfl-request-queue-head p{margin:0!important;color:var(--cfl-workflow-muted)!important;overflow-wrap:anywhere}
.cfl-v2-shell .cfl-application-queue-head>.cfl-status,
.cfl-v2-shell .cfl-request-queue-head>.cfl-status{margin-left:auto;flex:0 0 auto}
.cfl-v2-shell .cfl-application-queue-meta,
.cfl-v2-shell .cfl-request-queue-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--cfl-workflow-line);
  border-radius:11px;
  background:var(--cfl-workflow-line);
}
.cfl-v2-shell .cfl-request-queue-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
.cfl-v2-shell .cfl-application-queue-meta>div,
.cfl-v2-shell .cfl-request-queue-meta>div{display:grid;gap:4px;padding:12px;background:var(--cfl-workflow-surface-soft)}
.cfl-v2-shell .cfl-application-queue-meta span,
.cfl-v2-shell .cfl-request-queue-meta span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--cfl-workflow-muted)}
.cfl-v2-shell .cfl-application-queue-meta strong,
.cfl-v2-shell .cfl-request-queue-meta strong{font-size:13px;overflow-wrap:anywhere}
.cfl-v2-shell .cfl-application-queue-actions,
.cfl-v2-shell .cfl-request-queue-card>.cfl-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:2px}
.cfl-v2-shell .cfl-application-queue-actions form,
.cfl-v2-shell .cfl-request-queue-card>.cfl-card-actions form{margin:0!important}
.cfl-v2-shell .cfl-request-queue-card>.cfl-card-actions .cfl-native-extension-decision{display:grid;gap:10px;width:min(100%,460px);align-items:stretch}
.cfl-v2-shell .cfl-native-extension-decision label{display:grid;gap:6px;font-weight:700;min-width:0}
.cfl-v2-shell .cfl-native-extension-decision textarea{width:100%;min-height:88px;min-width:0;padding:10px;border:1px solid var(--cfl-workflow-line);border-radius:8px;background:var(--cfl-workflow-surface);color:var(--cfl-workflow-text);font:inherit}
.cfl-v2-shell .cfl-native-extension-decision button{justify-self:start}
.cfl-v2-shell .cfl-application-history-table td:first-child strong,
.cfl-v2-shell .cfl-application-history-table td:first-child small{display:block}
.cfl-v2-shell .cfl-application-history-table td:first-child small{margin-top:3px;color:var(--cfl-workflow-muted)}

/* Requests: separate actionable work from reference history. */
.cfl-v2-shell .cfl-request-queue-card .cfl-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 16px;
  padding:13px;
  border:1px solid var(--cfl-workflow-line);
  border-radius:11px;
  background:var(--cfl-workflow-surface-soft);
}
.cfl-v2-shell .cfl-request-queue-card .cfl-details p{margin:0!important}
.cfl-v2-shell .cfl-request-history{margin-top:0!important}
.cfl-v2-shell .cfl-request-history-filters{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(140px,.65fr)) auto auto;
  align-items:end;
  gap:10px;
  margin:0;
  padding:13px;
  border:1px solid var(--cfl-workflow-line);
  border-radius:12px;
  background:var(--cfl-workflow-surface-soft);
}
.cfl-v2-shell .cfl-request-history-filters label{display:grid;gap:6px;margin:0!important}
.cfl-v2-shell .cfl-request-history-filters label span{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--cfl-workflow-muted)}
.cfl-v2-shell .cfl-order-results-summary{margin:0;color:var(--cfl-workflow-muted)}
.cfl-v2-shell .cfl-request-history-row{background:var(--cfl-workflow-surface)!important;border-color:var(--cfl-workflow-line)!important}

/* Customer directory and context-first customer profile. */
.cfl-v2-shell .cfl-customer-directory{display:grid!important;gap:15px!important}
.cfl-v2-shell .cfl-directory-heading{align-items:flex-end!important}
.cfl-v2-shell .cfl-directory-view-switcher,
.cfl-v2-shell .cfl-catalog-view-toggle{
  display:inline-flex;
  gap:3px;
  padding:3px;
  border:1px solid var(--cfl-workflow-line);
  border-radius:11px;
  background:var(--cfl-workflow-surface-soft);
}
.cfl-v2-shell .cfl-directory-view-switcher a,
.cfl-v2-shell .cfl-catalog-view-toggle a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:8px;
  color:var(--cfl-workflow-muted)!important;
  font-size:12px;
  font-weight:850;
  text-decoration:none!important;
}
.cfl-v2-shell .cfl-directory-view-switcher a.is-active,
.cfl-v2-shell .cfl-catalog-view-toggle a.active{
  background:var(--cfl-workflow-surface)!important;
  color:var(--cfl-workflow-text)!important;
  box-shadow:var(--cfl-ui-shadow-xs);
}
.cfl-v2-shell .cfl-customer-directory-toolbar{padding:13px!important;border-radius:13px!important;background:var(--cfl-workflow-surface)!important}
.cfl-v2-shell .cfl-customer-directory-card{min-height:0!important;padding:16px!important;border-radius:14px!important}
.cfl-v2-shell .cfl-customer-directory-actions>*{box-sizing:border-box}
.cfl-v2-shell .cfl-customer-directory-contact{margin:13px 0!important}
.cfl-v2-shell .cfl-customer-profile-workspace{display:grid;gap:18px}
.cfl-v2-shell .cfl-customer-profile-workspace .cfl-directory-back{margin:0!important}
.cfl-v2-shell .cfl-customer-profile-grid{display:block!important}
.cfl-v2-shell .cfl-customer-profile.is-profile-view{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:18px;
  padding:20px!important;
  overflow:visible!important;
}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-top,
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-actions,
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-customer-admin-settings,
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-rental-history,
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-notes{grid-column:1/-1}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-top{
  padding-bottom:15px;
  border-bottom:1px solid var(--cfl-workflow-line);
}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-top h3{margin:0 0 8px!important;font-size:clamp(22px,2vw,28px)!important}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-profile-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-content:start;
}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-profile-stats>div{
  display:grid;
  gap:2px;
  padding:13px;
  border:1px solid var(--cfl-workflow-line);
  border-radius:11px;
  background:var(--cfl-workflow-surface-soft);
}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-profile-stats strong{font-size:22px}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-profile-stats span{font-size:11px;font-weight:800;color:var(--cfl-workflow-muted)}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-details{
  display:grid;
  gap:8px;
  align-content:start;
  padding:14px;
  border:1px solid var(--cfl-workflow-line);
  border-radius:11px;
  background:var(--cfl-workflow-surface-soft);
}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-details p{margin:0!important}
.cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-actions{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap;
  padding:14px 0 0;
  border-top:1px solid var(--cfl-workflow-line);
}
.cfl-v2-shell .cfl-customer-admin-settings{
  border:1px solid var(--cfl-workflow-line);
  border-radius:12px;
  background:var(--cfl-workflow-surface-soft);
}
.cfl-v2-shell .cfl-customer-admin-settings>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
  cursor:pointer;
  list-style:none;
}
.cfl-v2-shell .cfl-customer-admin-settings>summary::-webkit-details-marker{display:none}
.cfl-v2-shell .cfl-customer-admin-settings>summary span:first-child{display:grid;gap:3px}
.cfl-v2-shell .cfl-customer-admin-settings>summary small{color:var(--cfl-workflow-muted)}
.cfl-v2-shell .cfl-customer-admin-settings[open]>summary>span:last-child{transform:rotate(45deg)}
.cfl-v2-shell .cfl-customer-admin-settings-body{display:grid;gap:14px;padding:0 15px 15px}
.cfl-v2-shell .cfl-customer-profile.is-profile-view :is(.cfl-rental-history,.cfl-notes){padding-top:15px;border-top:1px solid var(--cfl-workflow-line)}

/* Inventory: one clear purpose per view, progressive filters, responsive catalog. */
.cfl-v2-shell .cfl-inventory-manager{
  display:grid!important;
  gap:16px!important;
  padding:clamp(16px,2vw,22px)!important;
  overflow:visible!important;
  background:var(--cfl-workflow-surface)!important;
}
.cfl-v2-shell .cfl-inventory-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.cfl-v2-shell .cfl-inventory-manager-head h2{margin:2px 0 5px!important;font-size:clamp(22px,2.2vw,28px)!important}
.cfl-v2-shell .cfl-inventory-manager-head p{margin:0!important;max-width:760px;color:var(--cfl-workflow-muted)!important}
.cfl-v2-shell .cfl-inventory-subnav{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%;
  gap:3px!important;
  padding:3px!important;
  border:1px solid var(--cfl-workflow-line)!important;
  border-radius:12px!important;
  background:var(--cfl-workflow-surface-soft)!important;
  overflow-x:auto;
}
.cfl-v2-shell .cfl-inventory-subnav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--cfl-workflow-muted)!important;
  font-size:12px;
  font-weight:850;
  text-decoration:none!important;
  white-space:nowrap;
}
.cfl-v2-shell .cfl-inventory-subnav a.active{
  background:var(--cfl-workflow-surface)!important;
  color:var(--cfl-workflow-text)!important;
  box-shadow:var(--cfl-ui-shadow-xs)!important;
}
.cfl-v2-shell .cfl-availability-search,
.cfl-v2-shell .cfl-inventory-view-catalog>.cfl-catalog-toolbar,
.cfl-v2-shell .cfl-catalog-filters{
  border-color:var(--cfl-workflow-line)!important;
  background:var(--cfl-workflow-surface)!important;
}
.cfl-v2-shell .cfl-availability-search{
  display:grid;
  gap:13px;
  padding:17px;
  border:1px solid var(--cfl-workflow-line);
  border-radius:14px;
}
.cfl-v2-shell .cfl-availability-search .cfl-settings-card-head h3{margin:0 0 4px!important;font-size:20px!important}
.cfl-v2-shell .cfl-availability-search .cfl-settings-card-head p{margin:0!important;color:var(--cfl-workflow-muted)!important}
.cfl-v2-shell .cfl-intelligence-filter-form{padding:14px!important;border-radius:12px!important;background:var(--cfl-workflow-surface-soft)!important}
.cfl-v2-shell .cfl-intelligence-filter-form label>span{font-size:10px!important;letter-spacing:.04em!important}
.cfl-v2-shell .cfl-filter-actions{align-self:end}
.cfl-v2-shell .cfl-catalog-toolbar{display:flex;justify-content:flex-end;margin:0}
.cfl-v2-shell .cfl-catalog-summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:0!important;
  padding:10px 2px;
  color:var(--cfl-workflow-muted)!important;
}
.cfl-v2-shell .cfl-catalog-summary strong{color:var(--cfl-workflow-text)!important}
.cfl-v2-shell .cfl-inventory-product-card{box-shadow:var(--cfl-ui-shadow-xs)!important}
.cfl-v2-shell .cfl-inventory-list-head,
.cfl-v2-shell .cfl-inventory-list-row{min-width:0}

/* Calendar connections: make a disabled/unconfigured state feel intentional. */
.cfl-v2-shell .cfl-calendar-workspace{width:100%;max-width:100%}
.cfl-v2-shell .cfl-calendar-intro{
  display:flex;
  align-items:flex-start;
  gap:15px;
  background:var(--cfl-workflow-surface)!important;
  border-color:var(--cfl-workflow-line)!important;
}
.cfl-v2-shell .cfl-calendar-intro-icon,
.cfl-v2-shell .cfl-calendar-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:13px;
  background:color-mix(in srgb,var(--cfl-workflow-primary) 10%,var(--cfl-workflow-surface));
  color:var(--cfl-workflow-primary);
}
.cfl-v2-shell .cfl-calendar-intro h2{margin:2px 0 5px!important}
.cfl-v2-shell .cfl-calendar-intro p{margin:0!important}
.cfl-v2-shell .cfl-calendar-setup-state{min-height:130px;align-items:center}
.cfl-v2-shell :is(.cfl-calendar-card,.cfl-calendar-help,.cfl-provider-card,.cfl-calendar-preferences){background:var(--cfl-workflow-surface)!important;color:var(--cfl-workflow-text)!important;border-color:var(--cfl-workflow-line)!important}
.cfl-v2-shell .cfl-calendar-preferences{background:var(--cfl-workflow-surface-soft)!important}
.cfl-v2-shell .cfl-calendar-status{background:var(--cfl-workflow-surface-soft)!important;color:var(--cfl-workflow-muted)!important}
.cfl-v2-shell .cfl-calendar-status.is-good{background:color-mix(in srgb,var(--cfl-workflow-success) 12%,var(--cfl-workflow-surface))!important;color:var(--cfl-workflow-success)!important}
.cfl-v2-shell .cfl-calendar-status.is-warning{background:color-mix(in srgb,var(--cfl-workflow-warning) 12%,var(--cfl-workflow-surface))!important;color:var(--cfl-workflow-warning)!important}

/* Messaging: calm split workspace, clear empty/error states, graceful stale files. */
.cfl-v2-shell .cfl-messaging-app{
  width:100%;
  min-height:min(690px,calc(100dvh - 190px));
  overflow:hidden;
  border-color:var(--cfl-workflow-line)!important;
  border-radius:16px!important;
  background:var(--cfl-workflow-surface)!important;
  box-shadow:var(--cfl-ui-shadow-sm)!important;
}
.cfl-v2-shell .cfl-message-search-label{display:block;width:100%}
.cfl-v2-shell .cfl-message-welcome{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:100%;
  padding:32px;
  text-align:center;
}
.cfl-v2-shell .cfl-message-welcome-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:4px;
  border-radius:15px;
  background:color-mix(in srgb,var(--cfl-workflow-primary) 9%,var(--cfl-workflow-surface));
  color:var(--cfl-workflow-primary);
  font-size:22px;
}
.cfl-v2-shell .cfl-message-welcome h3{margin:6px 0 4px!important}
.cfl-v2-shell .cfl-message-welcome p{margin:0!important;max-width:470px;color:var(--cfl-workflow-muted)!important}
.cfl-v2-shell .cfl-message-file.is-unavailable{
  display:grid;
  gap:3px;
  padding:10px 12px;
  border:1px dashed color-mix(in srgb,var(--cfl-workflow-warning) 45%,var(--cfl-workflow-line));
  border-radius:10px;
  background:color-mix(in srgb,var(--cfl-workflow-warning) 7%,var(--cfl-workflow-surface));
}
.cfl-v2-shell .cfl-message-file.is-unavailable strong{font-size:12px}
.cfl-v2-shell .cfl-message-file.is-unavailable span{font-size:10px;color:var(--cfl-workflow-muted)}

/* Session 1 live-QA cleanup: prevent rental workspaces from widening the page. */
.cfl-v2-shell :is(.cfl-command-center,.cfl-rental-workspace,.cfl-rental-view,.cfl-operations-section,.cfl-operation-card,.cfl-operation-main,.cfl-operation-equipment,.cfl-operation-equipment-row,.cfl-operation-inline-action,.cfl-rental-list,.cfl-rental-calendar,.cfl-rental-card-grid){min-width:0!important;max-width:100%!important}
.cfl-v2-shell :is(.cfl-operation-title,.cfl-operation-main,.cfl-operation-equipment-row)>*{min-width:0}
.cfl-v2-shell .cfl-operation-inline-action :is(form,.cfl-inline-form){max-width:100%}
.cfl-v2-shell .cfl-operation-inline-action :is(input,select,button){min-width:0;max-width:100%}

/* Task alignment only: preserve 2.11.3 interaction model and fix mobile month overflow. */
.cfl-v2-shell .cfl-task-workspace,
.cfl-v2-shell .cfl-task-split-layout,
.cfl-v2-shell .cfl-task-results-panel,
.cfl-v2-shell .cfl-task-calendar-toolbar,
.cfl-v2-shell .cfl-task-calendar,
.cfl-v2-shell .cfl-task-week-planner{min-width:0!important;max-width:100%!important}

/* Theme-specific shadow restraint. */
.cfl-v2-shell[data-theme="dark"] :is(.cfl-workflow-section,.cfl-application-history,.cfl-request-history,.cfl-application-queue-card,.cfl-request-queue-card,.cfl-messaging-app,.cfl-inventory-manager){box-shadow:none!important}

@media(max-width:1180px){
  .cfl-v2-shell .cfl-application-queue-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view{grid-template-columns:1fr}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-top,
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-actions,
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-customer-admin-settings,
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-rental-history,
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-notes{grid-column:auto}
  .cfl-v2-shell .cfl-request-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cfl-v2-shell .cfl-request-history-filters>.cfl-btn{width:100%}
}

@media(max-width:820px){
  .cfl-v2-shell .cfl-workflow-section,
  .cfl-v2-shell .cfl-application-history,
  .cfl-v2-shell .cfl-request-history,
  .cfl-v2-shell .cfl-inventory-manager{padding:15px!important}
  .cfl-v2-shell .cfl-workflow-section-head,
  .cfl-v2-shell .cfl-directory-heading,
  .cfl-v2-shell .cfl-inventory-manager-head{align-items:stretch!important;flex-direction:column!important}
  .cfl-v2-shell .cfl-workflow-count{align-self:flex-start}
  .cfl-v2-shell .cfl-application-queue-meta,
  .cfl-v2-shell .cfl-request-queue-meta{grid-template-columns:1fr 1fr}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cfl-v2-shell .cfl-inventory-manager-head>.cfl-btn{width:100%}
  .cfl-v2-shell .cfl-inventory-subnav{width:100%!important}
  .cfl-v2-shell .cfl-inventory-subnav a{flex:1 0 auto}
  .cfl-v2-shell .cfl-catalog-summary{align-items:flex-start;flex-direction:column}
  .cfl-v2-shell .cfl-messaging-app{min-height:620px}

  /* Rental forms remain useful on narrow tablets instead of forcing document overflow. */
  .cfl-v2-shell .cfl-operation-inline-action :is(form,.cfl-inline-form){display:grid!important;grid-template-columns:minmax(72px,90px) minmax(0,1fr)!important;gap:8px!important}
  .cfl-v2-shell .cfl-operation-inline-action :is(form,.cfl-inline-form) .cfl-operation-submit,
  .cfl-v2-shell .cfl-operation-inline-action :is(form,.cfl-inline-form)>button:last-child{grid-column:1/-1;width:100%!important}
}

@media(max-width:760px){
  .cfl-v2-shell .cfl-application-queue-head,
  .cfl-v2-shell .cfl-request-queue-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}
  .cfl-v2-shell .cfl-application-queue-head>.cfl-status,
  .cfl-v2-shell .cfl-request-queue-head>.cfl-status{grid-column:2;margin:2px 0 0;justify-self:start}
  .cfl-v2-shell .cfl-application-queue-meta,
  .cfl-v2-shell .cfl-request-queue-meta{grid-template-columns:1fr}
  .cfl-v2-shell .cfl-application-queue-actions,
  .cfl-v2-shell .cfl-request-queue-card>.cfl-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .cfl-v2-shell .cfl-application-queue-actions>*:last-child:nth-child(odd),
  .cfl-v2-shell .cfl-request-queue-card>.cfl-card-actions>*:last-child:nth-child(odd){grid-column:1/-1}
  .cfl-v2-shell .cfl-application-queue-actions :is(.cfl-btn,form,form .cfl-btn),
  .cfl-v2-shell .cfl-request-queue-card>.cfl-card-actions :is(.cfl-btn,form,form .cfl-btn){width:100%!important}
  .cfl-v2-shell .cfl-request-queue-card .cfl-details{grid-template-columns:1fr}
  .cfl-v2-shell .cfl-request-history-filters{grid-template-columns:1fr}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view{padding:15px!important}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-profile-stats{grid-template-columns:1fr 1fr 1fr}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-actions>*{width:100%!important}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-actions form .cfl-btn{width:100%!important}
  .cfl-v2-shell .cfl-calendar-intro{padding:16px!important}
  .cfl-v2-shell .cfl-calendar-intro-icon{width:40px;height:40px;flex-basis:40px}
  .cfl-v2-shell .cfl-messaging-app{min-height:calc(100dvh - 180px);border-radius:12px!important}
  .cfl-v2-shell .cfl-message-main{min-width:0}

  /* A month becomes a useful agenda on phones instead of a 7-column overflow. */
  .cfl-v2-shell .cfl-task-calendar.is-month{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-day{
    display:none;
    min-height:0!important;
    padding:10px!important;
    border:1px solid var(--task-line)!important;
    border-radius:10px!important;
  }
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-day.has-tasks,
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-day.is-today{display:block}
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-day>header{justify-content:flex-start!important;gap:7px!important;padding-bottom:8px!important}
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-day>header span{font-size:10px!important}
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-day>header strong{font-size:12px!important}
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-calendar-entry{min-height:44px;padding:8px 10px}
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-calendar-entry strong{font-size:11px}
  .cfl-v2-shell .cfl-task-calendar.is-month .cfl-task-calendar-entry span{font-size:9px;white-space:normal}

  /* Session 1 rental views: never widen the document on phones. */
  .cfl-v2-shell :is(.cfl-rental-view-switcher,.cfl-view-switcher){display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;overflow:visible!important}
  .cfl-v2-shell :is(.cfl-rental-view-switcher,.cfl-view-switcher) a{width:100%!important;min-width:0!important;justify-content:center!important;white-space:normal!important}
  .cfl-v2-shell .cfl-operation-card{grid-template-columns:1fr!important;padding:13px!important}
  .cfl-v2-shell .cfl-operation-time{border-right:0!important;border-bottom:1px solid var(--cfl-workflow-line);padding:0 0 10px!important}
  .cfl-v2-shell .cfl-operation-inline-action :is(form,.cfl-inline-form){grid-template-columns:1fr!important}
  .cfl-v2-shell .cfl-operation-inline-action :is(form,.cfl-inline-form)>*{grid-column:auto!important;width:100%!important}
  .cfl-v2-shell :is(.cfl-rental-list-row,.cfl-rental-calendar-row,.cfl-rental-card){max-width:100%!important;overflow-wrap:anywhere}
}

@media(max-width:520px){
  .cfl-v2-shell .cfl-workflow-empty{padding:14px}
  .cfl-v2-shell .cfl-application-queue-card,
  .cfl-v2-shell .cfl-request-queue-card{padding:14px}
  .cfl-v2-shell .cfl-application-queue-actions,
  .cfl-v2-shell .cfl-request-queue-card>.cfl-card-actions,
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-card-actions{grid-template-columns:1fr!important}
  .cfl-v2-shell .cfl-application-queue-actions>*:last-child:nth-child(odd),
  .cfl-v2-shell .cfl-request-queue-card>.cfl-card-actions>*:last-child:nth-child(odd){grid-column:auto}
  .cfl-v2-shell .cfl-customer-profile.is-profile-view>.cfl-profile-stats{grid-template-columns:1fr}
  .cfl-v2-shell .cfl-directory-view-switcher{width:100%}
  .cfl-v2-shell .cfl-directory-view-switcher a{flex:1}
  .cfl-v2-shell .cfl-availability-search{padding:13px}
  .cfl-v2-shell .cfl-catalog-view-toggle{width:100%}
  .cfl-v2-shell .cfl-catalog-view-toggle a{flex:1}
  .cfl-v2-shell .cfl-calendar-intro{display:grid}
  .cfl-v2-shell .cfl-calendar-setup-state{display:grid;justify-items:start}
  .cfl-v2-shell .cfl-message-welcome{padding:24px 18px}
}

/* 2.11.5 Session 3 — customer overview, semantic decisions, and history paging. */
.cfl-v2-shell .cfl-customer-profile.is-profile-view {
  grid-template-columns: minmax(0, 1fr) !important;
}
.cfl-v2-shell .cfl-customer-profile.is-profile-view > .cfl-profile-overview {
  grid-column: 1 / -1 !important;
  display: grid;
  gap: 14px;
  min-width: 0;
}
.cfl-v2-shell .cfl-profile-overview .cfl-profile-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}
.cfl-v2-shell .cfl-profile-overview .cfl-profile-stats > div {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 0;
  padding: 15px 12px;
  border: 1px solid var(--cfl-workflow-line);
  border-radius: 12px;
  background: var(--cfl-workflow-surface-soft);
  text-align: center;
}
.cfl-v2-shell .cfl-profile-overview .cfl-profile-stats strong {
  color: var(--cfl-workflow-text) !important;
  font-size: clamp(21px, 2vw, 26px);
  line-height: 1;
}
.cfl-v2-shell .cfl-profile-overview .cfl-profile-stats span {
  color: var(--cfl-workflow-muted) !important;
  font-size: 11px;
  font-weight: 800;
}
.cfl-v2-shell .cfl-profile-information-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  min-width: 0;
}
.cfl-v2-shell .cfl-profile-information-card {
  display: grid;
  align-content: start;
  gap: 13px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--cfl-workflow-line);
  border-radius: 13px;
  background: var(--cfl-workflow-surface-soft);
}
.cfl-v2-shell .cfl-profile-information-card :is(h4,p) { margin: 0 !important; }
.cfl-v2-shell .cfl-profile-information-card h4 {
  color: var(--cfl-workflow-text) !important;
  font-size: 16px !important;
}
.cfl-v2-shell .cfl-profile-information-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  min-width: 0;
}
.cfl-v2-shell .cfl-profile-information-card dl > div {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
}
.cfl-v2-shell .cfl-profile-information-card dt {
  color: var(--cfl-workflow-muted) !important;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.cfl-v2-shell .cfl-profile-information-card dd {
  margin: 0;
  min-width: 0;
  color: var(--cfl-workflow-text) !important;
  font-weight: 700;
  overflow-wrap: break-word;
}
.cfl-v2-shell .cfl-profile-information-card dd small {
  display: block;
  margin-top: 4px;
  color: var(--cfl-workflow-muted) !important;
  font-weight: 600;
  line-height: 1.4;
}
.cfl-v2-shell .cfl-profile-information-card .cfl-profile-address,
.cfl-v2-shell .cfl-profile-information-card .cfl-profile-last-rental {
  grid-column: 1 / -1;
}
.cfl-v2-shell .cfl-profile-attention {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border: 1px solid var(--cfl-workflow-line);
  border-left-width: 4px;
  border-radius: 10px;
  background: var(--cfl-workflow-surface);
}
.cfl-v2-shell .cfl-profile-attention span {
  color: var(--cfl-workflow-muted) !important;
  line-height: 1.4;
}
.cfl-v2-shell .cfl-profile-attention.is-warning {
  border-left-color: var(--cfl-brand-warning, #9a6700);
  background: color-mix(in srgb, var(--cfl-brand-warning, #9a6700) 8%, var(--cfl-workflow-surface));
}
.cfl-v2-shell .cfl-profile-attention.is-danger {
  border-left-color: var(--cfl-brand-error, #b42318);
  background: color-mix(in srgb, var(--cfl-brand-error, #b42318) 8%, var(--cfl-workflow-surface));
}
.cfl-v2-shell .cfl-profile-attention.is-info {
  border-left-color: var(--cfl-v2-primary);
  background: color-mix(in srgb, var(--cfl-v2-primary) 7%, var(--cfl-workflow-surface));
}
.cfl-v2-shell .cfl-profile-attention.is-neutral { border-left-color: var(--cfl-workflow-muted); }

/* Decision meaning takes precedence over the general company primary color. */
.cfl-v2-shell .cfl-btn.cfl-action-success {
  background: color-mix(in srgb, var(--cfl-brand-success, #176b31) 13%, var(--cfl-v2-surface)) !important;
  border-color: color-mix(in srgb, var(--cfl-brand-success, #176b31) 62%, var(--cfl-v2-line)) !important;
  color: color-mix(in srgb, var(--cfl-brand-success, #176b31) 74%, var(--cfl-v2-text)) !important;
  -webkit-text-fill-color: currentColor !important;
}
.cfl-v2-shell .cfl-btn.cfl-action-warning {
  background: color-mix(in srgb, var(--cfl-brand-warning, #9a6700) 13%, var(--cfl-v2-surface)) !important;
  border-color: color-mix(in srgb, var(--cfl-brand-warning, #9a6700) 62%, var(--cfl-v2-line)) !important;
  color: color-mix(in srgb, var(--cfl-brand-warning, #9a6700) 74%, var(--cfl-v2-text)) !important;
  -webkit-text-fill-color: currentColor !important;
}
.cfl-v2-shell .cfl-btn.cfl-action-danger {
  background: color-mix(in srgb, var(--cfl-brand-error, #b42318) 13%, var(--cfl-v2-surface)) !important;
  border-color: color-mix(in srgb, var(--cfl-brand-error, #b42318) 62%, var(--cfl-v2-line)) !important;
  color: color-mix(in srgb, var(--cfl-brand-error, #b42318) 74%, var(--cfl-v2-text)) !important;
  -webkit-text-fill-color: currentColor !important;
}
.cfl-v2-shell .cfl-btn.cfl-action-success:hover,
.cfl-v2-shell .cfl-btn.cfl-action-success:focus-visible {
  background: color-mix(in srgb, var(--cfl-brand-success, #176b31) 20%, var(--cfl-v2-surface)) !important;
}
.cfl-v2-shell .cfl-btn.cfl-action-warning:hover,
.cfl-v2-shell .cfl-btn.cfl-action-warning:focus-visible {
  background: color-mix(in srgb, var(--cfl-brand-warning, #9a6700) 20%, var(--cfl-v2-surface)) !important;
}
.cfl-v2-shell .cfl-btn.cfl-action-danger:hover,
.cfl-v2-shell .cfl-btn.cfl-action-danger:focus-visible {
  background: color-mix(in srgb, var(--cfl-brand-error, #b42318) 20%, var(--cfl-v2-surface)) !important;
}
.cfl-v2-shell .cfl-profile-rental-pagination {
  scroll-margin-top: 90px;
}

@media (max-width: 900px) {
  .cfl-v2-shell .cfl-profile-information-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .cfl-v2-shell .cfl-profile-overview .cfl-profile-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cfl-v2-shell .cfl-profile-information-card dl { grid-template-columns: minmax(0, 1fr); }
  .cfl-v2-shell .cfl-profile-information-card .cfl-profile-address,
  .cfl-v2-shell .cfl-profile-information-card .cfl-profile-last-rental { grid-column: auto; }
  .cfl-v2-shell .cfl-profile-rental-pagination {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }
  .cfl-v2-shell .cfl-profile-rental-pagination > span {
    grid-column: 1 / -1;
    grid-row: 1;
    text-align: center;
  }
  .cfl-v2-shell .cfl-profile-rental-pagination > .cfl-btn { width: 100% !important; }
}
@media (max-width: 380px) {
  .cfl-v2-shell .cfl-profile-overview .cfl-profile-stats { grid-template-columns: minmax(0, 1fr); }
}

/* Historical extension invoices are copy actions, not payment/signature controls. */
.cfl-legacy-invoice-copy { min-width:0; max-width:100%; margin:12px 0; overflow-wrap:anywhere; }
.cfl-legacy-invoice-copy p { margin:6px 0 10px; }
.cfl-legacy-invoice-copy .cfl-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; box-sizing:border-box; padding:10px 14px; white-space:normal; line-height:1.4; text-align:center; }
.cfl-legacy-invoice-copy .cfl-btn:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
