:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eef1f4;--line: #e2e5ea;--line-strong: #c9cfd8;--ink: #12151c;--ink-2: #3c4453;--ink-3: #5b6472;--ink-4: #6a7484;--brand: #2354a6;--brand-ink: #ffffff;--brand-soft: color-mix(in oklab, var(--brand) 10%, var(--surface));--brand-softer: color-mix(in oklab, var(--brand) 6%, var(--surface));--danger: #c1272d;--success: #137a41;--warning: #946000;--radius: 7px;--shadow-sm: 0 1px 2px rgb(15 23 42 / .06), 0 1px 1px rgb(15 23 42 / .04);--shadow-md: 0 6px 16px rgb(15 23 42 / .08), 0 2px 6px rgb(15 23 42 / .05);--shadow-lg: 0 24px 48px rgb(15 23 42 / .12), 0 8px 20px rgb(15 23 42 / .08);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Inter Tight", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--fs-10: 10.5px;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-17: 17px;--fs-22: 22px;--fs-28: 28px;--radius-sm: 5px;--radius-md: var(--radius);--radius-lg: 10px;--radius-xl: 12px;--radius-pill: 999px;--transition-fast: .12s ease;--transition-base: .15s ease;--pad-modal-x: 16px;--pad-modal-y: 12px;--gap-modal: 10px;--pad-page-y: 20px;--pad-page-x: 24px;--color-primary: var(--brand);--color-primary-strong: var(--brand);--color-primary-bright: var(--brand);--color-primary-hover: color-mix(in oklab, var(--brand) 88%, var(--ink));--color-nav-bg: var(--surface);--color-nav-hover: var(--brand-softer);--color-nav-active: var(--brand-soft);--color-nav-divider: var(--line);--color-nav-text-inactive: var(--ink-2);--color-nav-text-subtitle: var(--ink-3);--color-body-bg: var(--bg);--color-card-bg: var(--surface);--color-card-border: var(--line);--color-topbar-border: var(--line);--color-input-border: var(--line-strong);--color-row-hover: var(--brand-softer);--color-td-border: var(--line);--color-text-h1: var(--ink);--color-text-h2: var(--ink);--color-text-strong: var(--ink);--color-text-body: var(--ink-2);--color-text-muted: var(--ink-3);--color-text-hint: var(--ink-4);--color-success-bg: color-mix(in oklab, var(--success) 10%, var(--surface));--color-success-fg: var(--success);--color-success-dot: var(--success);--color-danger-bg: color-mix(in oklab, var(--danger) 10%, var(--surface));--color-danger-fg: var(--danger);--color-danger-dot: var(--danger);--color-info-bg: var(--brand-soft);--color-info-fg: var(--brand);--color-warning-bg: color-mix(in oklab, var(--warning) 10%, var(--surface));--color-warning-fg: var(--warning);--color-warning-dot: var(--warning);--color-neutral-bg: var(--surface-2);--color-neutral-fg: var(--ink-2);--color-neutral-dot: var(--ink-4);--shadow-card: var(--shadow-sm);--shadow-modal: var(--shadow-lg)}[data-theme=dark]{--bg: #0d1014;--surface: #14171b;--surface-2: #1b1f24;--line: #262b32;--line-strong: #383f48;--ink: #f2f4f7;--ink-2: #c7ccd4;--ink-3: #949dab;--ink-4: #6b7481;--brand: #7db4e8;--brand-ink: #12151c;--danger: #f5a3a3;--success: #4ade80;--warning: #fbbf24;--shadow-sm: 0 1px 2px rgb(0 0 0 / .5), 0 0 0 1px rgb(255 255 255 / .04);--shadow-md: 0 6px 16px rgb(0 0 0 / .55), 0 2px 6px rgb(0 0 0 / .35), 0 0 0 1px rgb(255 255 255 / .05);--shadow-lg: 0 24px 48px rgb(0 0 0 / .65), 0 8px 20px rgb(0 0 0 / .45), 0 0 0 1px rgb(255 255 255 / .07)}*,*:before,*:after{box-sizing:border-box}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0;line-height:inherit;background-color:var(--bg)}hr{height:0;color:inherit;border-top-width:1px}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer;border:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:var(--ink-4)}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}body{font-family:var(--font-sans);font-size:var(--fs-14);line-height:1.5;color:var(--ink-2);font-feature-settings:"kern" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0}h1{font-size:var(--fs-22)}h2{font-size:var(--fs-17)}h3{font-size:var(--fs-15)}code,pre,.mono{font-family:var(--font-mono);font-feature-settings:"ss01","cv11";font-variant-numeric:tabular-nums}.tabular,[data-tabular],td.number,.kpi-value{font-variant-numeric:tabular-nums}.label-sm{font-family:var(--font-mono);font-size:var(--fs-10);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-2) var(--space-4);background:var(--brand);color:var(--brand-ink);border-radius:var(--radius);font-size:var(--fs-14);font-weight:500;text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-4)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.badge,.status-dot,.btn{border:1px solid ButtonText}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*,*:before,*:after{transition:background-color .15s ease,border-color .15s ease,color .15s ease}input:not([type=checkbox]):not([type=radio]):not(.search-input__input),textarea,select,.p-inputtext,.p-textarea{border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px 10px;background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-14)}input:not([type=checkbox]):not([type=radio]):not(.search-input__input)::placeholder,textarea::placeholder,select::placeholder,.p-inputtext::placeholder,.p-textarea::placeholder{color:var(--ink-4)}input:not([type=checkbox]):not([type=radio]):not(.search-input__input):focus,input:not([type=checkbox]):not([type=radio]):not(.search-input__input):focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible,.p-inputtext:focus,.p-inputtext:focus-visible,.p-textarea:focus,.p-textarea:focus-visible{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}input:not([type=checkbox]):not([type=radio]):not(.search-input__input):user-invalid,textarea:user-invalid,select:user-invalid,.p-inputtext:user-invalid,.p-textarea:user-invalid{border-color:var(--danger)}.page-container{width:100%}.shell__main>*:not(router-outlet){display:block;width:100%;max-width:none}.modal-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px}.modal-actions>gkp-button{display:inline-flex;flex:0 0 auto}.modal__body :is(gkp-route-form,gkp-role-form,gkp-tenant-form,gkp-audience-form,gkp-permission-form,gkp-rate-limit-form,gkp-tenant-role-form,gkp-tenant-permission-form){display:flex;flex-direction:column;flex:1;min-height:0}.modal__body>.confirm-dialog{flex:1;min-height:0}.modal__body :is(gkp-route-form,gkp-role-form,gkp-tenant-form,gkp-audience-form,gkp-permission-form,gkp-rate-limit-form,gkp-tenant-role-form,gkp-tenant-permission-form) form{display:flex;flex-direction:column;flex:1;min-height:0;gap:var(--gap-modal)}.modal__body :is([class*=__actions],.confirm-dialog__actions){margin-top:auto;margin-inline:calc(-1 * var(--pad-modal-x));margin-bottom:calc(-1 * var(--pad-modal-y));padding:var(--pad-modal-y) var(--pad-modal-x);border-top:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0;width:calc(100% + 2 * var(--pad-modal-x))}.modal__body :is([class*=__actions],.confirm-dialog__actions)>gkp-button{display:inline-flex;flex:0 0 auto}.confirm-dialog{display:flex;flex-direction:column;gap:var(--gap-modal)}.confirm-dialog__message{font-size:var(--fs-14);color:var(--ink-2);line-height:1.5;margin:0}.confirm-dialog__field{display:flex;flex-direction:column;gap:4px}.confirm-dialog__label{font-size:var(--fs-12);font-weight:500;color:var(--ink-2)}.confirm-dialog__textarea{width:100%;min-height:72px;resize:vertical}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:6px}.confirm-dialog__summary,.confirm-dialog__failures{font-size:var(--fs-13);color:var(--ink-2);margin:0;padding-left:var(--space-4);line-height:1.5}.confirm-dialog__failures{color:var(--danger)}
