:root{--yellow: #ffe97a;--grey: #d9d9d9;--pink: #f4b6c2;--blue: #9ec9f0;--green: #a8ddb0;--red: #c00;--border: #999;--ink: #222;font-family:-apple-system,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f4f4f2}a{color:#0645ad}header.topnav{background:#1c2b4a;color:#fff;padding:0 12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}header.topnav .brand{font-weight:700;padding:10px 12px 10px 0;white-space:nowrap}header.topnav nav{display:flex;flex-wrap:wrap}header.topnav nav a{color:#cfd8ec;text-decoration:none;padding:10px 9px;font-size:14px;white-space:nowrap}header.topnav nav a.active{color:#fff;border-bottom:2px solid var(--yellow)}.tour-picker{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:14px;padding:6px 0}.tour-picker select{font-size:14px}.tour-watches{font-size:12px;color:#cfd8ec}main{padding:14px;max-width:1400px;margin:0 auto}h1{font-size:22px;margin:6px 0 12px}h2{font-size:17px;margin:18px 0 8px}.tiles{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.tile{background:#fff;border:1px solid var(--border);border-radius:6px;padding:10px 14px;min-width:130px}.tile .big{font-size:24px;font-weight:700}.tile .lbl{font-size:12px;color:#555}.tile.pink{background:var(--pink)}.tile.blue{background:var(--blue)}.tile.green{background:var(--green)}.tile.yellow{background:var(--yellow)}table.data{border-collapse:collapse;background:#fff;font-size:13px}table.data th,table.data td{border:1px solid var(--border);padding:3px 7px;text-align:left}table.data th{background:#e8e8e4;cursor:default;white-space:nowrap}table.data th.sortable{cursor:pointer}.table-scroll{overflow-x:auto}.wallchart-wrap{overflow:auto;max-height:78vh;background:#fff;border:1px solid var(--border)}table.wallchart{border-collapse:collapse;font-size:11px;table-layout:fixed}table.wallchart th,table.wallchart td{border:1px solid #666;padding:2px 3px;width:74px;min-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}table.wallchart th.rowhead,table.wallchart td.rowhead{position:sticky;left:0;background:#efefea;width:86px;min-width:86px;z-index:2;font-weight:600}table.wallchart thead th{position:sticky;top:0;background:#efefea;z-index:3}table.wallchart thead th.corner{left:0;z-index:4}table.wallchart th.whead{cursor:pointer;height:34px;vertical-align:middle}table.wallchart th.whead.regular{background:var(--yellow)}table.wallchart th.whead.following{background:var(--grey)}table.wallchart th.whead.vac-pink{box-shadow:inset 0 -6px 0 var(--pink)}table.wallchart th.whead.vac-blue{box-shadow:inset 0 -6px 0 var(--blue)}table.wallchart th.whead.vac-green{box-shadow:inset 0 -6px 0 var(--green)}table.wallchart tr.officer td.rowhead{background:#e2e8f5}.nm{display:inline}.nm.flag{color:var(--red);font-weight:600}a.nm.flag{color:var(--red)}.nm.empty{color:#888;font-style:italic}.nm.you{font-weight:700;text-decoration:underline dotted}.namelist,.namelist-item{display:inline}.cell-nm,.cal-staff,.cal-staff-row{display:block}.set-tour-link{font-size:12px;padding:1px 6px;background:#2c3c5f;color:#ffd;border:1px solid #456}.month{margin-bottom:18px}.month h2{text-align:center}table.cal{border-collapse:collapse;width:100%;table-layout:fixed;background:#fff}table.cal th{border:1px solid var(--border);padding:3px;font-size:12px;background:#e8e8e4}table.cal td{border:1px solid var(--border);vertical-align:top;height:92px;padding:2px 4px;font-size:11px}table.cal td.blank{background:#f0f0ee}.cal-date{font-weight:700;font-size:13px}.cal-watch{float:right;font-weight:600}.cal-count{color:#555}.cal-holiday{color:#7a3;font-weight:600;display:block}td.c-regular{background:var(--yellow)}td.c-following{background:var(--grey)}td.c-pink{background:var(--pink)}td.c-blue{background:var(--blue)}td.c-green{background:var(--green)}table.cal td.selected{outline:3px solid #1c2b4a;outline-offset:-3px}table.cal td.hl-person{box-shadow:inset 0 0 0 4px #ff7a00}.dp{position:relative;display:inline-block}.dp-btn{font-weight:600}.dp-pop{position:absolute;top:110%;left:0;z-index:50;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 18px #0000002e;padding:8px;width:270px}.dp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dp-head button{padding:2px 9px}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.dp-wd{text-align:center;font-size:11px;color:#666;font-weight:600}.dp-day{padding:5px 0;font-size:13px;border:1px solid #ddd;border-radius:4px;background:#fafafa}.dp-day.hl{background:#ff7a00;color:#fff;font-weight:700;border-color:#ff7a00}.dp-day.hl:hover{background:#e86d00}.dp-day.sel{outline:2px solid #1c2b4a;outline-offset:-2px}.dp-day.today{text-decoration:underline}.dp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;color:#555}.dp-swatch{display:inline-block;width:12px;height:12px;background:#ff7a00;border-radius:2px;vertical-align:middle}.hl-chip{display:inline-block;background:#ff7a00;color:#fff;font-weight:700;font-size:10px;padding:1px 5px;border-radius:3px;margin:2px 0}.cal-names .cal-staff{font-size:10px}.cal-staff.two-col{column-count:2;column-gap:6px}.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0;font-size:14px}.controls label{display:flex;gap:4px;align-items:center}button,select,input[type=date],input[type=number],input[type=text]{font-size:14px;padding:4px 7px;border:1px solid var(--border);border-radius:4px;background:#fff}button{cursor:pointer}button:hover{background:#eee}.badge{display:inline-block;padding:1px 7px;border-radius:9px;font-size:12px;font-weight:600}.badge.b9{background:#2c7;color:#fff}.badge.b6{background:#fc3}.badge.b3{background:#fb6}.badge.b0{background:#ddd;color:#666}.overlap-bar{height:8px;background:#4a7;display:inline-block;border-radius:3px;vertical-align:middle}.vac-chip{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;margin-right:4px}.vac-chip.pink{background:var(--pink)}.vac-chip.blue{background:var(--blue)}.vac-chip.green{background:var(--green)}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;margin:8px 0}.legend span{display:inline-flex;align-items:center;gap:4px}.swatch{width:16px;height:16px;border:1px solid var(--border);display:inline-block}.panel{background:#fff;border:1px solid var(--border);border-radius:6px;padding:12px;margin:10px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 800px){.grid2{grid-template-columns:1fr}}.menu-btn{display:none;background:none;border:1px solid #456;color:#fff}@media (max-width: 860px){.menu-btn{display:block;margin:8px 0}header.topnav nav{display:none;width:100%;flex-direction:column}header.topnav nav.open{display:flex}header.topnav nav a{border-bottom:1px solid #2c3c5f}.tour-picker{margin-left:0;width:100%}}@media print{@page{size:letter portrait;margin:.35in}header.topnav,.no-print{display:none!important}main{padding:0;max-width:none}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}a{color:inherit;text-decoration:none}.month{page-break-after:always;page-break-inside:avoid;margin-bottom:0}.month:last-child{page-break-after:auto}.month h2{margin:0 0 2px;font-size:13pt}table.cal{height:9.3in}h1{font-size:11pt;margin:0 0 4px}table.cal th{font-size:7pt;padding:0}table.cal td{font-size:5.5pt;padding:0 1px;height:auto;overflow:hidden;line-height:1.15}.cal-date{font-size:7pt}.cal-names .cal-staff{font-size:5pt;line-height:1.1}.cal-staff.two-col{column-count:2}.cal-holiday{font-size:5pt}.print-chart-page .wallchart-wrap{overflow:visible;max-height:none;border:none}.print-chart-page table.wallchart{font-size:4.5pt;width:100%;table-layout:auto}.print-chart-page table.wallchart th,.print-chart-page table.wallchart td{width:auto;min-width:0;padding:0 1px;white-space:normal;overflow:hidden;line-height:1.05}.print-chart-page table.wallchart th.rowhead,.print-chart-page table.wallchart td.rowhead{width:auto;min-width:0;position:static}.print-chart-page table.wallchart thead th{position:static}.print-chart-page table.wallchart th.whead{height:auto}.print-chart-page .cell-nm{display:inline}.print-chart-page .cell-nm+.cell-nm:before{content:", "}}
