/* Isolated from the task-board columns and other dialogs. */
#recycleModal { top:var(--rb-shell-top, 66px); height:calc(100% - var(--rb-shell-top, 66px)); background:#f2f7ff; }
#recycleModal .recycle-dialog { width:calc(100% - 48px); max-width:1280px; margin:22px auto 28px; padding:0; }
#recycleModal .modal-content { min-height:0; height:auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
#recycleModalBody { padding:0; border-radius:0; }
.rb-page { color:#203451; font-size:14px; line-height:1.5; }
.rb-page header { position:static; z-index:auto; height:auto; min-height:0; padding:0; border:0; background:transparent; box-shadow:none; }
.rb-page svg { display:block; width:20px; height:20px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.rb-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.rb-heading { display:flex; align-items:center; gap:14px; min-width:0; }
.rb-heading-icon { display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:46px; height:46px; border:1px solid #d3e2fa; border-radius:12px; background:#e8f0ff; color:#2864d6; }
.rb-heading-icon svg { width:23px; height:23px; }
.rb-title-row { display:flex; align-items:center; gap:10px; }
.rb-title-row h1 { margin:0; font-size:24px; font-weight:650; line-height:1.3; }
.rb-count { display:inline-flex; align-items:center; justify-content:center; min-width:28px; min-height:28px; padding:2px 8px; border:1px solid #d4e3fd; border-radius:8px; background:#e9f1ff; color:#2864d6; font-size:13px; font-weight:650; }
.rb-toolbar-actions { display:flex; align-items:center; gap:18px; flex:0 0 auto; }
#recycleModal .rb-filter { display:flex; flex-direction:row; align-items:center; gap:12px; width:auto; margin:0; }
.rb-period-label, .rb-filter label { margin:0; color:#657d9f; font-size:13px; white-space:nowrap; }
.rb-date-field { display:flex; align-items:center; gap:7px; min-width:0; }
#recycleModal .rb-date-field input { width:152px; min-width:0; min-height:42px; padding:9px 10px; border:1px solid #d3e2fa; border-radius:9px; background:#fff; color:#203451; font:inherit; color-scheme:light; }
.rb-period-actions { display:flex; align-items:center; gap:8px; }
.rb-apply, .rb-reset { min-height:42px; padding:9px 13px; border:1px solid #d3e2fa; border-radius:9px; background:#fff; color:#52729f; font:inherit; font-size:13px; cursor:pointer; }
.rb-apply { border-color:#2563eb; background:#2563eb; color:#fff; }
.rb-apply:hover { border-color:#1e53c9; background:#1e53c9; }
.rb-reset:hover { background:#e8f0ff; color:#2864d6; }
.rb-close { display:flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:1px solid #d3e2fa; border-radius:9px; background:#fff; color:#7286a5; cursor:pointer; }
.rb-close:hover { background:#e8f0ff; color:#2864d6; }
.rb-list { display:grid; gap:16px; }
.rb-card { min-width:0; padding:22px 24px; border:1px solid #d3e2fa; border-radius:12px; background:#fff; box-shadow:0 2px 6px #223b6010; }
.rb-card-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px; }
.rb-card-header h2 { margin:0; color:#264d87; font-size:16px; font-weight:650; }
.rb-card-header .recycle-restore-form { flex:0 0 auto; margin:0; }
.rb-restore { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:38px; padding:8px 14px; border:1px solid #2563eb; border-radius:8px; background:#2563eb; color:#fff; font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:background .15s; }
.rb-restore svg { width:17px; height:17px; }
.rb-restore:hover { background:#1e53c9; border-color:#1e53c9; }
.rb-description { margin:0 0 20px; font-size:16px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.rb-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding:18px 0; border-top:1px solid #e6eefb; }
.rb-details > div { min-width:0; }
.rb-details dt { margin-bottom:7px; color:#7286a5; font-size:12px; font-weight:400; }
.rb-details dd { display:flex; align-items:center; gap:8px; min-height:26px; margin:0; font-size:13px; }
.rb-details dd > span:last-child { min-width:0; overflow-wrap:anywhere; }
.rb-details svg { width:17px; height:17px; color:#6490d8; }
.rb-avatar { display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:#eaf2ff; color:#2864d6; font-size:12px; font-weight:600; }
.rb-reason { padding:13px 16px; border:1px solid #e1eafb; border-radius:8px; background:#f5f8ff; }
.rb-reason > span { color:#657d9f; font-size:12px; }
.rb-reason p { margin:5px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.rb-unavailable { color:#7286a5; font-size:12px; text-align:right; }
.rb-legacy, .rb-notice { margin:14px 0 0; padding:12px 16px; border:1px solid #efdc9f; border-radius:8px; background:#fff9e7; color:#916925; font-size:13px; overflow-wrap:anywhere; }
.rb-notice { margin:0 0 16px; }
.rb-notice[hidden] { display:none; }
.rb-empty { display:flex; align-items:center; flex-direction:column; padding:56px 24px; border:1px solid #d3e2fa; border-radius:12px; background:#fff; text-align:center; }
.rb-empty .rb-heading-icon { margin-bottom:18px; width:54px; height:54px; }
.rb-empty h2 { margin:0; font-size:17px; font-weight:600; }
.rb-empty p { max-width:400px; margin:9px 0 0; color:#7286a5; }
.rb-page :is(button,input):focus-visible { outline:3px solid #a8c6ff; outline-offset:3px; }
.rb-page[aria-busy="true"] .rb-list { opacity:.6; }
@media (max-width:1100px) {
    .rb-page .rb-toolbar { position:relative; align-items:flex-start; flex-direction:column; gap:18px; }
    .rb-heading { padding-right:48px; }
    .rb-toolbar-actions { width:100%; }
    #recycleModal .rb-filter { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:10px 16px; width:100%; }
    .rb-period-label { grid-column:1 / -1; }
    #recycleModal .rb-date-field input { width:100%; }
    .rb-close { position:absolute; top:3px; right:0; }
}
@media (max-width:900px) {
    .rb-toolbar-actions { gap:12px; }
    .rb-details { gap:16px; }
}
@media (max-width:600px) {
    #recycleModal .recycle-dialog { width:calc(100% - 24px); margin-bottom:16px; }
    .rb-page .rb-toolbar { position:relative; flex-direction:column; gap:18px; margin-bottom:18px; }
    .rb-heading { padding-right:44px; gap:10px; }
    .rb-title-row h1 { font-size:22px; }
    .rb-heading-icon { width:40px; height:40px; border-radius:10px; }
    #recycleModal .rb-filter { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .rb-date-field { flex-direction:column; align-items:stretch; gap:4px; }
    .rb-period-actions { grid-column:1 / -1; }
    .rb-period-actions button { flex:1; }
    .rb-close { position:absolute; top:2px; right:0; width:36px; height:36px; }
    .rb-card { padding:16px; }
    .rb-card-header { gap:12px; flex-wrap:wrap; }
    .rb-card-header h2 { font-size:15px; }
    .rb-description { font-size:15px; margin-bottom:16px; }
    .rb-details { grid-template-columns:1fr; gap:14px; padding:16px 0; }
    .rb-details dt { margin-bottom:3px; }
    .rb-reason { padding:12px; }
    .rb-empty { padding:40px 18px; }
}
