.recurring-workspace, .cutover-workspace { padding: 18px; min-width: 0; }
.recurring-workspace nav, .cutover-workspace nav { margin-bottom: 16px; }
.recurring-workspace nav a, .cutover-workspace nav a { color: var(--navy, #153f55); }
.recurring-workspace article, .recurring-workspace form, .cutover-workspace article { padding: 18px; margin: 16px 0; }
.recurring-workspace h3, .cutover-workspace h3 { margin-top: 0; }
.recurring-workspace .field, .cutover-workspace .field { margin: 12px 0; }
.recurring-workspace .button, .cutover-workspace .button { white-space: normal; max-width: 100%; margin: 4px 4px 4px 0; }
.recurring-workspace input, .recurring-workspace select, .cutover-workspace input, .cutover-workspace select { max-width: 100%; min-width: 0; }
.recurring-workspace fieldset { min-width: 0; border: 1px solid #dce5eb; border-radius: 8px; padding: 14px; }
.recurring-workspace li { margin: 8px 0; overflow-wrap: anywhere; }
.cutover-workspace fieldset { min-width: 0; padding: 14px; border: 1px solid #dce5eb; border-radius: 8px; }
.recurring-workspace [role="alert"], .cutover-workspace [role="note"] { color: #8a331a; }
@media (max-width: 760px) {
  .recurring-workspace, .cutover-workspace { padding: 12px; }
  .recurring-workspace article, .recurring-workspace form, .cutover-workspace article { padding: 14px; }
}
/* Compact customer index and its one-customer drilldown. */
.recurring-workspace.section { --rw-columns: minmax(112px,1.15fr) minmax(145px,1.8fr) minmax(95px,.88fr) minmax(70px,.65fr) 14px; overflow: visible; background: var(--paper); }
.rw-toolbar, .rw-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rw-toolbar h2 { margin:0; display:flex; gap:8px; align-items:center; font-size:22px; color:var(--navy); }
[data-customer-count] { font-size:13px; font-variant-numeric:tabular-nums; color:var(--muted); background:var(--soft); border-radius:20px; padding:3px 8px; }
.rw-toolbar .button, .rw-tools .button { margin:0; min-height:40px; }
.rw-tools { margin:12px 0 8px; }
.rw-search { flex:1; min-width:0; }
.rw-search input { width:100%; max-width:400px; min-height:40px; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:7px 11px; font:inherit; }
.rw-menu { position:relative; }
.rw-menu > summary { list-style:none; cursor:pointer; display:inline-flex; align-items:center; }
.rw-menu > summary::-webkit-details-marker { display:none; }
.rw-menu > summary::after { content:""; margin-left:7px; width:6px; height:6px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:translateY(-2px) rotate(45deg); }
.rw-popover { position:absolute; z-index:5; right:0; top:calc(100% + 5px); width:min(230px,78vw); border:1px solid var(--line); border-radius:8px; padding:8px; box-shadow:var(--shadow); color:var(--ink); background:var(--paper); display:grid; gap:5px; }
.rw-popover a, .rw-popover button, .rw-back { text-align:left; font:inherit; font-weight:650; color:var(--navy); background:transparent; border:0; border-radius:4px; padding:8px; cursor:pointer; text-decoration:none; }
.rw-popover a:hover, .rw-popover button:hover { background:var(--soft); }
.rw-popover label { display:grid; gap:4px; padding:4px; font-size:13px; color:var(--muted); }
.rw-popover small { color:var(--muted); padding:4px; }
.rw-feedback { margin:7px 0; font-size:13px; color:var(--slate); }
.rw-feedback:empty, [data-recurring-operation]:empty, [data-directory-pages]:empty { display:none; }
.rw-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%); white-space:nowrap; }
.rw-columns, .rw-row { display:grid; grid-template-columns:var(--rw-columns); align-items:center; gap:14px; padding:0 10px; }
.rw-columns { min-height:30px; font-size:11px; font-weight:700; color:var(--muted); border-bottom:1px solid var(--line); }
.rw-columns span:nth-child(4), .rw-value { text-align:right; }
.rw-directory { list-style:none; margin:0; padding:0; }
.recurring-workspace .rw-directory li { margin:0; }
.rw-directory .rw-row { width:100%; min-height:46px; margin:0; text-align:left; font:inherit; color:var(--ink); background:var(--paper); border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; cursor:pointer; }
.rw-directory .rw-row:hover { background:var(--soft); }
.rw-directory .rw-row:focus-visible, .rw-dialog button:focus-visible, .rw-menu summary:focus-visible { outline:2px solid var(--teal-dark); outline-offset:-2px; }
.rw-name, .rw-value { font-size:14px; font-weight:750; }
.rw-name, .rw-work, .rw-frequency { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rw-value { color:var(--navy); font-variant-numeric:tabular-nums; }
.rw-value.is-unknown { color:var(--muted); font-weight:500; font-size:12px; }
.rw-work, .rw-frequency { font-size:13px; color:var(--slate); }
.rw-plan { display:contents; }
.rw-chevron { color:var(--muted); text-align:right; font-size:21px; font-weight:400; }
.rw-alert-dot { display:inline-block; border-radius:50%; padding:0 5px; background:var(--warning); color:var(--warning-ink); font-size:11px; }
[data-directory-pages] { display:flex; justify-content:center; align-items:center; gap:12px; padding:10px; }
.rw-dialog { box-sizing:border-box; padding:0; border:1px solid var(--line); border-radius:12px; width:min(660px,calc(100% - 24px)); max-height:min(88dvh,880px); color:var(--ink); background:var(--paper); box-shadow:var(--shadow); }
.rw-dialog[open] { display:flex; flex-direction:column; }
.rw-dialog::backdrop { background:rgb(8 32 47 / 52%); }
.rw-dialog-head { flex-shrink:0; padding:10px 20px 12px; border-bottom:1px solid var(--line); }
.rw-dialog-head h2 { margin:0; font-size:21px; line-height:1.25; color:var(--navy); overflow-wrap:anywhere; }
.rw-back { padding:6px 0; font-size:13px; min-height:38px; }
.rw-dialog-body { overflow-y:auto; overscroll-behavior:contain; padding:0 20px 18px; }
.recurring-workspace .rw-detail, .recurring-workspace .rw-dialog form { border:0; box-shadow:none; margin:0; padding:16px 0 0; }
.rw-detail + .rw-detail { margin-top:15px; border-top:1px solid var(--line); }
.rw-detail h3 { margin:4px 0; font-size:18px; }
.rw-detail p { margin:7px 0; }
.rw-meta, .rw-estimate span, .rw-more p { color:var(--muted); font-size:13px; }
.rw-state { color:var(--teal-dark); font-size:12px; font-weight:750; }
.rw-estimate { display:grid; gap:3px; border-left:3px solid var(--teal); margin:12px 0; padding:2px 10px; }
.rw-detail-actions { display:flex; gap:5px; flex-wrap:wrap; }
.rw-more { margin:10px 0; border-top:1px solid var(--line); padding-top:10px; }
.rw-more > summary { cursor:pointer; color:var(--navy); font-weight:650; }
.rw-dialog-body form :is(label,input,select,textarea) { min-width:0; }
@media (max-width:700px) {
  .recurring-workspace.section { padding:12px; }
  .rw-toolbar h2 { font-size:19px; }
  .rw-tools { gap:6px; }
  .rw-toolbar .button, .rw-tools .button { font-size:12px; min-height:42px; }
  .rw-columns { display:none; }
  .rw-directory { border-top:1px solid var(--line); }
  .rw-directory .rw-row { grid-template-columns:minmax(0,1fr) auto 10px; grid-template-areas:"name value arrow" "plan plan arrow"; column-gap:7px; row-gap:3px; padding:7px 2px; min-height:57px; }
  .rw-name { grid-area:name; }
  .rw-value { grid-area:value; }
  .rw-value:not(.is-unknown)::after { content:"/yr"; color:var(--muted); font-size:11px; font-weight:500; margin-left:2px; }
  .rw-chevron { grid-area:arrow; }
  .rw-plan { grid-area:plan; display:flex; align-items:baseline; gap:5px; min-width:0; }
  .rw-work { min-width:0; flex:0 1 auto; }
  .rw-frequency { flex:0 0 auto; max-width:46%; }
  .rw-frequency::before { content:"· "; }
  .rw-work, .rw-frequency { font-size:12px; }
  .rw-dialog { width:calc(100% - 12px); max-height:92dvh; border-radius:10px; }
  .rw-dialog-head { padding:5px 14px 10px; }
  .rw-dialog-body { padding:0 14px 14px; }
}
.rw-time-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.rw-schedule-exceptions { margin:12px 0; padding:8px 0; border-top:1px solid var(--line); }
.rw-schedule-exceptions > summary { cursor:pointer; font-weight:650; }
