/* Made by tools/extract_dashboard_css.py from apps/dashboard/styles.css and forecast.css: the reporting dashboard's styles that
   the dashboard pages the hub draws use, scoped to the hub's .dk container. Don't edit by hand. */
.dk, #print-report, dialog.sail-dialog, .info-pop{--allium: #6B207D;      
  --aloe: #009165;
  --amber: #F68C4E;
  --palatyn: #380843;
  --pearl: #F1ECE7;
  --abalone: #D0BFB0;
  --allium-soft: #F3EAF5;
  --ink: #1B1220;         
  --muted: #5E5465;
  --heading: #6B207D;
  --line: #E2D9E3;
  --bg: #FFFFFF;
  --panel: #FFFFFF;
  --up: #00764F;
  --down: #9B1C31;
  --lp: #6B207D;          
  --lc: #009165;          
  --accent: #6B207D;      
  --fill: #6B207D;        
  --fill-hover: #380843;
  --warn-bg: #FDEBDD; --warn-line: #F8C9A9; --warn-ink: #6A3510;
  --bad-bg: #F8E3E7; --bad-line: #EBB4BF;
  --tip-bg: #380843; --tip-ink: #FFFFFF;
  
  --c1: #6B207D; --c2: #009165; --c3: #F68C4E; --c4: #380843; --c5: #A28B6F; --c6: #B07CC0; --c7: #6CC4A4; --c8: #C9B49C;
  --cmp: #B9AEBF;         
  --font: "Quicksand", Helvetica, Arial, sans-serif;
  color-scheme: light;}
