/* Core Connect Phase 34C — Unified Core Experience */
:root{--cc34c-navy:#0b132b;--cc34c-text:#172033;--cc34c-muted:#667085;--cc34c-line:#e5e9f0;--cc34c-soft:#f7f9fc;--cc34c-blue:#2563eb;--cc34c-radius:18px}
html.cc34c-root,body.cc34c-body{min-height:100%;height:auto!important;overflow:auto!important}
body.cc34c-body .shell{min-height:100vh;height:auto!important;overflow:visible!important}
/* Phase 34C — Desktop viewport-bound sidebar (navigation scrolls independently) */
@media screen and (min-width:961px){
  /* Prevent body overflow:auto from trapping sticky within a non-scrolling ancestor. */
  body.cc34c-body{overflow:visible!important;}
  body.cc34c-body .shell > .sidebar{
    position:sticky!important;
    top:0;
    align-self:start;
    height:100vh!important;
    height:100dvh!important;
    max-height:100vh!important;
    max-height:100dvh!important;
    min-height:0!important;
  }
  body.cc34c-body .shell > .sidebar .side-nav{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden;
    align-content:start;
    overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
  }
}
/* Tablet: same existing menu button and .open drawer contract, no flowing sidebar. */
@media screen and (min-width:861px) and (max-width:960px){
  body.cc34c-body .shell > .sidebar{
    position:fixed!important;
    top:0;
    left:0;
    height:100vh!important;
    height:100dvh!important;
    max-height:100dvh!important;
    z-index:95!important;
    transform:translateX(-105%);
    transition:transform .22s ease;
  }
  body.cc34c-body .shell > .sidebar.open{transform:translateX(0);}
  body.cc34c-body .shell > .sidebar .side-nav{
    min-height:0!important;
    overflow-y:auto!important;
    align-content:start;
    overscroll-behavior-y:contain;
  }
}
body.cc34c-body .workspace.cc34c-workspace{min-width:0;min-height:100vh;height:auto!important;overflow:visible!important}
body.cc34c-body .content.cc34c-content{height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:80px}
body.cc34c-body .drawer-body.cc34c-local-scroll,body.cc34c-body .table-wrap.cc34c-local-scroll,body.cc34c-body .cc34c-table-wrap{overflow:auto;max-width:100%}
body.cc34c-body .topbar{position:sticky;top:0;z-index:90;backdrop-filter:blur(18px)}
.cc34c-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 28px;padding:0}
.cc34c-page-head h1{margin:0;color:var(--cc34c-text);font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.08;letter-spacing:-.035em}
.cc34c-page-head p{max-width:760px;margin:8px 0 0;color:var(--cc34c-muted);line-height:1.55}
.cc34c-page-actions{display:flex;gap:8px;flex-wrap:wrap}
.cc34c-section{margin-top:30px;padding-top:24px;border-top:1px solid var(--cc34c-line)}
.cc34c-section:first-of-type{margin-top:20px}
.cc34c-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.cc34c-section-head h2{margin:0;font-size:1.05rem;color:var(--cc34c-text)}
.cc34c-section-actions{display:flex;gap:8px}
.cc34c-copy,.cc34c-help{color:var(--cc34c-muted);line-height:1.6;max-width:800px}
.cc34c-app-launcher{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:18px;max-width:980px}
.cc34c-app-icon{position:relative;appearance:none;border:0;background:transparent;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;cursor:pointer;border-radius:18px;color:var(--cc34c-text)}
.cc34c-app-icon:hover,.cc34c-app-icon:focus-visible{background:#eef4ff;outline:none}
.cc34c-app-glyph{width:62px;height:62px;border-radius:20px;background:linear-gradient(145deg,#111c3c,#0b132b);color:white;display:grid;place-items:center;font-size:15px;font-weight:800;letter-spacing:.03em;box-shadow:0 12px 28px rgba(11,19,43,.18)}
.cc34c-app-name{font-size:.82rem;font-weight:700;line-height:1.2;text-align:center;max-width:115px;overflow-wrap:anywhere}
.cc34c-app-state{position:absolute;right:calc(50% - 34px);top:8px;width:10px;height:10px;border:2px solid white;border-radius:50%;background:#22c55e}
.cc34c-app-icon.needs-attention .cc34c-app-state{background:#f59e0b}
.cc34c-action-list{display:flex;flex-direction:column;gap:0;max-width:900px;border-top:1px solid var(--cc34c-line)}
.cc34c-action{appearance:none;border:0;border-bottom:1px solid var(--cc34c-line);background:transparent;border-radius:0;padding:15px 4px;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;text-align:left;color:var(--cc34c-text);cursor:pointer;min-height:72px}
.cc34c-action:hover,.cc34c-action:focus-visible{background:#f8fbff;outline:none}
.cc34c-action-icon{width:38px;height:38px;border-radius:12px;background:#eef4ff;color:#1d4ed8;display:grid;place-items:center;font-weight:800}
.cc34c-action strong{display:block;font-size:.95rem}.cc34c-action small{display:block;margin-top:3px;color:var(--cc34c-muted);line-height:1.35}.cc34c-action b{font-size:20px;color:#94a3b8}
.cc34c-management-list{max-width:960px}
.cc34c-empty{padding:22px;border:1px dashed #cbd5e1;border-radius:16px;background:#fbfcfe;color:var(--cc34c-muted);display:flex;flex-direction:column;gap:4px}
.cc34c-empty strong{color:var(--cc34c-text)}
.cc34c-health{display:flex;align-items:flex-start;gap:14px;border:1px solid var(--cc34c-line);border-radius:18px;padding:18px 20px;background:#fff}
.cc34c-health>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:none}.cc34c-health.healthy>span{background:#dcfce7;color:#166534}.cc34c-health.warning>span{background:#fef3c7;color:#92400e}
.cc34c-health strong{display:block;color:var(--cc34c-text)}.cc34c-health p{margin:4px 0;color:var(--cc34c-muted)}.cc34c-health small{color:#64748b}
.cc34c-table-wrap{border:1px solid var(--cc34c-line);border-radius:16px;background:white}.cc34c-table{margin:0}.cc34c-table td strong{display:block}.cc34c-table td small{display:block;color:var(--cc34c-muted);margin-top:3px}
.cc34c-state{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;text-transform:capitalize}.cc34c-state.healthy{background:#dcfce7;color:#166534}.cc34c-state.warning{background:#fef3c7;color:#92400e}.cc34c-state.danger{background:#fee2e2;color:#991b1b}.cc34c-state.working{background:#dbeafe;color:#1d4ed8}
.cc34c-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--cc34c-line);border-radius:16px;padding:16px;background:#fff}.cc34c-notice strong{color:var(--cc34c-text)}.cc34c-notice p{margin:5px 0 0;color:var(--cc34c-muted)}
.cc34c-exception-list,.cc34c-notification-list{display:flex;flex-direction:column;border:1px solid var(--cc34c-line);border-radius:16px;overflow:hidden;background:#fff}.cc34c-exception,.cc34c-notification{padding:15px 16px;border-bottom:1px solid var(--cc34c-line)}.cc34c-exception:last-child,.cc34c-notification:last-child{border-bottom:0}.cc34c-exception{display:flex;align-items:center;justify-content:space-between;gap:16px}.cc34c-exception strong{display:block;margin-top:7px}.cc34c-exception p{margin:4px 0;color:var(--cc34c-muted)}.cc34c-exception small{color:#64748b}.cc34c-exception-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cc34c-notification{display:flex;align-items:center;gap:10px}.cc34c-notification-main{appearance:none;border:0;background:none;padding:0;display:grid;grid-template-columns:12px 1fr;gap:12px;text-align:left;flex:1;cursor:pointer}.cc34c-notification-main strong{color:var(--cc34c-text)}.cc34c-notification-main p{margin:4px 0;color:var(--cc34c-muted)}.cc34c-notification-main small{color:#64748b}.cc34c-notification-dot{width:9px;height:9px;border-radius:50%;margin-top:6px;background:#94a3b8}.cc34c-notification-dot.healthy{background:#22c55e}.cc34c-notification-dot.warning{background:#f59e0b}.cc34c-notification-dot.danger{background:#ef4444}.cc34c-notification.read{opacity:.68}
.cc34c-preferences{display:grid;gap:12px;max-width:760px}.cc34c-preferences>label{display:flex;align-items:center;gap:9px;font-weight:650;color:var(--cc34c-text)}.cc34c-browser-permission{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--cc34c-line);border-bottom:1px solid var(--cc34c-line)}
.cc34c-inline-status{margin:14px 0;color:var(--cc34c-muted);font-size:.86rem;line-height:1.5}
.cc34c-loading{padding:20px 0;color:var(--cc34c-muted)}
.cc34c-switcher{position:relative}.cc34c-switcher-trigger{appearance:none;border:1px solid #d8dee9;background:white;border-radius:12px;height:38px;padding:0 12px;display:flex;align-items:center;gap:7px;color:#172033;font-weight:750;cursor:pointer}.cc34c-switcher-trigger span{font-size:18px}.cc34c-switcher-panel{position:absolute;right:0;top:46px;width:min(390px,calc(100vw - 26px));max-height:min(610px,calc(100vh - 78px));overflow:auto;background:white;border:1px solid var(--cc34c-line);border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.2);padding:14px;z-index:300}.cc34c-switcher-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cc34c-switcher-panel .cc34c-app-launcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cc34c-switcher-panel .cc34c-app-glyph{width:46px;height:46px;border-radius:15px}.cc34c-switcher-panel .cc34c-app-icon{padding:8px 3px}.cc34c-switcher-links{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--cc34c-line)}.cc34c-switcher-links button{appearance:none;border:0;background:#f1f5f9;border-radius:10px;padding:8px 10px;font-weight:700;color:#334155;cursor:pointer}
@media(max-width:850px){.cc34c-page-head{flex-direction:column}.cc34c-app-launcher{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cc34c-exception{align-items:flex-start;flex-direction:column}.cc34c-exception-actions{justify-content:flex-start}.cc34c-browser-permission{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.cc34c-app-launcher{grid-template-columns:repeat(3,minmax(0,1fr))}.cc34c-app-glyph{width:56px;height:56px}.cc34c-switcher-trigger b{display:none}.cc34c-switcher-trigger{width:40px;padding:0;justify-content:center}.cc34c-section{margin-top:24px;padding-top:20px}.cc34c-page-head{margin-bottom:22px}.cc34c-table-wrap{margin-left:-4px;margin-right:-4px}.cc34c-notification{align-items:flex-start}.cc34c-notification>.btn{flex:none}}
@media print{.cc34c-switcher{display:none!important}}
