:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6fafb;--surface:#fff;--surface-soft:#f1f8f8;--text:#102027;--muted:#4f6470;--line:#dbe7eb;--primary:#078f8a;--primary-dark:#056a66;--primary-soft:#d8f1ef;--red:#b42318;--shadow:0 20px 60px #1430461f;--radius:8px;--el-color-primary:#078f8a;--el-color-primary-light-3:#31aaa5;--el-color-primary-light-5:#6fc7c3;--el-color-primary-light-7:#a9dedb;--el-color-primary-light-9:#e1f5f3;--el-color-primary-dark-2:#056a66;--el-border-radius-base:8px;--el-font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:linear-gradient(180deg, #fff 0%, var(--bg) 46%, #edf6f7 100%);color:var(--text);letter-spacing:0;margin:0;font-size:14px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}input,textarea,select{border-radius:var(--radius);width:100%;color:var(--text);background:#fff;border:1px solid #cddde4;outline:none}input,select{height:40px;padding:0 12px}textarea{resize:vertical;min-height:96px;padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f9f9a1f}label{color:#344751;gap:7px;font-size:13px;font-weight:750;display:grid}pre{white-space:pre-wrap;word-break:break-word;margin:0}.el-button--primary{--el-button-bg-color:var(--primary);--el-button-border-color:var(--primary);--el-button-text-color:#fff;--el-button-hover-bg-color:var(--primary-dark);--el-button-hover-border-color:var(--primary-dark);--el-button-active-bg-color:#034f4c;--el-button-active-border-color:#034f4c}.el-button--primary:not(.is-plain),.el-button--primary:not(.is-plain) span{color:#fff}.el-button--primary.is-plain{--el-button-bg-color:#e8f8f6;--el-button-border-color:#77cfca;--el-button-text-color:var(--primary-dark);--el-button-hover-bg-color:var(--primary);--el-button-hover-border-color:var(--primary);--el-button-hover-text-color:#fff}.el-button:not(.el-button--primary):not(.el-button--danger){--el-button-text-color:#20333d;--el-button-border-color:#c8d7dd;--el-button-hover-text-color:var(--primary-dark);--el-button-hover-border-color:#66c7c2;--el-button-hover-bg-color:#edfafa}.el-tag{font-weight:800}.console-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.console-sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;flex-direction:column;gap:18px;height:100vh;padding:18px;display:flex;position:sticky;top:0}.console-brand{align-items:center;gap:10px;padding:8px;display:flex}.console-logo,.auth-logo,.consent-brand span{background:var(--primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:inline-flex;overflow:hidden}.console-logo img,.auth-logo img{width:100%;height:100%;display:block}.console-brand strong{font-size:15px;display:block}.console-brand small{color:var(--muted)}.console-nav{gap:6px;display:grid}.console-nav-item{border-radius:var(--radius);color:#455a64;align-items:center;gap:10px;min-height:40px;padding:0 12px;font-weight:750;display:flex}.console-nav-item.router-link-active{background:var(--primary-soft);color:var(--primary-dark)}.el-switch.is-checked .el-switch__core{background-color:var(--primary);border-color:var(--primary)}.el-switch__core .el-switch__inner .is-text{color:#fff;font-weight:900}.sidebar-logout{justify-content:flex-start}.sidebar-language{margin-top:auto;padding:0}.console-sidebar .language-switch,.console-sidebar .sidebar-logout{border-radius:var(--radius);width:100%;height:40px;min-height:40px;box-shadow:none;color:#455a64;background:0 0;border:0;justify-content:flex-start;margin:0;padding:0 12px;font-weight:750}.console-sidebar .language-switch:hover,.console-sidebar .sidebar-logout:hover{color:var(--primary-dark);background:#f1f8f8}.console-sidebar .language-switch svg,.console-sidebar .sidebar-logout svg{color:currentColor}.console-sidebar .sidebar-logout{margin-top:4px}.console-content{min-width:0}.console-topbar{justify-content:space-between;align-items:center;gap:16px;height:82px;padding:18px 28px;display:flex}.console-topbar h1{margin:0;font-size:24px;line-height:1.1}.console-topbar p{color:var(--muted);margin:6px 0 0}.console-user{color:#344751;align-items:center;gap:9px;font-weight:750;display:flex}.language-switch{color:#31505a;background:#ffffffc7;border-color:#d4e4e8;border-radius:999px;gap:7px;min-height:34px;padding:7px 11px;font-weight:800;box-shadow:0 6px 18px #14304614}.language-switch svg{color:var(--primary-dark);flex:none}.language-switch.compact{min-width:36px;padding:7px 9px}.mobile-language-fab{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.user-avatar{background:var(--primary-soft);width:34px;height:34px;color:var(--primary-dark);border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex;overflow:hidden}.user-avatar img,.client-avatar img,.grant-card-icon img,.dashboard-app-icon img,.consent-app-icon img,.session-card-icon img,.user-table-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.user-avatar.large{width:48px;height:48px;font-size:18px}.user-avatar.xl{width:68px;height:68px;font-size:24px}.icon-button,.secondary-button,.danger-button{color:#475965}.icon-button{width:38px;padding:0}.secondary-button:hover,.icon-button:hover{color:var(--primary-dark);background:#f7fbfc}.danger-button{color:var(--red);background:#fff7f7;border-color:#fda29b;box-shadow:0 1px 2px #b4231814}.danger-button.strong{color:#912018;background:#fff1f0;border-color:#f97066;width:fit-content;min-width:92px}.danger-button:hover,.danger-button.strong:hover{color:#7a271a;background:#fee4e2}.console-main{width:100%;padding:0 28px 32px}.page-stack{gap:16px;width:100%;display:grid}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.metric-grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.metric-card,.panel,.data-card,.account-panel,.info-grid>div,.table-panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#f7fbfc 0,#fff 62%),#fff;box-shadow:0 10px 28px #14304614}.metric-card{min-height:132px;color:var(--primary-dark);align-content:space-between;padding:18px;display:grid;position:relative;overflow:hidden}.metric-card:before{content:"";background:linear-gradient(90deg, var(--primary), #84d8d4);width:100%;height:5px;position:absolute;inset:0 auto auto 0}.metric-card svg{background:var(--primary);color:#fff;border-radius:12px;width:38px;height:38px;padding:8px;box-shadow:0 10px 22px #0f9f9a2e}.metric-card span{color:var(--muted);font-weight:750}.metric-card strong{color:var(--text);font-size:32px}.panel{padding:16px;overflow:hidden}.panel-head,.page-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-head a{color:var(--primary-dark);font-weight:750}.dashboard-grant-list{display:grid}.dashboard-grant-row{border-top:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(260px,1.2fr) minmax(220px,1fr) max-content;align-items:center;gap:18px;min-height:58px;padding:12px;display:grid}.dashboard-grant-row:first-child{border-top:0}.dashboard-grant-row:hover{background:#ffffffc7}.dashboard-app-cell{align-items:center;gap:10px;min-width:0;display:flex}.dashboard-app-icon{background:var(--primary);color:#fff;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-weight:900;display:grid;overflow:hidden;box-shadow:0 10px 22px #0f9f9a29}.dashboard-app-cell>div{gap:4px;min-width:0;display:grid}.dashboard-scope-cell{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.dashboard-grant-row strong{font-size:14px}.dashboard-app-cell span:not(.dashboard-app-icon),.dashboard-grant-row time{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.dashboard-grant-row time{justify-self:end;font-size:13px;font-weight:650}.compact-list,.data-list{gap:10px;display:grid}.admin-list{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 1px 2px #1018280a}.admin-list-item{border-top:1px solid var(--line);padding:14px 16px}.admin-list-item:first-child{border-top:0}.grant-row{grid-template-columns:minmax(180px,1.1fr) minmax(240px,1.6fr) auto;align-items:center;gap:16px;min-height:58px;display:grid}.grant-main,.grant-meta{gap:5px;min-width:0;display:grid}.grant-main strong{font-size:15px}.grant-main span,.grant-meta span,.grant-meta small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grant-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.grant-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.grant-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#e4f6f4 0,#fff 120px),#fff;grid-template-rows:auto auto 1fr auto;gap:14px;min-height:220px;padding:16px;display:grid;overflow:hidden;box-shadow:0 10px 28px #14304614}.grant-card.linkable,.session-card.linkable{cursor:pointer}.grant-card.linkable:hover,.session-card.linkable:hover{border-color:#8cc9c6;transform:translateY(-1px);box-shadow:0 16px 36px #103c4621}.grant-card-head,.grant-card-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.grant-card-head{justify-content:space-between;padding:0}.grant-card-main,.grant-scope-list,.grant-card-foot{padding-left:0;padding-right:0}.grant-card-foot{align-items:flex-end;padding-bottom:0}.grant-card-icon{background:var(--primary);color:#fff;border-radius:10px;place-items:center;width:38px;height:38px;font-weight:900;display:grid;overflow:hidden;box-shadow:0 10px 22px #078f8a2e}.grant-card-icon.has-image,.dashboard-app-icon.has-image,.consent-app-icon.has-image{box-shadow:none;background:0 0;border:1px solid #d9e8ec}.grant-card-main{gap:5px;min-width:0;display:grid}.grant-card-main strong{font-size:16px;line-height:1.25}.grant-card-main span,.grant-card-foot small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grant-scope-list{flex-wrap:wrap;gap:6px;min-height:24px;display:flex}.grant-card-foot small{white-space:normal;min-width:0;font-size:12px;font-weight:650}.grant-card-foot .el-button{flex:none}.session-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.session-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#f7fbfc 0,#fff 58%),#fff;align-content:space-between;min-height:230px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden;box-shadow:0 10px 28px #14304614}.session-card.current{background:linear-gradient(135deg,#d8f1ef 0,#fff 62%),#fff;border-color:#b7e3e1}.session-card-top{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:16px;display:grid}.session-card-icon{background:var(--primary);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 22px #0f9f9a2e}.session-card:not(.current) .session-card-icon{background:#516a73;box-shadow:0 10px 22px #516a7324}.session-card-icon{overflow:hidden}.session-card-icon.has-image,.session-card:not(.current) .session-card-icon.has-image{box-shadow:none;background:0 0;border:1px solid #d9e8ec}.session-card-top>div{gap:4px;min-width:0;display:grid}.session-card-top strong{font-size:16px;line-height:1.25}.session-card-top span,.session-card-body span,.session-card-foot span{color:var(--muted)}.session-card-top>div span,.session-card-body span,.session-card-foot span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-card-body{border-radius:var(--radius);background:#ffffffb8;border:1px solid #e4eef1;gap:10px;margin:0 16px;padding:12px;display:grid}.session-card-body>div{align-items:center;gap:8px;min-width:0;display:flex}.session-card-body svg{color:var(--primary-dark);flex:none}.session-card-foot{justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:12px 16px 14px;display:flex}.session-card-foot span{min-width:0;font-size:12px;font-weight:700}.session-card-foot .el-button{flex:none}.compact-row{border-top:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.compact-row:first-child{border-top:0}.compact-row span,.compact-row small,.data-card p,.data-card small{color:var(--muted)}.data-card{background:linear-gradient(135deg,#f7fbfc 0,#fff 62%),#fff;gap:10px;padding:16px;display:grid;box-shadow:0 10px 28px #14304614}.data-card>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.data-card p{word-break:break-all;margin:0}.data-card small{display:block}.muted-line{color:var(--muted);font-weight:700}.card-actions{justify-content:flex-start;padding-top:4px;display:flex}.client-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.client-page-hero{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#d8f1ef 0,#fff 58%),#fff;justify-content:space-between;align-items:center;gap:16px;min-height:104px;padding:18px 20px;display:flex;box-shadow:0 10px 28px #14304614}.client-page-hero>div{gap:5px;display:grid}.client-page-hero>div>span{color:var(--primary-dark);font-size:12px;font-weight:900}.client-page-hero strong{color:var(--text);font-size:22px;line-height:1.2}.client-page-hero small{color:#405765;font-size:13px;font-weight:700}.client-card{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:linear-gradient(145deg,#e4f6f4 0,#fff 136px),#fff;grid-template-rows:auto auto 1fr auto;gap:14px;min-height:260px;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden;box-shadow:0 10px 28px #14304614}.client-card:hover{border-color:#b7d6d5;transform:translateY(-1px);box-shadow:0 16px 36px #103c461f}.client-card-head{justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.client-title-line{align-items:center;gap:12px;min-width:0;display:flex}.client-avatar{background:var(--primary);color:#fff;border-radius:12px;flex:none;place-items:center;width:46px;height:46px;font-size:18px;font-weight:900;display:grid;overflow:hidden;box-shadow:0 10px 22px #0f9f9a2e}.client-avatar.has-image{box-shadow:none;background:0 0;border:1px solid #d9e8ec}.client-avatar,.grant-card-icon,.dashboard-app-icon,.session-card-icon,.account-info-icon,.console-logo,.auth-logo,.consent-brand span,.consent-app-icon{color:#fff!important}.client-title-line>div{gap:4px;min-width:0;display:grid}.client-title-line strong{color:var(--text);font-size:18px;line-height:1.2}.client-title-line>div span{color:#405765;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.client-card-main{align-items:start;gap:5px;min-width:0;padding:0;display:grid}.client-card-main span,.client-card-main small{color:#405765;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.app-link,.app-link:visited{color:#087f7b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;line-height:1.45;text-decoration:none;overflow:hidden}.app-link:hover,.app-link:focus-visible{color:#055f5c;text-decoration:underline}.app-link-line{color:inherit;text-decoration:none}.app-link-line:hover .copy-line-value{color:#087f7b;text-decoration:underline}.client-scope-list{flex-wrap:wrap;align-content:start;gap:6px;padding:0;display:flex}.client-card-actions{grid-template-columns:1fr 1fr;gap:8px;min-width:0;padding:0;display:grid}.client-card-actions .el-button{min-width:0;margin-left:0;padding-left:10px;padding-right:10px;font-weight:800}.status-chip{background:var(--primary-soft);min-height:24px;color:var(--primary-dark);border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.row-actions button{min-height:32px;padding:0 10px;font-size:12px}.account-overview{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:14px;display:grid}.account-profile-card,.account-security-card,.account-info-grid>div{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#f7fbfc 0,#fff 62%),#fff;box-shadow:0 10px 28px #14304614}.account-profile-card{background:linear-gradient(135deg,#d8f1ef,#fffffff5 48%),#fff;align-content:space-between;gap:22px;min-height:176px;padding:24px 28px;display:grid}.account-profile-main{align-items:center;gap:18px;min-width:0;display:flex}.account-profile-main>div{gap:6px;min-width:0;display:grid}.account-profile-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:26px;line-height:1.15;overflow:hidden}.account-profile-main small{color:var(--muted);font-size:14px;font-weight:700}.account-kicker{color:var(--primary-dark);font-size:12px;font-weight:900}.account-profile-meta{flex-wrap:wrap;gap:8px;display:flex}.account-profile-meta span{min-height:28px;color:var(--primary-dark);background:#f7fdfc;border:1px solid #cde8e6;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.account-security-card{background:linear-gradient(135deg,#fff 0,#f2faf9 100%),#fff;align-content:space-between;gap:18px;padding:22px;display:grid}.account-security-card strong{margin-top:6px;font-size:20px;display:block}.account-security-card p{color:var(--muted);margin:8px 0 0;line-height:1.65}.account-actions{flex-wrap:wrap;gap:10px;display:flex}.account-actions .el-button{margin-left:0}.account-actions .el-button span{align-items:center;gap:6px;display:inline-flex}.account-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.account-info-grid>div{align-items:center;gap:12px;min-height:92px;padding:16px;display:flex;overflow:hidden}.account-info-icon{background:var(--primary);color:#fff;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 10px 22px #0f9f9a29}.account-info-grid>div>div{gap:6px;min-width:0;display:grid}.account-info-grid span:not(.account-info-icon){color:var(--muted);font-weight:750}.account-info-grid strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-profile-section{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:14px;padding:18px;display:grid;box-shadow:0 10px 28px #14304614}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.section-heading>div{gap:5px;display:grid}.section-heading strong{color:var(--text);font-size:18px}.section-heading small{max-width:620px;color:var(--muted);font-weight:700;line-height:1.6}.client-profile-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.client-profile-card{border-radius:var(--radius);background:linear-gradient(145deg,#eef8f7 0,#fff 130px),#fff;border:1px solid #d7e9e8;align-content:space-between;gap:12px;min-height:176px;padding:14px;display:grid;overflow:hidden}.client-profile-head,.client-profile-foot{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.client-profile-head>div{gap:4px;min-width:0;display:grid}.client-profile-head strong,.client-profile-head span,.client-profile-body span,.client-profile-foot small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-profile-head strong{color:var(--text);font-size:16px}.client-profile-head span,.client-profile-foot small{color:var(--muted);font-weight:750}.client-profile-body{gap:8px;min-width:0;display:grid}.client-profile-body span{color:#405765;font-weight:850}.client-profile-empty{border-radius:var(--radius);min-height:82px;color:var(--muted);text-align:center;border:1px dashed #bdd9d7;place-items:center;padding:18px;font-weight:750;display:grid}.settings-section{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:14px;padding:18px;display:grid;box-shadow:0 10px 28px #14304614}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.settings-grid>div{border-radius:var(--radius);background:linear-gradient(135deg,#f7fbfc 0,#fff 62%),#fff;border:1px solid #d7e9e8;align-content:center;gap:8px;min-width:0;min-height:92px;padding:14px;display:grid}.settings-grid span:first-child{color:var(--muted);font-size:13px;font-weight:800}.settings-grid strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-logo-preview{align-items:center;gap:10px;min-width:0;display:flex}.settings-logo-preview img{object-fit:contain;background:0 0;border-radius:9px;width:34px;height:34px}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.info-grid>div{align-content:space-between;gap:10px;min-height:96px;padding:16px;display:grid;position:relative;overflow:hidden}.info-grid>div:before,.user-summary-grid>div:before{content:"";background:linear-gradient(90deg, var(--primary), #84d8d4);height:4px;position:absolute;inset:0 0 auto}.info-grid span{color:var(--muted);font-weight:750}.info-grid strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.25;overflow:hidden}.user-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.user-summary-grid>div{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#f7fbfc 0,#fff 62%),#fff;align-content:space-between;min-height:98px;padding:14px 16px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #14304614}.user-summary-grid span{color:var(--muted);font-weight:750}.user-summary-grid strong{font-size:28px;line-height:1}.user-toolbar{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(240px,1fr) 150px 150px auto;align-items:center;gap:10px;padding:12px;display:grid}.audit-filter-bar{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(130px,.7fr)) repeat(2,minmax(180px,.9fr)) auto;align-items:center;gap:10px;padding:12px;display:grid}.audit-filter-actions{justify-content:flex-end;gap:8px;display:flex}.clean-data-table{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 1px 2px #1018280a}.clean-data-table .el-table__header th{height:46px;color:var(--muted);background:#f7fbfc;font-size:13px;font-weight:800}.clean-data-table .el-table__cell{vertical-align:middle;padding:14px 0}.clean-data-table .el-table__row:hover>.el-table__cell{background:#fbfefe}.clean-data-table .el-table__row{height:68px}.user-table-main{align-items:center;gap:14px;min-width:0;padding:2px 0;display:flex}.user-table-avatar{background:linear-gradient(135deg, var(--primary-soft), #edf8f7);width:38px;height:38px;color:var(--primary-dark);border:1px solid #cfe7e6;border-radius:10px;flex:none;place-items:center;font-weight:900;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.user-table-copy{gap:5px;min-width:0;display:grid}.user-table-copy strong{color:var(--text);font-size:14px;line-height:1.2}.user-table-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.25;overflow:hidden}.user-profile-cell{flex-wrap:wrap;gap:7px;max-width:420px;display:flex}.user-profile-cell span{color:#35535d;background:#f7fcfb;border:1px solid #d7e8e7;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:750;line-height:1;display:inline-flex}.user-profile-cell span:nth-child(2){color:var(--primary-dark);background:#eef8f7;border-color:#c8e5e3}.user-profile-cell span:nth-child(3){color:#8a4d05;background:#fff8ed;border-color:#f5ddb8}.user-status-cell{align-items:center;gap:8px;display:flex}.role-pill{color:#526a74;white-space:nowrap;background:#f7fbfc;border:1px solid #dce8eb;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.role-pill svg{color:currentColor}.role-pill.admin{color:#a15c07;background:#fff8ed;border-color:#f1d7a9}.table-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.table-actions .el-button{color:#435761;background:#fbfefe;border:1px solid #d8e8eb;border-radius:9px;min-width:68px;height:32px;margin-left:0;padding:0 10px;font-weight:800}.table-actions .el-button>span{align-items:center;gap:5px;display:inline-flex}.table-actions .el-button:hover{color:var(--primary-dark);background:#f5fbfb;border-color:#b9d7d6}.table-actions .el-button--danger{color:#d04444;background:#fff7f7;border-color:#ffd0d0}.table-actions .el-button--danger:hover{color:#b42318;background:#fff0f0;border-color:#ffadad}.table-panel{background:linear-gradient(135deg,#f7fbfc 0,#fff 46%),#fff;overflow:hidden;box-shadow:0 10px 28px #14304614}.table-row{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1.6fr) .7fr .8fr .9fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.table-row:first-child{border-top:0}.table-row span{color:var(--muted)}.table-row>div:first-child{gap:4px;min-width:0;display:grid}.table-row>div:first-child span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-row{grid-template-columns:minmax(220px,1.5fr) .6fr 1fr .9fr}.audit-event-cell{align-items:center;gap:10px;min-width:0;display:flex}.audit-event-cell strong{flex:none}.audit-event-cell span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-state{border-radius:var(--radius);min-height:160px;color:var(--muted);background:#ffffffb3;border:1px dashed #cbdce2;align-content:center;place-items:center;gap:6px;display:grid}.empty-state strong{color:var(--text)}.app-dialog-normal{width:min(560px,100vw - 32px)}.app-dialog-wide{width:min(920px,100vw - 32px)}.app-dialog-doc{width:min(1280px,100vw - 32px)}.app-dialog-normal .el-dialog__body,.app-dialog-wide .el-dialog__body,.app-dialog-doc .el-dialog__body{max-height:min(78vh,760px);overflow:auto}.el-dialog{border-radius:10px;overflow:hidden}.el-dialog__header{border-bottom:1px solid var(--line);padding:18px 22px 12px}.el-dialog__title{color:var(--text);font-weight:800}.el-dialog__body{padding:20px 22px 22px}.modal-form{gap:14px;display:grid}.modal-form.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-hint{color:var(--muted);margin:0;font-weight:750;line-height:1.65}.inline-input-action{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.span-two{grid-column:1/-1}.check-line{border:1px solid var(--line);color:#344751;background:#fbfefe;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-weight:800;display:flex}.check-line input{width:16px;height:16px;accent-color:var(--primary)}.switch-line{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-switch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-switch-item{border-radius:var(--radius);background:linear-gradient(135deg,#f7fbfc 0,#fff 70%),#fff;border:1px solid #d8e8eb;justify-content:space-between;align-items:center;gap:14px;min-height:82px;padding:14px 16px;display:flex;box-shadow:0 6px 18px #1430460f}.settings-switch-item>span{gap:5px;min-width:0;display:grid}.settings-switch-item strong{color:var(--text);font-size:15px;line-height:1.2}.settings-switch-item small{color:#526a74;font-size:12px;font-weight:650;line-height:1.45}.form-actions{justify-content:flex-end;gap:10px;display:flex}.copy-grid{gap:8px;display:grid}.copy-line{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:64px;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:#fbfefe;grid-template-columns:1fr auto;grid-template-areas:"label icon""value icon";align-items:center;gap:6px 10px;padding:10px 12px;display:grid}.copy-line:hover{background:var(--surface-soft)}.copy-line-label{color:var(--muted);grid-area:label;font-size:12px;font-weight:800;line-height:1.2}.copy-line-value{white-space:nowrap;min-width:0;color:var(--text);scrollbar-width:thin;grid-area:value;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.35;overflow-x:auto}.copy-line svg{color:var(--muted);grid-area:icon}.client-detail{gap:16px;display:grid}.app-dialog-doc .client-detail{gap:12px}.doc-mode{background:linear-gradient(#f8fcfc 0%,#eef8f8 100%);border:1px solid #d3e3e7;border-radius:12px;gap:8px;padding:5px;display:flex}.doc-mode .el-button{flex:1;margin-left:0}.markdown-doc{max-height:min(68vh,720px);color:var(--text);background:linear-gradient(90deg,#078f8a0d 0 4px,#0000 4px),#fff;border:1px solid #d5e5e8;border-radius:12px;padding:26px 34px 30px;line-height:1.68;overflow:auto;box-shadow:inset 0 1px #fffc}.markdown-doc>:first-child{margin-top:0}.markdown-doc h1,.markdown-doc h2,.markdown-doc h3{color:var(--text);line-height:1.25}.markdown-doc h1{border-bottom:1px solid #dce9ec;margin:0 0 14px;padding-bottom:14px;font-size:26px}.markdown-doc h2{border-top:1px solid #e0ecef;margin:30px 0 14px;padding-top:22px;font-size:18px}.markdown-doc h2:before{content:"";background:var(--primary);vertical-align:-3px;border-radius:99px;width:7px;height:18px;margin-right:9px;display:inline-block}.markdown-doc h3{color:#24434b;margin:18px 0 10px;font-size:15px}.markdown-doc p,.markdown-doc ul,.markdown-doc ol{margin:0 0 13px}.markdown-doc li{margin:4px 0}.markdown-doc code{color:var(--primary-dark);background:#edf8f7;border-radius:6px;padding:2px 6px 3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.markdown-doc pre{background:#f6fbfb;border:1px solid #cfe1e5;border-radius:10px;margin:0 0 14px;padding:14px 16px;overflow:auto}.markdown-doc pre code{color:#243740;white-space:pre;background:0 0;padding:0}.markdown-doc table{border-collapse:separate;border-spacing:0;border:1px solid #d1e3e7;border-radius:10px;width:100%;margin:0 0 18px;font-size:13px;overflow:hidden;box-shadow:0 8px 22px #1430460d}.markdown-doc th,.markdown-doc td{vertical-align:top;border-bottom:1px solid #dbe9ec;padding:11px 13px}.markdown-doc td{color:#263d47}.markdown-doc td:first-child{color:#17353d;white-space:nowrap;width:168px;font-weight:800}.markdown-doc tr:last-child td{border-bottom:0}.markdown-doc tbody tr:nth-child(2n){background:#fbfefe}.markdown-doc th{color:#17353d;text-align:left;background:#ecf8f7;font-weight:850}.markdown-doc blockquote{border-left:4px solid var(--primary);color:#2f4c57;background:linear-gradient(90deg,#effafa 0%,#fff 100%);border-radius:8px;margin:0 0 18px;padding:14px 16px;font-weight:750}.auth-shell,.consent-shell{place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{border:1px solid var(--line);width:min(980px,100%);min-height:620px;box-shadow:var(--shadow);background:#fff;border-radius:16px;grid-template-columns:1fr 430px;display:grid;position:relative;overflow:hidden}.auth-card-language{z-index:3;position:absolute;top:16px;right:16px}.auth-visual{background:linear-gradient(145deg,#e9f8f7 0%,#fff 72%);align-content:center;gap:18px;padding:44px;display:grid}.auth-visual h1{margin:0;font-size:42px;line-height:1.1}.auth-visual p{max-width:420px;color:var(--muted);margin:0;line-height:1.7}.auth-points{flex-wrap:wrap;gap:8px;display:flex}.auth-points span{color:var(--primary-dark);background:#fff;border-radius:999px;padding:8px 10px;font-weight:800}.auth-form-panel{align-content:center;gap:14px;padding:44px;display:grid}.auth-title-row{align-items:center;gap:12px;display:flex}.auth-title-row>svg{color:var(--primary-dark);flex:none}.auth-title-icon{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:inline-grid;overflow:hidden}.auth-title-icon img{object-fit:cover;width:100%;height:100%}.auth-title-row h2{margin:0;font-size:28px;line-height:1.1}.auth-form-panel h2{margin:0;font-size:28px}.auth-form-panel p{color:var(--muted);margin:0}.auth-link-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.auth-switch{color:var(--primary-dark);text-align:right;font-weight:800}.auth-sub-link{color:var(--primary-dark);font-size:14px;font-weight:700}.auth-link-row a:hover,.auth-link-row a:focus-visible{color:#055f5c}.code-row{grid-template-columns:1fr 118px;align-items:end;gap:10px;display:grid}.consent-card{border:1px solid var(--line);width:min(560px,100%);box-shadow:var(--shadow);background:#fff;border-radius:16px;gap:16px;padding:18px;display:grid}.consent-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.consent-brand{align-items:center;gap:9px;font-weight:900;display:flex}.consent-brand span{width:34px;height:34px}.consent-account{color:var(--muted);font-weight:800}.consent-hero{text-align:center;justify-items:center;gap:8px;padding:14px 0;display:grid}.consent-app-link{appearance:none;background:0 0;border:0;border-radius:18px;margin:0;padding:0}.consent-app-link.linkable{cursor:pointer}.consent-app-link.linkable:hover .consent-app-icon{transform:translateY(-1px);box-shadow:0 14px 26px #078f8a38}.consent-app-link:disabled{cursor:default}.consent-app-icon{background:var(--primary);color:#fff;border-radius:16px;place-items:center;width:64px;height:64px;font-size:24px;font-weight:900;transition:box-shadow .16s,transform .16s;display:grid;overflow:hidden}.consent-hero h1{margin:0;font-size:26px}.consent-hero p{color:var(--muted);margin:0}.text-link-button{appearance:none;color:#087f7b;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:3px 0;font-size:13px;font-weight:850}.text-link-button:hover,.text-link-button:focus-visible{color:#055f5c;text-decoration:underline}.consent-user-card,.permission-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fbfefe;padding:14px}.consent-user-card{align-items:center;gap:12px;display:flex}.consent-user-card span:not(.user-avatar){color:var(--muted);margin-top:3px;display:block}.permission-panel{gap:10px;display:grid}.permission-panel h2{margin:0;font-size:16px}.permission-item{align-items:flex-start;gap:10px;display:flex}.permission-item>span{background:var(--primary-soft);width:30px;height:30px;color:var(--primary-dark);border-radius:8px;place-items:center;font-weight:900;display:grid}.permission-item small{color:var(--muted);margin-top:2px;display:block}.consent-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.consent-actions .el-button{justify-content:center;align-items:center;gap:7px;margin-left:0;display:flex}.app-loading{place-items:center;min-height:220px;display:grid}.app-loading-icon{color:var(--primary);font-size:28px;animation:1s linear infinite loading-rotate}@keyframes loading-rotate{to{transform:rotate(360deg)}}.full-button{width:100%}.table-pagination{justify-content:flex-end;padding:12px 4px 0;display:flex}.mobile-tabbar{display:none}@media (width<=860px){body{background:#f5fafb}.console-shell{padding-bottom:calc(72px + env(safe-area-inset-bottom));display:block}.console-sidebar,.desktop-only{display:none}.console-topbar{justify-content:space-between;align-items:center;height:auto;padding:16px 16px 8px;display:flex}.console-topbar p,.console-user{display:none}.console-topbar h1{font-size:22px}.console-main{padding:8px 16px 20px}.mobile-language-fab{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:35;display:block;position:fixed}.mobile-language-fab .language-switch{background:#fffffff0;border-color:#cfe1e5;min-width:40px;height:40px;padding:0 10px;box-shadow:0 12px 28px #14304629}.mobile-language-fab .language-switch span{display:none}.page-stack{gap:12px}.metric-grid,.metric-grid.two,.info-grid,.user-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.account-overview,.account-info-grid,.session-card-grid{grid-template-columns:1fr}.client-page-hero{flex-direction:column;align-items:stretch}.client-page-hero .el-button{width:fit-content}.account-profile-card{min-height:0;padding:20px}.account-profile-main strong{font-size:22px}.user-toolbar{grid-template-columns:1fr 1fr}.user-toolbar .el-input{grid-column:1/-1}.audit-filter-bar{grid-template-columns:1fr 1fr}.audit-filter-bar>.el-input,.audit-filter-actions{grid-column:1/-1}.dashboard-grant-row{grid-template-columns:1fr;gap:8px}.dashboard-grant-row time{justify-self:start}.grant-row{grid-template-columns:1fr;gap:10px;min-height:0}.grant-card,.client-card{align-items:stretch}.client-card-actions{grid-template-columns:1fr 1fr}.grant-actions{justify-content:space-between}.metric-card{min-height:96px;padding:14px}.metric-card strong{font-size:28px}.compact-row{grid-template-columns:1fr;gap:4px}.table-row,.audit-row{grid-template-columns:1fr;gap:8px}.row-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.row-actions button{min-width:0;padding:0 8px}.mobile-tabbar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #c7dbe0cc;border-radius:18px;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;height:56px;display:grid;position:fixed;box-shadow:0 14px 38px #14304624}.mobile-tabbar a{color:#6a7d86;place-items:center;height:100%;display:grid}.mobile-tabbar a.router-link-active{color:var(--primary-dark)}.el-dialog.app-dialog-normal,.el-dialog.app-dialog-wide,.el-dialog.app-dialog-doc{border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:calc(100dvh - 18px);margin:0}.el-dialog__body{overscroll-behavior:contain;max-height:calc(100dvh - 112px);overflow-y:auto}.el-overlay-dialog{align-items:flex-end;display:flex}.modal-form.two-col{grid-template-columns:1fr}.span-two{grid-column:auto}.settings-switch-grid{grid-template-columns:1fr}.auth-shell{align-items:stretch;min-height:100dvh;padding:14px;display:grid}.consent-shell{align-items:start;padding:14px}.auth-card{border-radius:14px;flex-direction:column;min-height:calc(100dvh - 28px);display:flex}.auth-visual{box-sizing:border-box;grid-template-columns:auto 1fr;align-content:start;align-self:start;align-items:center;gap:8px 12px;height:auto;min-height:132px;padding:18px 24px 10px;display:grid}.auth-visual .auth-logo{border-radius:11px;width:42px;height:42px;font-size:17px}.auth-visual h1{font-size:24px;line-height:1.15}.auth-visual p{grid-column:1/-1;max-width:none;font-size:13px;line-height:1.45}.auth-points{display:none}.auth-form-panel{flex:1;align-content:start;gap:12px;padding:10px 24px 24px}.auth-title-row h2{color:var(--text);font-size:30px;line-height:1.1}.auth-form-panel p{line-height:1.5}.code-row{grid-template-columns:1fr 110px}.consent-card{align-self:center}}@media (width<=520px){.metric-grid,.metric-grid.two,.info-grid,.user-summary-grid{grid-template-columns:1fr}.account-profile-main{align-items:flex-start}.auth-shell{padding:10px}.auth-card-language{top:12px;right:12px}.auth-card-language .language-switch{min-width:36px;height:36px;padding:0 8px}.auth-card-language .language-switch span{display:none}.auth-card{min-height:calc(100dvh - 20px)}.auth-visual{min-height:124px;padding:16px 18px 8px}.auth-title-row h2{font-size:25px}.auth-form-panel{padding:10px 18px 20px}.account-actions{grid-template-columns:1fr;display:grid}.account-actions .el-button{width:100%}.session-card-top{grid-template-columns:38px minmax(0,1fr)}.session-card-top .el-tag{grid-column:1/-1;width:fit-content}.session-card-foot{flex-direction:column;align-items:stretch}.session-card-foot .el-button{width:100%}.client-card-head{flex-direction:column;align-items:flex-start}.client-card-actions{grid-template-columns:1fr 1fr}.client-page-hero .el-button{width:100%}.user-toolbar{grid-template-columns:1fr}.user-toolbar .el-input{grid-column:auto}.audit-filter-bar{grid-template-columns:1fr}.audit-filter-bar>.el-input,.audit-filter-actions{grid-column:auto}.audit-filter-actions .el-button{flex:1}.row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-points{display:none}}
