/* 日志归档页: only what layout.css does not already provide. Colours come from the variables in styles.css. */

/* tier strip: online -> archive -> deleted, drawn to scale of the total retention */
.tier-wrap{padding:6px 0 4px}
.tier-strip{display:flex;height:46px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#f4f7fc}
.tier-seg{display:flex;flex-direction:column;justify-content:center;padding:0 14px;min-width:0;position:relative;overflow:hidden}
.tier-seg strong{font-size:13px;color:#18243b;white-space:nowrap}.tier-seg span{font-size:11.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tier-online{background:#e4edff}.tier-online strong{color:#1f4cc4}
.tier-archive{background:#e3f5ef}.tier-archive strong{color:#17724c}
.tier-gone{background:#f1f3f7;flex:0 0 12%}.tier-gone strong{color:#6a778c}
.tier-seg+.tier-seg{border-left:2px solid #fff}
.tier-axis{display:flex;margin-top:8px;font-size:11.5px;color:var(--ink-3)}
.tier-axis span{white-space:nowrap}.tier-axis .grow{flex:1}
.tier-marks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:14px}
.tier-marks>div{border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px;background:#fafbfe;font-size:12.5px;line-height:1.6;color:var(--ink-2)}
.tier-marks b{display:block;color:#1d2940;font-size:13px}

/* forecast table: the bar shows how much of the free disk the growth would take */
.fc-table td,.fc-table th{white-space:nowrap}
.fc-bar{display:inline-block;width:110px;height:8px;border-radius:4px;background:#eef2f8;overflow:hidden;vertical-align:middle;margin-right:8px}
.fc-bar i{display:block;height:100%;background:var(--accent)}.fc-bar.warn i{background:var(--sev2)}.fc-bar.bad i{background:var(--sev4)}
.fc-short{color:var(--bad);font-weight:700}
.fc-note{margin:10px 0 0;font-size:12px;color:var(--ink-3);line-height:1.7}

/* tasks strip shown above every tab while something runs */
.task-strip{display:grid;gap:6px;background:#f2f6ff;border:1px solid #cfdcfa;border-radius:12px;padding:10px 16px}
.task-row{display:flex;gap:12px;align-items:center;font-size:13px;color:#2f4f9a;min-width:0}
.task-row b{white-space:nowrap}.task-row .msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-row.failed{color:var(--bad)}.task-row.done{color:var(--good)}
.spin{width:12px;height:12px;border-radius:50%;border:2px solid #b9cbf3;border-top-color:var(--accent);animation:ar-spin .9s linear infinite;flex:none}
@keyframes ar-spin{to{transform:rotate(360deg)}}

/* archive list */
.ar-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:0 22px 14px}
.ar-toolbar input[type=search]{min-width:240px;flex:0 1 280px}.ar-toolbar select{min-width:150px}.ar-toolbar .grow{flex:1}
.ar-table td .row-actions{display:flex;gap:12px;flex-wrap:nowrap;align-items:center;white-space:nowrap}
.ar-table td{vertical-align:middle}
.ar-table td:nth-child(2) .ar-sub{white-space:nowrap}
.ar-table td.check{width:34px;padding-right:0}
.ar-table .hash{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11.5px;color:var(--ink-3)}
.ar-table tr.is-bad td{background:#fff7f7}
.ar-sub{font-size:11.5px;color:var(--ink-3)}
.ar-sub.ellipsis{max-width:200px}
.ar-empty{padding:34px 22px;text-align:center;color:#8d9ab0;line-height:1.9}
.ar-empty b{display:block;color:#33435b;font-size:14px;margin-bottom:4px}
.ar-wait td{color:var(--ink-2)}

/* restore dialog and drawers */
.ar-form{display:grid;gap:14px}
.ar-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#3a4a62}
.ar-form .inline-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ar-chips{display:flex;gap:6px;flex-wrap:wrap}
.ar-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:14px;background:#eef3ff;color:#2f55c4;font-size:12px;font-weight:600}
.ar-note{margin:0;padding:10px 12px;border-radius:10px;background:#f6f8fc;border:1px solid var(--line-soft);font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.ar-note.warn{background:var(--warn-soft);border-color:#f1dcae;color:#8a5a14}
.ar-note.bad{background:var(--bad-soft);border-color:#f1c9c9;color:var(--bad)}
.ar-preview td.msg{max-width:520px}

/* policy form */
.ar-policy .form-row .control{align-items:flex-start}
.ar-policy .form-row input[type=number]{min-width:0;width:120px}
.ar-total{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:#f4f7fd;border:1px solid var(--line-soft);font-size:13px;color:var(--ink-2)}
.ar-total strong{font-size:16px;color:#18243b}.ar-total.bad{background:var(--bad-soft);border-color:#f1c9c9;color:var(--bad)}.ar-total.bad strong{color:var(--bad)}
.ar-radio{display:flex;gap:8px;flex-wrap:wrap}
.ar-radio label{flex-direction:row;align-items:center;gap:6px;font-weight:600;padding:6px 12px;border:1px solid #d9e3f2;border-radius:9px;background:#fff;cursor:pointer}
.ar-radio label.on{border-color:#7195fa;background:#f2f6ff;color:#2556d3}
.ar-radio input{height:auto;margin:0}
.ar-ext{display:grid;gap:12px;width:100%}
.ar-ext label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:#3a4a62}
.ar-ext input{width:100%;max-width:520px;min-width:0!important}
.ar-hostkey{display:grid;gap:6px;padding:10px 12px;border:1px dashed #b9cbf3;border-radius:10px;background:#f7faff;font-size:12.5px;max-width:640px}
.ar-hostkey code{font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all;color:#1d2940}
.ar-result{padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.7;max-width:640px}
.ar-result.ok{background:var(--good-soft);color:var(--good)}.ar-result.bad{background:var(--bad-soft);color:var(--bad)}

/* verification log */
.ar-log td.msg{max-width:480px;white-space:normal}

.kind-table{margin-top:16px;border-top:1px solid var(--line-soft)}
.drawer-body .field-grid+.ar-note{margin-top:14px}
.drawer-body .ar-note+.table-wrap{margin-top:12px}
