.app-shell{height:100%;display:flex}.nav-rail{background:var(--c-navy);width:56px;transition:width .24s var(--ease);z-index:40;flex-direction:column;flex:none;display:flex;overflow:hidden}.nav-rail.expanded{width:200px}.nav-logo{align-items:center;gap:10px;min-height:52px;padding:12px 14px;display:flex}.nav-logo-mark{background:var(--ect-yellow);width:28px;height:28px;color:var(--ect-ink);font-weight:900;font-family:var(--font-display);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:13px;display:flex}.nav-logo-text{color:#fff;white-space:nowrap;font-size:13px;font-weight:700}.nav-items{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex}.nav-item{color:#ffffffb3;height:40px;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:0 10px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;background:#ffffff29}.nav-pin{margin:8px}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.top-bar{z-index:30;background:var(--c-surface);border-bottom:1px solid var(--c-border);flex:none;align-items:center;gap:16px;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.location-switcher{position:relative}.location-btn{border:1px solid var(--c-border);background:var(--c-surface);cursor:pointer;height:40px;font-family:var(--font-ui);color:var(--c-text);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.location-btn:hover{background:var(--c-surface-2)}.location-btn .loc-name{white-space:nowrap;font-size:13px;font-weight:700}.global-search{flex:1;max-width:420px;position:relative}.global-search input{border:1px solid var(--c-border-2);background:var(--c-surface);width:100%;height:36px;color:var(--c-text);font-family:var(--font-ui);border-radius:5px;padding:0 10px 0 36px;font-size:13px}.global-search .material-symbols-rounded{color:var(--c-text-3);position:absolute;top:8px;left:9px}.global-search input:focus{border-color:var(--c-navy);outline:none}.global-search-results{z-index:60;background:var(--c-surface);border:1px solid var(--c-border-2);box-shadow:var(--shadow-b);border-radius:8px;max-height:420px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.global-search-group{text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-3);align-items:center;gap:6px;padding:8px 12px 4px;font-size:11px;font-weight:700;display:flex}.global-search-group .material-symbols-rounded{position:static}.global-search-item{text-align:left;cursor:pointer;width:100%;font-family:var(--font-ui);color:var(--c-text);background:0 0;border:none;padding:6px 12px;display:block}.global-search-item.active{background:var(--c-navy-soft)}.global-search-item-label{font-size:13px;font-weight:600;display:block}.global-search-item-sub{color:var(--c-text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.global-search-empty{color:var(--c-text-3);padding:12px;font-size:13px}.page-canvas{flex:1;padding:16px;overflow:auto}.page-inner{max-width:1440px;margin:0 auto}.page-canvas:has(.board-page){overflow:hidden}.page-inner:has(.board-page){flex-direction:column;height:100%;display:flex}:is(.page-inner:has(.board-page)>*,.page-inner:has(.board-page)>*>*){min-height:0}.page-inner:has(.board-page)>:has(.board-page){flex-direction:column;flex:1;display:flex}.board-page{flex-direction:column;flex:1;min-height:0;display:flex}.board-strip{flex:1;gap:12px;min-height:0;padding-bottom:4px;display:flex;overflow:auto hidden}.board-column{border-radius:12px;flex-direction:column;flex:none;width:292px;max-height:100%;padding:8px;display:flex}.board-column-cards{flex-direction:column;flex:1;gap:8px;min-height:60px;display:flex;overflow-y:auto}.page-title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.reports-section{margin-bottom:22px}.reports-section .eyebrow{margin-bottom:8px}.reports-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.report-card{color:var(--c-text);flex-direction:column;gap:6px;padding:14px 16px;text-decoration:none;display:flex;position:relative}a.report-card:hover,.report-card.pinned:hover{border-color:var(--c-navy-fg)}.report-card-link{color:inherit;flex-direction:column;gap:6px;padding-right:28px;text-decoration:none;display:flex}.report-card-title{align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.report-card-desc{color:var(--c-text-2);font-size:13px}.report-card-row{color:var(--c-text-3);margin-top:auto;font-size:12px}.report-unpin{position:absolute;top:8px;right:8px}.report-back{color:var(--c-text-2);align-items:center;gap:4px;margin-bottom:6px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.report-title-row{flex-wrap:wrap;align-items:flex-start;gap:16px}.report-subtitle{color:var(--c-text-2);margin-top:2px;font-size:13px}.report-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.report-filters{flex-wrap:wrap;align-items:flex-end;gap:14px 20px;margin-bottom:14px;padding:14px 16px;display:flex}.report-filter{flex-direction:column;gap:5px;min-width:0;display:flex}.report-filter-label{letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-3);font-size:11px;font-weight:700}.report-filter-toggle{cursor:pointer;flex-direction:row;align-items:center;gap:8px;padding-bottom:6px;font-size:13px}.report-chips{flex-wrap:wrap;gap:6px;display:flex}.report-chip{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-2);font-family:var(--font-ui);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.report-chip.on{background:var(--c-navy-soft);border-color:var(--c-navy-fg);color:var(--c-navy-fg)}.report-picked{border:1px solid var(--c-navy-fg);background:var(--c-navy-soft);color:var(--c-navy-fg);border-radius:7px;align-items:center;gap:4px;padding-left:10px;font-size:13px;font-weight:600;display:inline-flex}.report-results{padding:0;overflow:hidden}.report-summary{border-bottom:1px solid var(--c-border);flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:12px 16px;font-size:14px;display:flex}.report-truncated{color:var(--c-text-2);font-size:12px}.report-table-wrap{overflow-x:auto}.report-table td,.report-table th{white-space:nowrap}.report-table tr.report-group td{background:var(--c-navy-soft);border-top:1px solid var(--c-border)}.report-table tr.report-group.depth-1 td{background:var(--c-surface-2);padding-left:28px}.report-group-totals{color:var(--c-text-2);margin-left:8px;font-size:12px}.report-table tfoot tr.report-grand td{border-top:2px solid var(--c-text);background:var(--c-surface)}.report-empty{text-align:center;color:var(--c-text-3);padding:24px!important}.report-blank{color:var(--c-text-3)}.badge-tint.estimate{background:0 0;border:1.5px dashed}.report-explain{vertical-align:middle;width:28px;height:28px;color:var(--c-text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}.report-explain:hover,.report-explain:focus-visible{color:var(--c-navy-fg);background:var(--c-surface-3)}.report-dialog-backdrop{background:color-mix(in srgb, var(--c-text) 40%, transparent);z-index:100;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.report-dialog{width:560px;max-width:100%;max-height:90vh;box-shadow:var(--shadow-b);flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.report-dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-dialog-lines{white-space:normal;flex-direction:column;gap:8px;margin:0;padding-left:18px;font-size:14px;display:flex}.report-about{border-top:1px solid var(--c-border);color:var(--c-text-2);padding:12px 16px;font-size:13px}.report-about summary{cursor:pointer;font-weight:600}.report-about p{max-width:900px;margin:8px 0 0}.report-period{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.report-period input[type=date]{width:auto}.report-period-to{color:var(--c-text-3);font-size:13px}
