@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);:root{--aws-squid-ink:#232f3e;--aws-squid-ink-light:#37475a;--aws-squid-ink-dark:#1a242f;--aws-orange:#ec7211;--aws-orange-hover:#eb5f07;--aws-orange-light:#fef5ec;--aws-blue:#0073bb;--aws-blue-hover:#005a92;--aws-blue-light:#f1faff;--aws-green:#1d8102;--aws-green-light:#f2f8f0;--aws-red:#d13212;--aws-red-light:#fdf3f1;--aws-yellow:#8a6d14;--aws-yellow-light:#fef9e8;--bg-page:#f2f3f3;--bg-card:#fff;--bg-header:var(--aws-squid-ink);--bg-input:#fff;--bg-hover:#f7f7f7;--bg-active:#e9ebed;--bg-selected:#f1faff;--text-primary:#16191f;--text-secondary:#545b64;--text-muted:#687078;--text-disabled:#aab7b8;--text-inverse:#fff;--text-link:var(--aws-blue);--text-link-hover:var(--aws-blue-hover);--border-default:#d5dbdb;--border-input:#aab7b8;--border-divider:#eaeded;--border-focus:var(--aws-blue);--shadow-card:0 1px 1px 0 #001c240a,0 1px 4px -1px #001c2414;--shadow-dropdown:0 4px 20px #001c2426;--shadow-sticky:0 1px 4px -1px #001c241f;--font-family:"Amazon Ember",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono","Fira Code","Fira Mono",Menlo,monospace;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:0.875rem;--font-lg:1rem;--font-xl:1.125rem;--font-2xl:1.25rem;--font-3xl:1.75rem;--space-xxs:0.125rem;--space-xs:0.25rem;--space-s:0.5rem;--space-m:0.75rem;--space-l:1rem;--space-xl:1.25rem;--space-xxl:1.5rem;--space-xxxl:2rem;--radius-s:2px;--radius-m:4px;--radius-l:8px;--radius-xl:16px;--transition-fast:90ms ease;--transition-base:135ms ease}[data-theme=dark]{--aws-squid-ink:#1c2433;--aws-squid-ink-light:#2d3748;--aws-squid-ink-dark:#0d1117;--aws-orange:#f0993e;--aws-orange-hover:#e8872a;--aws-orange-light:#2a1f0e;--aws-blue:#58a6ff;--aws-blue-hover:#79b8ff;--aws-blue-light:#0d2240;--aws-green:#3fb950;--aws-green-light:#0d2a16;--aws-red:#f85149;--aws-red-light:#2d1214;--aws-yellow:#d29922;--aws-yellow-light:#2a2111;--bg-page:#0d1117;--bg-card:#161b22;--bg-header:#010409;--bg-input:#0d1117;--bg-hover:#1c2128;--bg-active:#282e36;--bg-selected:#0d2240;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#6e7681;--text-disabled:#484f58;--text-inverse:#e6edf3;--text-link:var(--aws-blue);--text-link-hover:var(--aws-blue-hover);--border-default:#30363d;--border-input:#3d444d;--border-divider:#21262d;--border-focus:var(--aws-blue);--shadow-card:0 1px 3px #0000004d,0 1px 2px #0003;--shadow-dropdown:0 8px 24px #0006;--shadow-sticky:0 1px 3px #0000004d}.audit-pagination__btn,.audit-stat-card,.audit-table-wrap,.audit-table__json,.audit-toolbar,.audit-toolbar__btn,.audit-toolbar__date,.audit-toolbar__search,.audit-toolbar__select,.chart-panel,.chart-panel--wide,.dashboard__table-wrapper,.dashboard__toolbar,.export-dropdown__menu,.header__dropdown,.header__dropdown-item,.login-card,.pagination__btn,.pagination__select,.ps-stat-card,.ps-table-wrapper,.ps-toolbar,.security-btn,.security-export-dropdown__menu,.security-export-dropdown__trigger,.security-panel,.security-rules-pagination,.security-rules-table input[type=text],.security-rules-table select,.security-stat-card,.stat-card,.tab-nav,.toolbar__filters,.toolbar__input,.toolbar__snapshot-selector,body{transition:background-color .2s ease,color .2s ease,border-color .2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:#f2f3f3;background:var(--bg-page);color:#16191f;color:var(--text-primary);font-family:Amazon Ember,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);font-size:.875rem;font-size:var(--font-base);line-height:1.5;overflow-x:hidden}#root,body{min-height:100vh}#root{display:flex;flex-direction:column}.tab-nav{background:#fff;background:var(--bg-card);border-bottom:1px solid #eaeded;border-bottom:1px solid var(--border-divider);box-shadow:0 1px 4px -1px #001c241f;box-shadow:var(--shadow-sticky);position:-webkit-sticky;position:sticky;top:0;z-index:90}.demo-banner{align-items:center;background:#fef5ec;background:var(--aws-orange-light,#fef8f0);border-bottom:1px solid #ec7211;border-bottom:1px solid var(--aws-orange,#ec7211);color:#8a4b08;color:var(--aws-orange-dark,#8a4b08);display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:8px 16px}[data-theme=dark] .demo-banner{background:#ff990014;color:#f0c06e}.tab-nav__inner{display:flex;gap:0;margin:0 auto;max-width:100%;overflow-x:auto;padding:0 1.5rem;padding:0 var(--space-xxl);scrollbar-width:thin}.tab-nav__divider{background:#eaeded;background:var(--border-divider);flex:0 0 1px;margin:.5rem;margin:var(--space-s) var(--space-s)}.tab-nav__tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#545b64;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:Amazon Ember,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);font-size:.875rem;font-size:var(--font-base);font-weight:500;gap:.5rem;gap:var(--space-s);padding:.75rem 1.25rem;padding:var(--space-m) var(--space-xl);transition:all 135ms ease;transition:all var(--transition-base);white-space:nowrap}.tab-nav__tab:hover{background:#f7f7f7;background:var(--bg-hover);color:#16191f;color:var(--text-primary)}.tab-nav__tab--active{border-bottom-color:#0073bb;border-bottom-color:var(--aws-blue);color:#0073bb;color:var(--aws-blue);font-weight:600}.tab-nav__tab--active:hover{background:#0000;color:#0073bb;color:var(--aws-blue)}:focus-visible{outline:2px solid #0073bb;outline:2px solid var(--border-focus);outline-offset:2px}.shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f2f3f3,#e8e8e8 50%,#f2f3f3);background:linear-gradient(90deg,var(--bg-page) 0,#e8e8e8 50%,var(--bg-page) 100%);background-size:200% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f2f3f3;background:var(--bg-page)}::-webkit-scrollbar-thumb{background:#d5dbdb;background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#687078;background:var(--text-muted)}@media print{body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.dashboard__toolbar,.export-dropdown,.header,.header__actions,.toolbar__filters,.toolbar__meta,.toolbar__search{display:none!important}.dashboard{max-width:100%;padding:0}.dashboard__stats{gap:8px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.stat-card{page-break-inside:avoid}.dashboard__table-wrapper,.stat-card{border:1px solid #d5dbdb;box-shadow:none}.dashboard__table{font-size:10px}.print-header{border-bottom:2px solid #232f3e;border-bottom:2px solid var(--aws-squid-ink);display:block!important;margin-bottom:16px;padding:16px 0}.print-header h1{color:#232f3e;color:var(--aws-squid-ink);font-size:18px}.print-header p{color:#545b64;color:var(--text-secondary);font-size:11px}}.header{position:-webkit-sticky;position:sticky;top:0;z-index:100}.header__top-bar{align-items:center;background:var(--bg-header);box-shadow:var(--shadow-sticky);display:flex;height:48px;justify-content:space-between;padding:0 var(--space-xl)}.header__brand{gap:var(--space-s)}.header__brand,.header__logo{align-items:center;display:flex}.header__logo{flex-shrink:0;justify-content:center;margin-right:var(--space-xs)}.header__title-group{align-items:center;display:flex}.header__title{color:var(--text-inverse);font-size:var(--font-sm);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.header__title-accent{color:#f90;font-weight:700;margin-left:6px}.header__actions{align-items:center;display:flex;gap:var(--space-m)}.header__theme-toggle{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--radius-m);color:var(--text-inverse);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease;width:32px}.header__theme-toggle:hover{background:#ffffff26;border-color:#ffffff4d}.header__btn{align-items:center;border-radius:var(--radius-m);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-xs);font-weight:600;gap:var(--space-xs);height:30px;line-height:1.5;padding:4px 12px;transition:all var(--transition-fast);white-space:nowrap}.header__btn--secondary{background:#0000;border:1px solid #ffffff59;color:var(--text-inverse)}.header__btn--secondary:hover{background:#ffffff1a;border-color:#fff9}.header__btn--primary{background:var(--aws-orange);border:1px solid var(--aws-orange);color:var(--text-inverse)}.header__btn--primary:hover{background:var(--aws-orange-hover);border-color:var(--aws-orange-hover)}.header__user-menu{position:relative}.header__user-trigger{align-items:center;background:none;border:1px solid #0000;border-radius:var(--radius-m);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--space-s);padding:4px 10px;transition:all .15s ease}.header__user-trigger:hover{background:#ffffff14;border-color:#ffffff26}.header__avatar{align-items:center;background:var(--aws-orange);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.header__user-info{display:flex;flex-direction:column;text-align:left}.header__user-name{color:var(--text-inverse);font-size:var(--font-xs);font-weight:500;line-height:1.2}.header__user-email{color:#ffffff8c;font-size:10px;line-height:1.2}.header__chevron{color:#fff9;margin-left:2px;transition:transform .2s ease}.header__chevron--open{transform:rotate(180deg)}.header__dropdown{animation:dropdownAppear .15s ease both;background:var(--bg-card);border:1px solid var(--border-default);border-radius:10px;box-shadow:var(--shadow-dropdown);overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);width:260px;z-index:200}@keyframes dropdownAppear{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.header__dropdown-user{align-items:center;display:flex;gap:12px;padding:16px}.header__dropdown-avatar{align-items:center;background:var(--aws-orange);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:36px;justify-content:center;width:36px}.header__dropdown-name{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3}.header__dropdown-email{color:var(--text-muted);font-size:12px;line-height:1.3;margin-top:1px}.header__dropdown-divider{background:var(--border-divider);height:1px}.header__dropdown-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-family);font-size:13px;font-weight:500;gap:10px;padding:12px 16px;text-align:left;transition:background .12s ease;width:100%}.header__dropdown-item:hover{background:var(--bg-hover)}.header__dropdown-item--danger{color:var(--aws-red)}.header__dropdown-item--danger:hover{background:var(--aws-red-light)}@media (max-width:640px){.header__top-bar{padding:0 var(--space-m)}.header__btn span,.header__chevron,.header__title-accent,.header__user-info{display:none}}.security-container{display:flex;flex-direction:column;gap:1.5rem;gap:var(--space-xl,1.5rem);padding:2rem 1.5rem;padding:var(--space-xxl,2rem) var(--space-xl,1.5rem)}.security-stats{grid-gap:1rem;animation:fadeUp .4s ease-out;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.security-stat-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);display:flex;gap:12px;padding:1rem 1.25rem;transition:box-shadow .15s}.security-stat-card:hover{box-shadow:0 2px 8px #0000000f}.security-stat-card--critical{border-left:4px solid #dc2626}.security-stat-card--high{border-left:4px solid #ea580c}.security-stat-card--medium{border-left:4px solid #d97706}.security-stat-card--low{border-left:4px solid #6b7280}.security-stat-card__icon{font-size:1.5rem}.security-stat-card__content{display:flex;flex-direction:column}.security-stat-card__value{color:var(--text-primary);font-size:var(--font-3xl);font-weight:700;line-height:1}.security-stat-card__label{color:var(--text-muted);font-size:var(--font-xs);margin-top:2px}.security-panel{animation:fadeUp .4s ease-out;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);overflow:hidden}.security-panel__header{align-items:flex-start;background:var(--bg-hover);border-bottom:1px solid var(--border-divider);display:flex;justify-content:space-between;padding:1rem 1.25rem}.security-panel__title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--font-lg);font-weight:600;gap:6px;margin:0}.security-panel__subtitle{color:var(--text-muted);font-size:var(--font-xs);margin:4px 0 0}.security-panel__actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.security-panel__body{padding:0}.security-panel__empty{color:var(--text-muted);font-size:var(--font-sm);padding:2rem;text-align:center}.security-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:var(--font-xs);font-weight:500;gap:4px;padding:6px 14px;transition:all .15s;white-space:nowrap}.security-btn:hover{background:var(--bg-hover)}.security-btn--primary{background:var(--aws-blue);border-color:var(--aws-blue);color:#fff}.security-btn--primary:hover{background:var(--aws-blue-hover)}.security-btn--success{background:var(--aws-green);border-color:var(--aws-green);color:#fff}.security-btn--success:hover{opacity:.9}.security-btn--danger{border-color:var(--aws-red);color:var(--aws-red)}.security-btn--danger:hover{background:var(--aws-red-light)}.security-btn--ghost{background:#0000;border:1px solid var(--border-default)}.security-btn--ghost:hover{background:var(--bg-hover)}.security-btn--icon{font-size:.7rem;padding:4px 8px}.security-btn--add{border-color:var(--aws-blue);border-style:dashed;color:var(--aws-blue);justify-content:center;margin:12px 16px;opacity:.7;width:calc(100% - 32px)}.security-btn--add:hover{background:var(--aws-blue-light);opacity:1}.security-message{border-bottom:1px solid var(--border-divider);font-size:var(--font-sm);font-weight:500;padding:10px 16px}.security-message--success{background:var(--aws-green-light);color:var(--aws-green)}.security-message--error{background:var(--aws-red-light);color:var(--aws-red)}.risk-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.72rem;font-weight:600;gap:3px;padding:3px 10px;white-space:nowrap}.risk-badge--sm{font-size:.68rem;padding:2px 8px}.security-flagged-table{border-collapse:collapse;width:100%}.security-flagged-table th{background:var(--bg-hover);border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--font-xs);font-weight:600;letter-spacing:.5px;padding:10px 16px;text-align:left;text-transform:uppercase}.security-flagged-table td{border-bottom:1px solid var(--border-divider);font-size:var(--font-sm);padding:10px 16px;vertical-align:top}.security-flagged-table tr:last-child td{border-bottom:none}.security-ps-name{color:var(--text-primary);display:block;font-weight:600}.security-ps-arn{color:var(--text-muted);display:block;font-family:var(--font-mono);font-size:var(--font-xs);word-break:break-all}.security-reasons{list-style:disc;margin:0;padding:0 0 0 16px}.security-reasons li{margin-bottom:4px}.security-reason__rule{background:var(--bg-active);border-radius:3px;margin-right:4px;padding:1px 5px}.security-reason__rule,.security-reason__text{color:var(--text-secondary);font-size:var(--font-xs)}.security-rules-table{border-collapse:collapse;width:100%}.security-rules-table th{background:var(--bg-hover);border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--font-xs);font-weight:600;letter-spacing:.5px;padding:10px 16px;text-align:left;text-transform:uppercase}.security-rules-table td{border-bottom:1px solid var(--border-divider);font-size:var(--font-sm);padding:8px 16px;vertical-align:middle}.security-rules-table input[type=text],.security-rules-table select{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-m);color:var(--text-primary);font-size:var(--font-xs);padding:5px 8px;width:100%}.security-rules-table input[type=text]:focus,.security-rules-table select:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #0073bb26;outline:none}.security-rule-type{color:var(--text-secondary);font-size:var(--font-xs)}.security-rule-pattern{background:var(--bg-active);border-radius:var(--radius-m);color:var(--text-primary);font-size:var(--font-xs);padding:2px 6px}.security-rule-match{color:var(--text-muted);font-size:var(--font-xs)}.security-rule-reason{color:var(--text-secondary);font-size:var(--font-xs)}.security-rules-pagination{align-items:center;background:var(--bg-card);border-top:1px solid var(--border-divider);color:var(--text-muted);display:flex;font-size:var(--font-xs);justify-content:space-between;padding:10px 16px}.security-rules-pagination .pagination__left{align-items:center;display:flex;gap:8px}.security-rules-pagination .pagination__select{-webkit-appearance:none;appearance:none;background:var(--bg-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m2 3.5 3 3 3-3' stroke='%23545b64' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border-default);border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;font-size:var(--font-xs);outline:none;padding:2px 24px 2px 8px;transition:border-color .15s}.security-rules-pagination .pagination__select:focus{border-color:var(--border-focus)}.security-rules-pagination .pagination__right{align-items:center;display:flex;gap:16px}.security-rules-pagination .pagination__info{font-weight:500}.security-rules-pagination .pagination__buttons{align-items:center;display:flex;gap:4px}.security-rules-pagination .pagination__btn{align-items:center;background:#0000;border:1px solid var(--border-default);border-radius:var(--radius-s);color:var(--text-primary);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.security-rules-pagination .pagination__btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus)}.security-rules-pagination .pagination__btn:disabled{background:var(--bg-hover);border-color:#0000;cursor:not-allowed;opacity:.4}.security-rules-pagination .pagination__current-page{color:var(--text-primary);font-size:var(--font-xs);font-weight:600;padding:0 8px}.security-export-dropdown{position:relative}.security-export-dropdown__trigger{align-items:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:var(--font-xs);font-weight:500;gap:4px;padding:6px 14px;transition:all .15s;white-space:nowrap}.security-export-dropdown__trigger:hover{background:var(--bg-hover)}.security-export-dropdown__caret{margin-left:2px}.security-export-dropdown__menu{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-dropdown);min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.security-export-dropdown__item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-xs);gap:10px;padding:10px 14px;text-align:left;transition:background .1s;width:100%}.security-export-dropdown__item:hover{background:var(--bg-hover)}.security-export-dropdown__item-title{font-weight:500}.security-export-dropdown__item-desc{color:var(--text-muted);font-size:var(--font-xs)}.security-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:var(--font-sm);gap:12px;justify-content:center;min-height:300px}.security-loading__spinner{animation:spin .6s linear infinite;border-top:3px solid var(--border-divider);border:3px solid var(--border-divider);border-radius:50%;border-top-color:var(--aws-blue);height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.security-stats{grid-template-columns:repeat(2,1fr)}.security-panel__header{flex-direction:column;gap:12px}}@media print{.security-export-dropdown,.security-panel__actions,.security-rules-pagination{display:none!important}}.dashboard{display:flex;flex-direction:column;gap:var(--space-xl);margin:0 auto;max-width:100%;padding:var(--space-xxl) var(--space-xl)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dashboard__stats{animation:fadeUp .4s ease both}.dashboard__toolbar{animation:fadeUp .4s ease .2s both}.dashboard__table-wrapper{animation:fadeUp .4s ease .3s both}.dashboard__alert{align-items:flex-start;animation:slideDown .2s ease;border-radius:var(--radius-l);display:flex;font-size:var(--font-sm);gap:var(--space-m);padding:var(--space-m) var(--space-l)}.dashboard__alert--warning{background:var(--aws-yellow-light);border:1px solid #e3c87d;color:var(--aws-yellow)}.dashboard__alert-icon{flex-shrink:0;margin-top:1px}.dashboard__alert-content strong{font-weight:600}.dashboard__alert-detail{color:var(--text-muted)}.dashboard__stats{grid-gap:var(--space-l);display:grid;gap:var(--space-l);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{align-items:center;animation:scaleIn .35s ease both;background:var(--bg-card);border:1px solid var(--border-default);border-left:4px solid #0000;border-radius:var(--radius-l);box-shadow:var(--shadow-card);display:flex;gap:var(--space-l);padding:var(--space-xl) var(--space-xxl);transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.stat-card:first-child{animation-delay:50ms}.stat-card:nth-child(2){animation-delay:.12s}.stat-card:nth-child(3){animation-delay:.19s}.stat-card:nth-child(4){animation-delay:.26s}.stat-card:hover{box-shadow:0 1px 1px 0 #001c240f,0 2px 8px -2px #001c241f;transform:translateY(-2px)}.stat-card--blue{border-left-color:var(--aws-blue)}.stat-card--blue .stat-card__icon{background:var(--aws-blue-light);color:var(--aws-blue)}.stat-card--teal{border-left-color:#0d7c8a}.stat-card--teal .stat-card__icon{background:#f0fafb;color:#0d7c8a}.stat-card--green{border-left-color:var(--aws-green)}.stat-card--green .stat-card__icon{background:var(--aws-green-light);color:var(--aws-green)}.stat-card--purple{border-left-color:#6b2fa0}.stat-card--purple .stat-card__icon{background:#f8f3fb;color:#6b2fa0}.stat-card__icon{align-items:center;border-radius:var(--radius-l);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.stat-card__content{display:flex;flex-direction:column;gap:2px}.stat-card__value{color:var(--text-primary);font-size:var(--font-3xl);font-weight:700;letter-spacing:-.02em;line-height:1}.stat-card__label{color:var(--text-secondary);font-size:var(--font-sm);font-weight:400}.stat-card--loading{border-left-color:var(--border-default);min-height:88px}.skeleton-line{background:var(--bg-page)}.skeleton-line,.skeleton-row{border-radius:var(--radius-s)}.skeleton-row{height:44px;margin-bottom:var(--space-s)}.dashboard__toolbar{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;padding:var(--space-m) var(--space-l);position:relative;z-index:10}.dashboard__toolbar,.toolbar__left{align-items:center;display:flex;gap:var(--space-m)}.toolbar__left{flex:1 1;min-width:0}.toolbar__right{align-items:center;display:flex;flex-shrink:0;gap:var(--space-l)}.toolbar__search{flex:1 1;max-width:400px;min-width:200px;position:relative}.toolbar__search-icon{color:var(--text-muted);left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.toolbar__input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-m);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-sm);height:32px;outline:none;padding:6px 10px 6px 32px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.toolbar__input::placeholder{color:var(--text-disabled)}.toolbar__input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #0073bb33}.toolbar__filters{background:var(--bg-page);border:1px solid var(--border-default);border-radius:var(--radius-m);display:flex;gap:2px;padding:2px}.toolbar__filter{background:#0000;border:none;border-radius:var(--radius-s);color:var(--text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-xs);font-weight:600;padding:4px 14px;transition:all var(--transition-fast);white-space:nowrap}.toolbar__filter:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar__filter--active{background:var(--bg-card);box-shadow:0 1px 2px #00000014;color:var(--text-primary)}.toolbar__count{color:var(--text-secondary);font-weight:500}.toolbar__count,.toolbar__timestamp{font-size:var(--font-xs);white-space:nowrap}.toolbar__timestamp{color:var(--text-muted)}.toolbar__snapshot-selector{align-items:center;background:var(--bg-page);border:1px solid var(--border-default);border-radius:var(--radius-m);display:flex;gap:var(--space-s);height:32px;padding:0 10px}.toolbar__snapshot-label{color:var(--text-secondary);font-size:var(--font-xs);font-weight:500}.toolbar__snapshot-select{background:#0000;border:none;color:var(--text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-sm);font-weight:600;outline:none;padding-right:4px}.toolbar__snapshot-select:focus{color:var(--aws-blue)}.toolbar__action-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-xs);font-weight:600;gap:6px;height:32px;padding:5px 12px;transition:all var(--transition-fast);white-space:nowrap}.toolbar__action-btn:hover{background:var(--bg-hover);border-color:var(--border-focus)}.export-dropdown{position:relative}.export-dropdown__trigger{align-items:center;background:var(--aws-orange);border:1px solid var(--aws-orange);border-radius:var(--radius-m);color:var(--text-inverse);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-xs);font-weight:600;gap:6px;height:32px;padding:5px 12px;transition:all var(--transition-fast);white-space:nowrap}.export-dropdown__trigger:hover{background:var(--aws-orange-hover);border-color:var(--aws-orange-hover)}.export-dropdown__caret{margin-left:2px}.export-dropdown__menu{animation:slideDown .12s ease;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-dropdown);overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);width:240px;z-index:50}.export-dropdown__item{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--border-divider);color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--space-m);padding:var(--space-m) var(--space-l);text-align:left;transition:background var(--transition-fast);width:100%}.export-dropdown__item:last-child{border-bottom:none}.export-dropdown__item:hover{background:var(--bg-hover)}.export-dropdown__item svg{color:var(--text-muted);flex-shrink:0}.export-dropdown__item-title{color:var(--text-primary);font-size:var(--font-sm);font-weight:500;line-height:1.3}.export-dropdown__item-desc{color:var(--text-muted);font-size:var(--font-xs);line-height:1.3}.dashboard__table-wrapper{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);overflow:hidden}.dashboard__table-header{align-items:center;border-bottom:1px solid var(--border-divider);display:flex;gap:var(--space-m);padding:var(--space-l) var(--space-xl)}.dashboard__table-title{color:var(--text-primary);font-size:var(--font-lg);font-weight:700}.dashboard__table-badge{align-items:center;background:var(--aws-blue-light);border-radius:11px;color:var(--aws-blue);display:inline-flex;font-size:11px;font-weight:600;height:22px;justify-content:center;min-width:22px;padding:0 6px}.dashboard__table-scroll{overflow-x:auto}.dashboard__table{border-collapse:collapse;width:100%}.dashboard__th{background:var(--bg-hover);border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--font-xs);font-weight:600;letter-spacing:.04em;padding:var(--space-m) var(--space-l);text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.dashboard__th--sortable{cursor:pointer;transition:color var(--transition-fast)}.dashboard__th--sortable:hover{color:var(--text-primary)}.dashboard__th--active{color:var(--aws-blue)}.dashboard__th .sort-icon{margin-left:4px;vertical-align:middle}.dashboard__tr{animation:fadeUp .3s ease both;transition:background var(--transition-fast)}.dashboard__tr:first-child{animation-delay:.32s}.dashboard__tr:nth-child(2){animation-delay:.35s}.dashboard__tr:nth-child(3){animation-delay:.38s}.dashboard__tr:nth-child(4){animation-delay:.41s}.dashboard__tr:nth-child(5){animation-delay:.44s}.dashboard__tr:nth-child(6){animation-delay:.47s}.dashboard__tr:nth-child(7){animation-delay:.5s}.dashboard__tr:nth-child(8){animation-delay:.53s}.dashboard__tr:nth-child(9){animation-delay:.56s}.dashboard__tr:nth-child(10){animation-delay:.59s}.dashboard__tr:nth-child(n+11){animation-delay:.62s}.dashboard__tr:hover{background:var(--bg-hover)}.dashboard__td{border-bottom:1px solid var(--border-divider);color:var(--text-primary);font-size:var(--font-sm);padding:var(--space-m) var(--space-l);vertical-align:middle}.dashboard__empty{align-items:center;color:var(--text-muted);gap:var(--space-s);padding:var(--space-xxxl) var(--space-l);text-align:center}.cell__account,.dashboard__empty{display:flex;flex-direction:column}.cell__account{gap:1px}.cell__account-name{color:var(--text-primary);font-weight:600}.cell__account-id{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-xs)}.cell__principal{font-weight:500}.cell__email{color:var(--text-secondary)}.cell__permission{background:var(--bg-selected);color:var(--aws-blue)}.badge,.cell__permission{border-radius:var(--radius-s);display:inline-flex;font-size:var(--font-xs);font-weight:600;padding:2px 8px}.badge{align-items:center;letter-spacing:.02em;text-transform:uppercase}.badge--user{background:var(--aws-blue-light);color:var(--aws-blue)}.badge--group{background:var(--aws-green-light);color:var(--aws-green)}.cell__group{color:var(--text-secondary);font-weight:500}.cell__assigned-by{color:var(--text-secondary);font-size:var(--font-xs)}.cell__assigned-at{color:var(--text-muted);display:block;font-size:11px;margin-top:2px}.dashboard__pagination{align-items:center;background:var(--bg-card);border-top:1px solid var(--border-divider);color:var(--text-secondary);display:flex;font-size:var(--font-sm);justify-content:space-between;padding:var(--space-m) var(--space-l)}.pagination__left{align-items:center;display:flex;gap:var(--space-s)}.pagination__select{-webkit-appearance:none;appearance:none;background:var(--bg-input);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m2 3.5 3 3 3-3' stroke='%23545b64' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border-input);border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-sm);outline:none;padding:2px 24px 2px 8px;transition:border-color var(--transition-fast)}.pagination__select:focus{border-color:var(--border-focus)}.pagination__right{align-items:center;display:flex;gap:var(--space-l)}.pagination__info{font-weight:500}.pagination__buttons{align-items:center;display:flex;gap:4px}.pagination__btn{align-items:center;background:#0000;border:1px solid var(--border-default);border-radius:var(--radius-s);color:var(--text-primary);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all var(--transition-fast);width:28px}.pagination__btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus)}.pagination__btn:disabled{background:var(--bg-page);border-color:#0000;cursor:not-allowed;opacity:.4}.pagination__current-page{color:var(--text-primary);font-size:var(--font-sm);font-weight:600;padding:0 8px}@media (max-width:768px){.dashboard{gap:var(--space-l);padding:var(--space-l) var(--space-m)}.dashboard__stats{grid-template-columns:repeat(2,1fr)}.dashboard__toolbar{align-items:stretch}.dashboard__toolbar,.toolbar__left{flex-direction:column}.toolbar__right{flex-wrap:wrap;justify-content:flex-end}.toolbar__search{max-width:100%}}@media (max-width:480px){.dashboard__stats{grid-template-columns:1fr}.stat-card{padding:var(--space-l)}.export-dropdown__menu{right:-8px;width:200px}}.charts-grid{grid-gap:var(--space-l);display:grid;gap:var(--space-l);grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.chart-panel{animation:fadeUp .4s ease both;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}.chart-panel:hover{box-shadow:0 1px 1px 0 #001c240f,0 4px 12px -2px #001c241f;transform:translateY(-2px)}.chart-panel:first-child{animation-delay:.1s}.chart-panel:nth-child(2){animation-delay:.18s}.chart-panel:nth-child(3){animation-delay:.26s}.chart-panel--wide{animation:fadeUp .4s ease both;animation-delay:.26s;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);display:flex;flex-direction:column;grid-column:1/-1;overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}.chart-panel--wide:hover{box-shadow:0 1px 1px 0 #001c240f,0 4px 12px -2px #001c241f;transform:translateY(-2px)}.chart-panel__header{align-items:center;border-bottom:1px solid var(--border-divider);display:flex;gap:var(--space-m);justify-content:space-between;padding:var(--space-l) var(--space-xl)}.chart-panel__header-text{min-width:0}.chart-panel__pagination{align-items:center;display:flex;flex-shrink:0;gap:8px}.chart-pagination__info{color:var(--text-secondary);font-size:var(--font-xs);font-weight:500}.chart-pagination__btn{align-items:center;background:#0000;border:1px solid var(--border-default);border-radius:var(--radius-s);color:var(--text-primary);cursor:pointer;display:flex;height:24px;justify-content:center;transition:all var(--transition-fast);width:24px}.chart-pagination__btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus)}.chart-pagination__btn:disabled{background:var(--bg-page);border-color:#0000;cursor:not-allowed;opacity:.4}.chart-panel__title{color:var(--text-primary);font-size:var(--font-lg);font-weight:700;line-height:1.3}.chart-panel__subtitle{color:var(--text-muted);font-size:var(--font-xs);margin-top:2px}.chart-panel__body{flex:1 1;justify-content:center;padding:var(--space-xl)}.bar-chart,.chart-panel__body{display:flex;flex-direction:column}.bar-chart,.bar-chart__row{gap:var(--space-m)}.bar-chart__row{align-items:center;display:flex}.bar-chart__label{color:var(--text-secondary);flex-shrink:0;font-size:var(--font-xs);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:120px}.bar-chart__track{background:var(--bg-page);border-radius:var(--radius-s);flex:1 1;height:22px;overflow:hidden}.bar-chart__fill{animation:barGrow .6s cubic-bezier(.23,1,.32,1) both;border-radius:var(--radius-s);height:100%;min-width:4px;transition:width .6s cubic-bezier(.23,1,.32,1)}@keyframes barGrow{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.bar-chart__value{color:var(--text-primary);flex-shrink:0;font-size:var(--font-sm);font-weight:700;text-align:right;width:32px}.heatmap-wrapper{display:flex;flex-direction:column;gap:var(--space-m)}.heatmap-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.heatmap{border-collapse:initial;border-spacing:2px;table-layout:auto;width:100%}.heatmap__corner{min-width:120px;width:140px}.heatmap__col-header{font-size:11px;letter-spacing:-.02em;min-width:100px;padding:6px 8px 8px;text-align:center;word-break:break-word}.heatmap__col-header,.heatmap__row-header{color:var(--text-secondary);font-weight:600}.heatmap__row-header{font-size:12px;max-width:140px;overflow:hidden;padding:0 8px 0 0;text-align:right;text-overflow:ellipsis;white-space:nowrap}.heatmap__cell{border:1px solid var(--border-divider);border-radius:var(--radius-s);cursor:default;font-size:12px;font-weight:700;height:36px;min-width:36px;position:relative;text-align:center;transition:transform .12s ease,box-shadow .12s ease;vertical-align:middle;width:44px}.heatmap__cell--active:hover{box-shadow:0 2px 8px #0000002e;transform:scale(1.15);z-index:2}.heatmap-legend{align-items:center;display:flex;gap:3px;justify-content:flex-end}.heatmap-legend__label{color:var(--text-muted);font-size:10px;font-weight:500;padding:0 3px}.heatmap-legend__swatch{border:1px solid var(--border-divider);border-radius:2px;display:inline-block;height:14px;width:14px}@media (max-width:900px){.charts-grid{grid-template-columns:1fr}.chart-panel--wide{grid-column:auto}}@media (max-width:480px){.bar-chart__label{font-size:11px;width:80px}}@media print{.charts-grid{display:none!important}}.ps-container{display:flex;flex-direction:column;gap:var(--space-xl);margin:0 auto;max-width:100%;padding:var(--space-xxl) var(--space-xl)}.ps-container,.ps-stats{animation:fadeUp .4s ease both}.ps-stats{grid-gap:var(--space-l);display:grid;gap:var(--space-l);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ps-stat-card{align-items:center;animation:scaleIn .35s ease both;background:var(--bg-card);border:1px solid var(--border-default);border-left:4px solid #0000;border-radius:var(--radius-l);box-shadow:var(--shadow-card);display:flex;gap:var(--space-l);padding:var(--space-xl) var(--space-xxl);transition:box-shadow var(--transition-base),transform var(--transition-base)}.ps-stat-card:first-child{animation-delay:50ms}.ps-stat-card:nth-child(2){animation-delay:.12s}.ps-stat-card:nth-child(3){animation-delay:.19s}.ps-stat-card:nth-child(4){animation-delay:.26s}.ps-stat-card:hover{box-shadow:0 1px 1px 0 #001c240f,0 2px 8px -2px #001c241f;transform:translateY(-2px)}.ps-stat-card--purple{border-left-color:#6b2fa0}.ps-stat-card--purple .ps-stat-card__icon{background:#f8f3fb;color:#6b2fa0}.ps-stat-card--blue{border-left-color:var(--aws-blue)}.ps-stat-card--blue .ps-stat-card__icon{background:var(--aws-blue-light);color:var(--aws-blue)}.ps-stat-card--teal{border-left-color:#0d7c8a}.ps-stat-card--teal .ps-stat-card__icon{background:#f0fafb;color:#0d7c8a}.ps-stat-card--green{border-left-color:var(--aws-green)}.ps-stat-card--green .ps-stat-card__icon{background:var(--aws-green-light);color:var(--aws-green)}.ps-stat-card--loading{border-left-color:var(--border-default);min-height:88px}.ps-stat-card__icon{align-items:center;border-radius:var(--radius-l);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.ps-stat-card__content{display:flex;flex-direction:column;gap:2px}.ps-stat-card__value{color:var(--text-primary);font-size:var(--font-3xl);font-weight:700;letter-spacing:-.02em;line-height:1}.ps-stat-card__label{color:var(--text-secondary);font-size:var(--font-sm);font-weight:400}.ps-toolbar{align-items:center;animation:fadeUp .4s ease .2s both;display:flex;flex-wrap:wrap;gap:var(--space-m);justify-content:space-between;padding:var(--space-m) var(--space-l);position:relative;z-index:10}.ps-table-wrapper,.ps-toolbar{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card)}.ps-table-wrapper{animation:fadeUp .4s ease .3s both;overflow:hidden}.ps-table-header{align-items:center;border-bottom:1px solid var(--border-divider);display:flex;gap:var(--space-m);padding:var(--space-l) var(--space-xl)}.ps-table-title{color:var(--text-primary);font-size:var(--font-lg);font-weight:700}.ps-legend{align-items:center;background:var(--bg-hover);border-bottom:1px solid var(--border-divider);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:11px;gap:var(--space-m);padding:var(--space-s) var(--space-xl)}.ps-legend__item{align-items:center;display:inline-flex;gap:5px}.ps-legend__swatch{border-radius:2px;display:inline-block;flex-shrink:0;height:10px;width:10px}.ps-legend__swatch--aws{background:var(--aws-blue)}.ps-legend__swatch--customer{background:#f59e0b;border:1px solid #fde68a}.ps-legend__swatch--boundary{background:#ea580c;border:1px solid #fed7aa}.ps-legend__sep{color:var(--border-default);font-weight:300}.ps-legend__hint{color:var(--text-muted);font-style:italic}.ps-table-badge{align-items:center;background:var(--aws-blue-light);border-radius:11px;color:var(--aws-blue);display:inline-flex;font-size:11px;font-weight:600;height:22px;justify-content:center;min-width:22px;padding:0 6px}.ps-table-scroll{overflow-x:auto}.ps-table{border-collapse:collapse;min-width:100%;width:-webkit-max-content;width:max-content}.ps-th{background:var(--bg-hover);border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.04em;padding:var(--space-s) var(--space-m);position:relative;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.ps-th__label{display:inline}.ps-th--sortable{cursor:pointer;transition:color var(--transition-fast)}.ps-th--sortable:hover{color:var(--text-primary)}.ps-th--active{color:var(--aws-blue)}.ps-th .sort-icon{margin-left:3px;vertical-align:middle}.ps-resize-handle{background:#0000;cursor:col-resize;height:100%;position:absolute;right:-2px;top:0;transition:background .15s;width:5px;z-index:10}.ps-resize-handle:active,.ps-resize-handle:hover{background:var(--aws-blue);opacity:.5}.ps-tr{border-bottom:1px solid var(--border-divider);transition:background var(--transition-fast)}.ps-tr:hover{background:var(--bg-hover)}.ps-tr--expanded{background:var(--aws-blue-light)}.ps-td{word-wrap:break-word;color:var(--text-primary);font-size:var(--font-sm);overflow-wrap:break-word;padding:var(--space-s) var(--space-m);vertical-align:top}.ps-td--attribution{color:var(--text-secondary);font-size:var(--font-xs)}.ps-attribution__date{color:var(--text-muted);display:block;font-size:11px;margin-top:2px}.ps-table-empty{color:var(--text-muted);padding:var(--space-xxxl) var(--space-l)!important;text-align:center}.ps-empty{color:var(--text-disabled)}.ps-name{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:4px;text-decoration:none;word-break:break-word}.ps-name--link{color:var(--aws-blue);transition:color var(--transition-fast)}.ps-name--link:hover{color:var(--aws-blue-hover);text-decoration:underline}.ps-name-icon{flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.ps-name--link:hover .ps-name-icon{opacity:1}.ps-arn{color:var(--text-muted);display:block;font-family:var(--font-mono);font-size:10px;margin-top:2px;word-break:break-all}.ps-desc{color:var(--text-secondary);line-height:1.4;word-break:break-word}.ps-desc,.ps-prov-badge{font-size:var(--font-xs)}.ps-prov-badge{align-items:center;border-radius:var(--radius-s);display:inline-flex;font-weight:600;gap:3px;padding:2px 8px}.ps-prov-badge--yes{background:var(--aws-green-light);color:var(--aws-green)}.ps-prov-badge--no{background:var(--bg-hover);color:var(--text-disabled)}.ps-duration{background:var(--bg-active);border-radius:var(--radius-s);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-xs);font-weight:600;padding:2px 6px;white-space:nowrap}.ps-policy-list{display:flex;flex-direction:column;gap:3px}.ps-policy{align-items:center;border-radius:var(--radius-s);display:inline-flex;font-size:11px;font-weight:500;gap:3px;padding:1px 5px;text-decoration:none;transition:background var(--transition-fast);word-break:break-word}.ps-policy--aws{color:var(--text-link)}.ps-policy--aws:hover{background:var(--aws-blue-light);text-decoration:underline}.ps-policy--customer{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.ps-policy__label{background:#fde68a;border-radius:2px;color:#78350f;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.03em;line-height:1.5;margin-right:3px;padding:0 4px;text-transform:uppercase}.ps-ext-icon{flex-shrink:0;opacity:.4}.ps-policy--aws:hover .ps-ext-icon{opacity:1}.ps-json-btn{align-items:center;background:none;border:1px solid var(--border-default);border-radius:var(--radius-s);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:11px;font-weight:600;gap:2px;padding:2px 8px;transition:all var(--transition-fast);white-space:nowrap}.ps-json-btn--active,.ps-json-btn:hover{background:var(--aws-blue-light);border-color:var(--aws-blue);color:var(--aws-blue)}.ps-tr--inline-expand,.ps-tr--inline-expand:hover{background:var(--bg-hover)}.ps-inline-cell{padding:0!important}.ps-json-viewer{animation:slideDown var(--transition-base) ease;border:1px solid var(--border-default);border-radius:var(--radius-l);margin:var(--space-s) var(--space-l) var(--space-l);overflow:hidden}.ps-json-viewer__head{align-items:center;background:var(--aws-squid-ink);color:var(--text-inverse);display:flex;font-size:var(--font-xs);font-weight:600;justify-content:space-between;padding:var(--space-s) var(--space-l)}.ps-json-viewer__close{background:none;border:none;color:var(--text-inverse);cursor:pointer;font-size:var(--font-sm);opacity:.7;padding:2px 6px;transition:opacity var(--transition-fast)}.ps-json-viewer__close:hover{opacity:1}.ps-json-viewer__code{background:#1e293b;color:#e2e8f0;font-family:var(--font-mono);font-size:11px;line-height:1.5;margin:0;max-height:360px;overflow-x:auto;overflow-y:auto;padding:var(--space-m);tab-size:2}.ps-json-viewer__code code{font-family:inherit;white-space:pre}.ps-boundary{border-radius:var(--radius-s);display:inline-block;font-size:11px;font-weight:500;padding:1px 5px;word-break:break-word}.ps-boundary--aws{align-items:center;background:var(--aws-orange-light);border:1px solid #fed7aa;color:#9a3412;display:inline-flex;gap:3px;text-decoration:none;transition:background var(--transition-fast)}.ps-boundary--aws:hover{background:#fed7aa;text-decoration:underline}.ps-boundary--aws:hover .ps-ext-icon{opacity:1}.ps-boundary--custom{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.ps-tag-list{display:flex;flex-wrap:wrap;gap:3px}.ps-tag{border:1px solid var(--border-default);border-radius:var(--radius-s);display:inline-flex;font-size:10px;line-height:1.4;overflow:hidden}.ps-tag__k{background:var(--bg-active);color:var(--text-secondary);font-weight:600;padding:1px 4px}.ps-tag__v{background:var(--bg-card);color:var(--text-primary);padding:1px 4px}@media (max-width:900px){.ps-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.ps-stats{grid-template-columns:1fr}.ps-container{gap:var(--space-l);padding:var(--space-l) var(--space-m)}}@media print{.dashboard__pagination,.ps-json-btn,.ps-toolbar{display:none!important}.ps-stat-card,.ps-table-wrapper{border:1px solid #d5dbdb;box-shadow:none}.ps-stat-card{page-break-inside:avoid}.ps-resize-handle{display:none}}.audit-container{display:flex;flex-direction:column;gap:1.5rem;gap:var(--space-xl,1.5rem);padding:2rem 1.5rem;padding:var(--space-xxl,2rem) var(--space-xl,1.5rem)}.audit-stats{grid-gap:1rem;animation:fadeUp .4s ease-out;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.audit-stat-card{background:var(--bg-card);border:1px solid var(--border-default);border-left-width:4px;border-radius:var(--radius-l);box-shadow:var(--shadow-card);display:flex;flex-direction:column;padding:1rem 1.25rem;transition:box-shadow .15s}.audit-stat-card:hover{box-shadow:0 2px 8px #0000000f}.audit-stat-card--total{border-left-color:#0073bb;border-left-color:var(--aws-blue,#0073bb)}.audit-stat-card--assignments{border-left-color:#ec7211;border-left-color:var(--aws-orange,#ec7211)}.audit-stat-card--permsets{border-left-color:#8b5cf6}.audit-stat-card--errors{border-left-color:#d13212;border-left-color:var(--aws-red,#d13212)}.audit-stat-card__value{color:var(--text-primary);font-size:var(--font-3xl);font-weight:700;line-height:1}.audit-stat-card__label{color:var(--text-muted);font-size:var(--font-xs);margin-top:4px}.audit-toolbar{animation:fadeUp .4s ease-out;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);gap:1rem;justify-content:space-between;padding:.75rem 1rem}.audit-toolbar,.audit-toolbar__filters{align-items:center;display:flex;flex-wrap:wrap}.audit-toolbar__filters{gap:.75rem}.audit-toolbar__date-label{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-xs);font-weight:500;gap:6px}.audit-toolbar__date{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-m);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-xs);padding:5px 8px;transition:border-color .15s}.audit-toolbar__date:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #0073bb26;outline:none}.audit-toolbar__select{-webkit-appearance:none;appearance:none;background:var(--bg-input);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m2 3.5 3 3 3-3' stroke='%23545b64' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border-input);border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-xs);padding:5px 28px 5px 8px;transition:border-color .15s}.audit-toolbar__select:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #0073bb26;outline:none}.audit-toolbar__actions{align-items:center;display:flex;gap:.5rem}.audit-toolbar__search{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-m);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-xs);min-width:200px;padding:5px 10px;transition:border-color .15s}.audit-toolbar__search::placeholder{color:var(--text-disabled)}.audit-toolbar__search:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #0073bb26;outline:none}.audit-toolbar__btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-m);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:all .15s;width:32px}.audit-toolbar__btn:hover{background:var(--bg-hover);border-color:var(--border-focus);color:var(--text-primary)}.audit-table-wrap{animation:fadeUp .4s ease-out;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);overflow-x:auto}.audit-table{border-collapse:collapse;width:100%}.audit-table thead th{background:var(--bg-hover);border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--font-xs);font-weight:600;letter-spacing:.5px;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.audit-table tbody td{border-bottom:1px solid var(--border-divider);font-size:var(--font-sm);padding:10px 16px;vertical-align:middle}.audit-table tbody tr:nth-child(2n):not(.audit-table__detail-row){background:var(--bg-hover)}.audit-table tbody tr:hover:not(.audit-table__detail-row){background:var(--bg-selected)}.audit-table__row--error{background:var(--aws-red-light)!important}.audit-table__time{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-xs);white-space:nowrap}.audit-table__actor{font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-table__ip{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-xs);white-space:nowrap}.audit-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.68rem;font-weight:600;padding:2px 8px;white-space:nowrap}.audit-badge--assignment{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.audit-badge--permission_set{background:#f5f3ff;border:1px solid #ddd6fe;color:#6d28d9}.audit-badge--error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.audit-badge--success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.audit-badge--other{background:var(--bg-active);border:1px solid var(--border-default);color:var(--text-secondary)}.audit-badge--user{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.audit-badge--group{background:#faf5ff;border:1px solid #e9d5ff;color:#7c3aed}.audit-table__principal{white-space:nowrap}[data-theme=dark] .audit-badge--assignment{background:#ea580c26;border-color:#ea580c4d;color:#fb923c}[data-theme=dark] .audit-badge--permission_set{background:#8b5cf626;border-color:#8b5cf64d;color:#a78bfa}[data-theme=dark] .audit-badge--error{background:#dc262626;border-color:#dc26264d;color:#f87171}[data-theme=dark] .audit-badge--success{background:#15803d26;border-color:#15803d4d;color:#4ade80}[data-theme=dark] .audit-badge--user{background:#1d4ed826;border-color:#1d4ed84d;color:#60a5fa}[data-theme=dark] .audit-badge--group{background:#7c3aed26;border-color:#7c3aed4d;color:#a78bfa}.audit-table__expand-btn{background:none;border:none;border-radius:var(--radius-s);color:var(--aws-blue);cursor:pointer;font-size:var(--font-xs);font-weight:500;padding:2px 6px;transition:background .1s}.audit-table__expand-btn:hover{background:var(--aws-blue-light)}.audit-table__detail-row td{background:var(--bg-page);padding:0 16px 12px}.audit-table__json{background:var(--bg-card);border:1px solid var(--border-divider);border-radius:var(--radius-m);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-xs);line-height:1.5;margin:0;max-height:300px;overflow-x:auto;overflow-y:auto;padding:12px 16px;white-space:pre}.audit-pagination{align-items:center;animation:fadeUp .4s ease-out;display:flex;gap:1rem;justify-content:center;padding:.75rem 0}.audit-pagination__btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:var(--font-xs);font-weight:500;padding:6px 16px;transition:all .15s}.audit-pagination__btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus)}.audit-pagination__btn:disabled{cursor:not-allowed;opacity:.4}.audit-pagination__info{color:var(--text-muted);font-size:var(--font-xs);font-weight:500}.audit-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:var(--font-sm);gap:12px;justify-content:center;min-height:300px}.audit-loading__spinner{animation:spin .6s linear infinite;border-top:3px solid var(--border-divider);border:3px solid var(--border-divider);border-radius:50%;border-top-color:var(--aws-blue);height:28px;width:28px}.audit-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:var(--font-sm);gap:12px;justify-content:center;min-height:250px;padding:2rem;text-align:center}.audit-error{background:var(--aws-red-light);border:1px solid var(--aws-red);border-radius:var(--radius-m);color:var(--aws-red);font-size:var(--font-sm);font-weight:500;padding:10px 16px}@media (max-width:900px){.audit-stats{grid-template-columns:repeat(2,1fr)}.audit-toolbar{align-items:stretch;flex-direction:column}.audit-toolbar__actions,.audit-toolbar__filters{flex-wrap:wrap}.audit-toolbar__search{flex:1 1;min-width:0;min-width:auto}}@media (max-width:480px){.audit-stats{grid-template-columns:1fr}}@media print{.audit-pagination,.audit-toolbar{display:none!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.settings-container{animation:fadeUp .4s ease-out;padding:1.5rem 1.25rem;padding:var(--space-xxl,1.5rem) var(--space-xl,1.25rem)}.settings-main{display:flex;flex-direction:column;gap:1.5rem;gap:var(--space-xxl,1.5rem);margin:0 auto;max-width:640px}.settings-section{animation:fadeUp .35s ease-out both}.settings-section__header{margin-bottom:1rem;margin-bottom:var(--space-l,1rem)}.settings-section__title{color:var(--text-primary);font-size:1.125rem;font-size:var(--font-xl,1.125rem);font-weight:700;margin:0 0 4px}.settings-section__desc{color:var(--text-muted);font-size:.875rem;font-size:var(--font-sm,.875rem);margin:0}.settings-group{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-l,8px);box-shadow:var(--shadow-card);overflow:hidden}.settings-row{align-items:center;border-bottom:1px solid var(--border-divider,var(--border-default));display:flex;gap:16px;justify-content:space-between;padding:16px 20px}.settings-row:last-child{border-bottom:none}.settings-row--info{padding:12px 20px}.settings-row__label-group{flex:1 1;min-width:0}.settings-row__label{color:var(--text-primary);font-size:.875rem;font-size:var(--font-sm,.875rem);font-weight:500}.settings-row__desc{color:var(--text-muted);font-size:.75rem;font-size:var(--font-xs,.75rem);margin-top:2px}.settings-row__control{flex-shrink:0}.settings-row__value{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;font-size:var(--font-sm,.875rem);gap:8px}.settings-theme-picker{background:#f2f3f3;background:var(--bg-page,#f2f3f3);border-radius:6px;border-radius:var(--radius-m,6px);display:flex;gap:6px;padding:3px}.settings-theme-btn{align-items:center;background:#0000;border:none;border-radius:4px;border-radius:var(--radius-s,4px);color:var(--text-muted);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--font-sm,.875rem);font-weight:500;gap:6px;padding:6px 14px;transition:all .15s ease}.settings-theme-btn:hover{color:var(--text-primary)}.settings-theme-btn--active{background:var(--bg-card);box-shadow:0 1px 3px #0000001a;color:var(--text-primary);font-weight:600}.settings-profile-card{align-items:center;border-bottom:1px solid var(--border-divider,var(--border-default));display:flex;gap:16px;padding:20px}.settings-profile-card__avatar{align-items:center;background:#0073bb;background:var(--aws-blue,#0073bb);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:48px;justify-content:center;width:48px}.settings-profile-card__info{min-width:0}.settings-profile-card__name{color:var(--text-primary);font-size:.875rem;font-size:var(--font-base,.875rem);font-weight:600}.settings-profile-card__email{color:var(--text-muted);font-size:.875rem;font-size:var(--font-sm,.875rem);margin-top:2px}.settings-badge{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.settings-badge--active,.settings-badge--connected{background:#1d8102;background:var(--aws-green,#1d8102)}.settings-badge--demo,.settings-badge--inactive{background:#687078;background:var(--text-muted,#687078)}.settings-mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;font-size:var(--font-xs,.75rem);word-break:break-all}@media (max-width:768px){.settings-container{padding:1.25rem;padding:var(--space-xl,1.25rem)}.settings-main{max-width:none}}.login-page{align-items:center;background:linear-gradient(160deg,#0a1628,#1a2940 50%,#232f3e);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-page:before{animation:heroFloat 10s ease-in-out infinite;background:radial-gradient(circle,#ff99000f 0,#0000 70%);height:600px;right:-100px;top:-200px;width:600px}.login-page:after,.login-page:before{border-radius:50%;content:"";position:absolute}.login-page:after{animation:heroFloat 12s ease-in-out infinite reverse;background:radial-gradient(circle,#0073bb0d 0,#0000 70%);bottom:-120px;height:400px;left:-120px;width:400px}@keyframes heroFloat{0%,to{transform:translate(0)}50%{transform:translate(15px,-15px)}}.login-center{animation:cardSlideUp .5s ease both;max-width:420px;padding:0 1.5rem;position:relative;width:100%;z-index:1}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-brand{margin-bottom:2rem;text-align:center}.login-brand__logo{align-items:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;display:inline-flex;height:56px;justify-content:center;margin-bottom:1rem;width:56px}.login-brand__title{color:#fff;font-size:1.25rem;font-weight:700;line-height:1.3;margin:0}.login-brand__subtitle{color:#f90;font-size:.9rem;font-weight:600;margin-top:4px}.login-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #d5dbdb;border:1px solid var(--border-default,#d5dbdb);border-radius:12px;box-shadow:0 2px 8px #00000014,0 8px 32px #0000001f;padding:2rem}.login-card__header{margin-bottom:1.5rem;text-align:center}.login-card__title{color:#16191f;color:var(--text-primary,#16191f);font-size:1.25rem;font-weight:700;line-height:1.2;margin:0}.login-card__subtitle{color:#687078;color:var(--text-muted,#687078);font-size:.85rem;margin-top:6px}.login-card__error{align-items:center;animation:shake .4s ease;background:#fdf3f1;background:var(--aws-red-light,#fdf3f1);border:1px solid #d13212;border:1px solid var(--aws-red,#d13212);border-radius:8px;color:#d13212;color:var(--aws-red,#d13212);display:flex;font-size:13px;gap:8px;margin-bottom:1.25rem;padding:10px 12px}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.login-card__error-dismiss{background:none;border:none;color:#d13212;color:var(--aws-red,#d13212);cursor:pointer;font-size:18px;line-height:1;margin-left:auto;padding:0 4px}.login-card__sso{display:flex;flex-direction:column;gap:1rem}.login-card__divider{align-items:center;color:#aab7b8;color:var(--text-disabled,#aab7b8);display:flex;font-size:.75rem;font-weight:600;gap:12px;letter-spacing:.06em;text-transform:uppercase}.login-card__divider:after,.login-card__divider:before{background:#eaeded;background:var(--border-divider,#eaeded);content:"";flex:1 1;height:1px}.login-card__form{display:flex;flex-direction:column;gap:1rem}.login-card__field label{color:#16191f;color:var(--text-primary,#16191f);display:block;font-size:.8125rem;font-weight:600;margin-bottom:6px}.login-card__field input{background:#fff;background:var(--bg-input,#fff);border:1px solid #aab7b8;border:1px solid var(--border-input,#aab7b8);border-radius:8px;box-sizing:border-box;color:#16191f;color:var(--text-primary,#16191f);font-family:var(--font-family);font-size:14px;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.login-card__field input:focus{border-color:#0073bb;border-color:var(--border-focus,#0073bb);box-shadow:0 0 0 3px #0073bb1f;outline:none}.login-card__field input::placeholder{color:#aab7b8;color:var(--text-disabled,#aab7b8)}.login-card__btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:var(--font-family);font-size:.9375rem;font-weight:600;gap:10px;justify-content:center;padding:11px 20px;transition:all .15s ease;width:100%}.login-card__btn--primary{background:#0073bb;background:var(--aws-blue,#0073bb);color:#fff;margin-top:4px}.login-card__btn--primary:hover{background:#005a92;background:var(--aws-blue-hover,#005a92);box-shadow:0 4px 12px #0073bb40;transform:translateY(-1px)}.login-card__btn--sso{background:#0073bb;background:var(--aws-blue,#0073bb);color:#fff}.login-card__btn--sso:hover{background:#005a92;background:var(--aws-blue-hover,#005a92);box-shadow:0 4px 12px #0073bb40;transform:translateY(-1px)}.login-card__hint{color:#687078;color:var(--text-muted,#687078);font-size:.78rem;text-align:center}.login-card__demo{border-top:1px solid #eaeded;border-top:1px solid var(--border-divider,#eaeded);display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px}.login-card__btn--demo{background:#0000;border:1px solid #0073bb;border:1px solid var(--aws-blue,#0073bb);color:#0073bb;color:var(--aws-blue,#0073bb)}.login-card__btn--demo:hover{background:#f1faff;background:var(--bg-selected,#f1faff)}.login-features{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem;padding:0 .5rem}.login-features__item{align-items:center;color:#ffffff8c;display:flex;font-size:.8rem;gap:10px;line-height:1.4}.login-features__item svg{color:#ff9900b3;flex-shrink:0}@media (max-width:480px){.login-center{padding:0 1rem}.login-card{padding:1.5rem}.login-features{display:none}}.hydra-root{--sev-critical:#d03b3b;--sev-high:#ec835a;--sev-medium:#fab219;--sev-low:#8d99a6;--sev-none:#0ca30c;--series-1:#2a78d6;--node-ad:#2a78d6;--node-aws:#eb6834;--node-ps:#4a3aa7;--node-account:#1baf7a;--node-iam:#c2185b}[data-theme=dark] .hydra-root{--sev-low:#6e7681;--series-1:#3987e5;--node-ad:#3987e5;--node-aws:#d95926;--node-ps:#9085e9;--node-account:#199e70;--node-iam:#d55181}.hydra-container{display:flex;flex-direction:column;gap:var(--space-xl);padding:var(--space-xxl) var(--space-xl)}.hydra-muted{color:var(--text-muted)}.hydra-small{font-size:var(--font-xs);margin-top:2px}.hydra-strong{font-weight:600}.hydra-mono{font-family:var(--font-mono);font-size:.72rem}.hydra-nowrap,.hydra-sr-only{white-space:nowrap}.hydra-sr-only{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.hydra-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);min-width:0}.hydra-panel__header{align-items:flex-start;border-bottom:1px solid var(--border-divider);display:flex;gap:var(--space-l);justify-content:space-between;padding:var(--space-l) var(--space-xl)}.hydra-panel__title{color:var(--text-primary);font-size:var(--font-lg);font-weight:600;margin:0}.hydra-panel__subtitle{color:var(--text-muted);font-size:var(--font-xs);margin:2px 0 0}.hydra-panel__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-s)}.hydra-panel__body{overflow-x:auto;padding:var(--space-l) var(--space-xl)}.hydra-state{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-sm);gap:var(--space-m);justify-content:center;padding:var(--space-xxxl);text-align:center}.hydra-state--empty{padding:var(--space-xl)}.hydra-spinner{animation:spin .6s linear infinite;border:2px solid var(--border-divider);border-radius:50%;border-top-color:var(--aws-blue);height:18px;width:18px}.hydra-error,.hydra-notice{border-radius:var(--radius-m);font-size:var(--font-sm);padding:var(--space-m) var(--space-l)}.hydra-error,.hydra-notice--bad{background:var(--aws-red-light);border:1px solid var(--aws-red);color:var(--aws-red)}.hydra-notice--ok{background:var(--aws-green-light);border:1px solid var(--aws-green);color:var(--aws-green)}.hydra-sev{align-items:center;background:var(--bg-active);border-radius:12px;color:var(--text-primary);display:inline-flex;font-size:.72rem;font-weight:600;gap:4px;padding:2px 10px;white-space:nowrap}.hydra-sev--sm{font-size:.68rem;padding:1px 8px}.hydra-sev--critical{background:var(--aws-red-light)}.hydra-sev--high{background:var(--aws-orange-light)}.hydra-sev--medium{background:var(--aws-yellow-light)}.hydra-sev--none{background:var(--aws-green-light)}.hydra-sev--critical span:first-child{color:var(--sev-critical)}.hydra-sev--high span:first-child{color:var(--sev-high)}.hydra-sev--medium span:first-child{color:var(--aws-yellow)}.hydra-sev--low span:first-child{color:var(--sev-low)}.hydra-sev--none span:first-child{color:var(--sev-none)}.hydra-status{border-radius:var(--radius-m);display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;white-space:nowrap}.hydra-status--ok{background:var(--aws-green-light);color:var(--aws-green)}.hydra-status--warn{background:var(--aws-yellow-light);color:var(--aws-yellow)}.hydra-status--bad{background:var(--aws-red-light);color:var(--aws-red)}.hydra-status--muted,.hydra-tag{background:var(--bg-active);color:var(--text-secondary)}.hydra-tag{border-radius:var(--radius-s);display:inline-block;font-size:.68rem;font-weight:600;margin-right:4px;padding:1px 6px}.hydra-tag--bad{background:var(--aws-red-light);color:var(--aws-red)}.hydra-btn{background:var(--bg-card);border:1px solid var(--border-input);border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-sm);padding:6px 12px;white-space:nowrap}.hydra-btn:hover:not(:disabled){background:var(--bg-hover)}.hydra-btn:disabled{cursor:progress;opacity:.5}.hydra-btn--primary{background:var(--aws-blue);border-color:var(--aws-blue);color:#fff}.hydra-btn--primary:hover:not(:disabled){background:var(--aws-blue-hover)}.hydra-btn--small{font-size:var(--font-xs);padding:3px 8px}.hydra-link{background:none;border:none;color:var(--text-link);cursor:pointer;font:inherit;font-weight:500;padding:0;text-align:left}.hydra-link:hover{text-decoration:underline}.hydra-input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-m);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-sm);min-width:0;padding:6px 10px}input.hydra-input[type=search]{max-width:100%;width:280px}.hydra-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.hydra-actions--column{align-items:flex-start;flex-direction:column}.hydra-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-m);justify-content:space-between}.hydra-toolbar--filters{justify-content:flex-start}.hydra-toolbar__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-s)}.hydra-filters{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px}.hydra-filter{background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-sm);padding:5px 12px}.hydra-filter:hover{background:var(--bg-hover);color:var(--text-primary)}.hydra-filter--active{background:var(--bg-selected);color:var(--aws-blue);font-weight:600}.hydra-filter__count{color:var(--text-muted);font-size:var(--font-xs);margin-left:4px}.hydra-field{color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--font-xs);font-weight:600;gap:4px}.hydra-table-wrap{overflow-x:auto}.hydra-table{border-collapse:collapse;font-size:var(--font-sm);width:100%}.hydra-table th{border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--font-xs);font-weight:600;letter-spacing:.4px;padding:8px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.hydra-table td{border-bottom:1px solid var(--border-divider);color:var(--text-primary);padding:10px 12px;vertical-align:top}.hydra-table tbody tr:hover{background:var(--bg-hover)}.hydra-table__row--link{cursor:pointer}.hydra-table__row--open{background:var(--bg-selected)}.hydra-table__detail>td{background:var(--bg-page)}.hydra-reason-cell{max-width:520px}.hydra-sources{grid-gap:var(--space-l);display:grid;gap:var(--space-l);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.hydra-source{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:var(--space-l) var(--space-xl)}.hydra-source__head{align-items:center;display:flex;gap:var(--space-s)}.hydra-source__dot{background:var(--sev-none);border-radius:50%;height:8px;width:8px}.hydra-source--off .hydra-source__dot{background:var(--sev-medium)}.hydra-source__title{color:var(--text-primary);font-weight:600}.hydra-source__state{color:var(--text-muted);font-size:var(--font-xs);margin-left:auto}.hydra-source__status{color:var(--text-secondary);font-size:var(--font-xs);margin:4px 0 var(--space-m)}.hydra-source__stats{grid-gap:var(--space-s);display:grid;gap:var(--space-s);grid-template-columns:repeat(4,1fr);margin:0}.hydra-source__stats dt{color:var(--text-muted);font-size:.68rem}.hydra-source__stats dd{color:var(--text-primary);font-size:var(--font-xl);font-weight:600;margin:0}.hydra-kpis{grid-gap:var(--space-m);display:grid;gap:var(--space-m);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.hydra-kpi{align-items:flex-start;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);display:flex;flex-direction:column;font-family:var(--font-family);justify-content:flex-start;padding:var(--space-m) var(--space-l);text-align:left}button.hydra-kpi{cursor:pointer}button.hydra-kpi:hover{background:var(--bg-hover)}.hydra-kpi--warn{box-shadow:inset 0 3px 0 var(--sev-medium)}.hydra-kpi__value{color:var(--text-primary);font-size:var(--font-3xl);font-weight:700;line-height:1.1}.hydra-kpi__label{color:var(--text-secondary);font-size:var(--font-xs);margin-top:2px}.hydra-kpi__detail{color:var(--text-muted);font-size:.68rem}.hydra-grid{grid-gap:var(--space-l);display:grid;gap:var(--space-l);grid-template-columns:repeat(2,minmax(0,1fr))}.hydra-grid__wide{grid-column:1/-1}.hydra-bars{display:flex;flex-direction:column;gap:var(--space-s)}.hydra-bars__row{grid-gap:var(--space-m);align-items:center;display:grid;gap:var(--space-m);grid-template-columns:110px 1fr 40px}.hydra-bars__track{background:var(--bg-page);border-radius:4px;height:14px;overflow:hidden}.hydra-bars__fill{border-radius:0 4px 4px 0;display:block;height:100%;min-width:2px}.hydra-bars__value{font-feature-settings:"tnum";color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.hydra-fill--critical{fill:var(--sev-critical);background:var(--sev-critical)}.hydra-fill--high{fill:var(--sev-high);background:var(--sev-high)}.hydra-fill--medium{fill:var(--sev-medium);background:var(--sev-medium)}.hydra-fill--low{fill:var(--sev-low);background:var(--sev-low)}.hydra-fill--none{fill:var(--sev-none);background:var(--sev-none)}.hydra-findings-sum{border-top:1px solid var(--border-divider);display:flex;flex-wrap:wrap;gap:var(--space-s);margin-top:var(--space-l);padding-top:var(--space-m)}.hydra-findings-sum__item{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-m);color:var(--text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-xs);padding:4px 10px}.hydra-findings-sum__item strong{color:var(--text-primary);font-size:var(--font-sm)}.hydra-findings-sum__item:hover{background:var(--bg-hover)}.hydra-score{background:var(--bg-page);border-radius:3px;display:inline-block;height:6px;margin-right:6px;overflow:hidden;vertical-align:middle;width:64px}.hydra-score__bar{background:var(--text-secondary);border-radius:3px;display:block;height:100%}.hydra-score__value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hydra-inline-bar{background:var(--bg-page);border-radius:4px;display:inline-block;height:8px;margin-right:8px;overflow:hidden;vertical-align:middle;width:80px}.hydra-inline-bar__fill{background:var(--series-1);border-radius:0 4px 4px 0;display:block;height:100%}.hydra-changes{list-style:none;margin:0;padding:0}.hydra-changes__item{align-items:center;border-bottom:1px solid var(--border-divider);display:flex;flex-wrap:wrap;font-size:var(--font-sm);gap:var(--space-m);padding:8px 0}.hydra-changes__item:last-child{border-bottom:none}.hydra-change-type{color:var(--text-secondary);font-size:var(--font-xs);font-weight:600;min-width:190px}.hydra-change-type--access_granted,.hydra-change-type--ad_privileged_group_added{color:var(--aws-red)}.hydra-change-type--access_revoked,.hydra-change-type--ad_privileged_group_removed{color:var(--aws-green)}.hydra-warnings{color:var(--text-secondary);font-size:var(--font-sm);margin:0;padding-left:1.2rem}.hydra-trend{position:relative}.hydra-legend{color:var(--text-secondary);display:flex;font-size:var(--font-xs);gap:var(--space-l);margin-bottom:var(--space-s)}.hydra-legend__item{align-items:center;display:inline-flex;gap:6px}.hydra-legend__line{border-radius:1px;display:inline-block;height:2px;width:14px}.hydra-stroke--critical{stroke:var(--sev-critical);background:var(--sev-critical)}.hydra-stroke--high{stroke:var(--sev-high);background:var(--sev-high)}.hydra-stroke--medium{stroke:var(--sev-medium);background:var(--sev-medium)}.hydra-stroke--low{stroke:var(--sev-low);background:var(--sev-low)}.hydra-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;background:none}.hydra-dot{stroke:var(--bg-card);stroke-width:2}.hydra-axis__grid{stroke:var(--border-divider);stroke-width:1}.hydra-axis__crosshair{stroke:var(--text-muted);stroke-width:1}.hydra-axis__label{fill:var(--text-muted);font-size:11px}.hydra-axis__direct{fill:var(--text-secondary);font-size:11px}.hydra-tooltip{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-m);box-shadow:var(--shadow-dropdown);font-size:var(--font-xs);min-width:150px;padding:8px 10px;pointer-events:none;position:absolute}.hydra-tooltip__title{color:var(--text-secondary);margin-bottom:4px}.hydra-tooltip__row{align-items:center;color:var(--text-secondary);display:flex;gap:6px}.hydra-tooltip__row strong{color:var(--text-primary);font-size:var(--font-sm);min-width:18px}.hydra-path{align-items:center;display:flex;flex-wrap:wrap;gap:4px;padding:4px 0}.hydra-path+.hydra-path{border-top:1px dashed var(--border-divider)}.hydra-path__edge{align-items:center;color:var(--text-muted);display:inline-flex;flex-direction:column;font-size:.75rem;line-height:1}.hydra-path__edge-label{font-size:.6rem}.hydra-chip{align-items:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;color:var(--text-primary);display:inline-flex;font-size:.75rem;gap:5px;padding:2px 8px 2px 2px;white-space:nowrap}.hydra-chip__type{background:var(--text-muted);border-radius:10px;color:#fff;font-size:.62rem;font-weight:700;padding:1px 6px}.hydra-chip--ad_group .hydra-chip__type,.hydra-chip--ad_user .hydra-chip__type{background:var(--node-ad)}.hydra-chip--aws_group .hydra-chip__type,.hydra-chip--aws_user .hydra-chip__type{background:var(--node-aws)}.hydra-chip--iam_policy .hydra-chip__type,.hydra-chip--permission_set .hydra-chip__type{background:var(--node-ps)}.hydra-chip--iam_group .hydra-chip__type,.hydra-chip--iam_role .hydra-chip__type,.hydra-chip--iam_user .hydra-chip__type{background:var(--node-iam)}.hydra-chip--account .hydra-chip__type{background:var(--node-account)}.hydra-chip--privileged{border-color:var(--sev-critical)}.hydra-chip__flag{color:var(--aws-red);font-size:.62rem;font-weight:700}.hydra-chip__level{color:var(--text-secondary);font-size:.62rem;font-weight:700}.hydra-chip__level--critical{color:var(--aws-red)}.hydra-graph{overflow-x:auto}.hydra-graph svg{display:block}.hydra-graph__note{color:var(--text-muted);font-size:var(--font-xs)}.hydra-graph__colhead{fill:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.hydra-graph__edge{fill:none;stroke:var(--border-input);stroke-width:1.5;transition:opacity var(--transition-base)}.hydra-graph__edge--lit{stroke:var(--aws-blue);stroke-width:2}.hydra-graph__edge--dim{opacity:.15}.hydra-gnode{cursor:default;outline:none;transition:opacity var(--transition-base)}.hydra-gnode--dim{opacity:.25}.hydra-gnode__box{fill:var(--bg-card);stroke:var(--border-default);stroke-width:1}.hydra-gnode:focus .hydra-gnode__box,.hydra-gnode:hover .hydra-gnode__box{stroke:var(--aws-blue);stroke-width:2}.hydra-gnode--flagged .hydra-gnode__box{stroke:var(--sev-critical);stroke-width:1.5}.hydra-gnode__stripe{fill:var(--text-muted)}.hydra-gnode--ad_group .hydra-gnode__stripe,.hydra-gnode--ad_user .hydra-gnode__stripe{fill:var(--node-ad)}.hydra-gnode--aws_group .hydra-gnode__stripe,.hydra-gnode--aws_user .hydra-gnode__stripe{fill:var(--node-aws)}.hydra-gnode--iam_policy .hydra-gnode__stripe,.hydra-gnode--permission_set .hydra-gnode__stripe{fill:var(--node-ps)}.hydra-gnode--iam_group .hydra-gnode__stripe,.hydra-gnode--iam_role .hydra-gnode__stripe,.hydra-gnode--iam_user .hydra-gnode__stripe{fill:var(--node-iam)}.hydra-gnode--account .hydra-gnode__stripe{fill:var(--node-account)}.hydra-gnode__type{fill:var(--text-muted);font-size:10px}.hydra-gnode--flagged .hydra-gnode__type{fill:var(--aws-red);font-weight:600}.hydra-gnode__name{fill:var(--text-primary);font-size:12px;font-weight:500}.hydra-split{grid-gap:var(--space-l);align-items:start;display:grid;gap:var(--space-l);grid-template-columns:260px minmax(0,1fr)}.hydra-split__main{gap:var(--space-l);min-width:0}.hydra-picker,.hydra-split__main{display:flex;flex-direction:column}.hydra-picker{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-l);gap:var(--space-s);padding:var(--space-m);position:-webkit-sticky;position:sticky;top:60px}.hydra-picker input.hydra-input[type=search]{width:100%}.hydra-picker__list{list-style:none;margin:0;max-height:70vh;overflow-y:auto;padding:0}.hydra-picker__item{align-items:center;background:none;border:none;border-radius:var(--radius-m);color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--font-sm);gap:var(--space-s);justify-content:space-between;padding:6px 8px;text-align:left;width:100%}.hydra-picker__item:hover{background:var(--bg-hover)}.hydra-picker__item--active{background:var(--bg-selected);font-weight:600}.hydra-picker__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hydra-facts{grid-gap:var(--space-l);display:grid;gap:var(--space-l);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.hydra-fact__label{color:var(--text-muted);font-size:.68rem;letter-spacing:.4px;text-transform:uppercase}.hydra-fact__value{color:var(--text-primary);font-weight:600;margin-top:2px}.hydra-fact__sub{color:var(--text-secondary);font-size:var(--font-xs);margin-top:2px}.hydra-reasons{list-style:none;margin:0;padding:0}.hydra-reasons__item{grid-gap:var(--space-m);border-bottom:1px solid var(--border-divider);display:grid;gap:var(--space-m);grid-template-columns:100px 1fr;padding:10px 0}.hydra-reasons__item:last-child{border-bottom:none}.hydra-reasons__item>.hydra-sev{align-self:start;justify-self:start}.hydra-reasons__title{color:var(--text-primary);font-weight:600}.hydra-reasons__text{color:var(--text-secondary);font-size:var(--font-sm);margin:2px 0}.hydra-detail{grid-gap:var(--space-xl);display:grid;gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.hydra-detail__title{color:var(--text-muted);font-size:var(--font-xs);letter-spacing:.4px;margin:0 0 var(--space-xs);text-transform:uppercase}.hydra-detail p{font-size:var(--font-sm);margin:0 0 var(--space-m)}.hydra-json{background:var(--bg-card);border:1px solid var(--border-divider);border-radius:var(--radius-m);color:var(--text-primary);font-family:var(--font-mono);font-size:.72rem;margin:0;max-height:260px;overflow:auto;padding:var(--space-m)}@media (max-width:960px){.hydra-detail,.hydra-grid,.hydra-split{grid-template-columns:1fr}.hydra-picker{position:static}.hydra-picker__list{max-height:240px}}@media (max-width:600px){.hydra-container{padding:var(--space-l) var(--space-l)}.hydra-source__stats{grid-template-columns:repeat(2,1fr)}.hydra-panel__body,.hydra-panel__header{padding:var(--space-m) var(--space-l)}input.hydra-input[type=search]{width:100%}}