:root{--font-display:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--bg-app:#f9f9fb;--bg-panel:#fff;--bg-hover:#f1f1f5;--bg-active:#e6e6ec;--text-primary:#121214;--text-secondary:#5a5a65;--text-muted:#888898;--border-light:#e4e4eb;--border-medium:#888898;--border-heavy:#121214;--focus-ring:#121214;--button-text-light:#fff;--height-toolbar:64px;--height-footer:40px}*{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%;font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-primary);font-weight:600}.app-container{flex-direction:column;width:100%;height:100vh;display:flex}.app-toolbar{height:var(--height-toolbar);min-height:var(--height-toolbar);background-color:var(--bg-panel);border-bottom:1px solid var(--border-light);z-index:10;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:16px;display:flex}.app-logo{align-items:center;gap:8px;margin-right:16px;display:flex}.logo-icon{font-size:24px}.logo-text{letter-spacing:-.3px;font-size:18px}.toolbar-nav{gap:8px;display:flex}.btn{font-family:var(--font-body);border:1px solid var(--border-light);background-color:var(--bg-panel);color:var(--text-primary);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-medium)}.btn:active:not(:disabled){background-color:var(--bg-active)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background-color:var(--text-primary);color:var(--button-text-light);border-color:var(--text-primary)}.btn-primary:hover:not(:disabled){background-color:#27272a;border-color:#27272a}.btn-primary:active:not(:disabled){background-color:#3f3f46}.btn-large{border-radius:6px;padding:12px 24px;font-size:15px}.btn-danger{border-color:var(--border-heavy);font-weight:600}.btn-danger-outline{border:1px dashed var(--border-medium);font-weight:500}.btn-danger-outline:hover:not(:disabled){background-color:var(--bg-hover);border-style:solid}.btn-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:24px}.btn-close:hover{color:var(--text-primary)}.user-profile-container{border-left:1px solid var(--border-light);align-items:center;gap:12px;padding-left:16px;display:flex;position:relative}.btn-profile-trigger{cursor:pointer;color:var(--text-heavy);background:0 0;border:none;border-radius:20px;align-items:center;gap:10px;padding:4px 8px;transition:background-color .15s;display:flex}.btn-profile-trigger:hover{background-color:var(--bg-hover)}.dropdown-arrow{color:var(--text-muted);font-size:9px;transition:transform .15s}.btn-profile-trigger:hover .dropdown-arrow{color:var(--text-secondary)}.profile-dropdown-menu{background-color:var(--bg-panel);border:1px solid var(--border-light);z-index:1000;text-align:left;border-radius:8px;flex-direction:column;gap:12px;width:240px;margin-top:8px;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) slideDownIn;display:flex;position:absolute;top:100%;right:0;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{flex-direction:column;gap:4px;display:flex}.dropdown-name{font-family:var(--font-display);color:var(--text-heavy);font-size:14px;font-weight:600}.dropdown-email{color:var(--text-muted);word-break:break-all;font-size:12px}.dropdown-divider{background-color:var(--border-light);height:1px;margin:4px 0}.btn-full-width{justify-content:center;width:100%;padding:10px;font-size:13px}.user-name{font-size:13px;font-weight:500}.btn-icon-only{background:0 0;border:none;border-radius:50%;padding:4px}.user-avatar{border:1px solid var(--border-medium);cursor:pointer;border-radius:50%;width:32px;height:32px}.user-avatar:hover{border-color:var(--border-heavy)}.app-main{background-color:var(--bg-app);flex-direction:column;flex-grow:1;display:flex;overflow:hidden}.list-header-container{background-color:var(--bg-panel);border-bottom:1px solid var(--border-light);padding:0 24px}.list-header{height:48px;font-family:var(--font-display);color:var(--text-secondary);grid-template-columns:1.5fr 2fr 1.5fr 1.2fr 3fr;align-items:center;gap:16px;font-size:13px;font-weight:600;display:grid}.list-body-container{flex-grow:1;padding:16px 24px;position:relative;overflow-y:auto}.keys-list{flex-direction:column;gap:12px;display:flex}.key-item-row{background-color:var(--bg-panel);border:1px solid var(--border-light);border-radius:6px;grid-template-columns:1.5fr 2fr 1.5fr 1.2fr 3fr;align-items:center;gap:16px;padding:16px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.key-item-row:hover{border-color:var(--border-medium)}.key-item-row.level-full{border-style:solid;border-width:1px}.key-item-row.level-some{border-style:dashed;border-width:1px}.key-item-row.level-none{border-style:dotted;border-width:2px}.text-truncate-wrapper{align-items:center;gap:8px;max-width:100%;display:flex;overflow:hidden}.text-truncate{white-space:nowrap;text-overflow:ellipsis;cursor:default;font-size:13px;font-weight:500;overflow:hidden}.key-link{color:var(--text-heavy);cursor:pointer;font-weight:500;text-decoration:none;transition:color .15s}.key-link:hover{color:var(--color-primary);text-decoration:underline}.key-recommendation-text{color:var(--text-secondary);font-size:12.5px;line-height:1.5}.key-item-row.level-none .key-recommendation-text{color:var(--status-error-text,#ef4444);font-weight:500}.key-uid-sub,.key-project-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.btn-copy{border:1px solid var(--border-light);background-color:var(--bg-panel);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;visibility:hidden;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s,visibility .15s,background-color .15s,border-color .15s,color .15s;display:inline-flex}.text-truncate-wrapper:hover .btn-copy{opacity:1;visibility:visible}.btn-copy:hover{background-color:var(--bg-hover);border-color:var(--border-medium);color:var(--text-primary)}.btn-copy.copied{border-color:var(--border-heavy);background-color:var(--bg-hover);color:var(--text-primary)}.restriction-badge-container{align-items:center;display:flex}.restriction-badge{border:1px solid var(--border-light);cursor:default;background-color:var(--bg-panel);border-radius:4px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex}.restriction-badge .badge-icon{display-inline:inline-block;font-size:14px;line-height:1}.badge-full{border-color:var(--border-heavy);background-color:var(--bg-hover);border-style:solid}.badge-some{border-color:var(--border-medium);border-style:dashed}.badge-none{border-color:var(--border-heavy);border-style:dotted;border-width:2px;text-decoration:underline}.empty-state{text-align:center;background-color:var(--bg-panel);border:1px solid var(--border-light);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;max-width:600px;margin:80px auto;padding:64px 32px;display:flex}.empty-icon{margin-bottom:24px;font-size:64px}.empty-state h2{letter-spacing:-.4px;margin-bottom:12px;font-size:22px}.empty-state p{color:var(--text-secondary);max-width:420px;margin-bottom:28px;font-size:14px;line-height:1.5}.progress-overlay{z-index:5;background-color:#f9f9fbcc;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.progress-card{background-color:var(--bg-panel);border:1px solid var(--border-heavy);text-align:center;border-radius:8px;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:32px;display:flex;box-shadow:0 4px 20px #0000000d}.progress-spinner{border:4px solid var(--border-light);border-top:4px solid var(--border-heavy);border-radius:50%;width:40px;height:40px;margin-bottom:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-title{margin-bottom:8px;font-size:16px;font-weight:600}.progress-details{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.progress-bar-bg{background-color:var(--bg-hover);border-radius:3px;width:100%;height:6px;margin-bottom:24px;overflow:hidden}.progress-bar-fill{background-color:var(--border-heavy);border-radius:3px;height:100%;transition:width .2s}.app-footer{height:var(--height-footer);min-height:var(--height-footer);background-color:var(--bg-panel);border-top:1px solid var(--border-light);z-index:10;color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 24px;font-size:11px;font-weight:500;display:flex}.footer-left{flex:auto;align-items:center;min-width:0;padding-right:24px;display:flex}#status-notification{white-space:nowrap;text-overflow:ellipsis;width:100%;overflow:hidden}.footer-right{flex:none;align-items:center;gap:24px;display:flex}.permission-container{align-items:center;display:flex}.status-neutral{color:var(--text-secondary)}.status-success{text-underline-offset:4px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}.status-error{-webkit-text-decoration:underline dotted var(--border-heavy);text-decoration:underline dotted var(--border-heavy);text-underline-offset:4px;font-weight:600;text-decoration-thickness:2px}.permission-pill-label{color:var(--text-muted);margin-right:6px}.permission-pill{border:1px solid var(--border-medium);text-transform:uppercase;background-color:var(--bg-hover);border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600}.modal-overlay{z-index:100;background-color:#120c1466;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-card{background-color:var(--bg-panel);border:1px solid var(--border-heavy);border-radius:8px;flex-direction:column;width:100%;max-width:560px;display:flex;box-shadow:0 10px 30px #0000001a}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.modal-header h2{letter-spacing:-.3px;font-size:20px}.modal-body{padding:32px}.modal-instructions{color:var(--text-secondary);margin-bottom:24px;font-size:13px;line-height:1.5}.form-group{margin-bottom:24px}.form-group label{font-family:var(--font-display);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.required{color:var(--text-primary);font-weight:700}.form-group input[type=text]{border:1px solid var(--border-medium);width:100%;font-family:var(--font-body);color:var(--text-primary);border-radius:4px;padding:12px;font-size:13px}.form-group input[type=text]:focus{border-color:var(--border-heavy);outline:none}.form-help{color:var(--text-muted);margin-top:6px;font-size:11px;line-height:1.4;display:block}.form-help a{color:var(--text-primary);font-weight:500}.code-span{background-color:var(--bg-hover);border:1px solid var(--border-light);border-radius:3px;padding:2px 4px;font-family:monospace;font-size:11px}.scope-options{flex-direction:column;gap:12px;display:flex}.scope-radio-card{border:1px solid var(--border-light);cursor:pointer;border-radius:6px;align-items:flex-start;gap:12px;padding:16px;transition:background-color .15s,border-color .15s;display:flex}.scope-radio-card:hover{background-color:var(--bg-hover)}.scope-radio-card input[type=radio]{accent-color:var(--border-heavy);margin-top:4px}.scope-radio-card:has(input[type=radio]:checked){border-color:var(--border-heavy);background-color:var(--bg-hover)}.radio-content{flex-direction:column;gap:4px;display:flex}.radio-title{font-family:var(--font-display);font-size:13px;font-weight:600}.radio-desc{color:var(--text-secondary);font-size:11px;line-height:1.4}.modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;display:flex}.hidden{display:none!important}[data-tooltip]{cursor:help;position:relative}
