:root{--aws-bg:#fff;--aws-bg-alt:#fafbfc;--aws-border:#e9ebed;--aws-border-strong:#d1d5db;--aws-text:#16191f;--aws-text-secondary:#5f6b7a;--aws-link:#0972d3;--aws-link-hover:#033160;--aws-orange:#ec7211;--aws-orange-hover:#eb5f07;--aws-success:#037f0c;--aws-success-bg:#f2f8f0;--aws-warning:#8d6e05;--aws-warning-bg:#fdf6e3;--aws-danger:#d13212;--aws-focus:#0972d3}*{box-sizing:border-box}body{color:var(--aws-text);background:#f2f3f3;margin:0;font-family:Amazon Ember,Helvetica Neue,Roboto,Arial,sans-serif;font-size:14px;line-height:1.4}.app{max-width:1440px;margin:0 auto;padding:16px 24px 40px}header{padding:8px 0 16px}header a{color:inherit;text-decoration:none}header h1{letter-spacing:-.2px;margin:0;font-size:20px;font-weight:700}main{background:var(--aws-bg);border:1px solid var(--aws-border);border-radius:16px;padding:20px 24px;box-shadow:0 1px 1px #0000000a}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-header-text h2{color:var(--aws-text);margin:0 0 4px;font-size:18px;font-weight:700}.page-header-text h2 .count{color:var(--aws-text-secondary);margin-left:6px;font-weight:400}.page-header-text p{color:var(--aws-text-secondary);margin:0;font-size:13px}.page-header-text a.learn-more{color:var(--aws-link);margin-left:4px;text-decoration:none}.page-header-text a.learn-more:hover{text-decoration:underline}.page-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}button,.btn{border:1px solid var(--aws-border-strong);color:var(--aws-text);cursor:pointer;background:#fff;border-radius:20px;padding:6px 16px;font-family:inherit;font-size:14px;font-weight:700;line-height:20px;transition:background .1s,border-color .1s}button:hover,.btn:hover{background:#f2f3f3}button:focus,.btn:focus{outline:2px solid var(--aws-focus);outline-offset:2px}.btn-primary{background:var(--aws-orange);border-color:var(--aws-orange);color:#fff}.btn-primary:hover{background:var(--aws-orange-hover);border-color:var(--aws-orange-hover)}.btn-icon{border:1px solid var(--aws-link);width:32px;height:32px;color:var(--aws-link);background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{background:#f0f7ff}.controls{align-items:center;gap:12px;margin:8px 0 0;display:flex}.controls .search-wrap{flex:1;position:relative}.controls .search-wrap:before{content:"";opacity:.8;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235f6b7a' stroke-width='1.5'><circle cx='7' cy='7' r='5'/><path d='M11 11l3 3'/></svg>");background-repeat:no-repeat;background-size:contain;width:14px;height:14px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.controls input[type=text],.controls input:not([type]){border:1px solid var(--aws-border-strong);width:100%;color:var(--aws-text);background:#fff;border-radius:8px;padding:6px 10px 6px 30px;font-family:inherit;font-size:14px}.search-chips{border:1px solid var(--aws-border-strong);cursor:text;background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;width:100%;min-height:32px;padding:4px 10px 4px 30px;display:flex}.search-chips:focus-within{outline:2px solid var(--aws-focus);outline-offset:-1px;border-color:var(--aws-focus)}.search-chip{color:var(--aws-text);white-space:nowrap;background:#eef3f8;border:1px solid #cfdae6;border-radius:4px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:13px;line-height:1.4;display:inline-flex}.search-chip-negate{color:#8a1f1f;background:#fdecec;border-color:#f0c2c2}.search-chip-label{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.search-chip-remove{font:inherit;color:#6b7785;cursor:pointer;background:0 0;border:0;margin:0;padding:0 4px;font-size:16px;line-height:1}.search-chip-remove:hover{color:var(--aws-danger)}.search-chips-input{min-width:120px;color:var(--aws-text);background:0 0;flex:1 0 120px;font-family:inherit;font-size:14px;border:0!important;outline:none!important;padding:2px 0!important}.search-chips-input:focus{outline:none!important}.controls input::placeholder{color:#9ba7b6;font-style:italic}.controls input:focus,.controls select:focus{outline:2px solid var(--aws-focus);outline-offset:-1px;border-color:var(--aws-focus)}.controls select{border:1px solid var(--aws-link);color:var(--aws-link);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='%230972d3'><path d='M0 0l5 6 5-6z'/></svg>") right 10px center/10px no-repeat;border-radius:20px;padding:6px 28px 6px 14px;font-family:inherit;font-size:14px;font-weight:700}table{border-collapse:collapse;background:var(--aws-bg);width:100%;margin-top:12px}thead th{text-align:left;color:var(--aws-text);border-top:1px solid var(--aws-border);border-bottom:1px solid var(--aws-border);white-space:nowrap;background:#fff;padding:10px 16px;font-size:13px;font-weight:700;position:relative}thead th+th:before{content:"";background:var(--aws-border-strong);width:1px;position:absolute;top:25%;bottom:25%;left:0}thead th .th-sort{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0}thead th .th-sort:hover{text-decoration:underline}thead th[aria-sort=ascending],thead th[aria-sort=descending]{font-weight:700}tbody td{border-bottom:1px solid var(--aws-border);color:var(--aws-text);vertical-align:middle;padding:10px 16px;font-size:14px}tbody tr:hover td{background:#f7f8f8}tbody tr:nth-child(2n) td{background:inherit}td a,.link{color:var(--aws-link);text-decoration:none}td a:hover,.link:hover{color:var(--aws-link-hover);text-decoration:underline}.col-check{width:36px;padding-left:16px;padding-right:0}.col-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--aws-link);cursor:pointer}.status{align-items:center;gap:4px;font-size:14px;font-weight:400;display:inline-flex}.status:before{content:"";background-position:50%;background-repeat:no-repeat;background-size:contain;width:14px;height:14px;display:inline-block}.status.status-active,.status.status-enabled{color:var(--aws-success)}.status.status-active:before,.status.status-enabled:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23037f0c'><path d='M8 1a7 7 0 100 14A7 7 0 008 1zm3.5 5.2l-4.2 4.6-2.8-2.4.9-1 1.9 1.6 3.4-3.7.8.9z'/></svg>")}.status.status-inactive,.status.status-disabled{color:var(--aws-warning)}.status.status-inactive:before,.status.status-disabled:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238d6e05'><path d='M8 1L0.5 14h15L8 1zm0 5v4m0 1.5v1' stroke='%238d6e05' stroke-width='1' fill='none'/><path d='M7 6h2v4H7zm0 5h2v1H7z'/></svg>")}.status.status-suspended{color:var(--aws-danger)}.status.status-suspended:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23d13212'><path d='M8 1a7 7 0 100 14A7 7 0 008 1zm3.5 9.4l-1.1 1.1L8 9.1l-2.4 2.4-1.1-1.1L6.9 8 4.5 5.6l1.1-1.1L8 6.9l2.4-2.4 1.1 1.1L9.1 8l2.4 2.4z'/></svg>")}.status.status-unknown{color:var(--aws-text-secondary)}.status.status-unknown:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235f6b7a'><path d='M8 1a7 7 0 100 14A7 7 0 008 1zm.9 11H7v-2h1.9v2zm1.3-5.2c-.3.3-.8.6-1 .9-.2.2-.2.5-.2.9H7c0-.7.1-1.2.4-1.6.3-.4.7-.6 1-.9.3-.3.4-.5.4-.9 0-.5-.4-.8-.9-.8s-.9.3-.9.9H5.4c0-1.3 1-2.2 2.5-2.2s2.4.9 2.4 2.1c0 .7-.3 1.1-.7 1.5z'/></svg>")}.badge{color:var(--aws-text);cursor:pointer;background:#e9ebed;border:1px solid #0000;border-radius:4px;margin-right:4px;padding:2px 8px;font-size:12px;font-weight:400;display:inline-block}.badge:hover{border-color:var(--aws-border-strong)}.badge.status-active{background:var(--aws-success-bg);color:var(--aws-success)}.badge.status-inactive{color:var(--aws-text-secondary);background:#f2f3f3}.badge.status-suspended{color:var(--aws-danger);background:#fdf3f1}.badge.status-unknown{background:var(--aws-warning-bg);color:var(--aws-warning)}.badge.badge-bot{color:var(--aws-link);cursor:default;background:#f0f7ff;font-weight:600}.badge.badge-bot:hover{border-color:#0000}.badge.badge-generic{color:#e65100;cursor:default;background:#fff3e0;font-weight:600}.badge.badge-generic:hover{border-color:#0000}.empty,.loading{text-align:center;color:var(--aws-text-secondary);padding:32px}.pagination{color:var(--aws-text-secondary);align-items:center;gap:4px;font-size:14px;display:flex}.pagination button{color:var(--aws-text-secondary);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-weight:400}.pagination button:hover{color:var(--aws-text);background:#f2f3f3}.pagination .settings{width:32px;height:32px;color:var(--aws-text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;display:inline-flex}.back-link{color:var(--aws-link);margin-bottom:12px;font-size:14px;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}h2{margin:0 0 8px;font-size:18px;font-weight:700}h3{margin:24px 0 8px;font-size:16px;font-weight:700}.settings-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.settings-header h2{margin:0}.settings-actions{gap:8px;display:flex}.muted{color:var(--aws-text-secondary,#888);font-style:italic}a.no-email{text-decoration:none}.ad-warning{color:var(--aws-danger,#d13212);cursor:help;margin-left:4px;font-weight:700}.sync-table{border-collapse:collapse;width:100%;margin-top:16px}.sync-table th,.sync-table td{border-bottom:1px solid var(--aws-border,#eaeded);vertical-align:top;text-align:left;padding:8px 12px}.sync-table .subtext{color:var(--aws-text-secondary,#888);font-size:.85em}.sync-table .badge{border-radius:4px;padding:2px 8px;font-size:.85em;display:inline-block}.sync-table .badge.idle{color:#333;background:#eee}.sync-table .badge.running{color:#036;background:#bde}.sync-table .badge.success{color:#030;background:#cfc}.sync-table .badge.failed{color:#600;background:#fcc}.sync-table .badge.warn,.sync-table .badge.manual{color:#653;background:#ffe0a0}.sync-table .err{color:#a00;margin-top:4px;font-size:.85em}.sync-table tr.no-creds{opacity:.6}.sync-table code{background:#f6f6f6;border-radius:2px;padding:1px 4px;font-family:monospace}.manual-import{border:1px solid var(--aws-border,#eaeded);background:#fafbfc;border-radius:6px;margin-top:32px;padding:16px}.manual-import h3{margin:0 0 4px;font-size:1rem}.manual-import-form{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.manual-import-form select,.manual-import-form input[type=file]{padding:4px 6px}.manual-import .err{color:#a00;margin-top:12px;font-size:.9em}.import-summary{border:1px solid var(--aws-border,#eaeded);background:#fff;border-radius:4px;margin-top:16px;padding:12px}.import-summary ul{margin:6px 0 0 18px;padding:0}.import-summary details{margin-top:8px}.import-summary details summary{cursor:pointer;color:var(--aws-text-secondary,#555)}.settings-layout{flex-direction:column;gap:1rem;display:flex}.settings-tabs{border-bottom:1px solid #ddd;gap:0;display:flex}.settings-tab{color:#555;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.6rem 1rem;font-weight:400;text-decoration:none}.settings-tab:hover{color:#000;background:0 0}.settings-tab:focus{outline:none}.settings-tab:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.settings-tab.active{color:#000;border-bottom-color:#2563eb;font-weight:600}.card{border:1px solid #e5e5e5;border-radius:8px;margin-bottom:1rem;padding:1rem}.kv-table th{text-align:left;vertical-align:top;padding-right:1rem;font-weight:600}.kv-table td{padding:.25rem 0}.notif-table{border-collapse:collapse;width:100%}.notif-table th,.notif-table td{text-align:left;border-bottom:1px solid #eee;padding:.4rem}.badge.ok{color:#065f46;background:#d1fae5;border-radius:4px;padding:2px 6px}.badge.pending{color:#92400e;background:#fef3c7;border-radius:4px;padding:2px 6px}.badge.completed{color:#1e40af;background:#dbeafe;border-radius:4px;padding:2px 6px}.badge.cancelled{color:#4b5563;background:#f3f4f6;border-radius:4px;padding:2px 6px}.badge.none{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 6px}.subtext{color:#888;font-size:.9em}.merge-page{max-width:960px}.merge-hint{color:var(--aws-text-secondary);margin-bottom:24px}.merge-user-grid{grid-template-columns:1fr 60px 1fr;align-items:start;gap:16px;display:grid}.merge-arrow{text-align:center;color:var(--aws-text-secondary);padding-top:32px;font-size:24px}.merge-user-search{position:relative}.merge-search-input{border:1px solid var(--aws-border-strong);border-radius:4px;width:100%;padding:8px 12px;font-size:14px}.merge-search-results{background:var(--aws-bg);border:1px solid var(--aws-border-strong);z-index:10;border-radius:4px;max-height:240px;margin:2px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.merge-search-results li{cursor:pointer;flex-direction:column;padding:8px 12px;display:flex}.merge-search-results li:hover{background:var(--aws-bg-alt)}.merge-search-info,.merge-search-error{color:var(--aws-text-secondary);cursor:default;font-size:12px;font-style:italic}.merge-search-error{color:var(--aws-danger);font-style:normal}.merge-search-info:hover,.merge-search-error:hover{background:0 0}.merge-user-card{border:1px solid var(--aws-border);background:var(--aws-bg-alt);border-radius:4px;padding:12px}.merge-user-summary{flex-direction:column;gap:4px;display:flex}.merge-user-email{color:var(--aws-text-secondary);font-size:12px}.merge-user-services{color:var(--aws-text-secondary);margin-top:4px;font-size:12px}.link-button{color:var(--aws-link);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:12px}.primary-button{background:var(--aws-orange);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:16px;padding:8px 20px;font-size:14px}.primary-button:disabled{opacity:.5;cursor:not-allowed}.primary-button:hover:not(:disabled){background:var(--aws-orange-hover)}.secondary-button{background:var(--aws-bg);color:var(--aws-text);border:1px solid var(--aws-border-strong);cursor:pointer;border-radius:4px;margin-left:8px;padding:8px 20px;font-size:14px}.merge-error{border:1px solid var(--aws-danger);color:var(--aws-danger);background:#fdf0f0;border-radius:4px;margin-top:16px;padding:12px}.merge-warning{background:var(--aws-warning-bg);border:1px solid var(--aws-warning);color:var(--aws-warning);border-radius:4px;margin-top:16px;padding:12px}.merge-success{background:var(--aws-success-bg);border:1px solid var(--aws-success);color:var(--aws-success);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px;display:flex}.merge-resolve{border:1px solid var(--aws-border);background:var(--aws-bg-alt);border-radius:4px;margin-top:24px;padding:16px}.merge-target-choice{margin-top:16px}.merge-target-option{border:1px solid var(--aws-border-strong);cursor:pointer;border-radius:4px;margin-top:6px;padding:10px;display:block}.merge-target-option.active{border-color:var(--aws-link);background:#eaf3ff}.merge-target-option input{margin-right:8px}.merge-result-summary{background:var(--aws-bg);border-radius:4px;margin-top:12px;padding:10px;font-size:12px}.merge-actions{margin-top:12px}.service-account-marker{color:#6b7280;cursor:help;margin-left:.25rem;font-weight:700}.settings-table{border-collapse:collapse;width:100%;margin-top:.5rem}.settings-table th,.settings-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.4rem .6rem}.login-shell{background:var(--aws-bg-alt);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;margin:-16px -24px;padding:24px;display:flex}.login-card{background:#fff;border-radius:16px;width:400px;max-width:100%;padding:48px 40px;box-shadow:0 4px 12px #00000014}.login-title{letter-spacing:-.5px;color:var(--aws-text);text-align:center;margin:0;font-size:32px;font-weight:700}.login-divider{border:0;border-top:1px solid var(--aws-border);margin:24px 0}.login-subtext{color:var(--aws-text-secondary);text-align:center;margin:0 0 24px;font-size:14px}.login-button{color:#fff;cursor:pointer;background:#fc6d26;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;height:44px;font-size:14px;font-weight:600;text-decoration:none;transition:background .1s;display:flex}.login-button:hover{background:#e24329}.login-hint{color:var(--aws-text-secondary);text-align:center;margin:16px 0 0;font-size:12px}.login-footer{color:var(--aws-text-secondary);margin-top:32px;font-size:12px}.login-banner{border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px}.login-banner.hard{border:1px solid var(--aws-danger);color:var(--aws-danger);background:#fdf0f0}.login-banner.soft{background:var(--aws-bg-alt);border:1px solid var(--aws-border);color:var(--aws-text-secondary)}.user-badge{color:var(--aws-text-secondary);align-items:center;gap:8px;font-size:14px;display:inline-flex}.user-badge img{border:1px solid var(--aws-border);object-fit:cover;border-radius:50%;width:24px;height:24px}.user-badge .name{color:var(--aws-text);font-weight:600}header.app-header{justify-content:space-between;align-items:center;padding:8px 0 16px;display:flex}