@media (prefers-color-scheme: dark){.dk, dialog.sail-dialog, .info-pop{--pearl: #380843; --abalone: #6E4A78; --allium-soft: #4A1556;
  --ink: #F5F0F6; --muted: #C9B9CE; --heading: #FFFFFF; --line: #55275F; --bg: #2A0632; --panel: #2F0838;
  --up: #7FE0B9; --down: #FFAFC0; --lp: #FFFFFF; --lc: #FFFFFF;
  --accent: #E2BDEE; --fill: #8E3BA3; --fill-hover: #A24FB8;
  --warn-bg: #4A2A16; --warn-line: #7A4A2A; --warn-ink: #FFC49E; --bad-bg: #4A1726; --bad-line: #7A3045;
  --tip-bg: #F5F0F6; --tip-ink: #1B1220;
  --c1: #D29BE3; --c2: #5FD3A6; --c3: #F68C4E; --c4: #F1ECE7; --c5: #C9B08F; --c6: #9C6BB0; --c7: #3FA57F; --c8: #8C7A68;
  --cmp: #8E7A96; color-scheme: dark;}}
:where(.dk, dialog.sail-dialog) *{box-sizing: border-box;}
:where(.dk, dialog.sail-dialog) h2{font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--heading); margin: 0;
  display: flex; align-items: center; gap: 10px;}
:where(.dk, dialog.sail-dialog) h2::before{content: ""; flex: none; width: 10px; height: 16px; background: var(--aloe);
  clip-path: polygon(0 0, 40.6% 0, 100% 100%, 59.4% 100%);}
:where(.dk, dialog.sail-dialog) a{color: var(--accent);}
:where(.dk, dialog.sail-dialog) code{font-size: 12px; background: var(--pearl); padding: 1px 4px;}
:where(.dk, dialog.sail-dialog) .small{font-size: 12px;}
:where(.dk, dialog.sail-dialog) .muted{color: var(--muted);}
:where(.dk, dialog.sail-dialog) .loading{padding: 48px; text-align: center; color: var(--muted);}
:where(.dk, dialog.sail-dialog) :focus-visible{outline: 2px solid var(--accent); outline-offset: 2px;}
:where(.dk, dialog.sail-dialog) .gate{min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
  padding: 24px 16px; text-align: center; background: var(--pearl);}
:where(.dk, dialog.sail-dialog) .gate .logo{width: 210px; height: auto; margin-bottom: 4px;}
:where(.dk, dialog.sail-dialog) .gate .appname{margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--heading);}
:where(.dk, dialog.sail-dialog) .gate p{margin: 0; max-width: 30rem; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .btn{font: inherit; font-weight: 600; padding: 9px 18px; border: 1px solid var(--accent); background: var(--panel); color: var(--accent); cursor: pointer;}
:where(.dk, dialog.sail-dialog) .btn:hover{background: var(--allium-soft);}
:where(.dk, dialog.sail-dialog) .btn.primary{background: var(--fill); border-color: var(--fill); color: #fff;}
:where(.dk, dialog.sail-dialog) .btn.primary:hover{background: var(--fill-hover); border-color: var(--fill-hover);}
:where(.dk, dialog.sail-dialog) .btn.more{margin: 12px auto 0; display: block;}
:where(.dk, dialog.sail-dialog) .link{font: inherit; font-size: 12px; background: none; border: 0; color: #fff; text-decoration: underline; cursor: pointer; padding: 0;}
:where(.dk, dialog.sail-dialog) .top{display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
  background: var(--palatyn); color: #fff; padding: 14px 24px; --lp: #FFFFFF; --lc: #FFFFFF;}
:where(.dk, dialog.sail-dialog) .brand{display: flex; align-items: center; gap: 16px; flex-wrap: wrap;}
:where(.dk, dialog.sail-dialog) .brand .logo{width: 168px; height: auto; display: block;}
:where(.dk, dialog.sail-dialog) .brand .appname{font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--amber);
  padding-left: 16px; border-left: 1px solid rgba(255, 255, 255, .25);}
:where(.dk, dialog.sail-dialog) .who{display: flex; gap: 14px; align-items: center; flex-wrap: wrap; color: rgba(255, 255, 255, .78);}
:where(.dk, dialog.sail-dialog) .pill{font-size: 11px; font-weight: 700; padding: 2px 8px; letter-spacing: .06em;}
:where(.dk, dialog.sail-dialog) .pill.warn{background: var(--amber); color: var(--palatyn);}
:where(.dk, dialog.sail-dialog) .top .link:focus-visible{outline-color: var(--amber);}
:where(.dk, dialog.sail-dialog) .fresh{flex-basis: 100%; margin: -4px 0 0; font-size: 12px; color: rgba(255, 255, 255, .7); line-height: 1.5;}
:where(.dk, dialog.sail-dialog) .fresh a, :where(.dk, dialog.sail-dialog) .fresh span{color: inherit; text-decoration: none; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .fresh a:hover{text-decoration: underline;}
:where(.dk, dialog.sail-dialog) .fresh .late{color: var(--amber); font-weight: 600;}
:where(.dk, dialog.sail-dialog) .fresh .sh{display: none;}
@media (max-width: 600px){
  :where(.dk, dialog.sail-dialog) .fresh{font-size: 11px;}
  :where(.dk, dialog.sail-dialog) .fresh .lg{display: none;}
  :where(.dk, dialog.sail-dialog) .fresh .sh{display: inline;}
}
:where(.dk, dialog.sail-dialog) .banner{margin: 12px 24px 0; padding: 10px 14px; background: var(--warn-bg); border: 1px solid var(--warn-line); color: var(--warn-ink);}
:where(.dk, dialog.sail-dialog) .banner.bad{background: var(--bad-bg); border-color: var(--bad-line); color: var(--down);}
:where(.dk, dialog.sail-dialog) .controls{display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-end; padding: 14px 24px; background: var(--pearl);}
:where(.dk, dialog.sail-dialog) .controls label{display: flex; flex-direction: column; gap: 4px; font-size: 11px; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .controls select, :where(.dk, dialog.sail-dialog) .controls input{font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--ink);
  padding: 6px 8px; border: 1px solid var(--abalone); background: var(--panel); min-width: 0;}
:where(.dk, dialog.sail-dialog) .controls select:disabled{opacity: .5;}
:where(.dk, dialog.sail-dialog) .custom{display: inline-flex; gap: 12px;}
:where(.dk, dialog.sail-dialog) .custom[hidden]{display: none;}
:where(.dk, dialog.sail-dialog) .range-note{margin-left: auto; font-size: 13px; color: var(--muted); padding-bottom: 6px;}
:where(.dk, dialog.sail-dialog) .range-note b{color: var(--ink);}
:where(.dk, dialog.sail-dialog) .tabs{display: flex; flex-wrap: wrap; gap: 0 4px; padding: 0 24px; border-bottom: 1px solid var(--line); background: var(--bg);}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) .tabs{flex-wrap: nowrap; overflow-x: auto;}
}
:where(.dk, dialog.sail-dialog) .tabs a{padding: 12px 14px; text-decoration: none; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; border-bottom: 3px solid transparent; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .tabs a:hover{color: var(--accent);}
:where(.dk, dialog.sail-dialog) .tabs a.on{color: var(--accent); border-bottom-color: var(--amber);}
:where(.dk, dialog.sail-dialog) .subtabs{display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 24px; border-bottom: 1px solid var(--line); background: var(--panel, var(--bg));}
:where(.dk, dialog.sail-dialog) .subtabs.empty{display: none;}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) .subtabs{flex-wrap: nowrap; overflow-x: auto; padding: 8px 16px;}
}
:where(.dk, dialog.sail-dialog) .subtabs a{padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; color: var(--muted); font-size: 13px; font-weight: 600; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .subtabs a:hover{color: var(--accent); border-color: var(--accent);}
:where(.dk, dialog.sail-dialog) .subtabs a.on{color: var(--panel); background: var(--accent); border-color: var(--accent);}
:where(.dk, dialog.sail-dialog) .cog.on{color: #fff; background: rgba(255, 255, 255, .2);}
:where(.dk, dialog.sail-dialog) .foot{padding: 0 24px 32px; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .tiles{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;}
:where(.dk, dialog.sail-dialog) .tile{text-align: left; font: inherit; color: inherit; background: var(--panel); border: 1px solid var(--line);
  padding: 12px 14px; cursor: pointer;}
:where(.dk, dialog.sail-dialog) .tile:hover{border-color: var(--abalone);}
:where(.dk, dialog.sail-dialog) .tile.on{border-color: var(--accent); box-shadow: inset 0 3px 0 var(--accent);}
:where(.dk, dialog.sail-dialog) .tile-label{font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .tile-value{font-size: 26px; font-weight: 600; margin: 2px 0; color: var(--heading); font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .tile-change{font-size: 12px; font-weight: 700; min-height: 17px;}
:where(.dk, dialog.sail-dialog) .tile-change span{font-weight: 500; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .up{color: var(--up);}
:where(.dk, dialog.sail-dialog) .down{color: var(--down);}
:where(.dk, dialog.sail-dialog) .card{background: var(--panel); border: 1px solid var(--line); padding: 14px 16px; min-width: 0;}
:where(.dk, dialog.sail-dialog) .card-head{display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap;}
:where(.dk, dialog.sail-dialog) .grid2{display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px;}
:where(.dk, dialog.sail-dialog) .seg{display: inline-flex; border: 1px solid var(--line);}
:where(.dk, dialog.sail-dialog) .seg button{font: inherit; font-size: 12px; font-weight: 600; padding: 4px 10px; border: 0; background: var(--panel); cursor: pointer; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .seg button.on{background: var(--fill); color: #fff;}
:where(.dk, dialog.sail-dialog) .res-pick{display: flex; flex-direction: column; gap: 4px;}
:where(.dk, dialog.sail-dialog) .res-pick .res-lab{font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .res-pick .seg{flex-wrap: wrap;}
:where(.dk, dialog.sail-dialog) .res-pick .seg button{font-size: 13px; padding: 6px 10px; text-align: left;}
:where(.dk, dialog.sail-dialog) .res-pick .seg button small{font-weight: 400; opacity: .85;}
:where(.dk, dialog.sail-dialog) .controls label.dim{opacity: .5;}
:where(.dk, dialog.sail-dialog) .search{font: inherit; padding: 6px 10px; border: 1px solid var(--abalone); min-width: 240px; max-width: 100%;}
:where(.dk, dialog.sail-dialog) .chart{position: relative;}
:where(.dk, dialog.sail-dialog) .chart svg{display: block; overflow: visible;}
:where(.dk, dialog.sail-dialog) .chart .grid{stroke: var(--line);}
:where(.dk, dialog.sail-dialog) .chart .axis{fill: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .chart .guide{stroke: var(--muted); stroke-dasharray: 2 3;}
:where(.dk, dialog.sail-dialog) .tip{display: none; position: absolute; pointer-events: none; background: var(--tip-bg); color: var(--tip-ink); font-size: 12px;
  padding: 8px 10px; white-space: nowrap; z-index: 2;}
:where(.dk, dialog.sail-dialog) .tip div{display: flex; align-items: center; gap: 6px;}
:where(.dk, dialog.sail-dialog) .tip b{margin-left: auto; padding-left: 12px; font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .key, :where(.dk, dialog.sail-dialog) .legend i{width: 10px; height: 10px; display: inline-block;}
:where(.dk, dialog.sail-dialog) .legend{display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12px; color: var(--muted); margin-top: 8px;}
:where(.dk, dialog.sail-dialog) .legend span{display: inline-flex; align-items: center; gap: 6px;}
:where(.dk, dialog.sail-dialog) .bars{display: flex; flex-direction: column; gap: 8px;}
:where(.dk, dialog.sail-dialog) .bar-row{display: grid; grid-template-columns: minmax(90px, 32%) 1fr auto; gap: 10px; align-items: center;}
:where(.dk, dialog.sail-dialog) .bar-label{overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .bar-track{background: var(--pearl); height: 12px;}
:where(.dk, dialog.sail-dialog) .bar{height: 100%;}
:where(.dk, dialog.sail-dialog) .bar-value{font-variant-numeric: tabular-nums; text-align: right; min-width: 70px;}
:where(.dk, dialog.sail-dialog) .table-wrap{overflow-x: auto;}
:where(.dk, dialog.sail-dialog) table.data{width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) table.data th, :where(.dk, dialog.sail-dialog) table.data td{padding: 7px 10px; border-bottom: 1px solid var(--line); white-space: nowrap;}
:where(.dk, dialog.sail-dialog) table.data th{font-size: 11px; color: var(--muted); font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  cursor: pointer; user-select: none; text-align: left;}
:where(.dk, dialog.sail-dialog) table.data th.sorted{color: var(--accent);}
:where(.dk, dialog.sail-dialog) table.data .num{text-align: right;}
:where(.dk, dialog.sail-dialog) table.data .chg{font-size: 12px; font-weight: 700;}
:where(.dk, dialog.sail-dialog) table.data td.name{max-width: 340px; overflow: hidden; text-overflow: ellipsis;}
:where(.dk, dialog.sail-dialog) table.data tfoot td{font-weight: 700; border-top: 2px solid var(--accent); border-bottom: 0;}
:where(.dk, dialog.sail-dialog) table.data tbody tr:hover{background: var(--pearl);}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) .top, :where(.dk, dialog.sail-dialog) .controls, :where(.dk, dialog.sail-dialog) .tabs, :where(.dk, dialog.sail-dialog) .foot{padding-left: 16px; padding-right: 16px;}
  :where(.dk, dialog.sail-dialog) .brand .logo{width: 130px;}
  :where(.dk, dialog.sail-dialog) .brand .appname{padding-left: 0; border-left: 0; width: 100%;}
  :where(.dk, dialog.sail-dialog) .banner{margin-left: 16px; margin-right: 16px;}
  :where(.dk, dialog.sail-dialog) .range-note{margin-left: 0; width: 100%;}
  :where(.dk, dialog.sail-dialog) .tiles{grid-template-columns: repeat(2, minmax(0, 1fr));}
  :where(.dk, dialog.sail-dialog) .tile-value{font-size: 20px;}
  :where(.dk, dialog.sail-dialog) .search{min-width: 0; width: 100%;}
}
:where(.dk, dialog.sail-dialog) .tile.static{cursor: default;}
:where(.dk, dialog.sail-dialog) .tile-pace{font-size: 12px; color: var(--muted); margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line);}
:where(.dk, dialog.sail-dialog) .tile-pace b{color: var(--ink); font-weight: 700;}
:where(.dk, dialog.sail-dialog) .funnel{display: flex; flex-direction: column; gap: 10px; margin-bottom: 8px;}
:where(.dk, dialog.sail-dialog) .fstep{display: grid; grid-template-columns: minmax(120px, 18%) 1fr 150px minmax(200px, 26%); gap: 12px; align-items: center;}
:where(.dk, dialog.sail-dialog) .fname{font-weight: 600;}
:where(.dk, dialog.sail-dialog) .steprates{display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px 22px; margin: 4px 0 10px;}
:where(.dk, dialog.sail-dialog) .sr-panel h3{margin: 0; font-size: 13px;}
:where(.dk, dialog.sail-dialog) .sr-panel p{margin: 2px 0 6px;}
:where(.dk, dialog.sail-dialog) .sr-end h3{color: var(--accent);}
:where(.dk, dialog.sail-dialog) .sr-row{display: grid; grid-template-columns: minmax(60px, 38%) 1fr 52px; gap: 6px; align-items: center; font-size: 12px; margin: 3px 0;}
:where(.dk, dialog.sail-dialog) .sr-name{overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .sr-track{position: relative; background: var(--pearl); height: 12px;}
:where(.dk, dialog.sail-dialog) .sr-track i{display: block; height: 100%;}
:where(.dk, dialog.sail-dialog) .sr-mark{position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: var(--ink);}
:where(.dk, dialog.sail-dialog) .sr-val{text-align: right; font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .fstep .bar-track{height: 22px;}
:where(.dk, dialog.sail-dialog) .fnum{text-align: right; font-variant-numeric: tabular-nums; font-weight: 600;}
:where(.dk, dialog.sail-dialog) .frate{font-size: 13px; font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .chg{font-size: 12px; font-weight: 700;}
@media (max-width: 760px){
  :where(.dk, dialog.sail-dialog) .fstep{grid-template-columns: 1fr auto; gap: 4px 12px;}
  :where(.dk, dialog.sail-dialog) .fstep .bar-track{grid-column: 1 / -1; grid-row: 2; height: 14px;}
  :where(.dk, dialog.sail-dialog) .frate{grid-column: 1 / -1;}
}
:where(.dk, dialog.sail-dialog) .subbar{display: flex; justify-content: flex-end;}
:where(.dk, dialog.sail-dialog) .lead-line{margin: 0 0 10px; font-size: 15px;}
:where(.dk, dialog.sail-dialog) .lead-line b{color: var(--heading);}
:where(.dk, dialog.sail-dialog) .card-head.sub{margin: 18px 0 8px;}
:where(.dk, dialog.sail-dialog) h3{font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0;}
:where(.dk, dialog.sail-dialog) .theme{display: inline-flex; gap: 2px; padding: 2px; background: rgba(255, 255, 255, .1);}
:where(.dk, dialog.sail-dialog) .theme button{font: inherit; font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, .8); background: none; border: 0;
  padding: 3px 8px; cursor: pointer;}
:where(.dk, dialog.sail-dialog) .theme button[aria-pressed="true"]{background: var(--amber); color: var(--palatyn);}
:where(.dk, dialog.sail-dialog) .theme button:focus-visible{outline: 2px solid var(--amber); outline-offset: 1px;}
:where(.dk, dialog.sail-dialog) .week-bar{gap: 10px; align-items: center; flex-wrap: wrap;}
:where(.dk, dialog.sail-dialog) label.inline{display: inline-flex; gap: 8px; align-items: center; font-size: 11px; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) label.inline select{font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--ink); padding: 6px 8px;
  border: 1px solid var(--abalone); background: var(--panel);}
:where(.dk, dialog.sail-dialog) .points{margin: 4px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 15px;}
:where(.dk, dialog.sail-dialog) .chip{font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 1px 6px; background: var(--allium-soft); color: var(--accent);}
:where(.dk, dialog.sail-dialog) .chart .mark{stroke: var(--amber); stroke-dasharray: 3 3;}
:where(.dk, dialog.sail-dialog) .chart .mark-tip{fill: var(--amber);}
:where(.dk, dialog.sail-dialog) .chart .mark.brk{stroke: var(--muted); stroke-dasharray: 6 4;}
:where(.dk, dialog.sail-dialog) .brk-warn{margin: 8px 0 12px; padding: 8px 12px; background: var(--warn-bg); border-left: 3px solid var(--warn-line); color: var(--warn-ink); font-size: 14px; overflow-wrap: anywhere;}
:where(.dk, dialog.sail-dialog) .brk-warn a{color: inherit;}
:where(.dk, dialog.sail-dialog) .tip-note{margin-top: 4px; color: var(--amber); white-space: normal; max-width: 260px;}
:where(.dk, dialog.sail-dialog) .notes-list{display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none;}
:where(.dk, dialog.sail-dialog) .notes-list li{display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; padding: 6px 0; border-bottom: 1px solid var(--line);}
:where(.dk, dialog.sail-dialog) .notes-list .when{font-weight: 700; min-width: 120px;}
:where(.dk, dialog.sail-dialog) .notes-list .who{color: var(--muted); font-size: 12px;}
:where(.dk, dialog.sail-dialog) .note-form{display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-end; margin-top: 12px;}
:where(.dk, dialog.sail-dialog) .note-form label{display: flex; flex-direction: column; gap: 4px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .note-form input, :where(.dk, dialog.sail-dialog) .note-form select{font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--ink); padding: 6px 8px; border: 1px solid var(--abalone); background: var(--panel);}
:where(.dk, dialog.sail-dialog) .note-form .grow{flex: 1; min-width: 220px;}
:where(.dk, dialog.sail-dialog) .note-form .grow input{width: 100%;}
:where(.dk, dialog.sail-dialog) .linkish{font: inherit; font-size: 12px; background: none; border: 0; color: var(--accent); text-decoration: underline; cursor: pointer; padding: 0;}
:where(.dk, dialog.sail-dialog) code{overflow-wrap: anywhere;}
:where(.dk, dialog.sail-dialog) input[type=file]{max-width: 100%;}
:where(.dk, dialog.sail-dialog) .sections{display: flex; flex-wrap: wrap; gap: 0; padding: 0 24px; background: var(--palatyn);}
:where(.dk, dialog.sail-dialog) .sections a{padding: 12px 20px 11px; color: #E9DDEC; text-decoration: none; font-size: 13px; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; border-bottom: 3px solid transparent;}
:where(.dk, dialog.sail-dialog) .sections a:hover{color: #fff;}
:where(.dk, dialog.sail-dialog) .sections a.on{color: #fff; border-bottom-color: var(--amber); background: rgba(255, 255, 255, .06);}
:where(.dk, dialog.sail-dialog) [hidden]{display: none !important;}
:where(.dk, dialog.sail-dialog) .brief{margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px;}
:where(.dk, dialog.sail-dialog) .card h3{font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 14px 0 6px;}
:where(.dk, dialog.sail-dialog) .cellbar{display: inline-grid; grid-template-columns: 70px auto; gap: 8px; align-items: center;}
:where(.dk, dialog.sail-dialog) .cellbar i{display: block; height: 10px; background: var(--c1);}
:where(.dk, dialog.sail-dialog) table.heat td.num{min-width: 48px;}
:where(.dk, dialog.sail-dialog) table.heat th.num{max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .pairs, :where(.dk, dialog.sail-dialog) .diverge, :where(.dk, dialog.sail-dialog) .stacks{display: flex; flex-direction: column; gap: 8px; margin-top: 6px;}
:where(.dk, dialog.sail-dialog) .pair, :where(.dk, dialog.sail-dialog) .dv-row, :where(.dk, dialog.sail-dialog) .stack-row{display: grid; grid-template-columns: minmax(90px, 26%) 1fr auto; gap: 10px; align-items: center;}
:where(.dk, dialog.sail-dialog) .pair-track{display: flex; flex-direction: column; gap: 2px;}
:where(.dk, dialog.sail-dialog) .pair-track i{display: block; height: 7px;}
:where(.dk, dialog.sail-dialog) .pair-track .p1{background: var(--c1);}
:where(.dk, dialog.sail-dialog) .pair-track .p2{background: var(--c3);}
:where(.dk, dialog.sail-dialog) .dv-track{display: grid; grid-template-columns: 1fr 1fr; height: 12px;}
:where(.dk, dialog.sail-dialog) .dv-half{position: relative;}
:where(.dk, dialog.sail-dialog) .dv-half:first-child{border-right: 1px solid var(--muted);}
:where(.dk, dialog.sail-dialog) .dv-half .neg{position: absolute; right: 0; top: 0; bottom: 0; background: var(--down);}
:where(.dk, dialog.sail-dialog) .dv-half .pos{position: absolute; left: 0; top: 0; bottom: 0; background: var(--up);}
:where(.dk, dialog.sail-dialog) .stack{display: flex; height: 14px; background: var(--pearl);}
:where(.dk, dialog.sail-dialog) .stack i{display: block; height: 100%;}
:where(.dk, dialog.sail-dialog) .multiples{display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px 18px;}
:where(.dk, dialog.sail-dialog) .multiple h3{margin: 0 0 2px;}
:where(.dk, dialog.sail-dialog) .two{display: grid; grid-template-columns: 1fr 1fr; gap: 24px;}
:where(.dk, dialog.sail-dialog) .three{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;}
:where(.dk, dialog.sail-dialog) .cols{display: flex; align-items: flex-end; gap: 1px; height: 140px; border-bottom: 1px solid var(--line);}
:where(.dk, dialog.sail-dialog) .cols i{flex: 1; background: var(--c2); min-height: 0;}
:where(.dk, dialog.sail-dialog) .cols-axis{display: flex; justify-content: space-between; font-size: 11px; color: var(--muted);}
:where(.dk, dialog.sail-dialog) tr.clickable{cursor: pointer;}
:where(.dk, dialog.sail-dialog) tr.clickable:hover td{background: var(--allium-soft);}
:where(.dk, dialog.sail-dialog) tr.picked td{background: var(--allium-soft); font-weight: 700;}
:where(.dk, dialog.sail-dialog) .chip.bad{background: var(--bad-bg); color: var(--down);}
:where(.dk, dialog.sail-dialog) .subbar{gap: 8px; flex-wrap: wrap; margin-bottom: 10px;}
:where(.dk, dialog.sail-dialog) .chart .band{fill: var(--allium-soft);}
@media (max-width: 760px){
  :where(.dk, dialog.sail-dialog) .two, :where(.dk, dialog.sail-dialog) .three{grid-template-columns: 1fr;}
  :where(.dk, dialog.sail-dialog) .sections{padding: 0 8px;}
  :where(.dk, dialog.sail-dialog) .sections a{padding: 10px 10px 9px; font-size: 11px; letter-spacing: .1em;}
  :where(.dk, dialog.sail-dialog) .pair, :where(.dk, dialog.sail-dialog) .dv-row, :where(.dk, dialog.sail-dialog) .stack-row{grid-template-columns: 90px 1fr auto;}
}
:where(.dk, dialog.sail-dialog) .tiles.five{grid-template-columns: repeat(5, minmax(0, 1fr));}
@media (max-width: 1100px){
  :where(.dk, dialog.sail-dialog) .tiles.five{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
:where(.dk, dialog.sail-dialog) .bar-value .note{margin-left: 8px; color: var(--muted); font-size: 12px;}
@media (max-width: 700px){
  :where(.dk, dialog.sail-dialog) .tiles.five{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
:where(.dk, dialog.sail-dialog) .linkish.csv{display: block; margin: 6px 0 0 auto;}
:where(.dk, dialog.sail-dialog) .checks{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px;}
:where(.dk, dialog.sail-dialog) .checks li{display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: baseline;}
:where(.dk, dialog.sail-dialog) .checks li > b{display: inline-grid; place-items: center; width: 20px; height: 20px; font-size: 12px; color: #fff; background: var(--up);}
:where(.dk, dialog.sail-dialog) .checks li.bad > b{background: var(--down);}
:where(.dk, dialog.sail-dialog) .mini-dv{display: inline-grid; width: 70px; vertical-align: middle; margin-right: 6px; height: 8px;}
:where(.dk, dialog.sail-dialog) .cog{color: #E9DDEC; display: inline-flex; padding: 6px; border-radius: 50%;}
:where(.dk, dialog.sail-dialog) .cog:hover, :where(.dk, dialog.sail-dialog) .cog:focus-visible{color: #fff; background: rgba(255, 255, 255, .14);}
:where(.dk, dialog.sail-dialog) .settings-bar{display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0;}
:where(.dk, dialog.sail-dialog) select.changed{border-color: var(--amber); box-shadow: 0 0 0 2px var(--warn-line);}
:where(.dk, dialog.sail-dialog) td select{font: inherit; padding: 3px 6px; border: 1px solid var(--abalone); background: var(--panel); color: var(--ink); max-width: 100%;}
:where(.dk, dialog.sail-dialog) .btn:disabled{opacity: .45; cursor: default;}
:where(.dk, dialog.sail-dialog) .linklike{background: none; border: 0; padding: 0; color: inherit; cursor: pointer; font: inherit;}
:where(.dk, dialog.sail-dialog) details.more-detail{margin-top: 12px;}
:where(.dk, dialog.sail-dialog) details.more-detail summary{cursor: pointer; font-size: 13px; color: var(--accent);}
:where(.dk, dialog.sail-dialog) .choose{display: grid; grid-template-columns: minmax(220px, 1fr) minmax(320px, 2fr) minmax(260px, 1.4fr); gap: 20px; margin-bottom: 8px;}
:where(.dk, dialog.sail-dialog) .choose h3{margin: 0 0 8px;}
:where(.dk, dialog.sail-dialog) .picks{display: flex; flex-wrap: wrap; gap: 6px;}
:where(.dk, dialog.sail-dialog) .picks .chip{font-size: 11px; padding: 3px 8px; display: inline-flex; align-items: center; gap: 6px;}
:where(.dk, dialog.sail-dialog) button.pick{font: inherit; font-size: 13px; padding: 5px 10px; border: 1px solid var(--abalone); background: var(--panel); color: var(--ink); cursor: pointer;}
:where(.dk, dialog.sail-dialog) button.pick .n{color: var(--muted); font-size: 11px; margin-left: 2px;}
:where(.dk, dialog.sail-dialog) button.pick.on{background: var(--accent); border-color: var(--accent); color: #fff;}
:where(.dk, dialog.sail-dialog) button.pick.on .n{color: rgba(255, 255, 255, .8);}
:where(.dk, dialog.sail-dialog) .choose .search{width: 100%; min-width: 0;}
:where(.dk, dialog.sail-dialog) .choose .found{max-height: 220px; overflow: auto; border: 1px solid var(--line); margin: 6px 0; padding: 4px 8px; font-size: 13px;}
:where(.dk, dialog.sail-dialog) .choose .found label{display: block; padding: 3px 0; cursor: pointer;}
:where(.dk, dialog.sail-dialog) label.inline{font-size: 12px; display: inline-flex; align-items: center; gap: 6px;}
@media (max-width: 900px){
  :where(.dk, dialog.sail-dialog) .choose{grid-template-columns: 1fr;}
}
:where(.dk, dialog.sail-dialog) .two > div{min-width: 0;}
@media (max-width: 700px){
  :where(.dk, dialog.sail-dialog) .two{grid-template-columns: 1fr;}
}
:where(.dk, dialog.sail-dialog) #uclear{text-decoration: underline; color: var(--accent);}
:where(.dk, dialog.sail-dialog) .add-person{display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 12px 0 4px;}
:where(.dk, dialog.sail-dialog) .add-person label{display: flex; flex-direction: column; gap: 4px; font-size: 13px;}
:where(.dk, dialog.sail-dialog) .add-person input[type=email]{min-width: 260px;}
:where(.dk, dialog.sail-dialog) .roles p{margin: 2px 0;}
:where(.dk, dialog.sail-dialog) table.people select{min-width: 110px;}
@media (max-width: 600px){
  :where(.dk, dialog.sail-dialog) .add-person input[type=email]{min-width: 0; width: 100%;}
  :where(.dk, dialog.sail-dialog) .add-person label{flex: 1 1 100%;}
}
:where(.dk, dialog.sail-dialog) .controls .sel-btn{font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--ink); padding: 6px 10px; border: 1px solid var(--abalone);
  background: var(--panel); min-width: 150px; max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; cursor: pointer;}
:where(.dk, dialog.sail-dialog) .controls .sel-btn:disabled{opacity: .5; cursor: default;}
:where(.dk, dialog.sail-dialog) .controls .sel-btn.on{border-color: var(--accent); font-weight: 600;}
:where(.dk, dialog.sail-dialog) .filter-note .linklike{color: var(--accent); text-decoration: underline;}
:where(.dk, dialog.sail-dialog) .filter-note{background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--accent); padding: 8px 12px; margin: 0 0 14px; font-size: 14px;}
:where(.dk, dialog.sail-dialog) .tiles.six{grid-template-columns: repeat(6, minmax(0, 1fr));}
@media (max-width: 1100px){
  :where(.dk, dialog.sail-dialog) .tiles.six{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 700px){
  :where(.dk, dialog.sail-dialog) .tiles.six{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
:where(.dk, dialog.sail-dialog) .exec-controls{display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end;}
:where(.dk, dialog.sail-dialog) .exec-actions{margin-left: auto; display: flex; gap: 8px;}
:where(.dk, dialog.sail-dialog) .views-panel{position: relative; z-index: 5;}
:where(.dk, dialog.sail-dialog) .views-inner{position: absolute; right: 16px; top: 4px; width: min(520px, calc(100vw - 32px)); background: var(--panel); border: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18); padding: 14px 16px;}
:where(.dk, dialog.sail-dialog) .views-head{display: flex; justify-content: space-between; align-items: center;}
:where(.dk, dialog.sail-dialog) .views-head h3{margin: 0;}
:where(.dk, dialog.sail-dialog) .views-form{display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-top: 10px;}
:where(.dk, dialog.sail-dialog) .views-form label{display: flex; flex-direction: column; gap: 4px; font-size: 13px; flex: 1 1 240px;}
:where(.dk, dialog.sail-dialog) .views-list{list-style: none; padding: 0; margin: 6px 0 0; max-height: 50vh; overflow: auto;}
:where(.dk, dialog.sail-dialog) .views-list li{padding: 6px 0; border-top: 1px solid var(--line);}
:where(.dk, dialog.sail-dialog) .views-list .linklike{color: var(--accent); text-decoration: underline; margin-left: 6px;}
:where(.dk, dialog.sail-dialog) button.info{font: 600 10px/1 var(--font, inherit); width: 15px; height: 15px; border-radius: 50%; border: 1px solid currentColor; background: none; color: var(--muted);
  padding: 0; margin-left: 4px; cursor: help; vertical-align: 1px; text-transform: none; letter-spacing: 0; opacity: .75;}
:where(.dk, dialog.sail-dialog) button.info:hover, :where(.dk, dialog.sail-dialog) button.info:focus-visible{opacity: 1; color: var(--accent);}
.info-pop{position: absolute; z-index: 20; max-width: 300px; background: var(--panel); color: var(--ink); border: 1px solid var(--line);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18); padding: 8px 10px; font-size: 13px; line-height: 1.4; text-transform: none; letter-spacing: 0;}
:where(.dk, dialog.sail-dialog) .exec-table td .chg{display: block; font-size: 12px; line-height: 1.3;}
:where(.dk, dialog.sail-dialog) .exec-table tfoot td{font-weight: 600;}
:where(.dk, dialog.sail-dialog) .datepop{position: relative; display: inline-block; align-self: flex-end;}
:where(.dk, dialog.sail-dialog) .datepop-btn{display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 14px; color: var(--ink); text-align: left;
  padding: 6px 10px; border: 1px solid var(--abalone); background: var(--panel); cursor: pointer;}
:where(.dk, dialog.sail-dialog) .datepop-btn:hover, :where(.dk, dialog.sail-dialog) .datepop-btn[aria-expanded="true"]{border-color: var(--accent);}
:where(.dk, dialog.sail-dialog) .datepop-btn:focus-visible{outline: 2px solid var(--accent); outline-offset: 1px;}
:where(.dk, dialog.sail-dialog) .dp-ico{color: var(--accent); font-size: 16px; line-height: 1;}
:where(.dk, dialog.sail-dialog) .dp-txt{display: flex; flex-direction: column; line-height: 1.25;}
:where(.dk, dialog.sail-dialog) .dp-txt b{font-weight: 600; color: var(--heading); white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .dp-vs{font-size: 12px; color: var(--muted); white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .datepop-panel{position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; width: 320px; padding: 14px 16px; background: var(--panel);
  border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(0, 0, 0, .18);}
:where(.dk, dialog.sail-dialog) .datepop-panel fieldset{border: 0; margin: 0 0 10px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}
:where(.dk, dialog.sail-dialog) .datepop-panel legend{grid-column: 1 / -1; padding: 0; margin-bottom: 4px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .datepop-panel label{display: flex; flex-direction: column; gap: 4px; font-size: 13px;}
:where(.dk, dialog.sail-dialog) .datepop-panel input{font: inherit; font-size: 14px; color: var(--ink); padding: 6px 8px; border: 1px solid var(--abalone); background: var(--panel); min-width: 0;}
:where(.dk, dialog.sail-dialog) .datepop-panel .dp-note{margin: 0 0 10px;}
:where(.dk, dialog.sail-dialog) .dp-actions{display: flex; justify-content: flex-end; gap: 8px;}
:where(.dk, dialog.sail-dialog) .dp-actions .btn{padding: 7px 14px;}
@media (max-width: 700px){
  :where(.dk, dialog.sail-dialog) .datepop-panel{position: fixed; left: 16px; right: 16px; top: auto; bottom: 16px; width: auto;}
}
:where(.dk, dialog.sail-dialog) .controls [hidden]{display: none !important;}
:where(.dk, dialog.sail-dialog) .cw-v.good, :where(.dk, dialog.sail-dialog) .cw-score.good, :where(.dk, dialog.sail-dialog) .cw-tile.good .tile-change{color: var(--up);}
:where(.dk, dialog.sail-dialog) .cw-v.ni, :where(.dk, dialog.sail-dialog) .cw-score.ni, :where(.dk, dialog.sail-dialog) .cw-tile.ni .tile-change{color: var(--amber);}
:where(.dk, dialog.sail-dialog) .cw-v.poor, :where(.dk, dialog.sail-dialog) .cw-score.poor, :where(.dk, dialog.sail-dialog) .cw-tile.poor .tile-change{color: var(--down);}
:where(.dk, dialog.sail-dialog) .cw-v, :where(.dk, dialog.sail-dialog) .cw-score{font-weight: 700; font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .cw-pass{display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; color: var(--panel);}
:where(.dk, dialog.sail-dialog) .cw-pass.good{background: var(--up);}
:where(.dk, dialog.sail-dialog) .cw-pass.poor{background: var(--down);}
:where(.dk, dialog.sail-dialog) .cw-us td{background: var(--pearl);}
:where(.dk, dialog.sail-dialog) .cw-keys{display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px;}
:where(.dk, dialog.sail-dialog) .cw-spark{vertical-align: middle;}
:where(.dk, dialog.sail-dialog) .cw-row{cursor: pointer;}
:where(.dk, dialog.sail-dialog) .cw-more td{background: var(--pearl);}
:where(.dk, dialog.sail-dialog) .src-tag{display: inline-block; padding: 1px 7px; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: .06em; vertical-align: middle;
  text-transform: none; border: 1px solid currentColor; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .src-tag.ga4{color: var(--c2);}
:where(.dk, dialog.sail-dialog) .src-tag.uf{color: var(--accent);}
:where(.dk, dialog.sail-dialog) .src-tag.both{color: var(--muted);}
:where(.dk, dialog.sail-dialog) .src-tags{display: inline-flex; gap: 4px;}
:where(.dk, dialog.sail-dialog) .card-head .src-tag, :where(.dk, dialog.sail-dialog) .card-head .src-tags{margin-left: 8px;}
:where(.dk, dialog.sail-dialog) .brief .src-tag{margin-left: 2px;}
:where(.dk, dialog.sail-dialog) .tile-src{margin-top: 4px;}
:where(.dk, dialog.sail-dialog) .exec-table .src-row th{font-size: 11px; text-transform: none; letter-spacing: 0; text-align: center; border-bottom: 0; color: var(--muted);}
#print-report{position: absolute; left: -20000px; top: 0; background: #fff; color: var(--ink); page: exec; font-size: 12px;}
#print-report *{-webkit-print-color-adjust: exact; print-color-adjust: exact;}
#print-report .pr-head{display: flex; justify-content: space-between; align-items: center; gap: 24px; background: var(--palatyn); color: #fff;
  --lp: #FFFFFF; --lc: #FFFFFF; padding: 16px 22px; border-bottom: 5px solid var(--amber);}
#print-report .pr-brand{display: flex; flex-direction: column; gap: 6px;}
#print-report .pr-brand .logo{width: 190px; height: auto; display: block;}
#print-report .pr-brand span{font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--amber); font-weight: 700;}
#print-report .pr-title{text-align: right;}
#print-report .pr-title h1{margin: 0; font-size: 26px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #fff;}
#print-report .pr-title p{margin: 4px 0 0; font-size: 13px; color: #E9DDEC;}
#print-report .pr-title b{color: #fff;}
#print-report .pr-key{display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 8px 0 2px; font-size: 10px; color: var(--muted);}
#print-report .pr-key span:last-child{margin-left: auto;}
#print-report .pr-body{display: block;}
#print-report .pr-body > *{margin: 0 0 12px;}
#print-report .exec-controls, #print-report .seg, #print-report .btn, #print-report .info, #print-report .csv, #print-report .linkish, #print-report .linklike, #print-report .tip, #print-report .guide{display: none !important;}
#print-report .card{border: 0; border-top: 3px solid var(--allium); background: #fff; padding: 8px 0 0; box-shadow: none; break-inside: avoid;}
#print-report .card-head{margin-bottom: 6px;}
#print-report .card-head h2{font-size: 13px; color: var(--allium);}
#print-report .card-body{padding: 0;}
#print-report .tiles{gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)) !important;}
#print-report .tiles.five{grid-template-columns: repeat(5, minmax(0, 1fr)) !important;}
#print-report .tiles.six{grid-template-columns: repeat(6, minmax(0, 1fr)) !important;}
#print-report .tile-value{font-size: 18px !important;}
#print-report .tile{padding: 8px 10px; background: var(--pearl); border: 0; border-left: 3px solid var(--allium);}
#print-report .tile-value{font-size: 20px;}
#print-report .table-wrap{overflow: visible;}
#print-report table.data{width: 100%; font-size: 10.5px;}
#print-report table.data th{white-space: normal; font-size: 9px;}
#print-report table.data td, #print-report table.data th{padding: 4px 6px;}
#print-report table.data tr:nth-child(even) td{background: #FAF7F4;}
#print-report .exec-trends{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;}
#print-report .exec-trends h3{font-size: 11px; margin: 0 0 4px;}
#print-report .card{break-inside: auto;}
#print-report .tiles, #print-report .chart, #print-report .legend, #print-report .exec-trends, #print-report table.data tr, #print-report .brief li{break-inside: avoid;}
#print-report .card-head, #print-report h3, #print-report .tiles:not(:last-child){break-after: avoid;}
#print-report p.small{font-size: 9.5px;}
@page exec{ size: A4 landscape; margin: 9mm 9mm 12mm;
  @bottom-left { content: "Ambassador Cruise Line · Digital acquisition · Exec summary"; font: 8pt Quicksand, sans-serif; color: #5E5465; }
  @bottom-right { content: "Page " counter(page) " of " counter(pages); font: 8pt Quicksand, sans-serif; color: #5E5465; } }
@media print{
  body.print-exec > *:not(#print-report){display: none !important;}
  body.print-exec{background: #fff;}
  body.print-exec #print-report{position: static; width: auto !important;}
}
:where(.dk, dialog.sail-dialog) .ch-pills{display: flex; flex-wrap: wrap; gap: 6px;}
:where(.dk, dialog.sail-dialog) .ch-pills a{padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; color: var(--muted); font-size: 13px; font-weight: 600; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .ch-pills a:hover{color: var(--accent); border-color: var(--accent);}
:where(.dk, dialog.sail-dialog) .ch-pills a.on{color: var(--panel); background: var(--accent); border-color: var(--accent);}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) .ch-pills{flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px;}
}
:where(.dk, dialog.sail-dialog) .page-title{margin: 0;}
:where(.dk, dialog.sail-dialog) .crumb{margin: 0 0 -8px;}
:where(.dk, dialog.sail-dialog) .src-tag.cost{color: var(--muted);}
:where(.dk, dialog.sail-dialog) .src-tag.hs{color: var(--c3);}
:where(.dk, dialog.sail-dialog) .src-tag.meta{color: var(--c5);}
:where(.dk, dialog.sail-dialog) .src-tag.gsc{color: var(--c2);}
:where(.dk, dialog.sail-dialog) .src-tag.gads{color: var(--c4);}
:where(.dk, dialog.sail-dialog) .ch-no{display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; margin-right: 10px; background: var(--c3); color: #380843;
  font-size: 12px; font-weight: 700; letter-spacing: 0; vertical-align: middle;}
:where(.dk, dialog.sail-dialog) .ch-sec.off{background: var(--bg); border-style: dashed;}
:where(.dk, dialog.sail-dialog) .ch-grp{display: flex; align-items: center; gap: 8px; margin: 14px 0 8px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .ch-grp:first-child{margin-top: 0;}
:where(.dk, dialog.sail-dialog) .ch-share{display: flex; height: 30px; margin: 4px 0 8px;}
:where(.dk, dialog.sail-dialog) .ch-share span{display: block; height: 100%;}
:where(.dk, dialog.sail-dialog) .ch-grid{display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 14px;}
:where(.dk, dialog.sail-dialog) .ch-card{display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; background: var(--panel); border: 1px solid var(--line); border-top: 3px solid var(--accent);
  color: inherit; text-decoration: none;}
:where(.dk, dialog.sail-dialog) .ch-card:hover, :where(.dk, dialog.sail-dialog) .ch-card:focus-visible{background: var(--pearl);}
:where(.dk, dialog.sail-dialog) .ch-name{display: flex; align-items: baseline; gap: 8px;}
:where(.dk, dialog.sail-dialog) .ch-name b{font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--heading);}
:where(.dk, dialog.sail-dialog) .ch-name span{margin-left: auto; font-size: 12px; color: var(--accent); font-weight: 600;}
:where(.dk, dialog.sail-dialog) .ch-figs{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;}
:where(.dk, dialog.sail-dialog) .ch-fig{background: var(--pearl); padding: 8px 10px; min-width: 0;}
:where(.dk, dialog.sail-dialog) .ch-fig .tile-value{font-size: 19px;}
:where(.dk, dialog.sail-dialog) .ch-fig .tile-change{font-size: 12px;}
:where(.dk, dialog.sail-dialog) .ch-fig .src-tag{font-size: 9px; padding: 0 5px;}
:where(.dk, dialog.sail-dialog) .ch-spark{width: 100%; height: 46px; display: block;}
:where(.dk, dialog.sail-dialog) .ch-charts{display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); gap: 18px;}
:where(.dk, dialog.sail-dialog) .ch-charts.n1{--n: 1;}
:where(.dk, dialog.sail-dialog) .ch-charts.n3{--n: 3;}
:where(.dk, dialog.sail-dialog) .ch-charts h3, :where(.dk, dialog.sail-dialog) .ch-sec h3{display: flex; align-items: center; gap: 6px; flex-wrap: wrap;}
:where(.dk, dialog.sail-dialog) .ch-sec .three{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;}
:where(.dk, dialog.sail-dialog) .ch-sec .three > div{min-width: 0;}
:where(.dk, dialog.sail-dialog) .ch-stack{display: flex; height: 26px; margin: 4px 0 6px;}
:where(.dk, dialog.sail-dialog) .ch-stack span{display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden;}
:where(.dk, dialog.sail-dialog) .ch-path{display: flex; gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 13px;}
:where(.dk, dialog.sail-dialog) .ch-path b{margin-left: auto;}
:where(.dk, dialog.sail-dialog) .chip.me{background: var(--accent); color: var(--panel);}
:where(.dk, dialog.sail-dialog) .ch-heat td{min-width: 44px;}
@media (max-width: 1100px){
  :where(.dk, dialog.sail-dialog) .ch-charts.n3{--n: 2;}
  :where(.dk, dialog.sail-dialog) .ch-sec .three{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 760px){
  :where(.dk, dialog.sail-dialog) .ch-charts, :where(.dk, dialog.sail-dialog) .ch-sec .three{grid-template-columns: minmax(0, 1fr);}
  :where(.dk, dialog.sail-dialog) .ch-figs{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
:where(.dk, dialog.sail-dialog) .ch-cols{display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 20px;}
:where(.dk, dialog.sail-dialog) .ch-cols > div{min-width: 0;}
@media (max-width: 760px){
  :where(.dk, dialog.sail-dialog) .ch-cols{grid-template-columns: minmax(0, 1fr);}
}
:where(.dk, dialog.sail-dialog) .moves{list-style: none; margin: 0; padding: 0;}
:where(.dk, dialog.sail-dialog) .moves li{display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 10px; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 14px;}
:where(.dk, dialog.sail-dialog) .moves li span:first-child{overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .moves li .small{grid-column: 1 / -1;}
:where(.dk, dialog.sail-dialog) table.data tr.clickable{cursor: pointer;}
:where(.dk, dialog.sail-dialog) table.data tr.clickable:focus-visible{outline: 2px solid var(--accent); outline-offset: -2px;}
:where(.dk, dialog.sail-dialog) table.data tr.clickable.on, :where(.dk, dialog.sail-dialog) table.data tr.clickable.on:hover{background: var(--allium-soft);}
:where(.dk, dialog.sail-dialog) table.data tr.clickable.on td{color: var(--heading); font-weight: 600;}
:where(.dk, dialog.sail-dialog) .sail-panel{border-left: 3px solid var(--accent);}
:where(.dk, dialog.sail-dialog) .sp-cols{margin-top: 6px;}
:where(.dk, dialog.sail-dialog) .sail-panel h4{font-size: 13px; font-weight: 700; color: var(--heading); margin: 12px 0 4px;}
:where(.dk, dialog.sail-dialog) .sp-list{list-style: none; margin: 0; padding: 0; font-size: 14px;}
:where(.dk, dialog.sail-dialog) .sp-list li{display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px solid var(--line);}
:where(.dk, dialog.sail-dialog) .sp-list li span{min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .sp-list li b{white-space: nowrap; font-weight: 600;}
:where(.dk, dialog.sail-dialog) .sp-mini{display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0 18px;}
:where(.dk, dialog.sail-dialog) table.data td.o10, :where(.dk, dialog.sail-dialog) .o10-star{color: var(--amber); font-weight: 700;}
:where(.dk, dialog.sail-dialog) table.data td.muted{color: var(--muted);}
:where(.dk, dialog.sail-dialog) .sp-price{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 4px 22px; margin-bottom: 6px;}
:where(.dk, dialog.sail-dialog) .sp-price .big{font-size: 26px; font-weight: 700; color: var(--heading); line-height: 1.1;}
:where(.dk, dialog.sail-dialog) .sp-price .claim{margin: 8px 0 0; padding: 6px 10px; border-left: 3px solid var(--aloe); background: var(--allium-soft); font-size: 14px;}
:where(.dk, dialog.sail-dialog) .sp-price .chart{min-width: 0;}
@media (max-width: 700px){
  :where(.dk, dialog.sail-dialog) .sp-price{grid-template-columns: minmax(0, 1fr);}
}
:where(.dk, dialog.sail-dialog) .src-tag{display: inline-block; margin-left: 6px; padding: 1px 6px; border: 1px solid var(--line); font-size: 10px; letter-spacing: .06em; color: var(--muted); vertical-align: middle;}
dialog.sail-dialog{width: min(1100px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; background: transparent; color: inherit; overflow: auto;}
dialog.sail-dialog::backdrop{background: rgba(20, 4, 24, .55);}
dialog.sail-dialog > .card{margin: 0; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);}
@media (max-width: 700px){
  dialog.sail-dialog{width: 100vw; max-width: 100vw; max-height: 100vh; height: 100vh; margin: 0;}
  dialog.sail-dialog > .card{min-height: 100%;}
}
:where(.dk, dialog.sail-dialog) .meta-link{margin-top: 2px;}
:where(.dk, dialog.sail-dialog) .ma-tools{display: flex; gap: 14px; margin: 0 0 8px;}
:where(.dk, dialog.sail-dialog) .ma-table td.name{min-width: 260px;}
:where(.dk, dialog.sail-dialog) .ma-name{display: flex; align-items: flex-start; gap: 6px; padding-left: calc(var(--d, 0) * 18px);}
:where(.dk, dialog.sail-dialog) .ma-table tr.ma-unmatched td{font-style: italic; border-top: 2px solid var(--line);}
:where(.dk, dialog.sail-dialog) .ma-tog{flex: none; width: 22px; height: 22px; padding: 0; font: inherit; font-size: 12px; line-height: 1; border: 1px solid var(--line); background: var(--panel); color: var(--accent); cursor: pointer;}
:where(.dk, dialog.sail-dialog) .ma-tog:hover, :where(.dk, dialog.sail-dialog) .ma-tog:focus-visible{border-color: var(--accent);}
:where(.dk, dialog.sail-dialog) .ma-sp{flex: none; width: 22px;}
:where(.dk, dialog.sail-dialog) .ma-lvl{font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .ma-campaign td{font-weight: 600;}
:where(.dk, dialog.sail-dialog) .ma-ad td{font-size: 13px;}
:where(.dk, dialog.sail-dialog) .ma-am{font-size: 12px; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .ma-flags li{line-height: 1.5;}
:where(.dk, dialog.sail-dialog) .ma-pick{margin: 0 0 12px; padding: 0;}
:where(.dk, dialog.sail-dialog) .ma-place h3{margin: 16px 0 6px;}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) .ma-table td.name{min-width: 200px;}
}
:where(.dk, dialog.sail-dialog) .sp-read{margin: 0;}
:where(.dk, dialog.sail-dialog) .sp-banner{margin: 0;}
:where(.dk, dialog.sail-dialog) .sp-tiles{grid-template-columns: repeat(4, minmax(0, 1fr));}
:where(.dk, dialog.sail-dialog) .sp-tile{border-top: 3px solid var(--sp, var(--accent));}
:where(.dk, dialog.sail-dialog) .sp-lines, :where(.dk, dialog.sail-dialog) .sp-proj, :where(.dk, dialog.sail-dialog) .sp-target{display: flex; flex-direction: column; gap: 2px; font-size: 12px; margin-top: 8px;}
:where(.dk, dialog.sail-dialog) .sp-lines div, :where(.dk, dialog.sail-dialog) .sp-proj div, :where(.dk, dialog.sail-dialog) .sp-target div{display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px;}
:where(.dk, dialog.sail-dialog) .sp-lines span, :where(.dk, dialog.sail-dialog) .sp-proj span, :where(.dk, dialog.sail-dialog) .sp-target span{color: var(--muted);}
:where(.dk, dialog.sail-dialog) .sp-lines b, :where(.dk, dialog.sail-dialog) .sp-proj div b, :where(.dk, dialog.sail-dialog) .sp-target div b{margin-left: auto; font-variant-numeric: tabular-nums; color: var(--ink);}
:where(.dk, dialog.sail-dialog) .sp-target div b.up{color: var(--up);}
:where(.dk, dialog.sail-dialog) .sp-target div b.down{color: var(--down);}
:where(.dk, dialog.sail-dialog) .sp-proj > b, :where(.dk, dialog.sail-dialog) .sp-target > b{color: var(--heading); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 2px;}
:where(.dk, dialog.sail-dialog) .sp-proj i{width: 100%; text-align: right; font-style: normal; color: var(--muted); font-size: 11px;}
:where(.dk, dialog.sail-dialog) .sp-key-proj{background: transparent !important; border: 1px dashed var(--muted);}
:where(.dk, dialog.sail-dialog) table.data tr.sp-projrow td{color: var(--muted); font-style: italic;}
:where(.dk, dialog.sail-dialog) .sp-how{margin: 4px 0 8px; padding-left: 18px;}
@media (max-width: 1100px){
  :where(.dk, dialog.sail-dialog) .sp-tiles{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) .sp-tiles{grid-template-columns: minmax(0, 1fr);}
}
:where(.dk, dialog.sail-dialog) .ds-table tr.ds-sub td{padding-top: 14px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .ds-table tr.ds-sub td .muted{text-transform: none; letter-spacing: 0; font-weight: 400;}
:where(.dk, dialog.sail-dialog) .ds-table tr.ds-not td{border-top: 2px solid var(--line); font-style: italic;}
:where(.dk, dialog.sail-dialog) .sections span.off{padding: 12px 20px 11px; color: rgba(233, 221, 236, .45); font-size: 13px; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; border-bottom: 3px solid transparent; cursor: not-allowed;}
@media (max-width: 760px){
  :where(.dk, dialog.sail-dialog) .sections span.off{padding: 10px 10px 9px; font-size: 11px; letter-spacing: .1em;}
}
:where(.dk, dialog.sail-dialog) .mk-page{display: flex; flex-direction: column; gap: 16px; min-width: 0;}
:where(.dk, dialog.sail-dialog) .mk-lead{margin: 0; max-width: 60rem; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .mk-two{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 1000px){
  :where(.dk, dialog.sail-dialog) .mk-two{grid-template-columns: minmax(0, 1fr);}
}
:where(.dk, dialog.sail-dialog) .mk-split{display: flex; height: 6px; margin-top: 8px; background: var(--line);}
:where(.dk, dialog.sail-dialog) .mk-split span{display: block; height: 100%;}
:where(.dk, dialog.sail-dialog) .mk-splitlbl{display: flex; justify-content: space-between; gap: 8px; color: var(--muted); margin-top: 3px;}
:where(.dk, dialog.sail-dialog) .mk-dot{display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 7px; vertical-align: 1px;}
:where(.dk, dialog.sail-dialog) .mk-table tr.mk-soon td{color: var(--muted);}
:where(.dk, dialog.sail-dialog) .mk-table td.name{white-space: normal;}
:where(.dk, dialog.sail-dialog) .mk-table td:first-child{white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .mk-pill{display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 8px; letter-spacing: .04em; white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .mk-pill.ok{background: var(--up); color: var(--panel);}
:where(.dk, dialog.sail-dialog) .mk-pill.close{background: var(--warn-bg); color: var(--warn-ink); border: 1px solid var(--warn-line);}
:where(.dk, dialog.sail-dialog) .mk-pill.behind{background: var(--bad-bg); color: var(--down); border: 1px solid var(--bad-line);}
:where(.dk, dialog.sail-dialog) .mk-pill.none{background: var(--pearl); color: var(--muted); border: 1px solid var(--line);}
:where(.dk, dialog.sail-dialog) .mk-mix{display: flex; flex-direction: column; gap: 12px;}
:where(.dk, dialog.sail-dialog) .mk-mixrow{display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 10px; align-items: center;}
:where(.dk, dialog.sail-dialog) .mk-mixbar{display: flex; height: 26px; overflow: hidden;}
:where(.dk, dialog.sail-dialog) .mk-mixbar span{display: flex; align-items: center; justify-content: center; color: #fff; font-size: 11px; font-weight: 700; min-width: 0; overflow: hidden;}
#print-report .mk-two{grid-template-columns: 1fr 1fr;}
:where(.dk, dialog.sail-dialog) .tf{margin: 0 0 10px;}
:where(.dk, dialog.sail-dialog) .tf-row{display: flex; flex-wrap: wrap; align-items: center; gap: 8px;}
:where(.dk, dialog.sail-dialog) .tf-row .search{flex: 0 1 280px; min-width: 0;}
:where(.dk, dialog.sail-dialog) .tf-add{padding: 5px 12px; font-size: 13px;}
:where(.dk, dialog.sail-dialog) .tf-count b{color: var(--ink);}
:where(.dk, dialog.sail-dialog) .tf-chips{display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px;}
:where(.dk, dialog.sail-dialog) .tf-chip{display: inline-flex; align-items: stretch; max-width: 100%; border: 1px solid var(--abalone); background: var(--allium-soft); color: var(--accent); font-size: 12px; font-weight: 600;}
:where(.dk, dialog.sail-dialog) .tf-chip button{font: inherit; background: none; border: 0; color: inherit; cursor: pointer; padding: 3px 8px; min-height: 28px;}
:where(.dk, dialog.sail-dialog) .tf-edit{text-align: left; overflow-wrap: anywhere;}
:where(.dk, dialog.sail-dialog) .tf-x{border-left: 1px solid var(--abalone) !important; font-size: 15px; line-height: 1; padding: 3px 9px !important;}
:where(.dk, dialog.sail-dialog) .tf-chip button:hover{background: var(--panel);}
:where(.dk, dialog.sail-dialog) .tf-panel{margin-top: 8px; padding: 12px; border: 1px solid var(--abalone); background: var(--panel); max-width: 640px;}
:where(.dk, dialog.sail-dialog) .tf-fields{display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end;}
:where(.dk, dialog.sail-dialog) .tf-fields label{display: flex; flex-direction: column; gap: 3px; font-size: 12px; color: var(--muted);}
:where(.dk, dialog.sail-dialog) .tf-fields select, :where(.dk, dialog.sail-dialog) .tf-fields input:not([type=checkbox]){font: inherit; font-size: 14px; color: var(--ink); padding: 6px 8px; border: 1px solid var(--abalone); background: var(--panel); min-width: 0; max-width: 100%;}
:where(.dk, dialog.sail-dialog) .tf-val{display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; flex: 1 1 200px;}
:where(.dk, dialog.sail-dialog) .tf-val .tf-v, :where(.dk, dialog.sail-dialog) .tf-val .tf-v2{width: 140px;}
:where(.dk, dialog.sail-dialog) .tf-and{display: inline-flex; align-items: center; gap: 6px;}
:where(.dk, dialog.sail-dialog) .tf-and[hidden]{display: none;}
:where(.dk, dialog.sail-dialog) .tf-is{font-size: 13px; color: var(--muted); padding-bottom: 7px;}
:where(.dk, dialog.sail-dialog) .tf-ticks{border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; max-height: 220px; overflow-y: auto; width: 100%;}
:where(.dk, dialog.sail-dialog) .tf-ticks legend{padding: 0; margin-bottom: 4px;}
:where(.dk, dialog.sail-dialog) .tf-ticks label{font-size: 13px; color: var(--ink); display: inline-flex; align-items: center; gap: 6px; flex-direction: row; min-height: 28px;}
:where(.dk, dialog.sail-dialog) .tf-err{color: var(--down); margin: 6px 0 0; min-height: 0;}
:where(.dk, dialog.sail-dialog) .tf-err:empty{display: none;}
:where(.dk, dialog.sail-dialog) .tf-btns{margin-top: 10px; display: flex; gap: 8px; flex-wrap: wrap;}
:where(.dk, dialog.sail-dialog) .tf-btns .btn{padding: 6px 14px;}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) .tf-row .search{flex: 1 1 100%;}
  :where(.dk, dialog.sail-dialog) .tf-panel{max-width: none;}
  :where(.dk, dialog.sail-dialog) .tf-fields label{flex: 1 1 100%;}
  :where(.dk, dialog.sail-dialog) .tf-val .tf-v, :where(.dk, dialog.sail-dialog) .tf-val .tf-v2{width: 120px;}
}
:where(.dk, dialog.sail-dialog) .banner{position: relative;}
:where(.dk, dialog.sail-dialog) .banner[data-closable]{padding-right: 40px;}
:where(.dk, dialog.sail-dialog) .banner-close{position: absolute; top: 6px; right: 8px; border: 0; background: none; color: inherit; font: inherit; font-size: 14px; line-height: 1; padding: 4px 6px; cursor: pointer; opacity: .7;}
:where(.dk, dialog.sail-dialog) .banner-close:hover, :where(.dk, dialog.sail-dialog) .banner-close:focus-visible{opacity: 1;}
:where(.dk, dialog.sail-dialog) .busy{opacity: .55; transition: opacity .15s ease .25s; pointer-events: none;}
:where(.dk, dialog.sail-dialog) .ctl-fold{display: none;}
@media (max-width: 700px){
  :where(.dk, dialog.sail-dialog) .controls > .ctl-fold{display: flex; align-items: center; gap: 8px; width: 100%; font: inherit; font-size: 14px; color: var(--ink); text-align: left;
    padding: 8px 10px; border: 1px solid var(--abalone); background: var(--panel); cursor: pointer;}
  :where(.dk, dialog.sail-dialog) .controls > .ctl-fold[hidden]{display: none !important;}
  :where(.dk, dialog.sail-dialog) .ctl-fold-l{font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); white-space: nowrap;}
  :where(.dk, dialog.sail-dialog) .ctl-fold-d{flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; color: var(--heading);}
  :where(.dk, dialog.sail-dialog) .ctl-fold-i{color: var(--accent); transition: transform .15s;}
  :where(.dk, dialog.sail-dialog) .controls.ctl-open > .ctl-fold .ctl-fold-i{transform: rotate(180deg);}
  :where(.dk, dialog.sail-dialog) .controls:not(.ctl-open) > :not(.ctl-fold){display: none !important;}
}
:where(.dk, dialog.sail-dialog) details.how{margin: -4px 0 8px;}
:where(.dk, dialog.sail-dialog) details.how > summary{cursor: pointer; font-size: 12px; color: var(--muted); list-style: none; display: inline-flex; align-items: center; gap: 4px;}
:where(.dk, dialog.sail-dialog) details.how > summary::-webkit-details-marker{display: none;}
:where(.dk, dialog.sail-dialog) details.how > summary::before{content: '▸'; font-size: 10px; transition: transform .15s;}
:where(.dk, dialog.sail-dialog) details.how[open] > summary::before{transform: rotate(90deg);}
:where(.dk, dialog.sail-dialog) details.how > summary:hover, :where(.dk, dialog.sail-dialog) details.how > summary:focus-visible{color: var(--accent); text-decoration: underline;}
:where(.dk, dialog.sail-dialog) details.how > p{margin-top: 4px;}
:where(.dk, dialog.sail-dialog) .foldable > .card-head [aria-expanded]{cursor: pointer;}
:where(.dk, dialog.sail-dialog) .foldable > .card-head [aria-expanded]::after{content: '▾'; font-size: 12px; color: var(--muted); margin-left: 8px; display: inline-block; transition: transform .15s;}
:where(.dk, dialog.sail-dialog) .foldable.folded > .card-head [aria-expanded]::after{transform: rotate(-90deg);}
:where(.dk, dialog.sail-dialog) .foldable > .card-head [aria-expanded]:hover, :where(.dk, dialog.sail-dialog) .foldable > .card-head [aria-expanded]:focus-visible{color: var(--accent);}
:where(.dk, dialog.sail-dialog) .foldable.folded > .card-head{margin-bottom: 0;}
:where(.dk, dialog.sail-dialog) .foldable.folded > .card-head ~ *{display: none;}
:where(.dk, dialog.sail-dialog) nav.jumps{display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; margin: 0 0 14px; font-size: 13px;}
:where(.dk, dialog.sail-dialog) nav.jumps .jumps-l{color: var(--muted); margin-right: 2px;}
:where(.dk, dialog.sail-dialog) nav.jumps .jump{background: none; border: 1px solid var(--line); color: var(--accent); font: inherit; font-size: 12px; padding: 2px 8px; cursor: pointer;}
:where(.dk, dialog.sail-dialog) nav.jumps .jump:hover, :where(.dk, dialog.sail-dialog) nav.jumps .jump:focus-visible{border-color: var(--accent);}
:where(.dk, dialog.sail-dialog) .lookonly-bar{padding: 8px 24px; background: var(--allium-soft); border-bottom: 1px solid var(--line); color: var(--ink); font-size: 14px;}
:where(.dk, dialog.sail-dialog) .lookonly-bar a{color: var(--accent); font-weight: 600;}
@media (max-width: 700px){
  :where(.dk, dialog.sail-dialog) .lookonly-bar{padding: 8px 16px;}
}
:where(.dk, dialog.sail-dialog) #view > .fc-nav{margin: -20px -24px 0;}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) #view > .fc-nav{margin: -20px -16px 0;}
}
:where(.dk, dialog.sail-dialog) .fc-lead{margin: 0; font-size: 15px; line-height: 1.5; max-width: 980px;}
:where(.dk, dialog.sail-dialog) .fc-tiles .tile-value{white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .fc-range{font-size: 12px; color: var(--muted); margin-bottom: 2px;}
:where(.dk, dialog.sail-dialog) .chart .tip-range{color: inherit; opacity: .8; padding-left: 16px;}
:where(.dk, dialog.sail-dialog) table.data.fc-table tfoot td{font-weight: 700;}
:where(.dk, dialog.sail-dialog) table.data tr.fc-miss td{background: var(--warn-bg);}
:where(.dk, dialog.sail-dialog) table.data tr.fc-miss:hover td{background: var(--warn-bg);}
:where(.dk, dialog.sail-dialog) .fc-flag{display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 1px 6px;
  background: var(--amber); color: #380843; margin-left: 4px;}
:where(.dk, dialog.sail-dialog) table.data.fc-table tr.on td{color: var(--heading); font-weight: 600;}
:where(.dk, dialog.sail-dialog) table.data.fc-table tr.fc-total td{font-weight: 700; border-top: 2px solid var(--line);}
:where(.dk, dialog.sail-dialog) table.data.fc-table td.name.small{white-space: normal; min-width: 160px;}
:where(.dk, dialog.sail-dialog) table.data.fc-targets .fc-range{margin: 0; font-weight: 500;}
:where(.dk, dialog.sail-dialog) .fc-verdict{font-size: 15px; margin: 8px 0;}
:where(.dk, dialog.sail-dialog) table.data.targets input.tnum{width: 9em; text-align: right; font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .fc-seasons{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;}
@media (max-width: 1100px){
  :where(.dk, dialog.sail-dialog) .fc-seasons{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 700px){
  :where(.dk, dialog.sail-dialog) .fc-seasons{grid-template-columns: 1fr;}
}
:where(.dk, dialog.sail-dialog) .fc-season{border: 1px solid var(--line); background: var(--panel); padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; min-width: 0;}
:where(.dk, dialog.sail-dialog) .fc-season.on{border-color: var(--accent); box-shadow: inset 0 3px 0 var(--accent);}
:where(.dk, dialog.sail-dialog) .fc-season-head{display: flex; justify-content: space-between; align-items: center; gap: 8px;}
:where(.dk, dialog.sail-dialog) .fc-season-head b{font-size: 18px; color: var(--heading);}
:where(.dk, dialog.sail-dialog) .fc-pill{font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); white-space: nowrap;}
:where(.dk, dialog.sail-dialog) .fc-pill.good{color: var(--up); border-color: var(--up);}
:where(.dk, dialog.sail-dialog) .fc-pill.bad{color: var(--down); border-color: var(--down);}
:where(.dk, dialog.sail-dialog) .fc-dl{margin: 4px 0 0; display: grid; gap: 4px;}
:where(.dk, dialog.sail-dialog) .fc-dl div{display: flex; justify-content: space-between; gap: 10px; font-size: 13px; border-bottom: 1px solid var(--line); padding-bottom: 3px;}
:where(.dk, dialog.sail-dialog) .fc-dl dt{color: var(--muted);}
:where(.dk, dialog.sail-dialog) .fc-dl dd{margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right;}
:where(.dk, dialog.sail-dialog) .fc-heading{display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-top: 4px;}
:where(.dk, dialog.sail-dialog) .fc-heading b{font-size: 24px; color: var(--heading); font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .fc-bar{height: 8px; background: var(--pearl); border: 1px solid var(--line);}
:where(.dk, dialog.sail-dialog) .fc-bar i{display: block; height: 100%; background: var(--c1);}
:where(.dk, dialog.sail-dialog) .fc-bar.empty{background: repeating-linear-gradient(-20deg, var(--pearl) 0 6px, var(--panel) 6px 12px);}
:where(.dk, dialog.sail-dialog) .fc-totals{margin-bottom: 12px;}
:where(.dk, dialog.sail-dialog) table.data.fc-spend td{vertical-align: top;}
:where(.dk, dialog.sail-dialog) table.data.fc-spend td.name{white-space: normal; min-width: 150px;}
:where(.dk, dialog.sail-dialog) .fc-slide{min-width: 210px;}
:where(.dk, dialog.sail-dialog) .fc-slide input[type="range"]{width: 160px; accent-color: var(--accent); vertical-align: middle;}
:where(.dk, dialog.sail-dialog) .fc-slide output{display: inline-block; min-width: 46px; margin-left: 6px; font-weight: 700; font-variant-numeric: tabular-nums;}
:where(.dk, dialog.sail-dialog) .fc-warn{color: var(--warn-ink); background: var(--warn-bg); padding: 2px 6px; margin-top: 4px; white-space: normal; max-width: 220px;}
:where(.dk, dialog.sail-dialog) tr.fc-held td{color: var(--muted);}
:where(.dk, dialog.sail-dialog) table.data.fc-spend td .small{font-weight: 500;}
:where(.dk, dialog.sail-dialog) .fc-save{display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: flex-end; width: 100%;}
:where(.dk, dialog.sail-dialog) .fc-save[hidden]{display: none;}
:where(.dk, dialog.sail-dialog) .fc-save label{flex: 1 1 260px; max-width: 420px;}
:where(.dk, dialog.sail-dialog) .fc-save input{width: 100%; box-sizing: border-box;}
:where(.dk, dialog.sail-dialog) .fc-err{color: var(--down);}
:where(.dk, dialog.sail-dialog) .fc-curves{display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px;}
:where(.dk, dialog.sail-dialog) .fc-curve{min-width: 0;}
:where(.dk, dialog.sail-dialog) .fc-curve h3{margin-top: 0;}
@media (max-width: 640px){
  :where(.dk, dialog.sail-dialog) .fc-curves{grid-template-columns: 1fr;}
  :where(.dk, dialog.sail-dialog) .fc-slide input[type="range"]{width: 120px;}
}
