/* HookCloud workspace identity. Shared by Portal and Admin; business-state styles stay semantic. */
@font-face{font-family:Workspace Inter;src:url('/assets/fonts/Inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root,:root[data-theme="light"]{--bg:#ffffff;--panel:#fff;--panel-2:#f7f9ff;--text:#111c34;--muted:#65748f;--line:#e3e9f5;--primary:#5249ed;--primary-2:#5144d6;--success:#087c5b;--warning:#a36213;--danger:#ba4053;--radius:16px;--shadow:0 3px 16px #263d5505;--workspace-accent:#6559e8;--workspace-soft:#eeecff;--workspace-sidebar:#f7f9ff;--workspace-indigo:#6659bc;--workspace-focus:#7366ef;color-scheme:light}
:root[data-theme="dark"]{--bg:#111626;--panel:#192035;--panel-2:#1d263d;--text:#e8edfa;--muted:#a3afcb;--line:#2d3854;--primary:#6a5cf0;--primary-2:#b5adff;--success:#6dd7ad;--warning:#e7b964;--danger:#f29caa;--shadow:0 4px 20px #00000012;--workspace-accent:#a89cfa;--workspace-soft:#2b294c;--workspace-sidebar:#151c30;--workspace-indigo:#b1a7f3;--workspace-focus:#a89cfa;color-scheme:dark}
html,html[data-theme="light"],html[data-theme="dark"],body.workspace,html[data-theme] body.workspace{background:var(--bg);color:var(--text)}
body.workspace{font-family:Workspace Inter,Inter,system-ui,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
.workspace button,.workspace input,.workspace select,.workspace textarea{font:inherit}
.workspace button,.workspace a,.workspace summary{-webkit-tap-highlight-color:transparent}
.workspace :is(button,a,summary,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--workspace-focus) 65%,transparent);outline-offset:3px}
.workspace .app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh;align-items:start}
.workspace .sidebar{position:sticky;top:0;height:100dvh;max-height:100dvh;display:flex;gap:0;padding:26px 16px 16px;background:var(--workspace-sidebar);border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:thin;z-index:45}
.workspace .brand{padding:0 11px 25px;gap:10px;align-items:center;position:relative}
.workspace .brand-logo{width:39px;height:39px;object-fit:contain;border-radius:10px;padding:0;background:none}
.workspace .brand strong{display:block;font-size:20px;letter-spacing:-.8px;line-height:1.1;font-weight:760;color:var(--text)}
.workspace .brand small{display:block;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--primary-2);font-weight:750;margin-top:5px}
.workspace .workspace-edition{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:5px;letter-spacing:1px;font-size:9px;padding:2px 5px;color:var(--muted);margin-top:5px}
.workspace .nav{gap:20px;padding:5px 0 18px;flex:1}
.workspace .nav-group{display:flex;flex-direction:column;gap:4px}
.workspace .nav-group-label,.workspace .sidebar-resource-label{display:block;padding:0 12px;margin:0 0 7px;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:720}
.workspace .nav-link,.workspace .sidebar .resource-link{display:flex;align-items:center;gap:11px;width:100%;min-height:41px;padding:10px 12px;border:1px solid transparent;border-radius:9px;box-shadow:none;background:transparent;color:var(--muted);font-size:12px;font-weight:560;line-height:1.45;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.workspace .nav-link:hover,.workspace .sidebar .resource-link:hover{color:var(--text);background:var(--panel-2);border-color:transparent;transform:none}
.workspace .nav-link.active{color:var(--primary-2);background:var(--workspace-soft);border-color:color-mix(in srgb,var(--primary) 12%,var(--line));font-weight:680}
.workspace .nav-icon{width:18px;height:18px;flex:0 0 18px;opacity:.8}
.workspace .nav-link.active .nav-icon{opacity:1}
.workspace .sidebar .resource-link strong{font-size:12px;font-weight:560;color:inherit}
.workspace .sidebar .resource-link small{font-size:10px;line-height:1.45;color:var(--muted);margin-top:3px}
.workspace .sidebar-resource-box{border:0;background:transparent;border-radius:0;box-shadow:none;padding:0;display:grid;gap:4px}
.workspace .sidebar .resource-icon{display:none}
.workspace .sidebar-footer{flex-shrink:0;border-top:1px solid var(--line);padding:16px 10px 0;gap:9px;margin-top:8px}
.workspace #sessionUser{font-size:11px;overflow-wrap:anywhere;line-height:1.55}
.workspace .registration-support-link{font-size:11px;color:var(--primary-2);text-decoration:none}
.workspace .sidebar-footer .btn{width:100%;font-size:11px;min-height:34px;padding:6px 12px}
.workspace .sidebar-footer .app-version{font-size:9px;color:var(--muted)}
.workspace .content{display:block;min-width:0;width:100%;max-width:1540px;margin:0 auto;padding:30px 36px 20px}
.workspace .topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 30px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.workspace .workspace-heading{min-width:0;flex:1}
.workspace .workspace-breadcrumb{display:block;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);font-weight:650;margin-bottom:7px}
.workspace .topbar h1{font-size:27px;letter-spacing:-1px;line-height:1.2;font-weight:730;margin:0 0 7px}
.workspace .topbar p{font-size:12px;line-height:1.6;color:var(--muted);max-width:620px;margin:0}
.workspace .topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:50%}
.workspace .topbar-actions>.btn{font-size:11px;min-height:38px;padding:9px 13px}
.workspace #viewRoot{display:flex;flex-direction:column;gap:22px;min-width:0}
.workspace #viewRoot:empty{min-height:180px}
.workspace #viewRoot>.panel{margin:0}
.workspace .panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);min-width:0}
.workspace .section{padding:24px}
.workspace .section h2{font-size:18px;font-weight:680;letter-spacing:-.45px;line-height:1.4;margin:0 0 16px}
.workspace .section h3{font-size:15px;font-weight:670;letter-spacing:-.2px;line-height:1.4;margin:0 0 12px}
.workspace .section p{line-height:1.7}
.workspace .cards{gap:16px;margin:0}
.workspace .card{padding:22px;border-radius:15px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);min-width:0}
.workspace .card h3{font-size:12px;line-height:1.5;font-weight:560;margin:0 0 14px;color:var(--muted)}
.workspace .card>strong{font-size:31px;letter-spacing:-1.3px;line-height:1.3;font-weight:710}
.workspace .card>.muted{font-size:11px;line-height:1.7;margin-top:10px}
.workspace .grid-2{gap:20px}
.workspace .kv{grid-template-columns:minmax(130px,.8fr) minmax(0,1.3fr);font-size:12px;line-height:1.7;padding:13px 0;gap:18px;border-bottom:1px solid var(--line)}
.workspace .kv:last-child{border-bottom:0}
.workspace .kv>div{min-width:0;overflow-wrap:anywhere}
.workspace .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--primary);border:1px solid transparent;border-radius:9px;color:#fff;padding:10px 16px;font-size:12px;line-height:1.5;min-height:40px;font-weight:650;text-decoration:none;box-shadow:none;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;white-space:normal}
.workspace .btn:hover{filter:none;box-shadow:0 3px 10px color-mix(in srgb,var(--primary) 18%,transparent);background:color-mix(in srgb,var(--primary) 88%,#1f1756)}
.workspace .btn-secondary{border-color:var(--line);background:var(--panel);color:var(--text);font-weight:580}
.workspace .btn-secondary:hover{background:var(--panel-2);border-color:color-mix(in srgb,var(--primary) 30%,var(--line));box-shadow:none}
.workspace .btn-warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,var(--line));background:color-mix(in srgb,var(--warning) 8%,var(--panel))}
.workspace .btn-danger,.workspace button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--panel))}
.workspace button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}
.workspace label{font-size:12px;font-weight:570;gap:7px}
.workspace :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--panel);color:var(--text);font-size:13px;line-height:1.55;transition:border-color .15s,box-shadow .15s}
.workspace :is(input,textarea)::placeholder{color:var(--muted);opacity:.8}
.workspace :is(input,select,textarea):focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}
.workspace :is(input[type="checkbox"],input[type="radio"]){width:17px;height:17px;accent-color:var(--primary)}
.workspace .form-grid{gap:18px;padding:24px}
.workspace .form-grid.form-compact{padding:0}
.workspace label small,.workspace .panel-note{font-size:11px;line-height:1.65;font-weight:400}
.workspace .route-toolbar{gap:16px;margin-bottom:20px}
.workspace .route-filters{gap:10px;align-items:end}
.workspace .route-filters input,.workspace .route-filters select{min-width:160px}
.workspace .table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;scrollbar-width:thin}
.workspace table{font-size:12px;line-height:1.65}
.workspace th{font-size:10px;letter-spacing:.4px;font-weight:650;color:var(--muted);background:var(--panel-2);padding:13px 16px;white-space:nowrap}
.workspace td{padding:16px;vertical-align:middle;border-bottom:1px solid var(--line)}
.workspace tbody tr:last-child td{border-bottom:0}
.workspace tbody tr:hover{background:color-mix(in srgb,var(--workspace-soft) 50%,var(--panel))}
.workspace td .btn{font-size:11px;padding:6px 10px;min-height:32px}
.workspace .badge{font-size:10px;line-height:1.5;font-weight:650;border-radius:6px;padding:4px 8px;gap:5px;background:var(--panel-2);border:1px solid var(--line);white-space:normal}
.workspace .badge.success{background:color-mix(in srgb,var(--success) 8%,var(--panel));border-color:color-mix(in srgb,var(--success) 18%,var(--line));color:var(--success)}
.workspace .badge.warning{background:color-mix(in srgb,var(--warning) 8%,var(--panel));border-color:color-mix(in srgb,var(--warning) 20%,var(--line));color:var(--warning)}
.workspace .badge.danger{background:color-mix(in srgb,var(--danger) 8%,var(--panel));border-color:color-mix(in srgb,var(--danger) 20%,var(--line));color:var(--danger)}
.workspace .badge.info{background:color-mix(in srgb,var(--workspace-indigo) 8%,var(--panel));border-color:color-mix(in srgb,var(--workspace-indigo) 20%,var(--line));color:var(--workspace-indigo)}
.workspace .alert{margin-bottom:18px;padding:14px 18px;border-radius:10px;font-size:13px;background:var(--panel-2);color:var(--text);overflow-wrap:anywhere}
.workspace .alert.error{background:color-mix(in srgb,var(--danger) 7%,var(--panel));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,var(--line))}
.workspace .alert.success{background:color-mix(in srgb,var(--success) 7%,var(--panel));color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,var(--line))}
.workspace .info-box,.workspace .credential-field{background:var(--panel-2);border-radius:10px;box-shadow:none;font-size:12px;line-height:1.7}
.workspace .credential-value,.workspace pre.code{font-size:12px;line-height:1.7;border-radius:9px;background:var(--panel-2);color:var(--text);box-shadow:none}
.workspace .modal{max-height:calc(100dvh - 32px);max-width:calc(100vw - 24px);border-radius:18px;box-shadow:0 30px 90px #0b17293d;color:var(--text)}
.workspace .modal::backdrop{background:#0b1e3073;backdrop-filter:blur(4px)}
.workspace .modal-card{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border-radius:18px;background:var(--panel);border:1px solid var(--line);overflow:auto;color:var(--text);scrollbar-width:thin}
.workspace .modal-header{padding:22px 24px;background:var(--panel);border-bottom:1px solid var(--line);gap:16px}
.workspace .modal-header h3{font-size:18px;font-weight:680;letter-spacing:-.45px;line-height:1.4}
.workspace .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:22px;padding:0;border:1px solid var(--line)}
.workspace .icon-btn:hover{color:var(--text);background:var(--workspace-soft)}
.workspace .modal-actions{padding:18px 24px;border-top:1px solid var(--line);margin:0;flex-wrap:wrap;gap:10px;background:var(--panel)}
.workspace .eyebrow{color:var(--primary-2);font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.workspace .pagination,.workspace .pl-pagination{font-size:12px;gap:10px;padding-top:18px}
.workspace .partner-status-banner{margin-bottom:20px;border-radius:12px}
.workspace .portal-footer,.workspace .admin-legal-footer{margin-top:40px;padding:24px 0 4px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);gap:18px}
.workspace .portal-footer-brand{font-size:10px;line-height:1.6}
.workspace .portal-footer-brand img{width:24px;height:24px}
.workspace .portal-footer-links{gap:14px;font-size:10px;line-height:1.7}
.workspace .portal-meta-partner{width:150px;max-width:100%}
.workspace .portal-meta-partner img{max-width:150px;height:auto}
.workspace .auto-refresh-status{font-size:10px;max-width:140px;line-height:1.5}
.workspace #themeToggleBtn{min-width:36px;width:36px;height:36px;min-height:36px;padding:8px;font-size:0;border-radius:10px;color:var(--muted)}
.workspace #themeToggleBtn .workspace-icon{width:18px;height:18px}
.workspace .academy-notification-bell,.workspace .academy-notification-btn{background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:10px;min-height:36px;padding:8px 11px;font-size:11px;gap:8px;color:var(--text)}
.workspace .academy-notification-bell-icon{font-size:16px}
.workspace .academy-notification-bell-label{font-size:11px;font-weight:600}
.workspace .academy-notification-popover,.workspace .academy-notification-panel{border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 60px #0d27312b;background:var(--panel);z-index:80;max-width:calc(100vw - 28px)}
.workspace .pc-shortcut{background:var(--panel);color:var(--primary-2);border:1px solid var(--line);box-shadow:0 4px 20px #122c3010;font-size:11px;border-radius:30px;padding:11px 16px}
.workspace .workspace-menu-toggle,.workspace .workspace-nav-close,.workspace #workspaceNavBackdrop{display:none}
.workspace .workspace-auth-intro{padding:44px;background:linear-gradient(145deg,var(--workspace-soft),var(--panel-2));display:flex;flex-direction:column;justify-content:center;gap:20px;border-right:1px solid var(--line)}
.workspace .workspace-auth-intro img{width:54px;height:54px;object-fit:contain}
.workspace .workspace-auth-intro h2{font-size:32px;line-height:1.2;letter-spacing:-1.25px;font-weight:730;margin:0}
.workspace .workspace-auth-intro p{font-size:13px;line-height:1.9;color:var(--muted);margin:0;max-width:320px}
.workspace .workspace-auth-note{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--primary-2);padding-top:8px}
.workspace .workspace-auth-note svg{width:18px;height:18px}
.workspace .portal-auth-shell{display:grid;grid-template-columns:1fr 1fr;max-width:920px;margin:7vh auto 0;overflow:hidden}
.workspace .portal-auth-form{padding:44px}
.workspace .portal-auth-form h2{font-size:22px;margin:0 0 10px;letter-spacing:-.7px}
.workspace .portal-auth-form>p{font-size:12px;margin:0 0 24px;line-height:1.8}
.workspace .auth-links{font-size:11px;margin-top:22px;gap:8px}
.workspace .auth-links .link-btn{color:var(--primary-2);font-size:11px;font-weight:600}
.workspace .auth-help{font-size:11px!important;line-height:1.7;margin:20px 0 0!important}
.workspace[data-workspace-auth="login"] .app,.workspace[data-workspace-auth="mfa"] .app{grid-template-columns:minmax(0,1fr)}
.workspace[data-workspace-auth="login"] .sidebar,.workspace[data-workspace-auth="mfa"] .sidebar{display:none}
.workspace[data-workspace-auth="login"] .topbar,.workspace[data-workspace-auth="mfa"] .topbar{justify-content:flex-end;border:0;margin:0;padding:0}
.workspace[data-workspace-auth="login"] .topbar>.workspace-heading,.workspace[data-workspace-auth="mfa"] .topbar>.workspace-heading{display:none}
.workspace[data-workspace-auth="login"] .workspace-menu-toggle,.workspace[data-workspace-auth="mfa"] .workspace-menu-toggle{display:none}
.workspace[data-workspace-auth="login"] .portal-footer,.workspace[data-workspace-auth="mfa"] .portal-footer,.workspace[data-workspace-auth="login"] .admin-legal-footer,.workspace[data-workspace-auth="mfa"] .admin-legal-footer{max-width:920px;margin:28px auto 0}
.workspace #mfaView{max-width:700px;margin:7vh auto 0}
@media(min-width:1900px){.workspace .content{padding-inline:48px}.workspace .topbar{margin-bottom:34px}}
@media(max-width:1250px){.workspace .app{grid-template-columns:222px minmax(0,1fr)}.workspace .sidebar{padding-inline:12px}.workspace .content{padding:26px}.workspace .topbar{align-items:flex-start}.workspace .topbar-actions{max-width:48%}.workspace .topbar h1{font-size:24px}.workspace .section{padding:20px}.workspace .topbar-actions>.btn{min-height:34px;padding:7px 10px}}
@media(max-width:1000px){.workspace .topbar{flex-wrap:wrap;gap:15px}.workspace .topbar-actions{max-width:100%;justify-content:flex-start}.workspace .workspace-heading{flex-basis:calc(100% - 60px)}.workspace .grid-2{grid-template-columns:1fr}.workspace .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
 .workspace .app{grid-template-columns:minmax(0,1fr)}.workspace .content{padding:22px 18px}.workspace .topbar{gap:12px;padding-bottom:20px;margin-bottom:22px;align-items:center}.workspace .topbar h1{font-size:24px}.workspace .topbar p{font-size:12px}.workspace .workspace-heading{flex-basis:calc(100% - 60px)}.workspace .workspace-breadcrumb{font-size:9px;margin-bottom:5px}.workspace .topbar-actions{width:100%;max-width:none;gap:7px}.workspace .topbar-actions>.btn{font-size:11px;min-height:36px}.workspace .topbar-actions .mobile-logout{display:none!important}
 .workspace .sidebar{position:fixed;inset:0 auto 0 0;width:276px;max-width:calc(100vw - 44px);height:100dvh;display:flex;transform:translateX(-105%);transition:transform .2s ease;z-index:110;box-shadow:20px 0 80px #071b2820;padding-top:25px}.workspace .brand{padding-right:35px}.workspace .nav{gap:18px}.workspace .nav-link,.workspace .sidebar .resource-link{font-size:13px;min-height:44px}.workspace .sidebar-footer{padding-bottom:max(5px,env(safe-area-inset-bottom))}
 .workspace.workspace-nav-open .sidebar{transform:translateX(0)}.workspace.workspace-nav-open{overflow:hidden}.workspace.workspace-nav-open #workspaceNavBackdrop{display:block;position:fixed;inset:0;z-index:105;background:#10253280;backdrop-filter:blur(3px);border:0;padding:0;width:100%;height:100dvh}
 .workspace .workspace-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);cursor:pointer;order:-1}.workspace .workspace-menu-toggle svg{width:19px;height:19px}.workspace .workspace-nav-close{display:flex;position:absolute;right:15px;top:29px;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--panel);font-size:20px;cursor:pointer}
 .workspace.workspace-enhanced .mobile-route-nav{display:none}.workspace .section{padding:18px}.workspace #viewRoot{gap:18px}.workspace .card{padding:18px}.workspace .card>strong{font-size:27px}.workspace .cards{gap:10px}.workspace .kv{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:12px}.workspace .form-grid{padding:20px;gap:16px}.workspace .form-grid.two-cols{grid-template-columns:1fr}.workspace input:not([type="checkbox"]):not([type="radio"]),.workspace select,.workspace textarea{font-size:16px;min-height:44px}.workspace .route-filters{width:100%;align-items:stretch}.workspace .route-filters>input,.workspace .route-filters>select{flex:1;min-width:130px}.workspace .modal-header{padding:18px 20px}.workspace .modal-actions{padding:16px 20px}.workspace .modal-card{width:calc(100vw - 24px)}.workspace .portal-footer{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.workspace .portal-footer-identity{align-items:flex-start}.workspace .portal-footer-links{justify-content:flex-start;gap:10px 16px}.workspace .academy-notification-popover{position:fixed;top:150px;left:14px;right:14px;width:auto;max-height:calc(100dvh - 170px)}
 .workspace .portal-auth-shell{grid-template-columns:1fr;margin-top:26px}.workspace .workspace-auth-intro{padding:28px;border-right:0;border-bottom:1px solid var(--line);gap:15px}.workspace .workspace-auth-intro img{width:42px;height:42px}.workspace .workspace-auth-intro h2{font-size:27px}.workspace .workspace-auth-intro p{max-width:none;font-size:12px}.workspace .portal-auth-form{padding:28px}.workspace .pc-shortcut{right:15px;bottom:15px}.workspace .auto-refresh-status{display:none}
}
@media(max-width:380px){.workspace .content{padding:18px 12px}.workspace .cards{grid-template-columns:minmax(0,1fr)}.workspace .kv{grid-template-columns:1fr;gap:4px}.workspace .topbar h1{font-size:22px}.workspace .topbar-actions{gap:6px}.workspace .topbar-actions>.btn{font-size:10px;padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.workspace *{scroll-behavior:auto!important}.workspace .sidebar,.workspace .nav-link,.workspace .btn{transition:none}}

.workspace .mobile-logout{display:none!important}

.workspace .topbar{flex-direction:row}
