/* Canonical Campus Connect BioSync presentation. Scoped to the application shell. */
.biosync-app{--navy:#132e43;--ink:#101d32;--muted:#5d7290;--blue:#0875ff;--line:#e2eaf1;--workspace:#f2f6f9;--radius:9px;margin:0;color:var(--ink);font:13px/1.5 'Inter','Segoe UI',Arial,sans-serif;background:var(--workspace);min-width:0;-webkit-font-smoothing:antialiased}
.biosync-app *{box-sizing:border-box}.biosync-app a{color:var(--blue);text-decoration:none}.biosync-app button,.biosync-app input,.biosync-app select,.biosync-app textarea{font:inherit}.biosync-app button,.biosync-app a,.biosync-app input,.biosync-app select,.biosync-app textarea{outline-offset:4px}.biosync-app :focus-visible{outline:3px solid #57a7ff}.biosync-app button{cursor:pointer}.biosync-app button:disabled{cursor:not-allowed}.biosync-app .icon{display:inline-block;width:19px;height:19px;flex:0 0 auto;vertical-align:middle}.biosync-app h1,.biosync-app h2,.biosync-app h3,.biosync-app p{margin:0}.biosync-app .skip-link{position:fixed;top:-70px;left:16px;z-index:100;background:white;padding:12px 18px;border:2px solid var(--blue);border-radius:6px}.biosync-app .skip-link:focus{top:8px}
.biosync-app .app-header{height:64px;display:flex;align-items:center;gap:22px;padding:0 24px 0 16px;background:white;border-bottom:1px solid var(--line);position:relative;z-index:30}.biosync-app .campus-brand{color:#0b172a;display:flex;align-items:center;gap:8px;flex:0 0 204px;line-height:1.15}.biosync-app .campus-brand strong{display:block;font-size:18px;letter-spacing:-.6px}.biosync-app .campus-brand small{display:block;font-size:10px;margin-top:3px;letter-spacing:.1px}.biosync-app .brand-mark{width:36px;height:36px;flex-shrink:0}.biosync-app .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:6px;background:transparent;color:#29425f;padding:8px}.biosync-app .btn-icon:hover:not(:disabled){background:#edf4fd}.biosync-app .header-toggle{flex-shrink:0}.biosync-app .header-search{display:flex;align-items:center;gap:12px;background:#f3f7fc;border-radius:7px;padding:10px 13px;color:#69809f;width:345px;font-size:12px}.biosync-app .header-search .icon{width:17px;height:17px;color:#29425f}.biosync-app .header-actions{display:flex;align-items:center;gap:20px;margin-left:auto}.biosync-app .header-actions button:disabled{opacity:.8}.biosync-app .user-profile{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;white-space:nowrap}.biosync-app .user-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue);color:white;font-size:13px;font-weight:500}
.biosync-app .app-workspace{display:flex;min-height:calc(100vh - 110px);position:relative}.biosync-app .app-sidebar{flex:0 0 212px;width:212px;background:linear-gradient(115deg,#143249,#132b3e);color:white;display:flex;flex-direction:column;padding:22px 10px 20px;z-index:40}.biosync-app .sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 4px 20px;font-size:18px}.biosync-app .biosync-symbol{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#087e71;box-shadow:inset 0 0 16px #0d9a7d}.biosync-app .biosync-symbol .icon{width:26px;height:26px;color:#8de4cd}.biosync-app .main-navigation{display:flex;flex-direction:column;gap:4px}.biosync-app .nav-item{display:flex;align-items:center;gap:13px;min-height:42px;padding:10px 11px;border-radius:6px;color:#eff5fb;font-size:13px;white-space:nowrap}.biosync-app .nav-item .icon{width:17px;height:17px}.biosync-app .nav-item:hover{background:#ffffff12}.biosync-app .nav-item.is-active{background:linear-gradient(110deg,#1484ff,#0864ef);color:white;box-shadow:0 2px 5px #00245655}.biosync-app .sidebar-bottom{margin-top:auto;padding-top:45px}.biosync-app .sidebar-caption{display:block;padding:10px;font-size:9px;letter-spacing:1px;color:#9ab0c4}.biosync-app .sidebar-bottom .nav-item{font-size:11px;white-space:normal}.biosync-app .is-secondary-active{background:#ffffff10}.biosync-app .drawer-close{display:none;color:white;margin-left:auto}.biosync-app .main-content{flex:1;min-width:0;padding:14px 22px 24px}.biosync-app .breadcrumbs{display:flex;align-items:center;gap:10px;font-size:11px;color:#496380;min-height:19px;margin-bottom:12px;flex-wrap:wrap}.biosync-app .breadcrumbs a{display:flex;align-items:center;gap:6px;color:#496380}.biosync-app .breadcrumbs>.icon{width:12px;height:12px}.biosync-app .breadcrumbs a .icon{width:12px;height:12px}.biosync-app .breadcrumbs [aria-current]{color:var(--ink)}.biosync-app .preview-notice{display:flex;align-items:center;gap:7px;font-size:10px;color:#6b7e94;margin-bottom:14px}.biosync-app .preview-dot{width:5px;height:5px;border-radius:50%;background:#6e9bc8;flex-shrink:0}.biosync-app .app-footer{min-height:46px;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfcfe;border-top:1px solid var(--line);color:#526785;font-size:11px}.biosync-app .app-footer strong{color:var(--ink);font-weight:600}.biosync-app .footer-divider{color:#8a9bb0;margin:0 11px}.biosync-app .footer-product{font-size:10px;color:#7a8da4}
.biosync-app .page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.biosync-app .page-title{font-size:24px;line-height:1.3;letter-spacing:-.7px;font-weight:650}.biosync-app .page-subtitle{color:var(--muted);font-size:12px;margin-top:3px}.biosync-app .page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.biosync-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 13px;border-radius:5px;border:1px solid #dce6f0;background:white;color:#355070;font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap}.biosync-app .btn .icon{width:15px;height:15px}.biosync-app .btn-primary{color:white;background:var(--blue);border-color:var(--blue);box-shadow:0 2px 3px #0a70ff16}.biosync-app .btn-secondary{background:white;color:#355070}.biosync-app .btn-success{color:white;background:#0eb989;border-color:#0eb989}.biosync-app .btn:disabled{opacity:.56}.biosync-app .btn:hover:not(:disabled){filter:brightness(.97)}.biosync-app .card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 3px #1d426104;min-width:0;overflow:hidden}.biosync-app .card-header{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px}.biosync-app .card-header h2,.biosync-app .card-header h3{font-size:14px;font-weight:650;line-height:1.3}.biosync-app .card-header>a,.biosync-app .card-header>button{font-size:11px}.biosync-app .card-body{padding:15px}.biosync-app .kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.biosync-app .kpi-card{display:flex;gap:14px;align-items:center;min-width:0;padding:16px 14px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 3px #1d426104;min-height:102px}.biosync-app .kpi-icon{width:52px;height:58px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto;background:#e4efff;color:#0875ff}.biosync-app .kpi-icon .icon{width:30px;height:30px;stroke-width:1.8}.biosync-app .icon-blue{background:#e4efff;color:#0875ff}.biosync-app .icon-green{background:#dcf7ec;color:#0ab184}.biosync-app .icon-yellow{background:#fff4da;color:#e5a000}.biosync-app .icon-purple{background:#eee9ff;color:#8154ed}.biosync-app .icon-red{background:#ffe5e7;color:#ed4d58}.biosync-app .metric-value{font-size:23px;line-height:1.3;font-weight:650;letter-spacing:-.5px}.biosync-app .metric-label{font-size:11px;color:#526b8b;line-height:1.4}.biosync-app .metric-note{font-size:10px;color:#7990a7;margin-top:5px}.biosync-app .muted{color:var(--muted)}.biosync-app .text-small{font-size:11px}.biosync-app .stack{display:flex;flex-direction:column;gap:14px}.biosync-app .split{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.biosync-app .two-column,.biosync-app .dashboard-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.biosync-app .three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.biosync-app .section-gap{margin-bottom:14px}.biosync-app .full-width{grid-column:1/-1}.biosync-app .dashboard-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:14px}.biosync-app .dashboard-pair{margin-bottom:14px}
.biosync-app .toolbar{display:flex;align-items:center;gap:9px;padding:12px 14px;background:white;flex-wrap:wrap;border-bottom:1px solid #edf1f6}.biosync-app .toolbar input[type=search],.biosync-app .toolbar input[type=text]{flex:1;min-width:140px;background:#f4f8fd}.biosync-app .toolbar select{width:auto;max-width:100%;min-width:120px}.biosync-app input,.biosync-app select,.biosync-app textarea{width:100%;min-width:0;min-height:37px;padding:9px 11px;color:#304765;border:1px solid #dfe8f1;border-radius:5px;background:#fff;font-size:11px;line-height:1.4}.biosync-app input::placeholder,.biosync-app textarea::placeholder{color:#90a2b8}.biosync-app input:disabled,.biosync-app select:disabled,.biosync-app textarea:disabled{background:#f7f9fc;color:#9ba9ba}.biosync-app .field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:11px;color:#33445e}.biosync-app .field label{font-weight:500}.biosync-app .field small{font-size:10px;color:#798ca5}.biosync-app .field .required{color:#e95a67;margin-left:2px}.biosync-app .form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}.biosync-app .tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);padding:0 12px;scrollbar-width:thin}.biosync-app .tab{padding:12px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:#5c718b;font-size:11px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.biosync-app .tab.is-active,.biosync-app .tab[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);background:#f8fbff}.biosync-app .tab:disabled{opacity:.5}.biosync-app .table-scroll{max-width:100%;overflow-x:auto;padding:0 14px;scrollbar-width:thin}.biosync-app .data-table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}.biosync-app .data-table th{background:#f1f5f8;color:#263954;font-weight:600;padding:9px 10px;font-size:10px}.biosync-app .data-table th:first-child{border-radius:5px 0 0 5px}.biosync-app .data-table th:last-child{border-radius:0 5px 5px 0}.biosync-app .data-table td{padding:10px;border-bottom:1px solid #eef2f7;color:#425875}.biosync-app .data-table tbody tr:last-child td{border-bottom:0}.biosync-app .data-table .empty-cell{white-space:normal;text-align:center;padding:0}.biosync-app .badge{display:inline-flex;align-items:center;justify-content:center;min-height:21px;padding:2px 10px;border-radius:5px;font-size:10px;font-weight:500;white-space:nowrap;background:#edf2f8;color:#627894}.biosync-app .badge-success{background:#d8f6e9;color:#05965f}.biosync-app .badge-warning{background:#fff2cd;color:#bb8200}.biosync-app .badge-danger{background:#ffe3e6;color:#e54859}.biosync-app .badge-info{background:#e2eeff;color:#006cff}.biosync-app .pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;border-top:1px solid #f0f3f7;color:#6c819b;font-size:10px;flex-wrap:wrap}.biosync-app .pagination-actions{display:flex;gap:5px;align-items:center}.biosync-app .pagination .btn{min-height:28px;min-width:28px;padding:5px}.biosync-app .empty-state{text-align:center;padding:45px 20px;color:#7e90a6;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;min-height:195px}.biosync-app .empty-state>.icon{width:30px;height:30px;color:#adc4dc;stroke-width:1.3}.biosync-app .empty-state h2,.biosync-app .empty-state h3{font-size:13px;color:#516883;font-weight:500}.biosync-app .empty-state p{max-width:340px;font-size:11px;line-height:1.7}.biosync-app .inline-note{color:#7b8fa7;font-size:10px;line-height:1.6;padding:11px 15px;background:#f8fafd;border-top:1px solid #edf1f6}
.biosync-app .chart-placeholder{height:180px;margin:15px;position:relative;background-image:linear-gradient(#edf2f7 1px,transparent 1px),linear-gradient(90deg,#edf2f7 1px,transparent 1px);background-size:100% 45px,16.666% 100%;border-left:1px solid #e8eef5;border-bottom:1px solid #e8eef5;display:flex;align-items:center;justify-content:center;color:#8a9db3;font-size:11px;text-align:center}.biosync-app .chart-placeholder span{padding:8px 12px;background:#ffffffeb;border-radius:5px}.biosync-app .chart-legend{display:flex;gap:16px;justify-content:flex-end;color:#536d8d;font-size:10px;padding:0 16px}.biosync-app .chart-legend>span{display:flex;align-items:center;gap:5px}.biosync-app .legend-dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:#13bc8b;margin-right:5px;vertical-align:middle}.biosync-app .legend-dot.blue{background:#0875ff}.biosync-app .legend-dot.red{background:#fa646c}.biosync-app .legend-dot.gray{background:#c6d0dc}.biosync-app .donut-placeholder{width:145px;height:145px;border:19px solid #edf2f7;border-radius:50%;margin:17px auto;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#7a91ab;font-size:11px}.biosync-app .donut-placeholder strong{font-size:27px;color:#5d748e}.biosync-app .status-legend{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font-size:10px;color:#667f9a;padding:0 10px 18px}.biosync-app .wizard-layout{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:450px}.biosync-app .wizard-steps{padding:0;border-right:1px solid var(--line);background:#fcfdff}.biosync-app .wizard-step{display:flex;align-items:center;gap:9px;width:100%;border:0;border-left:4px solid transparent;background:transparent;padding:18px 15px;text-align:left;color:#647b96;font-size:11px}.biosync-app .wizard-step .icon{width:16px;height:16px}.biosync-app .wizard-step.is-active{color:var(--blue);background:#eff6ff;border-left-color:var(--blue)}.biosync-app .wizard-step:disabled{opacity:.6}.biosync-app .wizard-content{padding:24px;display:flex;flex-direction:column;gap:25px;min-width:0}.biosync-app .wizard-content h2{font-size:14px;font-weight:600}.biosync-app .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:30px;flex-wrap:wrap}.biosync-app .profile-summary{display:flex;align-items:center;gap:20px;padding:18px;min-width:0}.biosync-app .profile-avatar{width:75px;height:75px;background:#e1edff;color:var(--blue);display:grid;place-items:center;border-radius:50%;font-size:26px;flex:0 0 auto}.biosync-app .profile-meta{display:flex;gap:25px;flex-wrap:wrap;font-size:11px;color:#657c97;margin-top:12px}.biosync-app .profile-meta strong{display:block;color:#344b67;font-weight:500}.biosync-app .profile-summary h2{font-size:18px}.biosync-app .detail-grid{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,2fr);gap:14px}.biosync-app .detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;font-size:11px}.biosync-app .detail-list dt{color:#7a8ea6;margin-bottom:4px}.biosync-app .detail-list dd{margin:0;color:#3d5471}.biosync-app [hidden]{display:none!important}
@media(min-width:1600px){.biosync-app .main-content{padding:18px 28px 28px}.biosync-app .kpi-card{padding:20px}.biosync-app .card-header{padding:15px 18px}}
@media(max-width:1240px){.biosync-app .header-search{width:290px}.biosync-app .app-header{gap:16px}.biosync-app .header-actions{gap:12px}.biosync-app .kpi-card{gap:10px;padding:13px 10px}.biosync-app .kpi-icon{width:42px;height:46px;border-radius:12px}.biosync-app .kpi-icon .icon{width:25px;height:25px}.biosync-app .metric-label{font-size:10px}.biosync-app .metric-value{font-size:22px}.biosync-app .dashboard-grid{grid-template-columns:1.6fr 1fr 1fr}.biosync-app .donut-placeholder{width:115px;height:115px;border-width:15px}.biosync-app .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.biosync-app .app-sidebar{flex-basis:192px;width:192px}.biosync-app .campus-brand{flex-basis:184px}.biosync-app .campus-brand strong{font-size:16px}.biosync-app .main-content{padding:14px 16px 24px}.biosync-app .header-search{width:260px}.biosync-app .header-actions{gap:8px}.biosync-app .desktop-only{display:none}.biosync-app .nav-item{font-size:12px;gap:10px}.biosync-app .page-title{font-size:22px}.biosync-app .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.biosync-app .kpi-card{min-height:90px;gap:14px;padding:14px}.biosync-app .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.biosync-app .dashboard-grid>.card:first-child{grid-column:1/-1}.biosync-app .dashboard-pair,.biosync-app .two-column{grid-template-columns:1fr}.biosync-app .wizard-layout{grid-template-columns:160px minmax(0,1fr)}.biosync-app .wizard-content{padding:18px}.biosync-app .detail-grid{grid-template-columns:1fr}.biosync-app .three-column{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:769px){.biosync-app .header-toggle{cursor:default}.biosync-app .header-toggle:hover{background:transparent}}
@media(max-width:768px){.biosync-app .app-header{height:62px;padding:0 16px;gap:12px}.biosync-app .campus-brand{flex:0 1 auto;order:1;min-width:0}.biosync-app .campus-brand strong{font-size:16px;letter-spacing:-.5px}.biosync-app .brand-mark{width:30px;height:30px}.biosync-app .campus-brand small{font-size:8px}.biosync-app .header-toggle{order:0;width:32px;padding:6px;flex-shrink:0}.biosync-app .header-actions{order:2;margin-left:auto}.biosync-app .header-search{display:none}.biosync-app .user-profile-label{display:none}.biosync-app .user-avatar{width:32px;height:32px;font-size:11px}.biosync-app .app-workspace{min-height:calc(100vh - 109px)}.biosync-app .app-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s ease;width:260px;padding:22px 12px;overflow-y:auto;visibility:hidden}.biosync-app .app-sidebar.is-open{transform:translateX(0);visibility:visible}.biosync-app .drawer-close{display:inline-flex}.biosync-app .sidebar-brand{padding-bottom:23px}.biosync-app .nav-item{font-size:13px;min-height:45px}.biosync-app .sidebar-backdrop{position:fixed;inset:0;background:#091b33a3;z-index:35}.biosync-app .main-content{padding:13px 16px 22px;width:100%}.biosync-app .breadcrumbs{font-size:10px;gap:7px;margin-bottom:10px}.biosync-app .preview-notice{font-size:9px;align-items:flex-start;gap:6px;margin-bottom:14px}.biosync-app .preview-dot{margin-top:5px}.biosync-app .page-heading{align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:12px}.biosync-app .page-title{font-size:23px}.biosync-app .page-subtitle{font-size:11px}.biosync-app .page-actions{gap:7px}.biosync-app .btn{min-height:40px;font-size:11px;padding:10px 12px}.biosync-app .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.biosync-app .kpi-card{padding:13px;gap:12px;min-height:91px}.biosync-app .kpi-icon{width:43px;height:47px}.biosync-app .metric-value{font-size:23px}.biosync-app .metric-label{font-size:11px}.biosync-app .dashboard-grid,.biosync-app .dashboard-pair,.biosync-app .two-column,.biosync-app .three-column{gap:12px}.biosync-app .card-header{padding:13px}.biosync-app .card-header h2,.biosync-app .card-header h3{font-size:13px}.biosync-app .app-footer{font-size:10px;padding:12px 16px;min-height:47px}.biosync-app .footer-product{display:none}.biosync-app .toolbar{padding:12px;gap:8px}.biosync-app .toolbar input[type=search]{flex-basis:100%}.biosync-app input,.biosync-app select,.biosync-app textarea{min-height:42px;font-size:12px}.biosync-app .tab{min-height:44px;padding:12px;font-size:11px}.biosync-app .table-scroll{padding:0 12px}.biosync-app .data-table{font-size:11px}.biosync-app .data-table th{padding:10px}.biosync-app .empty-state{padding:35px 16px;min-height:180px}.biosync-app .wizard-layout{grid-template-columns:1fr;min-height:450px}.biosync-app .wizard-steps{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:thin}.biosync-app .wizard-step{width:auto;flex:0 0 auto;white-space:nowrap;border-left:0;border-bottom:3px solid transparent;padding:14px;font-size:10px}.biosync-app .wizard-step.is-active{border-bottom-color:var(--blue)}.biosync-app .wizard-content{padding:20px 16px;gap:22px}.biosync-app .form-grid{gap:20px 14px}.biosync-app .field{font-size:12px}.biosync-app .form-actions{padding-top:20px}.biosync-app .profile-summary{gap:14px;align-items:flex-start}.biosync-app .profile-avatar{width:55px;height:55px;font-size:21px}.biosync-app .profile-meta{gap:16px}.biosync-app .detail-grid{gap:12px}.biosync-app .donut-placeholder{width:130px;height:130px;border-width:17px}}
@media(max-width:480px){.biosync-app .app-header{padding:0 12px;gap:8px}.biosync-app .campus-brand strong{font-size:15px}.biosync-app .campus-brand small{font-size:7.5px}.biosync-app .main-content{padding:12px 12px 20px}.biosync-app .page-title{font-size:22px}.biosync-app .page-actions{width:100%}.biosync-app .page-actions .btn{flex:1}.biosync-app .kpi-card{gap:9px;padding:12px 10px;align-items:flex-start;min-height:100px}.biosync-app .kpi-icon{width:35px;height:39px;border-radius:11px}.biosync-app .kpi-icon .icon{width:23px;height:23px}.biosync-app .metric-value{font-size:22px;line-height:1.2}.biosync-app .metric-label{font-size:10px;margin-top:4px}.biosync-app .metric-note{font-size:9px}.biosync-app .dashboard-grid{grid-template-columns:1fr}.biosync-app .dashboard-grid>.card:first-child{grid-column:auto}.biosync-app .chart-placeholder{height:175px;margin:15px 12px}.biosync-app .form-grid{grid-template-columns:1fr;gap:18px}.biosync-app .toolbar select{flex:1;min-width:130px}.biosync-app .toolbar .btn{flex:1}.biosync-app .profile-summary{padding:16px;flex-wrap:wrap}.biosync-app .profile-summary h2{font-size:17px}.biosync-app .profile-meta{gap:14px;width:100%}.biosync-app .app-footer{font-size:9px;padding:13px 12px}.biosync-app .footer-divider{margin:0 6px}.biosync-app .pagination{padding:12px;font-size:9px}.biosync-app .pagination .btn{min-height:35px;min-width:35px}.biosync-app .three-column{grid-template-columns:1fr}.biosync-app .detail-list{gap:16px}.biosync-app .inline-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.biosync-app .app-sidebar{transition:none}}
@media print{.biosync-app .app-header,.biosync-app .app-sidebar,.biosync-app .app-footer,.biosync-app .preview-notice,.biosync-app .page-actions{display:none}.biosync-app .app-workspace{display:block}.biosync-app .main-content{padding:0}.biosync-app .card{box-shadow:none;break-inside:avoid}.biosync-app{background:white}}
.biosync-app .filter-control{display:flex;align-items:center;min-width:0}.biosync-app .filter-control select{width:100%}.biosync-app .search-control{position:relative;display:flex;align-items:center;flex:1;min-width:160px}.biosync-app .search-control>.icon{position:absolute;left:11px;width:15px;height:15px;color:#7791ad;pointer-events:none}.biosync-app .search-control input{padding-left:35px;background:#f3f7fc}.biosync-app .table-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;border-top:1px solid #f0f3f7;color:#6c819b;font-size:10px;flex-wrap:wrap}.biosync-app .table-pagination .btn{min-width:28px;min-height:28px;padding:5px}.biosync-app .kpi-value{font-size:23px;line-height:1.3;font-weight:650;letter-spacing:-.5px}.biosync-app .kpi-label{font-size:11px;color:#526b8b;line-height:1.4}.biosync-app .kpi-note{font-size:10px;color:#7990a7;margin-top:5px}.biosync-app .required-mark{color:#e95a67;margin-left:2px}.biosync-app .institution-image-placeholder{min-height:130px;border-radius:6px;background:linear-gradient(145deg,#e6f0fa,#f4f8fc);display:grid;place-items:center;color:#a3bdd7;margin-bottom:15px}.biosync-app .institution-image-placeholder .icon{width:45px;height:45px;stroke-width:1.2}.biosync-app .kpi-icon[data-color=green]{background:#dcf7ec;color:#0ab184}.biosync-app .kpi-icon[data-color=amber]{background:#fff4da;color:#e5a000}.biosync-app .kpi-icon[data-color=purple]{background:#eee9ff;color:#8154ed}.biosync-app .kpi-icon[data-color=red]{background:#ffe5e7;color:#ed4d58}.biosync-app .legend-dot[data-color=blue]{background:#0875ff}.biosync-app .legend-dot[data-color=red]{background:#fa646c}.biosync-app .legend-dot[data-color=amber]{background:#edb224}.biosync-app .legend-dot[data-color=gray]{background:#c6d0dc}.biosync-app .profile-meta dl{display:flex;flex-wrap:wrap;gap:22px;margin:0}.biosync-app .profile-meta dt{font-size:10px;color:#7a8ea6}.biosync-app .profile-meta dd{margin:3px 0 0;color:#344b67;font-size:11px}.biosync-app .profile-meta>div{min-width:100px}.biosync-app .profile-meta dt{font-weight:400}.biosync-app .profile-meta dd{margin-left:0}
@media(max-width:768px){.biosync-app .table-pagination .btn{min-height:35px;min-width:35px}.biosync-app .search-control{flex-basis:100%}.biosync-app .filter-control{flex:1;min-width:130px}.biosync-app .kpi-value{font-size:23px}}
.biosync-app .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.biosync-app .header-search{padding:0 10px;min-width:0}.biosync-app .header-search select{background:transparent;border:0;color:#69809f;font-size:11px;padding-left:0;min-height:38px}.biosync-app .sidebar-bottom select{background:#ffffff0b;border:1px solid #ffffff26;color:#d6e5f3;font-size:11px;width:100%;padding:9px 10px}.biosync-app .sidebar-bottom select option{color:#132e43;background:white}.biosync-app .sidebar-preview-note{font-size:8px;line-height:1.6;color:#98b0c7;padding:8px 2px}.biosync-app .chart-legend{flex-wrap:wrap;justify-content:center;gap:7px 12px}.biosync-app .chart-placeholder p{max-width:250px;padding:10px;background:#ffffffed;border-radius:6px;font-size:10px;color:#7f94ab}.biosync-app .card-header h2 span{font-weight:500}.biosync-app .kpi-card>div:last-child{min-width:0}
@media(max-width:768px){.biosync-app .app-header{height:auto;min-height:62px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:8px 12px}.biosync-app .header-search{display:flex;order:3;flex:0 0 100%;width:100%;height:35px}.biosync-app .header-search select{min-height:35px;font-size:11px}.biosync-app .app-workspace{min-height:calc(100vh - 151px)}.biosync-app dl.profile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 0}}
.biosync-app dl.profile-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:12px 0 0}.biosync-app dl.profile-meta>div{min-width:0}.biosync-app .profile-meta dd{overflow-wrap:anywhere}
@media(max-width:768px){.biosync-app dl.profile-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
/* Neutral unspecified states; explicit semantic colors for connected status keys. */
.biosync-app .legend-dot{background:#c6d0dc}.biosync-app .legend-dot[data-color=green]{background:#13bc8b}.biosync-app .legend-dot[data-color=blue]{background:#0875ff}.biosync-app .legend-dot[data-color=red]{background:#fa646c}.biosync-app .legend-dot[data-color=amber]{background:#edb224}.biosync-app .kpi-icon[data-color=blue]{background:#e4efff;color:#0875ff}
/* Reference proportions: desktop shell, dense dashboard cards, and clear preview context. */
.biosync-app .campus-brand strong{white-space:nowrap}.biosync-app .workspace-context{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.biosync-app .workspace-context .breadcrumbs,.biosync-app .workspace-context .preview-notice{margin-bottom:0}.biosync-app .workspace-context .preview-notice{white-space:nowrap}
@media(min-width:1240px){
.biosync-app .app-header{height:56px;padding-right:20px;gap:20px}.biosync-app .campus-brand{flex:0 0 192px}.biosync-app .campus-brand strong{font-size:17px;letter-spacing:-.65px}.biosync-app .campus-brand small{font-size:9px}.biosync-app .brand-mark{width:31px;height:31px}.biosync-app .app-workspace{min-height:calc(100vh - 102px)}.biosync-app .app-sidebar{flex-basis:202px;width:202px;padding-top:19px}.biosync-app .sidebar-brand{font-size:17px;gap:11px;padding-bottom:17px}.biosync-app .main-navigation{gap:1px}.biosync-app .nav-item{min-height:38px;padding:8px 10px;gap:12px}.biosync-app .main-content{padding:14px 22px 22px}.biosync-app .page-title{font-size:22px;line-height:1.25}.biosync-app .page-subtitle{line-height:16px;margin-top:2px}.biosync-app .page-heading{margin-bottom:12px}.biosync-app .kpi-grid{gap:12px;margin-bottom:12px}.biosync-app .kpi-card{min-height:96px;padding:13px 14px}.biosync-app .kpi-icon{height:57px;width:55px}.biosync-app .dashboard-grid{grid-template-columns:1.95fr 1fr 1.06fr;gap:12px;margin-bottom:12px}.biosync-app .dashboard-grid>.card{height:225px}.biosync-app .dashboard-grid .card-header{min-height:41px;padding:10px 14px;gap:7px}.biosync-app .dashboard-grid .card-header h2{font-size:13px;letter-spacing:-.25px}.biosync-app .dashboard-grid .card-header>a{font-size:10px;white-space:nowrap;flex-shrink:0}.biosync-app .dashboard-grid>.card:first-child .card-body{padding:0 14px 10px}.biosync-app .dashboard-grid>.card:first-child .chart-legend{height:20px;padding:0;justify-content:flex-end}.biosync-app .dashboard-grid .chart-placeholder{height:143px;margin:4px 0 0;background-size:100% 35px,16.666% 100%}.biosync-app .dashboard-grid>.card:not(:first-child) .card-body{display:flex;align-items:center;justify-content:space-between;gap:12px;height:178px;padding:8px 14px 16px}.biosync-app .dashboard-grid .donut-placeholder{width:138px;height:138px;min-width:138px;border-width:18px;margin:0}.biosync-app .dashboard-grid>.card:not(:first-child) .chart-legend{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px;padding:0;font-size:10px}.biosync-app .dashboard-grid>.card:not(:first-child) .chart-legend>span{white-space:nowrap;gap:2px}.biosync-app .dashboard-pair{gap:12px;margin-bottom:12px}.biosync-app .dashboard-pair>.card>.card-header{min-height:40px;padding:10px 14px}.biosync-app .dashboard-pair>.card>.table-scroll .empty-state{min-height:148px;padding:20px 18px;gap:6px}.biosync-app .dashboard-pair>.card>.table-scroll .empty-state>.icon{width:25px;height:25px}.biosync-app .dashboard-pair>.card>.table-scroll .empty-state p{font-size:10px}.biosync-app .dashboard-pair .data-table th{padding:7px 9px}.biosync-app .app-footer{min-height:42px;padding-top:11px;padding-bottom:11px}.biosync-app .app-workspace{min-height:calc(100vh - 98px)}
}
@media(min-width:1240px) and (max-width:1390px){.biosync-app .dashboard-grid .donut-placeholder{width:112px;height:112px;min-width:112px;border-width:15px}.biosync-app .dashboard-grid>.card:not(:first-child) .card-body{gap:8px;padding-left:12px;padding-right:12px}.biosync-app .dashboard-grid>.card:not(:first-child) .chart-legend{font-size:9px}.biosync-app .dashboard-grid .card-header h2{font-size:12px}.biosync-app .kpi-card{gap:10px;padding:12px}.biosync-app .kpi-icon{width:45px;height:50px}}
@media(max-width:768px){.biosync-app .workspace-context{gap:6px;margin-bottom:13px;align-items:flex-start;flex-direction:column}.biosync-app .workspace-context .preview-notice{font-size:9px}.biosync-app .campus-brand strong{font-size:15px}}
.biosync-app .data-table td:has(>.empty-state){padding:0}
/* Smaller KPI collections fill their available row rather than retaining empty dashboard tracks. */
@media(min-width:1051px){
.biosync-app .kpi-grid:has(>.kpi-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.biosync-app .kpi-grid:has(>.kpi-card:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.biosync-app .kpi-grid:has(>.kpi-card:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
.biosync-app .detail-grid .kpi-grid{margin-top:14px;margin-bottom:0}
}
.biosync-app .detail-grid>.card dl.profile-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}


/* BIOSYNC SHARED USER PROFILE MENU V1 */
.biosync-app .biosync-user-menu {
    position: relative;
    font-weight: 400;
}

.biosync-app .biosync-user-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px;
    border-radius: 9px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.biosync-app .biosync-user-trigger::-webkit-details-marker {
    display: none;
}

.biosync-app .biosync-user-trigger:hover,
.biosync-app .biosync-user-menu[open] .biosync-user-trigger {
    background: #edf4fa;
}

.biosync-app .biosync-user-trigger:focus-visible {
    outline: 3px solid #77accb;
    outline-offset: 2px;
}

.biosync-app .biosync-user-trigger .user-profile-label {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-weight: 700;
    color: #203347;
}

.biosync-app .biosync-user-trigger .user-profile-label small {
    color: #75899a;
    font-size: 10px;
    font-weight: 500;
}

.biosync-app .biosync-user-trigger > .icon {
    width: 14px;
    height: 14px;
    color: #75899a;
}

.biosync-app .biosync-user-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 100;
    width: 270px;
    max-width: calc(100vw - 24px);
    background: #fff;
    border: 1px solid #dfe8ef;
    border-radius: 12px;
    box-shadow: 0 16px 45px rgba(16,44,67,.16);
    overflow: hidden;
    white-space: normal;
}

.biosync-app .biosync-user-dropdown-header {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 17px;
    background: #f5f8fb;
    border-bottom: 1px solid #e4ebf1;
}

.biosync-app .biosync-user-dropdown-header strong {
    font-size: 13px;
    color: #183e59;
    overflow-wrap: anywhere;
}

.biosync-app .biosync-user-dropdown-header span {
    font-size: 11px;
    color: #708396;
    overflow-wrap: anywhere;
}

.biosync-app .biosync-user-dropdown-actions {
    padding: 7px;
}

.biosync-app .biosync-user-dropdown-item,
.biosync-app .biosync-user-logout {
    width: 100%;
    min-height: 41px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #30475a;
    font: inherit;
    font-size: 12px;
    text-align: left;
    text-decoration: none;
}

.biosync-app .biosync-user-dropdown-item .icon,
.biosync-app .biosync-user-logout .icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.biosync-app .biosync-user-dropdown-item[aria-disabled="true"] {
    opacity: .6;
    cursor: default;
}

.biosync-app .biosync-user-dropdown-item small {
    margin-left: auto;
    color: #8193a1;
    font-size: 10px;
}

.biosync-app .biosync-user-logout {
    cursor: pointer;
    color: #b33a3a;
    font-weight: 600;
}

.biosync-app .biosync-user-logout:hover {
    background: #fff0f0;
}

.biosync-app .biosync-user-logout:focus-visible {
    outline: 2px solid #b33a3a;
    outline-offset: -2px;
}

.biosync-app .biosync-user-dropdown-actions form {
    margin: 0;
}

@media (max-width: 768px) {
    .biosync-app .biosync-user-trigger {
        padding: 3px;
        gap: 4px;
    }

    .biosync-app .biosync-user-trigger > .icon {
        display: none;
    }

    .biosync-app .biosync-user-dropdown {
        top: calc(100% + 14px);
        right: -4px;
        width: min(270px, calc(100vw - 24px));
    }
}


/* BIOSYNC CHANGE PASSWORD UI V1 */
.biosync-app .biosync-password-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
    align-items: start;
    gap: 20px;
}

.biosync-app .biosync-password-grid > .card {
    min-width: 0;
    height: auto;
}

.biosync-app .biosync-password-grid .card-body {
    padding: 22px 24px 24px;
}

.biosync-app .biosync-password-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.biosync-app .biosync-password-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.biosync-app .biosync-password-form .form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #24394c;
}

.biosync-app .biosync-password-form .form-control {
    display: block;
    width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    border: 1px solid #d8e3ec;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    box-sizing: border-box;
}

.biosync-app .biosync-password-form .form-control:focus {
    outline: 2px solid rgba(22, 112, 232, .18);
    border-color: #1670e8;
}

.biosync-app .biosync-password-form .form-hint {
    display: block;
    color: #6d8091;
    font-size: 11px;
    line-height: 1.5;
}

.biosync-app .biosync-password-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
    padding-top: 18px;
    border-top: 1px solid #e8eef3;
}

.biosync-app .biosync-password-actions .btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.biosync-app .biosync-password-help .card-body {
    line-height: 1.7;
}

.biosync-app .biosync-password-help ul {
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.biosync-app .biosync-password-help li {
    position: relative;
    padding-left: 27px;
    font-size: 13px;
    color: #344b5e;
}

.biosync-app .biosync-password-help li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #16865c;
    font-weight: 700;
}

@media (max-width: 900px) {
    .biosync-app .biosync-password-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 480px) {
    .biosync-app .biosync-password-grid {
        gap: 14px;
    }

    .biosync-app .biosync-password-grid .card-body {
        padding: 16px;
    }

    .biosync-app .biosync-password-actions {
        gap: 10px;
    }

    .biosync-app .biosync-password-actions .btn {
        flex: 1 1 auto;
    }
}

/* Shared module workspaces: semantic links and compact responsive cards. */
.biosync-app .main-content .workspace-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin:18px 0 24px}
.workspace-card[aria-disabled="true"] {background:#f8fafc}
[hidden] {display:none!important}
/* Let the shift matrix scroll inside its workspace at tablet widths. */
.biosync-app #esm-matrix,.biosync-app #esm-workspace {min-width:0;max-width:100%}
.biosync-app #esm-matrix .esm-scroll {min-width:0}
.biosync-app [data-ui-count-url] {overflow-wrap:anywhere}
.biosync-app .nav-item span {min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.biosync-app .ui-count-error {font-size:13px;line-height:1.5;color:#9f2424}


/* Campus Connect BioSync Mapping Status Badges */
.biosync-map-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.biosync-map-badge--mapped {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
}

.biosync-map-badge--unmapped {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

@media (prefers-color-scheme: dark) {
    .biosync-map-badge--mapped {
        background: #14532d;
        color: #dcfce7;
        border-color: #22c55e;
    }

    .biosync-map-badge--unmapped {
        background: #334155;
        color: #f1f5f9;
        border-color: #64748b;
    }
}
