/* Compatibility for the protected API modules inside the original visual shell.
   The authoritative shell/Home styles are embedded from pinned original CSS. */
.approved-hub [hidden]{display:none!important}
/* The authenticated shell has no review-persona bar. Keep the original
   sidebar geometry while removing only the space reserved for that bar. */
.approved-hub .app-shell{min-height:100vh;min-height:100dvh}
.approved-hub #sidebar.sidebar{top:0!important;height:100vh!important;height:100dvh!important}
.approved-skip{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;padding:12px;border-radius:10px;color:#000}.approved-skip:focus{top:12px}
.approved-hub .brand-mark{background:#fff;border-radius:50%;overflow:hidden}.approved-hub .brand-mark img{width:100%;height:100%;object-fit:contain}.approved-hub .profile-chip{text-decoration:none;color:inherit}.approved-hub .brand{cursor:default}
.approved-hub #profileInitials{overflow:hidden}.approved-hub #profileInitials img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.approved-hub #workspace-search-dialog{width:min(620px,calc(100vw - 28px));max-height:85dvh;overflow:auto;border:1px solid #ffe0b5;border-radius:20px;padding:24px;color:#000;background:#fff}.approved-hub #workspace-search-dialog::backdrop{background:rgba(28,12,48,.4)}.approved-hub .workspace-search-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.approved-hub .workspace-search-heading h2{margin:0;font-size:20px;font-weight:500}.approved-hub #workspace-search-description{font-size:13px;line-height:1.5}.approved-hub #workspace-search-dialog label{display:block;font-size:13px;margin:18px 0 6px}.approved-hub #workspace-search-input{width:100%;padding:12px;border:1px solid #e7dfd6;border-radius:10px;font:inherit}.approved-hub #workspace-search-close{width:36px;height:36px;border:1px solid #e7dfd6;border-radius:10px;font:inherit;background:#fff}.approved-hub #workspace-search-results{display:grid;gap:8px;margin-top:16px}.approved-hub .workspace-search-result{display:grid;gap:5px;padding:12px;text-align:left;border:1px solid #ffe0b5;border-radius:12px;background:linear-gradient(110deg,#fffaf2,#fff);color:#000;font:inherit}.approved-hub .workspace-search-result strong{font-size:14px;font-weight:500}.approved-hub .workspace-search-result span{font-size:12px;line-height:1.5}.approved-hub .workspace-search-result:hover,.approved-hub .workspace-search-result:focus-visible{border-color:#FF9000;background:#fff3e2}
.approved-hub #module-nav{flex:1;min-height:0}.approved-hub #module-nav .hub-nav-group{margin:12px 0;border:0;background:transparent}.approved-hub #module-nav .hub-nav-group>summary{list-style:none;padding:7px 10px;color:rgba(255,255,255,.76);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.approved-hub #module-nav .hub-nav-group>summary::-webkit-details-marker{display:none}.approved-hub #module-nav button{width:100%;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:400}.approved-hub #module-nav button[aria-current=page]{background:#FF9000;color:#000}.approved-hub #module-nav .hub-nav-icon{width:22px;height:22px;display:grid;place-items:center;flex:none}.approved-hub #module-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.approved-hub #module-nav .hub-nav-text{flex:1}.approved-hub #module-nav small{font-size:11px}
/* The original sidebar stays a narrow vertical drawer. Do not inherit the
   legacy service shell's two-column compact menu or display:contents groups. */
.approved-hub #module-nav .hub-nav-primary,.approved-hub #module-nav .hub-subnav{grid-template-columns:minmax(0,1fr);min-width:0}
.approved-hub #module-nav .hub-nav-group{display:block}
.approved-hub #module-nav .hub-nav-group>summary{display:grid;grid-template-columns:22px minmax(0,1fr) 12px;align-items:center;gap:8px;line-height:1.4}
.approved-hub #module-nav .hub-nav-label{min-width:0;white-space:normal;overflow-wrap:anywhere}
.approved-hub #connection-status{font-size:13px;line-height:1.5;margin-bottom:16px}.approved-hub #connection-status:empty{display:none}.approved-hub #workspace-content{min-width:0}.approved-hub #workspace-content:empty{min-height:35vh}
.approved-hub #workflow-dialog{width:min(760px,calc(100vw - 28px));max-height:90dvh;overflow:auto;border:1px solid #ffe0b5;border-radius:20px;padding:24px;color:#000;background:#fff}.approved-hub #workflow-dialog::backdrop{background:rgba(28,12,48,.4)}.approved-hub #workflow-dialog .dialog-head,.approved-hub #workflow-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.approved-hub #workflow-dialog h2{font-size:20px;font-weight:500;margin:0 0 16px}.approved-hub #workflow-dialog label{display:grid;gap:6px;font-size:13px;margin:12px 0}.approved-hub #workflow-dialog input,.approved-hub #workflow-dialog select,.approved-hub #workflow-dialog textarea{font:inherit;padding:10px;border:1px solid #e7dfd6;border-radius:10px;max-width:100%}.approved-hub #workflow-dialog button{font:inherit;padding:9px 13px;border:1px solid #e7dfd6;border-radius:10px;background:#fff;color:#000}.approved-hub #workflow-dialog button.primary{background:#FF9000;border-color:#FF9000}.approved-hub #dialog-error{color:#5109B2;font-size:13px}
.approved-hub .p2-metric[disabled]{cursor:default;opacity:1}.approved-hub .approved-home-empty{font-size:13px;line-height:1.5;padding:12px 0}.approved-hub .p2-ring.is-unverified{background:#fff3e2}.approved-hub .p2-ring.is-unverified span{font-size:14px}.approved-hub .approved-home-actions{display:grid;gap:8px}.approved-hub .approved-home-actions button{text-align:left}
.approved-hub .p2-welcome,.approved-hub .p2-metric,.approved-hub .p2-home-columns .panel{min-width:0}.approved-hub .p2-space{text-decoration:none;color:inherit}.approved-hub .p2-space-grid{align-items:stretch}.approved-hub .p2-space svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
@media(max-width:800px){.approved-hub .topbar{padding:14px}.approved-hub .topbar-actions{gap:6px}.approved-hub #account-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approved-hub .p2-home-columns{grid-template-columns:1fr}.approved-hub .sidebar.open{transform:translateX(0);display:flex;position:fixed;inset:0 auto 0 0;width:min(290px,88vw);height:100dvh}.approved-hub .topbar-left{min-width:0}}
@media(prefers-reduced-motion:reduce){.approved-hub *{scroll-behavior:auto!important;transition:none!important}}

.approved-hub .hub-dashboard-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 20px;padding:4px 0 10px}.approved-hub .hub-dashboard-tabs button{white-space:nowrap;border:1px solid #e7dfd6;border-radius:12px;background:#fff;color:#000;padding:12px 16px;font:inherit}.approved-hub .hub-dashboard-tabs [aria-selected=true]{background:#8C3EFF;border-color:#8C3EFF;color:#fff}.approved-hub .hub-dashboard-tabs button:focus-visible,.approved-hub #workflow-dialog button:focus-visible{outline:3px solid #12B294;outline-offset:3px}.approved-hub #workflow-dialog:has(.hours-table){width:min(1100px,calc(100vw - 28px))}.approved-hub .hours-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.approved-hub .hours-toolbar [aria-pressed=true]{border-color:#8C3EFF!important;background:#f2eaff!important}.approved-hub .hours-table-scroll{max-width:100%;overflow:auto}.approved-hub .hours-table{width:100%;border-collapse:collapse;min-width:840px}.approved-hub .hours-table caption{text-align:left;margin:0 0 12px;font-size:14px}.approved-hub .hours-table th,.approved-hub .hours-table td{padding:8px;border-bottom:1px solid #e7dfd6;text-align:left;font-size:13px}.approved-hub .hours-table th{background:#f9f6fc}.approved-hub .hours-table input{width:70px}.approved-hub .hours-table small{display:block;font-weight:400;margin-top:5px}.approved-hub #activities{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.approved-hub .activity{padding:12px;border:1px solid #e7dfd6;border-radius:14px}.approved-hub .hours-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.approved-hub .hours-calendar>strong{text-align:center;font-size:12px}.approved-hub .hours-calendar button{display:grid;gap:6px;min-height:68px;padding:7px!important}.approved-hub .hours-calendar button[aria-pressed=true]{border-color:#8C3EFF!important;background:#f2eaff!important}.approved-hub .hours-calendar small{font-size:11px;color:#5109B2}.approved-hub #hours-summary{padding:12px;border-left:4px solid #12B294;background:#f0fcf9;font-size:13px;line-height:1.5}
