/* IPA Snapshot appears beside the line number in the frozen columns. */
:root{--fixed-width:336px}
.fixed-week,.fixed-days,.line-info,.fixed-month{grid-template-columns:18px 26px 22px 30px 42px 36px 38px 36px 40px 48px}
.fixed-week>span:nth-child(6){font-size:7px}
.snapshot-cell{text-align:center;color:#a5afb7;font:700 17px ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1}
.snapshot-cell.unavailable,.snapshot-symbol.unavailable{color:#cb343f}
.snapshot-cell.available,.snapshot-symbol.available{color:#1d9051}
.snapshot-cell.holding,.snapshot-symbol.holding{color:#168b46;font-size:19px}

.snapshot-open-button{align-self:center;min-height:34px;margin-left:0;padding:6px 14px;border:1px solid #31728f;border-radius:5px;background:#31728f;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px #18374b20}
.snapshot-open-button:hover,.snapshot-open-button.has-data{border-color:#225b76;background:#225b76;color:#fff}
.line-list-toolbar .workspace-slots{margin-left:auto;margin-right:0}

.workspace-slots{display:grid;grid-template-columns:repeat(2,78px);gap:3px 5px;align-self:center;flex:none;margin-left:auto;margin-right:auto}
.workspace-slots button{min-height:24px;padding:3px 5px;border:1px solid #b9d0dc;border-radius:4px;background:#f7fafc;color:#2d6480;font:600 10px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.workspace-slots button:hover:not(:disabled){border-color:#74aac4;background:#e7f3f9}
.workspace-slots button:disabled{opacity:.45;cursor:default}
.workspace-slots button[data-workspace-save] span{display:flex;align-items:center;justify-content:center;gap:4px}
.workspace-slots svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.workspace-slots small{display:block;margin-top:1px;overflow:hidden;color:#647988;font:8px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}
.workspace-slots button.has-save{background:#eaf5fa}
.workspace-load-dialog{width:min(440px,calc(100% - 28px));padding:20px 22px;border:1px solid #bfd0da;border-radius:7px;background:#fff;color:#364b59;box-shadow:0 15px 45px #162c3b40}
.workspace-load-dialog::backdrop{background:#1b2b3e70}
.workspace-load-dialog h2{margin:0 0 9px;font-size:20px}
.workspace-load-dialog p{font-size:12px;line-height:1.45}
.workspace-backup-option{display:flex;gap:8px;margin:14px 0;padding:10px;border:1px solid #d4e2e9;border-radius:4px;background:#f5f9fb;font-size:11px;cursor:pointer}
.workspace-backup-option[hidden]{display:none}
.workspace-backup-option input{margin:2px 0 0;accent-color:#3089aa}
.workspace-backup-option strong,.workspace-backup-option small{display:block}
.workspace-backup-option small{margin-top:3px;color:#6b7c89;line-height:1.35}
.workspace-load-error{color:#ad3139}
.workspace-load-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}
.workspace-load-actions button{padding:7px 12px;border:1px solid #b8cbd5;border-radius:4px;background:#fff;color:#405766;cursor:pointer}
.workspace-load-actions #workspace-load-confirm{border-color:#3288aa;background:#3288aa;color:#fff;font-weight:650}

.snapshot-dialog{width:min(660px,calc(100% - 26px));max-height:min(86vh,850px);padding:22px 25px 18px;border:1px solid #cbd9e1;border-radius:7px;background:#fff;color:#344551;box-shadow:0 16px 55px #182a3c38}
.snapshot-dialog::backdrop{background:#1b2b3e70}
.snapshot-dialog h2{margin:0 0 17px;font-size:22px}
.snapshot-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px}
.snapshot-controls label{font-weight:650}
.snapshot-controls input{width:92px;height:29px;padding:4px 7px;border:1px solid #b9cbd5;border-radius:3px;color:#344551;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.snapshot-controls button{height:29px;padding:0 10px;border:1px solid #6fa8c3;border-radius:3px;background:#3788a8;color:#fff;font-size:11px;cursor:pointer}
.snapshot-controls button:disabled{opacity:.55;cursor:wait}
.snapshot-controls a{margin-left:auto;color:#2d7291;text-decoration:none}
.snapshot-controls a:hover{text-decoration:underline}
.snapshot-status{min-height:16px;margin:11px 0 7px;color:#5f7788;font-size:11px}
.snapshot-summary{margin:0 0 10px;padding:7px 9px;border-radius:3px;background:#eff5f8;color:#3f5968;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.snapshot-key{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:7px 0 10px;color:#657682;font-size:10px}
.snapshot-key .snapshot-symbol:not(:first-child){margin-left:12px}
.snapshot-symbol{display:inline-block;min-width:14px;font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}
.snapshot-table-wrap{max-height:min(47vh,490px);overflow:auto;border:1px solid #d5e0e6;border-radius:4px}
.snapshot-table{width:100%;border-collapse:collapse;font-size:11px}
.snapshot-table th{position:sticky;top:0;z-index:1;padding:7px 10px;border-bottom:1px solid #cddae1;background:#eaf1f5;color:#546b7a;text-align:left;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace}
.snapshot-table td{padding:5px 10px;border-bottom:1px solid #e4eaee}
.snapshot-table tr:nth-child(even){background:#f8fafb}
.snapshot-table td:first-child,.snapshot-table td:nth-child(2){width:80px;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace}
.snapshot-footnote{margin:9px 0 0;color:#82919b;font-size:10px;line-height:1.45}

@media(max-width:1300px){:root{--fixed-width:316px}.fixed-week,.fixed-days,.line-info,.fixed-month{grid-template-columns:18px 24px 20px 28px 40px 34px 36px 34px 36px 46px}}
@media(max-width:1100px){.line-list-toolbar{gap:12px}.line-list-toolbar .workspace-slots{margin-left:0}}
@media(max-width:900px){:root{--fixed-width:288px}.fixed-week,.fixed-days,.line-info,.fixed-month{grid-template-columns:16px 23px 18px 25px 36px 32px 32px 30px 34px 42px}.line-list-toolbar{align-items:flex-start}.line-list-toolbar .workspace-slots{margin:0}.flight-color-legend{gap:7px 11px}}
