/* Company Hub — shared navigation and connected activity views */
:root { --hub-ink:#243b34; --hub-accent:#2e6652; --hub-line:#dce6df; --hub-muted:#6e8178; --hub-card:#fff; --hub-bg:#f5f7f5; }
.hub-skip{position:fixed;left:12px;top:-80px;z-index:9999;background:white;color:#164a35;padding:10px}.hub-skip:focus{top:12px}
.hub-app-shell{display:flex;min-height:100vh;background:var(--hub-bg)}
.hub-sidebar{width:230px;flex:0 0 230px;position:sticky;top:0;align-self:flex-start;height:100vh;overflow:auto;background:#17382c;color:#eaf3ed;padding:23px 15px 14px;box-sizing:border-box;display:flex;flex-direction:column;z-index:20}
.hub-brand{display:flex;gap:11px;align-items:center;color:white;text-decoration:none;padding:4px 8px 18px;border-bottom:1px solid rgba(255,255,255,.13);font-size:12px;letter-spacing:.07em}.hub-brand small{display:block;color:#b9d4c4;font-size:10px;letter-spacing:.17em;margin-top:5px}.hub-brand-glyph{display:grid;place-items:center;background:#407b5d;color:white;width:38px;height:38px;border-radius:12px;font-family:Georgia,serif;font-size:25px;font-weight:bold}
.hub-side-links{flex:1}.hub-nav-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#a2c3ae;margin:27px 12px 10px}.hub-side-link{display:block;padding:10px 13px;border-radius:9px;color:#e1efe7;text-decoration:none;font-size:13px;font-weight:550;white-space:normal;line-height:1.35;margin:2px 0}.hub-side-link:hover,.hub-side-link:focus-visible{background:rgba(255,255,255,.14);color:#fff}.hub-side-link.is-active{background:#356d53;color:#fff}.hub-side-link--small{font-size:12px;padding:8px 13px;color:#c4ddcc}
.hub-sidebar-foot{border-top:1px solid rgba(255,255,255,.16);padding:16px 4px 0;display:flex;align-items:center;gap:9px;overflow:hidden}.hub-user-avatar{display:grid;place-items:center;background:#467861;flex:0 0 30px;height:30px;border-radius:50%;font-weight:700}.hub-sidebar-foot div{min-width:0}.hub-sidebar-foot strong{font-weight:600;font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-sidebar-foot small{display:block;font-size:10px;margin-top:3px;color:#b7d1c2}
.hub-body{flex:1;min-width:0}.hub-topbar{height:62px;padding:0 30px;border-bottom:1px solid #e0e8e1;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:14px;box-sizing:border-box}.hub-topbar-breadcrumb{font-size:11px;font-weight:700;letter-spacing:.08em;color:#547063}.hub-topbar-divider{padding:0 8px;color:#adbcb3}.hub-topbar-dot{display:inline-block;height:7px;width:7px;margin-right:9px;border-radius:50%;background:#80ac86}.hub-topbar-actions{display:flex;align-items:center;gap:17px}.hub-topbar-link,.hub-sign-out{font-size:12px;text-decoration:none;color:#526d5e;border:none;background:transparent;cursor:pointer;padding:7px 0}.hub-topbar-new{font-size:12px;font-weight:650;color:white;background:#2e6652;padding:9px 13px;border-radius:8px;text-decoration:none}.hub-topbar-actions form{margin:0}.hub-body>.inventory-registry,.hub-body #hub-main>.inventory-registry{min-height:calc(100vh - 62px)}
.hub-overview-container{max-width:1320px}.hub-overview-heading h1 span{color:#81a68a}.hub-overview-actions{display:flex;gap:9px}.hub-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.hub-stat{background:#fff;border:1px solid var(--hub-line);border-radius:13px;padding:20px 19px;text-decoration:none;color:var(--hub-ink);box-shadow:0 5px 20px rgba(28,66,41,.04);display:flex;flex-direction:column;gap:9px}.hub-stat span{color:#6b7d73;font-size:12px}.hub-stat strong{font-size:29px;letter-spacing:-.035em}.hub-stat small{font-size:12px;color:var(--hub-accent)}.hub-stat:hover{border-color:#87b09a;transform:translateY(-1px)}.hub-overview-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.hub-feature-panel{background:var(--hub-card);border:1px solid var(--hub-line);border-radius:15px;padding:22px 23px;margin-bottom:16px;color:var(--hub-ink);box-shadow:0 5px 24px rgba(26,55,40,.04)}.hub-feature-panel>header,.hub-feature-panel>header.hub-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px}.hub-feature-panel h2{font-size:18px;letter-spacing:-.02em;margin:0}.hub-feature-panel header a,.hub-mini-stats a{font-size:12px;color:var(--hub-accent);font-weight:650;text-decoration:none}.hub-feature-panel h3{font-size:14px}.hub-muted,.hub-source-note{color:var(--hub-muted);font-size:12px;line-height:1.5}.hub-source-note{padding:0 3px}.hub-compact-list{display:flex;flex-direction:column}.hub-compact-item{display:grid;grid-template-columns:80px 1fr 14px;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf0ed;text-decoration:none;color:var(--hub-ink)}.hub-compact-item time{font-size:12px;color:#557869;font-weight:650}.hub-compact-item strong{display:block;font-size:13px;font-weight:650}.hub-compact-item small{display:block;color:#7a8980;margin-top:3px;font-size:11px;line-height:1.4}.hub-link-arrow{color:#539073}.hub-compact-item:hover strong{text-decoration:underline}.hub-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:4px 0 20px}.hub-mini-stats>div{border:1px solid #e6ede7;border-radius:11px;padding:17px;display:flex;flex-direction:column;gap:9px;min-width:0}.hub-mini-stats span{color:#74847b;font-size:11px}.hub-mini-stats strong{font-size:21px;overflow-wrap:anywhere}.hub-mini-stats small{color:#799082;font-size:11px}.hub-panel-subheading{border-top:1px solid #ebf0ec;padding-top:18px}
.hub-view-chips{display:flex;gap:9px;flex-wrap:wrap}.hub-view-chip{font-size:12px;font-weight:600;border:1px solid #d4e1d7;border-radius:30px;text-decoration:none;color:#355b47;background:#fff;padding:9px 14px}.hub-view-chip.is-selected{background:#275e47;color:white;border-color:#275e47}.hub-calendar-key>p{font-size:12px;color:var(--hub-muted);margin:15px 0}.hub-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:#6b7d73}.hub-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px;background:#538a6c}.hub-dot--old-schedule{background:#93a3b1}.hub-dot--history-created{background:#bd966a}.hub-dot--estimate{background:#7885bd}.hub-calendar-heading{align-items:center}.hub-calendar-heading h2{font-size:21px}.hub-calendar-controls{display:flex;gap:8px;flex-wrap:wrap}.hub-calendar-controls a{font-size:12px}.hub-month-scroll{overflow-x:auto}.hub-month-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:875px;border-left:1px solid #e7eee8;border-top:1px solid #e7eee8}.hub-weekday{background:#f3f6f3;padding:10px 12px;font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:#708578;border-right:1px solid #e7eee8;border-bottom:1px solid #e7eee8}.hub-day{padding:7px;min-height:104px;border-right:1px solid #e7eee8;border-bottom:1px solid #e7eee8;min-width:0}.hub-day.is-outside{background:#f8faf8;opacity:.65}.hub-day.is-today{background:#f0f7f0}.hub-day-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;margin-bottom:5px}.hub-day.is-today .hub-day-heading time{background:#286049;color:white;padding:3px 7px;border-radius:50px}.hub-day-more{font-size:10px;color:#47725e;text-decoration:none}.hub-calendar-entry{display:block;border-left:3px solid #438969;background:#eaf5ee;color:#285442;font-size:10px;font-weight:600;text-decoration:none;padding:5px 6px;border-radius:4px;margin-bottom:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hub-calendar-entry:hover{text-decoration:underline}.hub-calendar-entry--old-schedule{background:#f0f3f6;border-color:#8a9ba8;color:#536777}.hub-calendar-entry--history-created,.hub-calendar-entry--history-estimate,.hub-calendar-entry--history-completed,.hub-calendar-entry--history-lost{background:#fcf5eb;border-color:#bd9768;color:#80603d}.hub-calendar-entry--invoice,.hub-calendar-entry--invoice-due,.hub-calendar-entry--estimate{background:#eef0fa;border-color:#828dbd;color:#525f91}.hub-agenda-day{border-top:1px solid #e4ece5;padding:17px 0 7px;scroll-margin-top:75px}.hub-agenda-day h3{font-size:13px;margin:0 0 9px;display:flex;align-items:center;gap:10px}.hub-agenda-day h3 span{font-size:11px;font-weight:600;color:#8ba195}.hub-agenda-entry{display:flex;gap:12px;align-items:center;color:#29493b;text-decoration:none;padding:9px 6px;border-radius:8px}.hub-agenda-entry:hover{background:#f4f8f4}.hub-agenda-entry>span:nth-child(2){flex:1}.hub-agenda-entry strong{font-size:12px;display:block}.hub-agenda-entry small{display:block;font-size:11px;color:#758679;margin-top:2px}.hub-agenda-mark{height:22px;width:4px;border-radius:4px;background:#468a69}.hub-agenda-entry--old-schedule .hub-agenda-mark{background:#9aacbb}.hub-agenda-entry--history-created .hub-agenda-mark,.hub-agenda-entry--history-estimate .hub-agenda-mark,.hub-agenda-entry--history-completed .hub-agenda-mark,.hub-agenda-entry--history-lost .hub-agenda-mark{background:#c7a173}.hub-agenda-entry--invoice .hub-agenda-mark,.hub-agenda-entry--invoice-due .hub-agenda-mark,.hub-agenda-entry--estimate .hub-agenda-mark{background:#8290c5}.hub-record-action{display:inline-flex;font-size:12px;color:#2f6b4d;text-decoration:none;font-weight:650;margin-top:10px}.hub-record-action:hover{text-decoration:underline}.hub-record-related-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
@media(max-width:1100px){.hub-sidebar{width:195px;flex-basis:195px}.hub-stat-grid{grid-template-columns:repeat(2,1fr)}.hub-overview-panels{grid-template-columns:1fr}}
@media(max-width:760px){.hub-app-shell{display:block}.hub-sidebar{position:relative;top:auto;width:auto;height:auto;min-height:0;overflow:visible;padding:11px 12px}.hub-brand{padding:3px 8px 10px;border:0}.hub-side-links{display:flex;gap:4px;overflow-x:auto;padding:4px 0}.hub-side-links .hub-nav-label,.hub-side-links .hub-side-link--small{display:none}.hub-side-link{white-space:nowrap;font-size:12px;margin:0}.hub-sidebar-foot{display:none}.hub-topbar{padding:0 14px;height:auto;min-height:48px}.hub-topbar-breadcrumb{display:none}.hub-topbar-actions{width:100%;justify-content:flex-end;gap:13px}.hub-stat-grid{gap:8px}.hub-stat{padding:14px}.hub-stat strong{font-size:24px}.hub-overview-container{padding:0}.hub-overview-actions{flex-wrap:wrap}.hub-mini-stats{grid-template-columns:1fr}.hub-feature-panel{padding:14px}.hub-compact-item{grid-template-columns:68px 1fr 12px}.hub-calendar-heading{display:block!important}.hub-calendar-controls{margin-top:13px}.hub-calendar-controls a{font-size:11px}.hub-calendar-key .hub-calendar-legend{gap:9px}.hub-overview.inventory-registry,.hub-calendar-page.inventory-registry{padding:28px 14px}}
@media(prefers-reduced-motion:reduce){.hub-stat:hover{transform:none}}
