:root{--rb-font-headline:"Bull", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--rb-font-body:"Bull Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--rb-color-surface-light-lighter:#fff;--rb-color-surface-light:#f8f8f8;--rb-color-surface-light-darker:#efefef;--rb-color-surface-dark:#00162b;--rb-color-surface-dark-lighter:#001c39;--rb-color-primary-lightest:#e8f0fd;--rb-color-primary-lighter:#3279f0;--rb-color-primary:#1b6aee;--rb-color-primary-darker:#175aca;--rb-color-accent-negative-lightest:#fbe7ec;--rb-color-accent-negative-lighter:#f50b48;--rb-color-accent-negative:#db0a40;--rb-color-accent-negative-darker:#c3093b;--rb-color-text-dark-primary:#000f1e;--rb-color-text-dark-secondary:#000f1e99;--rb-color-text-dark-disabled:#000f1e66;--rb-color-text-light-primary:#fff;--rb-color-text-light-secondary:#fff9;--rb-color-glass-dark-05:#000f1e0d;--rb-color-glass-dark-10:#000f1e1a;--rb-color-glass-dark-20:#000f1e33;--rb-3x-tight:2px;--rb-2x-tight:4px;--rb-x-tight:8px;--rb-tight:12px;--rb-normal:16px;--rb-loose:24px;--rb-x-loose:32px;--rb-2x-loose:40px;--rb-border-radius-small:4px;--rb-border-radius-medium:6px;--rb-border-radius-large:8px;--rb-border-radius-x-large:16px;--rb-border-radius-full:999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-kerning:normal;font-variant-ligatures:common-ligatures;font-size:16px}body{font-family:var(--rb-font-body);color:var(--rb-color-text-dark-primary);background:var(--rb-color-surface-light);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}.app-bar{background:var(--rb-color-surface-dark);color:var(--rb-color-text-light-primary);padding:var(--rb-tight) var(--rb-loose);z-index:100;position:sticky;top:0}.app-bar-content{justify-content:space-between;align-items:center;width:100%;max-width:1600px;margin:0 auto;display:flex}.app-title{font-family:var(--rb-font-headline);letter-spacing:-.01em;font-size:24px;font-weight:700}.main-content{width:100%;max-width:1600px;padding:var(--rb-loose);flex:1;margin:0 auto}.page-header{margin-bottom:var(--rb-loose);justify-content:space-between;align-items:flex-start;gap:var(--rb-normal);flex-wrap:wrap;display:flex}.page-header h2{font-family:var(--rb-font-headline);font-size:24px;font-weight:700}.page-subtitle{color:var(--rb-color-text-dark-secondary);margin-top:var(--rb-2x-tight);font-size:14px}.page-actions{gap:var(--rb-x-tight);flex-wrap:wrap;display:flex}.presence-bar{align-items:center;gap:var(--rb-normal);font-size:14px;display:flex}.connection-status{align-items:center;gap:var(--rb-2x-tight);color:var(--rb-color-text-light-secondary);font-size:13px;display:flex}.status-dot{border-radius:var(--rb-border-radius-full);flex-shrink:0;width:8px;height:8px;display:inline-block}.connected .status-dot{background:var(--rb-color-primary)}.disconnected .status-dot{background:var(--rb-color-accent-negative);animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.disconnected .status-dot{animation:none}}.presence-avatars{flex-direction:row-reverse;align-items:center;display:flex}.presence-avatar{border-radius:var(--rb-border-radius-full);width:28px;height:28px;font-family:var(--rb-font-body);color:var(--rb-color-text-light-primary);border:2px solid var(--rb-color-surface-dark);cursor:default;z-index:0;justify-content:center;align-items:center;margin-left:-6px;font-size:11px;font-weight:700;transition:transform .15s,z-index;display:flex;position:relative}.presence-avatar:first-child{margin-left:0}.presence-avatar:hover{z-index:10;transform:translateY(-2px)}.presence-avatar--overflow{background:var(--rb-color-glass-light-20);letter-spacing:-.5px;font-size:10px}@media (prefers-reduced-motion:reduce){.presence-avatar{transition:none}}.month-dropdown-trigger{align-items:center;gap:var(--rb-x-tight);cursor:pointer;text-align:left;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23000F1E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px;display:flex}.managed-filter{position:relative}.managed-filter-trigger{justify-content:space-between;align-items:center;gap:var(--rb-x-tight);cursor:pointer;text-align:left;appearance:none;padding-right:var(--rb-tight);background-image:none;display:flex}.managed-filter-trigger.has-value{border-color:var(--rb-color-primary);color:var(--rb-color-primary)}.managed-filter-trigger-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.managed-filter-dropdown{background:var(--rb-color-surface-light-lighter);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-large);z-index:200;width:max-content;min-width:200px;max-width:280px;padding:var(--rb-2x-tight) 0;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 16px #000f1e1f}.managed-filter-divider{background:var(--rb-color-glass-dark-05);height:1px;margin:var(--rb-2x-tight) 0}.managed-filter-option-row{padding:0 var(--rb-2x-tight) 0 0;align-items:center;display:flex}.managed-filter-option-row:hover .managed-filter-row-actions{opacity:1}.managed-filter-option{align-items:center;gap:var(--rb-x-tight);padding:6px var(--rb-tight);cursor:pointer;color:var(--rb-color-text-dark-primary);border-radius:var(--rb-border-radius-small);flex:1;min-width:0;font-size:14px;transition:background .1s;display:flex}.managed-filter-option:hover{background:var(--rb-color-glass-dark-05)}.managed-filter-option.selected{color:var(--rb-color-primary);font-weight:600}.managed-filter-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.managed-filter-badge{background:var(--rb-color-glass-dark-05);color:var(--rb-color-text-dark-secondary);border-radius:var(--rb-border-radius-full);flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:600}.managed-filter-row-actions{opacity:0;flex-shrink:0;align-items:center;gap:2px;transition:opacity .1s;display:flex}.managed-filter-action{border-radius:var(--rb-border-radius-small);cursor:pointer;width:24px;height:24px;color:var(--rb-color-text-dark-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex}.managed-filter-action:hover{background:var(--rb-color-glass-dark-10);color:var(--rb-color-text-dark-primary)}.managed-filter-action.delete:hover,.managed-filter-action.danger:hover{color:var(--rb-color-accent-negative);background:var(--rb-color-accent-negative-lightest)}.managed-filter-action.save:hover{color:var(--rb-color-accent-positive);background:var(--rb-color-accent-positive-lightest)}.managed-filter-action:disabled{opacity:.35;cursor:not-allowed}.managed-filter-edit-row,.managed-filter-delete-confirm{align-items:center;gap:var(--rb-2x-tight);width:100%;padding:4px var(--rb-x-tight);display:flex}.managed-filter-edit-input{padding:3px var(--rb-x-tight);border:1px solid var(--rb-color-primary);border-radius:var(--rb-border-radius-small);background:var(--rb-color-surface-light-lighter);color:var(--rb-color-text-dark-primary);outline:none;flex:1;min-width:0;font-size:13px}.managed-filter-delete-text{color:var(--rb-color-text-dark-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.managed-filter-add-row{align-items:center;gap:var(--rb-2x-tight);padding:4px var(--rb-x-tight);display:flex}.managed-filter-add-input{padding:3px var(--rb-x-tight);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-small);background:var(--rb-color-glass-dark-05);color:var(--rb-color-text-dark-primary);outline:none;flex:1;min-width:0;font-size:13px}.managed-filter-add-input:focus{border-color:var(--rb-color-primary);background:var(--rb-color-surface-light-lighter)}.managed-filter-add-input::placeholder{color:var(--rb-color-text-dark-disabled)}.month-calendar{margin-top:var(--rb-2x-tight);background:var(--rb-color-surface-light-lighter);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-large);z-index:20;padding:var(--rb-tight);width:260px;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #000f1e1f}.month-calendar-header{margin-bottom:var(--rb-x-tight);justify-content:space-between;align-items:center;display:flex}.month-calendar-year-select{font-family:var(--rb-font-headline);color:var(--rb-color-text-dark-primary);cursor:pointer;text-align:center;appearance:none;padding:var(--rb-2x-tight) var(--rb-x-tight);border-radius:var(--rb-border-radius-medium);background:0 0;border:none;font-size:16px;font-weight:700;transition:background .15s}.month-calendar-year-select:hover{background:var(--rb-color-glass-dark-05)}.month-calendar-year-select:focus{background:var(--rb-color-primary-lightest);outline:none}.month-calendar-nav{cursor:pointer;padding:var(--rb-2x-tight);border-radius:var(--rb-border-radius-medium);color:var(--rb-color-text-dark-secondary);background:0 0;border:none;align-items:center;transition:background .15s,color .15s;display:flex}.month-calendar-nav:hover{background:var(--rb-color-glass-dark-05);color:var(--rb-color-primary)}.month-calendar-grid{gap:var(--rb-2x-tight);grid-template-columns:repeat(4,1fr);display:grid}.month-calendar-cell{padding:var(--rb-x-tight) var(--rb-2x-tight);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-medium);background:var(--rb-color-surface-light-lighter);font-family:var(--rb-font-body);color:var(--rb-color-text-dark-primary);cursor:pointer;text-align:center;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.month-calendar-cell:hover{border-color:var(--rb-color-primary);background:var(--rb-color-primary-lightest)}.month-calendar-cell.selected{background:var(--rb-color-primary);border-color:var(--rb-color-primary);color:var(--rb-color-text-light-primary)}.month-calendar-cell.selected:hover{background:var(--rb-color-primary-lighter)}.filter-bar{gap:var(--rb-normal);background:var(--rb-color-surface-light-lighter);padding:var(--rb-normal);border-radius:var(--rb-border-radius-large);margin-bottom:var(--rb-loose);border:1px solid var(--rb-color-glass-dark-05);flex-wrap:wrap;align-items:flex-end;display:flex}.filter-group{gap:var(--rb-2x-tight);flex-direction:column;min-width:150px;display:flex;position:relative}.filter-label{color:var(--rb-color-text-dark-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.filter-input,.filter-select{font-family:var(--rb-font-body);padding:var(--rb-x-tight) var(--rb-tight);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-medium);background:var(--rb-color-surface-light-lighter);color:var(--rb-color-text-dark-primary);font-size:14px;transition:border-color .15s}select.filter-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23000F1E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.filter-input:focus,.filter-select:focus{border-color:var(--rb-color-primary);box-shadow:0 0 0 2px var(--rb-color-primary-lightest);outline:none}.filter-clear-btn{align-items:center;gap:var(--rb-2x-tight);color:var(--rb-color-primary);font-family:var(--rb-font-body);cursor:pointer;padding:var(--rb-x-tight) var(--rb-tight);border-radius:var(--rb-border-radius-medium);background:0 0;border:none;font-size:14px;transition:background .15s;display:flex}.filter-clear-btn:hover{background:var(--rb-color-primary-lightest)}.filter-show-closed-btn{align-items:center;gap:var(--rb-2x-tight);background:var(--rb-color-glass-dark-05);border:1px solid var(--rb-color-glass-dark-10);color:var(--rb-color-text-dark-secondary);font-family:var(--rb-font-body);cursor:pointer;padding:4px var(--rb-tight);border-radius:var(--rb-border-radius-full);white-space:nowrap;font-size:13px;transition:background .15s,color .15s;display:flex}.filter-show-closed-btn:hover{background:var(--rb-color-glass-dark-10);color:var(--rb-color-text-dark-primary)}.filter-show-closed-btn--active{background:var(--rb-color-accent-info-lightest);border-color:var(--rb-color-accent-info);color:var(--rb-color-accent-info-darker)}.filter-show-closed-btn--active:hover{background:var(--rb-color-accent-info-lightest)}.grid-wrapper{background:var(--rb-color-surface-light-lighter);border-radius:var(--rb-border-radius-large);border:1px solid var(--rb-color-glass-dark-05);margin-bottom:var(--rb-loose);overflow-x:auto}.totals-heading{font-family:var(--rb-font-headline);margin-top:var(--rb-x-loose);margin-bottom:var(--rb-x-tight);font-size:18px;font-weight:700}.allocation-table{border-collapse:collapse;width:100%;font-size:14px}.allocation-table thead{z-index:10;position:sticky;top:0}.allocation-table th{background:var(--rb-color-surface-dark);color:var(--rb-color-text-light-primary);font-family:var(--rb-font-headline);text-transform:uppercase;letter-spacing:.05em;padding:var(--rb-tight) var(--rb-normal);text-align:left;white-space:nowrap;border-bottom:2px solid var(--rb-color-surface-dark-lighter);font-size:12px;font-weight:700}.totals-table th{background:var(--rb-color-surface-light-darker);color:var(--rb-color-text-dark-primary)}.allocation-table td{padding:var(--rb-x-tight) var(--rb-normal);border-bottom:1px solid var(--rb-color-glass-dark-05);white-space:nowrap;vertical-align:middle}.allocation-table tbody tr:hover td{background-color:var(--rb-color-glass-dark-05)}.allocation-table tbody tr:hover .allocation-cell{filter:brightness(.97)}.group-first-row td,.group-first-row th{border-top:2px solid var(--rb-color-glass-dark-10)}.group-row td{border-bottom:1px solid var(--rb-color-glass-dark-05)}.group-project-cell{font-weight:700;vertical-align:middle!important}.sticky-col{z-index:5;background:var(--rb-color-surface-light-lighter);position:sticky;left:0}thead .sticky-col{background:var(--rb-color-surface-dark);z-index:15}.totals-table thead .sticky-col{background:var(--rb-color-surface-light-darker)}.col-month{text-align:center;min-width:100px}.col-comments{text-overflow:ellipsis;max-width:250px;overflow:hidden}.reorder-modal{width:100%;max-width:540px}.reorder-list{margin:var(--rb-loose) 0 0;gap:var(--rb-2x-tight);flex-direction:column;max-height:60vh;padding:0;list-style:none;display:flex;overflow-y:auto}.reorder-item{align-items:center;gap:var(--rb-x-tight);padding:var(--rb-tight) var(--rb-normal);background:var(--rb-color-surface-light-lighter);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-large);cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .1s,opacity .1s;display:flex}.reorder-item:hover{box-shadow:0 2px 8px var(--rb-color-glass-dark-10)}.reorder-item:active{cursor:grabbing}.reorder-item--dragging{opacity:.4;box-shadow:none}.reorder-item--drop-above{box-shadow:0 -3px 0 0 var(--rb-color-primary)}.reorder-item--drop-below{box-shadow:0 3px 0 0 var(--rb-color-primary)}.reorder-grip{color:var(--rb-color-text-dark-disabled);flex-shrink:0;align-items:center;display:flex}.reorder-name{font-family:var(--rb-font-body,"Bull Text", sans-serif);color:var(--rb-color-text-dark-primary);flex:1;font-size:15px;font-weight:600}.reorder-meta{color:var(--rb-color-text-dark-secondary);flex-shrink:0;font-size:13px}.col-actions{text-align:center;width:64px;padding:0 var(--rb-2x-tight)}.row-actions-group{align-items:center;gap:2px;display:inline-flex;position:relative}.row-action-btn{border-radius:var(--rb-border-radius-full);cursor:pointer;width:28px;height:28px;color:var(--rb-color-text-dark-secondary);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.row-action-btn:focus-visible{outline:2px solid var(--rb-color-primary);outline-offset:2px}.row-action-btn svg{flex-shrink:0}.row-copy-btn:hover,.row-add-btn:hover{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary)}.row-delete-btn:hover{background:var(--rb-color-accent-negative-lightest);color:var(--rb-color-accent-negative)}.row-deactivate-btn:hover{background:var(--rb-color-accent-info-lightest);color:var(--rb-color-accent-info-darker)}.row-tl-btn{color:var(--rb-color-text-dark-disabled)}.row-tl-btn:hover,.row-tl-btn.active{color:var(--rb-color-accent-info);background:#fff4e5}.col-tech-lead{min-width:130px;max-width:170px}.tl-none{color:var(--rb-color-text-dark-secondary);font-size:13px;font-style:italic}.tl-select{width:100%;font-family:var(--rb-font-body,inherit);color:var(--rb-color-text-dark-primary);cursor:pointer;background:0 0;border:none;outline:none;padding:0;font-size:13px}.tl-badge{letter-spacing:.04em;background:var(--rb-color-accent-info-lightest);color:var(--rb-color-accent-info-darker);border-radius:var(--rb-border-radius-small);vertical-align:middle;flex-shrink:0;align-items:center;margin-right:5px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-flex}.inactive-label{letter-spacing:.03em;background:var(--rb-color-surface-light-darker);color:var(--rb-color-text-dark-disabled);border-radius:var(--rb-border-radius-small);vertical-align:middle;flex-shrink:0;align-items:center;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-flex}tr:has(.person-inactive){opacity:.55}.cell-editable{cursor:pointer;transition:background-color .15s}.cell-editable:hover{background-color:var(--rb-color-glass-dark-05)}.cell-editable:focus{box-shadow:inset 0 0 0 2px var(--rb-color-primary-lightest);outline:none}.cell-editing{padding:0!important}.cell-edit-input,.cell-edit-select{width:100%;height:100%;padding:var(--rb-x-tight) var(--rb-normal);border:2px solid var(--rb-color-primary);font-family:var(--rb-font-body);background:var(--rb-color-surface-light-lighter);color:var(--rb-color-text-dark-primary);box-sizing:border-box;border-radius:0;font-size:14px}.cell-edit-input:focus,.cell-edit-select:focus{box-shadow:0 0 0 2px var(--rb-color-primary-lightest);outline:none}.combobox-wrapper{width:100%;position:relative}.combobox-list{background:var(--rb-color-surface-light-lighter);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-large);z-index:300;width:max-content;min-width:100%;max-width:260px;max-height:220px;padding:var(--rb-2x-tight) 0;margin:0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto;box-shadow:0 4px 16px #000f1e1f}.combobox-option{padding:6px var(--rb-tight);cursor:pointer;color:var(--rb-color-text-dark-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.combobox-option:hover,.combobox-option.highlighted{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary)}.combobox-option.current{font-weight:600}.combobox-option-new{color:var(--rb-color-primary);border-top:1px solid var(--rb-color-glass-dark-05);margin-top:var(--rb-2x-tight);padding-top:var(--rb-x-tight);font-style:italic}.allocation-cell{text-align:center;cursor:pointer;min-width:80px;transition:background-color .15s,box-shadow .15s;position:relative}.allocation-cell:hover{box-shadow:inset 0 0 0 2px var(--rb-color-primary-lightest)}.allocation-cell:focus{box-shadow:inset 0 0 0 2px var(--rb-color-primary);outline:none}.allocation-cell.editing{padding:0}.allocation-cell.editing-by-other{box-shadow:inset 0 0 0 2px var(--rb-color-primary-lighter)}.allocation-input{width:100%;height:100%;padding:var(--rb-x-tight);border:2px solid var(--rb-color-primary);font-family:var(--rb-font-body);text-align:center;background:var(--rb-color-surface-light-lighter);-moz-appearance:textfield;border-radius:0;font-size:14px}.allocation-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.allocation-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.allocation-input:focus{box-shadow:0 0 0 2px var(--rb-color-primary-lightest);outline:none}.allocation-value{font-weight:700;font-family:var(--rb-font-body)}.editing-indicator{background:var(--rb-color-primary);color:var(--rb-color-text-light-primary);border-radius:var(--rb-border-radius-small);white-space:nowrap;padding:1px 4px;font-size:10px;position:absolute;top:-6px;right:-4px}.total-cell{cursor:default}.total-cell:hover{box-shadow:none}.over-allocated strong,.text-negative{color:var(--rb-color-accent-negative)}.status-pill{padding:var(--rb-3x-tight) var(--rb-x-tight);border-radius:var(--rb-border-radius-full);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:700;line-height:1.4;display:inline-block}.status-pill-active{background:var(--rb-color-primary);color:var(--rb-color-text-light-primary)}.status-pill-planning{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary-darker);border:1px solid #1b6aee40}.status-pill-discovery{background:var(--rb-color-surface-dark);color:var(--rb-color-text-light-primary)}.status-pill-default{background:var(--rb-color-surface-light-darker);color:var(--rb-color-text-dark-secondary)}.totals-row--over td:first-child{border-left:3px solid var(--rb-color-accent-negative)}.totals-row--full td:first-child{border-left:3px solid var(--rb-color-accent-info)}.totals-row--available td:first-child{border-left:3px solid var(--rb-color-accent-positive)}.alloc-status-pill{padding:var(--rb-3x-tight) var(--rb-x-tight);border-radius:var(--rb-border-radius-full);white-space:nowrap;letter-spacing:.01em;font-size:12px;font-weight:600;display:inline-block}.alloc-status--over{background:var(--rb-color-accent-negative-lightest);color:var(--rb-color-accent-negative)}.alloc-status--full{background:var(--rb-color-accent-info-lightest);color:var(--rb-color-accent-info-darker)}.alloc-status--available{background:var(--rb-color-accent-positive-lightest);color:var(--rb-color-accent-positive-darker)}.team-tag{padding:var(--rb-3x-tight) var(--rb-x-tight);border-radius:var(--rb-border-radius-small);background:var(--rb-color-primary-lightest);color:var(--rb-color-primary-darker);font-size:12px;font-weight:700;display:inline-block}.btn{align-items:center;gap:var(--rb-2x-tight);font-family:var(--rb-font-body);padding:var(--rb-x-tight) var(--rb-normal);border-radius:var(--rb-border-radius-full);cursor:pointer;white-space:nowrap;border:none;font-size:14px;font-weight:700;transition:background-color .15s,box-shadow .15s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--rb-color-primary);outline-offset:2px}.btn-primary{background:var(--rb-color-primary);color:var(--rb-color-text-light-primary)}.btn-primary:hover{background:var(--rb-color-primary-lighter)}.btn-primary:active{background:var(--rb-color-primary-darker)}.btn-secondary{background:var(--rb-color-surface-light-lighter);color:var(--rb-color-text-dark-primary);border:1px solid var(--rb-color-glass-dark-10)}.btn-secondary:hover{background:var(--rb-color-surface-light-darker)}.modal-overlay{z-index:1000;padding:var(--rb-loose);background:#000f1e66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--rb-color-surface-light-lighter);border-radius:var(--rb-border-radius-x-large);padding:var(--rb-loose);width:100%;max-width:480px;box-shadow:0 20px 60px #000f1e33}.modal-header{margin-bottom:var(--rb-loose);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-family:var(--rb-font-headline);font-size:18px;font-weight:700}.modal-close-btn{cursor:pointer;padding:var(--rb-2x-tight);border-radius:var(--rb-border-radius-medium);color:var(--rb-color-text-dark-secondary);background:0 0;border:none;align-items:center;transition:background .15s;display:flex}.modal-close-btn:hover{background:var(--rb-color-glass-dark-05)}.col-toggle-wrapper{position:relative}.col-toggle-popover{z-index:300;background:var(--rb-color-surface-light-lighter);border:1px solid var(--rb-color-glass-dark-20);border-radius:var(--rb-border-radius-large);padding:var(--rb-x-tight) 0;min-width:180px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #000f1e1f}.col-toggle-item{align-items:center;gap:var(--rb-x-tight);padding:7px var(--rb-normal);color:var(--rb-color-text-dark-primary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;display:flex}.col-toggle-item:hover{background:var(--rb-color-surface-light-darker)}.col-toggle-item input[type=checkbox]{accent-color:var(--rb-color-primary);cursor:pointer;width:14px;height:14px}.copy-modal-hint{color:var(--rb-color-text-dark-secondary);margin:0 0 var(--rb-loose);font-size:14px}.modal-actions{gap:var(--rb-x-tight);margin-top:var(--rb-loose);justify-content:flex-end;display:flex}.confirm-modal{text-align:center;max-width:380px;padding:var(--rb-x-loose) var(--rb-loose) var(--rb-loose)}.confirm-modal-icon{margin-bottom:var(--rb-normal);justify-content:center;display:flex}.confirm-modal-title{font-family:var(--rb-font-headline);color:var(--rb-color-text-dark-primary);margin:0 0 var(--rb-x-tight);font-size:18px;font-weight:700}.confirm-modal-message{font-family:var(--rb-font-body);color:var(--rb-color-text-dark-secondary);margin:0 0 var(--rb-loose);font-size:14px;line-height:1.5}.confirm-modal-actions{gap:var(--rb-x-tight);justify-content:center;display:flex}.confirm-modal-actions .btn{min-width:100px;padding:var(--rb-x-tight) var(--rb-normal);border-radius:var(--rb-border-radius-full);font-family:var(--rb-font-body);cursor:pointer;border:none;font-size:14px;font-weight:700;transition:background .15s,color .15s}.confirm-modal-actions .btn-secondary{background:var(--rb-color-surface-light-darker);color:var(--rb-color-text-dark-primary)}.confirm-modal-actions .btn-secondary:hover{background:var(--rb-color-glass-dark-10)}.confirm-modal-actions .btn-primary{background:var(--rb-color-primary);color:var(--rb-color-text-light-primary)}.confirm-modal-actions .btn-primary:hover{background:var(--rb-color-primary-darker)}.confirm-modal-actions .btn-danger{background:var(--rb-color-accent-negative);color:var(--rb-color-text-light-primary)}.confirm-modal-actions .btn-danger:hover{background:var(--rb-color-accent-negative-darker)}.form-field{margin-bottom:var(--rb-normal)}.form-field label{margin-bottom:var(--rb-2x-tight);color:var(--rb-color-text-dark-primary);font-size:14px;font-weight:700;display:block}.form-input,.form-select{width:100%;font-family:var(--rb-font-body);padding:var(--rb-x-tight) var(--rb-tight);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-medium);background:var(--rb-color-surface-light-lighter);color:var(--rb-color-text-dark-primary);font-size:16px;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--rb-color-primary);box-shadow:0 0 0 2px var(--rb-color-primary-lightest);outline:none}.form-combobox-wrapper{position:relative}.form-combobox-list{background:var(--rb-color-surface-light-lighter);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-large);z-index:400;max-height:200px;padding:var(--rb-2x-tight) 0;margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #000f1e1f}.form-combobox-option{padding:8px var(--rb-tight);cursor:pointer;color:var(--rb-color-text-dark-primary);font-size:14px}.form-combobox-option:hover,.form-combobox-option.highlighted{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary)}.form-combobox-option-new{color:var(--rb-color-primary);border-top:1px solid var(--rb-color-glass-dark-05);margin-top:var(--rb-2x-tight);padding-top:var(--rb-x-tight);font-style:italic}.form-combobox-empty{color:var(--rb-color-text-dark-disabled);cursor:default;font-style:italic}.month-checkboxes{gap:var(--rb-normal);flex-wrap:wrap;display:flex}.checkbox-label{align-items:center;gap:var(--rb-2x-tight);cursor:pointer;font-size:14px;display:flex}.loading-state{padding:var(--rb-2x-loose);justify-content:center;align-items:center;gap:var(--rb-normal);color:var(--rb-color-text-dark-secondary);flex-direction:column;display:flex}.spinner,.stellar-spinner{border:3px solid var(--rb-color-glass-dark-10);border-top-color:var(--rb-color-primary);border-radius:var(--rb-border-radius-full);width:32px;height:32px;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.spinner,.stellar-spinner{border-top-color:var(--rb-color-primary);opacity:.6;animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:var(--rb-2x-loose);justify-content:center;align-items:center;gap:var(--rb-normal);color:var(--rb-color-text-dark-secondary);text-align:center;flex-direction:column;display:flex}.error-banner{align-items:center;gap:var(--rb-x-tight);padding:var(--rb-tight) var(--rb-normal);background:var(--rb-color-accent-negative-lightest);border-radius:var(--rb-border-radius-large);margin-bottom:var(--rb-normal);color:var(--rb-color-accent-negative);font-size:14px;display:flex}.settings-modal{max-width:560px}.settings-tabs{gap:var(--rb-2x-tight);border-bottom:2px solid var(--rb-color-glass-dark-10);margin-bottom:var(--rb-normal);display:flex}.settings-tab{align-items:center;gap:var(--rb-2x-tight);padding:var(--rb-x-tight) var(--rb-normal);font-family:var(--rb-font-body);color:var(--rb-color-text-dark-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;font-size:14px;font-weight:700;transition:color .15s,border-color .15s;display:flex}.settings-tab:hover{color:var(--rb-color-text-dark-primary)}.settings-tab.active{color:var(--rb-color-primary);border-bottom-color:var(--rb-color-primary)}.tab-count{min-width:20px;height:20px;padding:0 var(--rb-2x-tight);border-radius:var(--rb-border-radius-full);background:var(--rb-color-glass-dark-05);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.settings-tab.active .tab-count{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary)}.settings-error{align-items:center;gap:var(--rb-x-tight);padding:var(--rb-x-tight) var(--rb-tight);background:var(--rb-color-accent-negative-lightest);color:var(--rb-color-accent-negative);border-radius:var(--rb-border-radius-medium);margin-bottom:var(--rb-normal);font-size:13px;display:flex}.settings-error-dismiss{cursor:pointer;color:var(--rb-color-accent-negative);padding:var(--rb-2x-tight);background:0 0;border:none;margin-left:auto;display:flex}.settings-list{max-height:320px;margin-bottom:var(--rb-normal);border:1px solid var(--rb-color-glass-dark-05);border-radius:var(--rb-border-radius-medium);overflow-y:auto}.settings-empty{padding:var(--rb-loose);text-align:center;color:var(--rb-color-text-dark-secondary);font-size:14px}.settings-list-item{align-items:center;gap:var(--rb-x-tight);padding:var(--rb-x-tight) var(--rb-tight);border-bottom:1px solid var(--rb-color-glass-dark-05);transition:background .1s;display:flex}.settings-list-item:last-child{border-bottom:none}.settings-list-item:hover{background:var(--rb-color-glass-dark-05)}.settings-list-item--saving{opacity:.6;pointer-events:none}.settings-inline-saving{color:var(--rb-color-text-dark-disabled);margin-left:4px;font-size:11px;font-style:italic}.settings-value{cursor:pointer;padding:var(--rb-2x-tight) 0;border-radius:var(--rb-border-radius-small);flex:1;font-size:14px}.settings-value:hover{color:var(--rb-color-primary)}.settings-usage-badge{min-width:22px;height:22px;padding:0 var(--rb-2x-tight);border-radius:var(--rb-border-radius-full);background:var(--rb-color-primary-lightest);color:var(--rb-color-primary-darker);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.settings-item-actions{gap:var(--rb-2x-tight);opacity:.35;transition:opacity .15s;display:flex}.settings-list-item:hover .settings-item-actions{opacity:1}.settings-action-btn{cursor:pointer;padding:var(--rb-2x-tight);border-radius:var(--rb-border-radius-small);color:var(--rb-color-text-dark-secondary);background:0 0;border:none;align-items:center;transition:background .15s,color .15s;display:flex}.settings-action-btn.edit:hover{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary)}.settings-action-btn.delete:hover{background:var(--rb-color-accent-negative-lightest);color:var(--rb-color-accent-negative)}.settings-action-btn.delete.disabled,.managed-filter-action.delete.disabled{opacity:.25;cursor:not-allowed}.settings-action-btn.delete.disabled:hover,.managed-filter-action.delete.disabled:hover{color:inherit;background:0 0}.settings-edit-row{align-items:center;gap:var(--rb-x-tight);flex:1;display:flex}.settings-edit-input{font-family:var(--rb-font-body);padding:var(--rb-2x-tight) var(--rb-x-tight);border:2px solid var(--rb-color-primary);border-radius:var(--rb-border-radius-medium);background:var(--rb-color-surface-light-lighter);color:var(--rb-color-text-dark-primary);flex:1;font-size:14px}.settings-edit-input:focus{box-shadow:0 0 0 2px var(--rb-color-primary-lightest);outline:none}.settings-delete-confirm{align-items:center;gap:var(--rb-x-tight);flex:1;font-size:13px;display:flex}.delete-confirm-text{color:var(--rb-color-accent-negative);flex:1}.settings-add-row{gap:var(--rb-x-tight);align-items:center;display:flex}.settings-add-input{font-family:var(--rb-font-body);padding:var(--rb-x-tight) var(--rb-tight);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-medium);background:var(--rb-color-surface-light-lighter);color:var(--rb-color-text-dark-primary);flex:1;font-size:14px;transition:border-color .15s}.settings-add-input:focus{border-color:var(--rb-color-primary);box-shadow:0 0 0 2px var(--rb-color-primary-lightest);outline:none}.btn-sm{padding:var(--rb-2x-tight) var(--rb-x-tight);font-size:12px}.btn-danger{background:var(--rb-color-accent-negative);color:var(--rb-color-text-light-primary);border:none}.btn-danger:hover{background:var(--rb-color-accent-negative-lighter)}.btn-danger:active{background:var(--rb-color-accent-negative-darker)}.person-mgmt-modal{max-width:560px}.person-mgmt-controls{gap:var(--rb-x-tight);margin-bottom:var(--rb-normal);flex-direction:column;display:flex}.person-mgmt-search{width:100%;font-family:var(--rb-font-body);padding:var(--rb-x-tight) var(--rb-tight);border:1px solid var(--rb-color-glass-dark-10);border-radius:var(--rb-border-radius-medium);background:var(--rb-color-surface-light-lighter);color:var(--rb-color-text-dark-primary);font-size:14px;transition:border-color .15s}.person-mgmt-search:focus{border-color:var(--rb-color-primary);box-shadow:0 0 0 2px var(--rb-color-primary-lightest);outline:none}.person-mgmt-filter-tabs{gap:var(--rb-2x-tight);border-bottom:2px solid var(--rb-color-glass-dark-10);display:flex}.person-mgmt-tab{align-items:center;gap:var(--rb-2x-tight);padding:var(--rb-x-tight) var(--rb-normal);font-family:var(--rb-font-body);color:var(--rb-color-text-dark-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;font-size:14px;font-weight:700;transition:color .15s,border-color .15s;display:flex}.person-mgmt-tab:hover{color:var(--rb-color-text-dark-primary)}.person-mgmt-tab.active{color:var(--rb-color-primary);border-bottom-color:var(--rb-color-primary)}.person-mgmt-tab.active .tab-count{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary)}.person-mgmt-list{border:1px solid var(--rb-color-glass-dark-05);border-radius:var(--rb-border-radius-medium);max-height:400px;margin-bottom:var(--rb-normal);overflow-y:auto}.person-mgmt-item{padding:var(--rb-x-tight) var(--rb-tight);border-bottom:1px solid var(--rb-color-glass-dark-05);justify-content:space-between;align-items:center;transition:background .1s;display:flex}.person-mgmt-item:last-child{border-bottom:none}.person-mgmt-item:hover{background:var(--rb-color-glass-dark-05)}.person-mgmt-item.inactive{opacity:.55}.person-mgmt-info{gap:var(--rb-3x-tight);flex-direction:column;display:flex}.person-mgmt-name{font-size:14px;font-weight:700}.person-mgmt-name.editable{cursor:pointer;align-items:center;gap:var(--rb-2x-tight);border-radius:var(--rb-border-radius-small);padding:2px var(--rb-2x-tight);transition:background .15s;display:inline-flex}.person-mgmt-name.editable svg{opacity:.3;width:13px;height:13px;color:var(--rb-color-text-dark-secondary);flex-shrink:0;transition:opacity .15s}.person-mgmt-name.editable:hover{background:var(--rb-color-glass-dark-05)}.person-mgmt-name.editable:hover svg{opacity:.8}.person-mgmt-name-input{font-family:var(--rb-font-body);border:1px solid var(--rb-color-primary);border-radius:var(--rb-border-radius-small);padding:2px var(--rb-2x-tight);background:var(--rb-color-surface-light-lighter);outline:none;width:100%;max-width:240px;font-size:14px;font-weight:700}.person-mgmt-meta{color:var(--rb-color-text-dark-secondary);font-size:12px}.person-mgmt-toggle{font-family:var(--rb-font-body);padding:var(--rb-2x-tight) var(--rb-x-tight);border-radius:var(--rb-border-radius-full);cursor:pointer;text-align:center;border:none;min-width:72px;font-size:12px;font-weight:700;transition:background .15s,color .15s}.person-mgmt-toggle.is-active{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary)}.person-mgmt-toggle.is-active:hover{background:var(--rb-color-accent-negative-lightest);color:var(--rb-color-accent-negative)}.person-mgmt-toggle.is-inactive{background:var(--rb-color-glass-dark-05);color:var(--rb-color-text-dark-secondary)}.person-mgmt-toggle.is-inactive:hover{background:var(--rb-color-primary-lightest);color:var(--rb-color-primary)}.person-mgmt-footer{text-align:right}.person-mgmt-summary{color:var(--rb-color-text-dark-secondary);font-size:13px}
