/* Crew certifications */
.cr-pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:99px;white-space:nowrap;background:var(--bg-inset);color:var(--fg-secondary)}
.cr-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}
.cr-pill-ok{color:var(--sev-low);background:color-mix(in oklab,var(--sev-low) 12%,transparent)}
.cr-pill-soon{color:var(--sev-medium);background:color-mix(in oklab,var(--sev-medium) 10%,transparent)}
.cr-pill-crit{color:var(--sev-medium);background:color-mix(in oklab,var(--sev-medium) 20%,transparent)}
.cr-pill-expired,.cr-pill-suspended{color:var(--sev-critical);background:color-mix(in oklab,var(--sev-critical) 15%,transparent)}
.cr-pill-missing{color:var(--sev-critical);background:transparent;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--sev-critical) 55%,transparent)}
.cr-bar{display:flex;align-items:center;gap:8px;min-width:110px}
.cr-bar span{flex:1;height:4px;border-radius:2px;background:var(--bg-inset);overflow:hidden}
.cr-bar span i{display:block;height:100%;background:var(--sev-low)}
.cr-bar b{font-size:11px;font-weight:500;min-width:52px;text-align:right}
.cr-bar-soon span i,.cr-bar-crit span i{background:var(--sev-medium)}.cr-bar-crit b{color:var(--sev-medium)}
.cr-bar-expired span i,.cr-bar-suspended span i{background:var(--sev-critical)}.cr-bar-expired b{color:var(--sev-critical)}
/* alert strip */
.cr-alerts{border:1px solid color-mix(in oklab,var(--sev-critical) 30%,var(--border-base));background:color-mix(in oklab,var(--sev-critical) 4%,var(--bg-card));border-radius:10px;margin-bottom:14px;overflow:hidden}
.cr-alerts-hd{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border-base);font-size:12px}
.cr-alerts-hd .ico{color:var(--sev-critical)}.cr-alerts-hd .sec{font-size:11px}
.cr-alerts-hd .grow,.cr-tb .grow,.cr-item-a .grow,.cr-file .grow,.ni-ft .grow{flex:1}
.cr-al{display:grid;grid-template-columns:92px minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:7px 12px;font-size:11.5px}
.cr-al+.cr-al{border-top:1px solid var(--border-base)}
.cr-al-who{all:unset;cursor:pointer;display:flex;flex-direction:column;min-width:0}
.cr-al-who b{font-size:12px}.cr-al-who span{color:var(--fg-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-al-who:hover b{color:var(--accent-primary)}
.cr-al-d{font-size:10.5px;color:var(--fg-secondary)}
.cr-al-imp{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--sev-critical)}
.cr-al-act{display:flex;gap:6px;justify-content:flex-end}
/* table cell */
.cr-cell{display:inline-flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap;color:var(--fg-secondary)}
.cr-cell i{width:7px;height:7px;border-radius:50%;background:var(--sev-low)}
.cr-cell-soon i,.cr-cell-crit i{background:var(--sev-medium)}.cr-cell-crit{color:var(--sev-medium)}
.cr-cell-expired i,.cr-cell-missing i,.cr-cell-suspended i{background:var(--sev-critical)}.cr-cell-expired,.cr-cell-missing,.cr-cell-suspended{color:var(--sev-critical)}
/* drawer */
.cr-dr-hd{display:flex;justify-content:space-between;align-items:center}
.cr-clear{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;border:1px solid var(--border-base);font-size:11.5px}
.cr-clear>div{display:flex;flex-direction:column;gap:2px}.cr-clear b{font-size:12.5px}.cr-clear span{color:var(--fg-secondary)}
.cr-clear.is-ok{border-color:color-mix(in oklab,var(--sev-low) 40%,var(--border-base));background:color-mix(in oklab,var(--sev-low) 7%,transparent)}.cr-clear.is-ok .ico,.cr-clear.is-ok b{color:var(--sev-low)}
.cr-clear.is-warn{border-color:color-mix(in oklab,var(--sev-medium) 40%,var(--border-base));background:color-mix(in oklab,var(--sev-medium) 7%,transparent)}.cr-clear.is-warn .ico,.cr-clear.is-warn b{color:var(--sev-medium)}
.cr-clear.is-bad{border-color:color-mix(in oklab,var(--sev-critical) 45%,var(--border-base));background:color-mix(in oklab,var(--sev-critical) 8%,transparent)}.cr-clear.is-bad .ico,.cr-clear.is-bad b{color:var(--sev-critical)}
.cr-clear .cr-clear-imp{color:var(--sev-critical);margin-top:2px}
.cr-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 10px;border:1px solid var(--border-base);border-radius:8px;background:var(--bg-inset)}
.cr-item-m{display:flex;flex-direction:column;gap:2px;min-width:0}.cr-item-m b{font-size:12px}.cr-item-m .sec{font-size:10.5px}
.cr-item-r{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:10.5px}
.cr-item-a{grid-column:1/-1;display:flex;align-items:center;gap:4px}
.cr-item-expired,.cr-item-suspended{border-color:color-mix(in oklab,var(--sev-critical) 40%,var(--border-base))}
.cr-item-crit{border-color:color-mix(in oklab,var(--sev-medium) 40%,var(--border-base))}
.cr-item-missing{border-style:dashed;border-color:color-mix(in oklab,var(--sev-critical) 50%,var(--border-base));background:transparent}
.cr-doc{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--fg-secondary);padding:2px 6px;border-radius:4px;background:var(--bg-card)}
.cr-dr{display:flex;flex-direction:column;gap:8px}
/* tab */
.cr-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}
.cr-kpi{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:11px 13px;border:1px solid var(--border-base);border-radius:10px;background:var(--bg-card)}
.cr-kpi b{font-size:22px;font-weight:600}
.cr-kpi:hover{border-color:var(--border-strong)}
.cr-kpi.on{border-color:var(--accent-primary);box-shadow:inset 0 0 0 1px var(--accent-primary)}
.cr-kpi-ok b{color:var(--sev-low)}.cr-kpi-soon b,.cr-kpi-crit b{color:var(--sev-medium)}.cr-kpi-expired b,.cr-kpi-missing b{color:var(--sev-critical)}
.cr-kpi-comp{cursor:default}
.cr-kpi-bar{height:4px;border-radius:2px;background:var(--bg-inset);overflow:hidden}.cr-kpi-bar i{display:block;height:100%;background:var(--accent-primary)}
.cr-tb{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cr-sel{width:auto;min-width:140px;height:28px}
.cr-search{display:flex;align-items:center;gap:6px;height:28px;padding:0 9px;border:1px solid var(--border-base);border-radius:6px;background:var(--bg-inset);color:var(--fg-muted);min-width:220px}
.cr-search input{all:unset;flex:1;font-size:12px;color:var(--fg-primary)}
.cr-tbl td{vertical-align:middle}
.cr-tbl tbody tr{cursor:pointer}
.cr-sub{font-size:10.5px;margin-top:2px;display:flex;align-items:center;gap:3px}
.cr-nodoc{color:var(--sev-medium)}
.cr-link{all:unset;cursor:pointer}.cr-link:hover b{color:var(--accent-primary)}
.cr-acts{display:flex;gap:2px;justify-content:flex-end}
.cr-row-missing td{background:color-mix(in oklab,var(--sev-critical) 4%,transparent)}
/* matrix */
.cr-mx-wrap{overflow-x:auto;padding:0}
.cr-mx{width:100%;border-collapse:collapse;font-size:11.5px}
.cr-mx th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border-base);font-weight:600;vertical-align:bottom}
.cr-mx th span{display:block;font-size:10.5px;line-height:1.25;max-width:96px}
.cr-mx th em{display:block;font-style:normal;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin-top:2px}
.cr-mx td{padding:7px 8px;border-bottom:1px solid var(--border-base)}
.cr-mx tbody tr:hover td{background:var(--bg-inset)}
.cr-mx-c{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:10.5px;background:var(--bg-inset)}
.cr-mx-c i,.cr-mx-legend i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.cr-mx-ok{color:var(--sev-low)}.cr-mx-soon,.cr-mx-crit{color:var(--sev-medium)}.cr-mx-expired,.cr-mx-suspended,.cr-mx-missing{color:var(--sev-critical)}
.cr-mx-c.cr-mx-crit{background:color-mix(in oklab,var(--sev-medium) 16%,transparent)}
.cr-mx-c.cr-mx-expired,.cr-mx-c.cr-mx-suspended{background:color-mix(in oklab,var(--sev-critical) 16%,transparent)}
.cr-mx-c.cr-mx-missing{background:transparent;box-shadow:inset 0 0 0 1px currentColor;border-style:dashed}
.cr-mx-c:hover{filter:brightness(1.2)}
.cr-mx-na{color:var(--fg-muted)}
.cr-mx-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 12px;font-size:10.5px}
.cr-mx-legend span{display:inline-flex;align-items:center;gap:5px}
/* modal */
.cr-modal{width:min(680px,100%)}
.cr-renew-prev{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:12px;border-radius:8px;background:var(--bg-inset);font-size:11.5px;color:var(--fg-secondary)}
.cr-renew-prev>span{flex:1}
.cr-hint{font-style:normal;color:var(--fg-muted);font-weight:400;text-transform:none;letter-spacing:0}
.cr-drop{display:flex;align-items:center;gap:10px;padding:12px;border:1px dashed var(--border-strong);border-radius:8px;cursor:pointer;color:var(--fg-secondary);font-size:12px}
.cr-drop em{font-style:normal;color:var(--fg-muted);margin-left:6px;font-size:11px}
.cr-drop:hover{border-color:var(--accent-primary);color:var(--fg-primary)}
.cr-drop input{display:none}
.cr-file{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-base);border-radius:8px;background:var(--bg-inset);font-size:12px}
.cr-susp{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;color:var(--fg-secondary);cursor:pointer}
.cr-susp b{color:var(--sev-critical)}
.cr-req-hint{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-base)}
.cr-req-hint .caps{width:100%}
.cr-req{display:inline-flex;gap:6px;align-items:center;font-size:11px;padding:3px 8px;border-radius:6px;background:var(--bg-inset)}
.cr-req em{font-style:normal;font-size:10px;color:var(--sev-low)}
.cr-req-missing em,.cr-req-expired em,.cr-req-suspended em{color:var(--sev-critical)}.cr-req-crit em,.cr-req-soon em{color:var(--sev-medium)}
.cr-hist{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-base);font-size:11px}
.cr-hist>div{display:grid;grid-template-columns:84px 1fr auto;gap:10px}
.cr-hist-prev{color:var(--fg-secondary)}
.cr-err{font-size:11px;color:var(--sev-critical);margin-right:6px}
.cr-del{display:flex;align-items:center;gap:6px;font-size:12px}
.cr-del-btn{color:var(--sev-critical)}
.cr-btn-danger{background:var(--sev-critical);color:#fff;border-color:transparent}
.ni-ft{align-items:center}
.ac-test{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 10px;border-radius:8px;font-size:11.5px;background:var(--bg-inset)}.ac-test-ok{color:var(--sev-low)}.ac-test-fail{color:var(--sev-critical)}
.se-empty{padding:20px 22px;margin-bottom:16px}.se-empty-hd{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.se-empty-hd .ico{color:var(--accent-primary);margin-top:2px}.se-empty-hd b{display:block;font-size:15px;margin-bottom:4px}.se-empty-hd span{font-size:12.5px;color:var(--fg-secondary);max-width:620px;display:block;line-height:1.5}
.se-steps{display:flex;flex-direction:column;border:1px solid var(--border-base);border-radius:10px;overflow:hidden}.se-step{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 14px;font-size:12px}.se-step+.se-step{border-top:1px solid var(--border-base)}.se-step b{display:block;font-size:12.5px}.se-step span{color:var(--fg-secondary);font-size:11.5px}
.se-n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;border:1px solid var(--border-strong);color:var(--fg-secondary)}.se-step.ok .se-n{background:color-mix(in oklab,var(--sev-low) 18%,transparent);border-color:var(--sev-low);color:var(--sev-low)}.se-step.ok b{color:var(--fg-secondary)}
.rb-locked{opacity:.45;cursor:not-allowed!important}.rb-fs{border:0;margin:0;padding:0;min-width:0;display:contents}.rb-fs:disabled .st-card{opacity:.7}
.rb-banner{display:flex;gap:8px;align-items:center;padding:9px 12px;margin-bottom:12px;border-radius:8px;border:1px solid var(--border-base);background:var(--bg-inset);font-size:12px;color:var(--fg-secondary)}.rb-banner .ico{color:var(--accent-primary)}
.rv-more-wrap{position:relative}.rv-more-n{margin-left:4px;min-width:16px;height:16px;border-radius:99px;background:var(--accent-primary);color:#fff;font-size:10px;display:inline-grid;place-items:center;padding:0 4px}
.rv-more{position:absolute;right:0;top:calc(100% + 6px);z-index:60;width:300px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 16px 36px rgba(0,0,0,.45)}
.rv-more input[type=range]{width:100%}.rv-more-ft{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--border-base);font-size:11px}
.pr-dlg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;align-items:end;padding:8px 0}.pr-dlg-a{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}
.tbl-empty{text-align:center;padding:28px 16px!important;color:var(--fg-muted);font-size:12px}
.pl-flash{box-shadow:0 0 0 2px var(--accent-primary)!important;transition:box-shadow .3s}
.app>.main{overflow-x:hidden}.wo-board{overflow-x:auto;padding-bottom:6px}.cal-grid,.cal-month{min-width:0}
