.artifact-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;transition:border-color .2s}.artifact-card:hover{border-color:var(--accent)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.card-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.card-name{font-size:1rem;font-weight:600}.status-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:500;padding:.2rem .5rem;border:1px solid;border-radius:12px}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.version-badge{font-size:.7rem;font-weight:600;color:var(--accent);background:#6c63ff1f;padding:.15rem .4rem;border-radius:4px;font-family:JetBrains Mono,SF Mono,monospace}.owner-badge{font-size:.68rem;color:var(--text-muted);background:var(--bg);padding:.15rem .4rem;border-radius:4px;border:1px solid var(--border)}.shared-badge{font-size:.65rem;color:var(--blue);border:1px solid var(--blue);padding:.1rem .35rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.mode-badge{font-size:.65rem;color:var(--amber, #d98e04);border:1px solid var(--amber, #d98e04);padding:.1rem .35rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.card-target{font-size:.75rem;color:var(--text-muted);background:var(--bg);padding:.2rem .5rem;border-radius:4px;flex-shrink:0}.card-body{margin-bottom:.75rem}.card-url{color:var(--accent);text-decoration:none;font-size:.85rem;word-break:break-all}.card-url:hover{text-decoration:underline}.card-url-pending{color:var(--text-muted);font-size:.85rem;font-style:italic}.card-footer{display:flex;justify-content:space-between;align-items:center}.card-time{font-size:.75rem;color:var(--text-muted)}.card-actions{display:flex;gap:.5rem}.action-btn{background:var(--bg);color:var(--text-muted);border:1px solid var(--border);padding:.3rem .7rem;border-radius:6px;font-size:.75rem;cursor:pointer;text-decoration:none;transition:all .2s}.action-btn:hover{color:var(--text);border-color:var(--text-muted)}.action-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.action-primary:hover{background:var(--accent-hover)}.action-danger-outline{color:var(--red);border-color:var(--red)}.action-danger-outline:hover{background:var(--red);color:#fff}.action-danger{background:var(--red);color:#fff;border-color:var(--red)}.action-danger:hover{background:#dc2626}.action-danger:disabled,.action-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-delete{display:flex;align-items:center;gap:.4rem}.confirm-text{font-size:.75rem;color:var(--red);font-weight:500}.artifact-list{display:flex;flex-direction:column;gap:.75rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius)}.empty-icon{font-size:2.5rem;margin-bottom:.75rem}.empty-state h3{color:var(--text);margin-bottom:.5rem}.empty-state p{margin-bottom:1rem;font-size:.9rem}.empty-hint{display:inline-block;background:var(--bg);padding:.5rem .75rem;border-radius:var(--radius);font-size:.8rem;color:var(--text-muted)}.log-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:flex-end;z-index:100;padding:2rem}.log-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:900px;max-height:70vh;display:flex;flex-direction:column}.log-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.log-header h3{font-size:.9rem;font-weight:600}.log-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.log-close:hover{color:var(--text)}.log-content{overflow-y:auto;padding:.5rem 0;flex:1;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.78rem;line-height:1.6}.log-line{display:flex;padding:0 1rem}.log-line:hover{background:var(--bg-hover)}.log-num{color:var(--text-muted);min-width:3rem;text-align:right;padding-right:1rem;-webkit-user-select:none;user-select:none;flex-shrink:0}.log-text{white-space:pre-wrap;word-break:break-all}.log-loading,.log-empty,.log-error{padding:2rem;text-align:center;color:var(--text-muted)}.log-error{color:var(--red)}.vh-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:100;padding:2rem}.vh-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:700px;max-height:80vh;display:flex;flex-direction:column}.vh-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.vh-header h3{font-size:.9rem;font-weight:600}.vh-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.vh-close:hover{color:var(--text)}.vh-content{overflow-y:auto;padding:.5rem 0;flex:1}.vh-loading,.vh-empty,.vh-error{padding:2rem;text-align:center;color:var(--text-muted)}.vh-error{color:var(--red)}.vh-row{display:flex;align-items:center;padding:.6rem 1rem;gap:1rem;border-bottom:1px solid rgba(42,45,62,.5);transition:background .15s}.vh-row:last-child{border-bottom:none}.vh-row:hover{background:var(--bg-hover)}.vh-row-current{background:#6c63ff0d}.vh-row-left{display:flex;align-items:center;gap:.4rem;min-width:80px}.vh-version{font-family:JetBrains Mono,SF Mono,monospace;font-size:.85rem;font-weight:600;color:var(--accent)}.vh-current-tag{font-size:.6rem;color:var(--green);border:1px solid var(--green);padding:.05rem .3rem;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.vh-row-center{flex:1;min-width:0}.vh-row-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.15rem}.vh-date{font-size:.78rem;color:var(--text)}.vh-user{font-size:.72rem;color:var(--text-muted)}.vh-row-details{display:flex;align-items:center;gap:.5rem}.vh-image{font-family:JetBrains Mono,SF Mono,monospace;font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.vh-status{font-size:.65rem;padding:.1rem .3rem;border-radius:3px;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.vh-status-running{color:var(--green);border:1px solid var(--green)}.vh-status-failed{color:var(--red);border:1px solid var(--red)}.vh-status-building,.vh-status-deploying{color:var(--yellow);border:1px solid var(--yellow)}.vh-row-right{display:flex;align-items:center;min-width:80px;justify-content:flex-end}.vh-btn{background:var(--bg);color:var(--text-muted);border:1px solid var(--border);padding:.25rem .6rem;border-radius:5px;font-size:.72rem;cursor:pointer;transition:all .2s}.vh-btn:hover{color:var(--text);border-color:var(--text-muted)}.vh-btn:disabled{opacity:.5;cursor:not-allowed}.vh-btn-danger{background:var(--red);color:#fff;border-color:var(--red)}.vh-btn-danger:hover{background:#dc2626}.vh-confirm{display:flex;align-items:center;gap:.3rem}.vh-confirm-text{font-size:.72rem;color:var(--yellow);font-weight:500}.sd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:100;padding:2rem}.sd-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;display:flex;flex-direction:column}.sd-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.sd-header h3{font-size:.9rem;font-weight:600}.sd-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.sd-close:hover{color:var(--text)}.sd-content{padding:1rem}.sd-loading,.sd-empty{text-align:center;color:var(--text-muted);font-size:.85rem;padding:1rem 0}.sd-error{color:var(--red);font-size:.8rem;padding:.5rem .75rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:4px;margin-bottom:.75rem}.sd-artifact-name{font-weight:600;font-size:1rem;margin-bottom:1rem;color:var(--text)}.sd-section{margin-bottom:1rem}.sd-section:last-child{margin-bottom:0}.sd-section-title{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.sd-user-list{display:flex;flex-direction:column;gap:.35rem}.sd-user-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:var(--bg);border-radius:5px}.sd-user-name{flex:1;font-size:.85rem;color:var(--text)}.sd-user-perm{font-size:.68rem;color:var(--text-muted);border:1px solid var(--border);padding:.1rem .3rem;border-radius:3px}.sd-remove-btn{background:none;border:1px solid var(--red);color:var(--red);padding:.2rem .5rem;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .2s}.sd-remove-btn:hover{background:var(--red);color:#fff}.sd-remove-btn:disabled{opacity:.5;cursor:not-allowed}.sd-input-row{display:flex;gap:.5rem}.sd-input{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:.5rem .75rem;border-radius:6px;font-size:.85rem;outline:none;transition:border-color .2s}.sd-input:focus{border-color:var(--accent)}.sd-input::placeholder{color:var(--text-muted)}.sd-input:disabled{opacity:.5}.sd-share-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.sd-share-btn:hover:not(:disabled){background:var(--accent-hover)}.sd-share-btn:disabled{opacity:.5;cursor:not-allowed}.sd-hint{font-size:.72rem;color:var(--text-muted);margin-top:.4rem}.sd-link-form{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.sd-link-row{display:flex;gap:.5rem}.sd-password-wrap{flex:1;position:relative;display:flex}.sd-password-wrap .sd-input{flex:1;padding-right:2rem}.sd-eye-btn{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:.85rem;line-height:1;padding:0;color:var(--text-muted)}.sd-gen-btn{background:none;border:1px solid var(--border);color:var(--text);padding:.5rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}.sd-gen-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sd-gen-btn:disabled{opacity:.5;cursor:not-allowed}.sd-select{flex:1}.sd-new-link{background:#22c55e0f;border:1px solid rgba(34,197,94,.3);border-radius:6px;padding:.6rem .75rem;margin-bottom:.6rem}.sd-new-link-label{font-size:.78rem;font-weight:600;color:#22c55e;margin-bottom:.4rem}.sd-url-row{display:flex;align-items:center;gap:.4rem;min-width:0}.sd-url-text{font-size:.78rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.sd-url-mono{font-family:monospace;font-size:.72rem}.sd-copy-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:.1rem .35rem;font-size:.8rem;cursor:pointer;flex-shrink:0;transition:all .15s}.sd-copy-btn:hover{border-color:var(--accent);color:var(--accent)}.sd-link-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.sd-link-meta{display:flex;gap:.35rem;flex-wrap:wrap}.sd-badge{font-size:.65rem;color:var(--text-muted);border:1px solid var(--border);padding:.1rem .3rem;border-radius:3px}.sd-badge-lock{color:var(--accent);border-color:var(--accent)}.slp-root{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:2rem}.slp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;padding:2rem 1.75rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.slp-logo{font-size:1.1rem;font-weight:700;letter-spacing:.5px;color:var(--accent)}.slp-body{width:100%;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}.slp-icon{font-size:2rem;width:3.5rem;height:3.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.slp-icon-lock{background:#6366f11a}.slp-icon-ok{background:#22c55e1f;color:#22c55e;font-size:1.6rem;font-weight:700}.slp-icon-error{background:#ef44441a;color:var(--red);font-size:1.4rem;font-weight:700}.slp-title{font-size:1.15rem;font-weight:700;color:var(--text);margin:0}.slp-sub{font-size:.85rem;color:var(--text-muted);margin:0;max-width:280px}.slp-meta{display:flex;gap:.5rem;align-items:center;justify-content:center;margin:.25rem 0}.slp-status{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.slp-status-running{background:#22c55e26;color:#22c55e}.slp-status-pending,.slp-status-building,.slp-status-deploying{background:#fbbf2426;color:#f59e0b}.slp-status-failed{background:#ef44441f;color:var(--red)}.slp-status-deleted{background:var(--border);color:var(--text-muted)}.slp-target{font-size:.72rem;color:var(--text-muted);border:1px solid var(--border);padding:.1rem .4rem;border-radius:3px}.slp-form{width:100%;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.slp-input{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:.6rem .85rem;border-radius:6px;font-size:.9rem;outline:none;box-sizing:border-box;transition:border-color .2s}.slp-input:focus{border-color:var(--accent)}.slp-input-error{border-color:var(--red)!important}.slp-error{font-size:.78rem;color:var(--red);margin:0;text-align:left}.slp-btn{width:100%;background:var(--accent);color:#fff;border:none;padding:.65rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.slp-btn:hover:not(:disabled){background:var(--accent-hover)}.slp-btn:disabled{opacity:.5;cursor:not-allowed}.slp-url-btn{display:inline-block;margin-top:.5rem;background:var(--accent);color:#fff;text-decoration:none;padding:.6rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:600;transition:background .2s}.slp-url-btn:hover{background:var(--accent-hover)}.slp-spinner{width:2rem;height:2rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:slp-spin .7s linear infinite}@keyframes slp-spin{to{transform:rotate(360deg)}}.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:3.75rem;height:2.25rem;padding:0 .45rem;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:.95rem;line-height:1;transition:background .2s,border-color .2s}.theme-toggle:hover{background:var(--bg-hover)}.theme-toggle-icon{position:relative;z-index:1;width:1.25rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .2s;pointer-events:none}.theme-toggle-icon-light{font-size:.95rem}.theme-toggle-icon-dark{font-size:1.05rem}.theme-toggle-knob{position:absolute;top:50%;left:.18rem;width:1.7rem;height:1.7rem;background:var(--accent);border-radius:50%;transform:translateY(-50%);transition:left .2s ease,background .2s;z-index:0}.theme-toggle-light .theme-toggle-knob{left:1.87rem}.theme-toggle-light .theme-toggle-icon-light,.theme-toggle-dark .theme-toggle-icon-dark{color:#fff}.targets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.target-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem}.target-card.unavailable{opacity:.5}.target-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.target-indicator{width:8px;height:8px;border-radius:50%}.target-indicator.on{background:var(--green);box-shadow:0 0 6px var(--green)}.target-indicator.off{background:var(--text-muted)}.target-name{font-weight:600;font-size:.9rem}.target-preferred{font-size:.65rem;color:var(--accent);border:1px solid var(--accent);padding:.1rem .35rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.target-desc{font-size:.78rem;color:var(--text-muted);line-height:1.4}.ap-section{width:100%}.ap-collapse-icon{margin-left:auto;font-size:1rem;color:var(--text-muted);font-weight:400}.ap-error{background:#ef44441a;border:1px solid var(--red);color:var(--red);padding:.5rem .75rem;border-radius:var(--radius);margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;font-size:.85rem}.ap-error button{background:none;border:none;color:var(--red);cursor:pointer;font-size:.8rem;text-decoration:underline}.ap-toolbar{display:flex;gap:.5rem;margin-bottom:.75rem}.ap-create-btn{background:var(--accent);color:#fff;border:none;padding:.4rem .75rem;border-radius:var(--radius);font-size:.8rem;cursor:pointer;font-weight:500}.ap-create-btn:hover{background:var(--accent-hover)}.ap-refresh-btn{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:.4rem .75rem;border-radius:var(--radius);font-size:.8rem;cursor:pointer}.ap-refresh-btn:hover{color:var(--text);border-color:var(--text-muted)}.ap-create-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;display:flex;gap:.5rem;margin-bottom:.75rem;align-items:center;flex-wrap:wrap}.ap-input,.ap-select{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.4rem .6rem;border-radius:var(--radius);font-size:.85rem;font-family:inherit;outline:none}.ap-input:focus,.ap-select:focus{border-color:var(--accent)}.ap-input{flex:1;min-width:120px}.ap-submit-btn{background:var(--accent);color:#fff;border:none;padding:.4rem .75rem;border-radius:var(--radius);font-size:.8rem;cursor:pointer;font-weight:500}.ap-submit-btn:hover{background:var(--accent-hover)}.ap-submit-btn:disabled{opacity:.5;cursor:not-allowed}.ap-table-wrap{overflow-x:auto}.ap-table{width:100%;border-collapse:collapse;font-size:.85rem}.ap-table th{color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.ap-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.ap-table tr:hover{background:var(--bg-hover)}.ap-name{font-weight:500;color:var(--text);white-space:nowrap}.ap-you-badge{font-size:.65rem;color:var(--accent);border:1px solid var(--accent);padding:.05rem .3rem;border-radius:4px;margin-left:.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.ap-email{color:var(--text-muted)}.ap-role-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);border:1px solid var(--border)}.ap-role-admin{color:var(--yellow);border-color:var(--yellow)}.ap-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem}.ap-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.ap-status-active .ap-status-dot{background:var(--green)}.ap-status-suspended .ap-status-dot{background:var(--red)}.ap-status-active{color:var(--green)}.ap-status-suspended{color:var(--red)}.ap-provider{color:var(--text-muted);font-size:.8rem}.ap-created{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.ap-actions{display:flex;gap:.35rem;white-space:nowrap}.ap-action-btn{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;cursor:pointer;font-family:inherit}.ap-action-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.ap-action-btn:disabled{opacity:.3;cursor:not-allowed}.ap-action-danger:hover:not(:disabled){color:var(--red);border-color:var(--red)}.ap-empty{text-align:center;color:var(--text-muted);padding:2rem;font-size:.9rem}.ap-tabs{display:flex;align-items:center;gap:.25rem;margin-bottom:.75rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.ap-tab{background:transparent;color:var(--text-muted);border:none;padding:.4rem .75rem;border-radius:var(--radius) var(--radius) 0 0;font-size:.8rem;cursor:pointer;font-family:inherit;font-weight:500}.ap-tab:hover{color:var(--text)}.ap-tab-active{color:var(--accent);border-bottom:2px solid var(--accent)}.ap-dept-select{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);padding:.2rem .4rem;border-radius:4px;font-size:.75rem;font-family:inherit;outline:none;max-width:120px}.ap-dept-select:focus{border-color:var(--accent);color:var(--text)}.ap-dept-count{font-size:.8rem;color:var(--text-muted)}.setup-guide{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.setup-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;font-size:.9rem;transition:background .15s}.setup-toggle:hover{background:var(--bg-hover)}.setup-toggle-icon{color:var(--text-muted);font-size:.75rem;width:1rem;text-align:center;flex-shrink:0}.setup-toggle-title{font-weight:600}.setup-toggle-hint{color:var(--text-muted);font-size:.78rem;margin-left:auto}.setup-content{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border)}.setup-intro{font-size:.85rem;color:var(--text-muted);margin:1rem 0;line-height:1.5}.setup-option{margin-bottom:1.25rem;padding:1rem;background:var(--bg);border-radius:6px;border:1px solid var(--border)}.setup-option:last-of-type{margin-bottom:.75rem}.setup-option-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.setup-option-header h4{font-size:.88rem;font-weight:600;color:var(--text)}.setup-option-desc{font-size:.75rem;color:var(--text-muted)}.setup-badge-recommended{font-size:.6rem;color:var(--green);border:1px solid var(--green);padding:.1rem .35rem;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.setup-step{font-size:.82rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.4}.setup-step code{background:#6c63ff1a;color:var(--accent);padding:.1rem .3rem;border-radius:3px;font-size:.78rem}.setup-code-block{position:relative;background:#0d0f14;border:1px solid var(--border);border-radius:6px;margin-bottom:.5rem;overflow:hidden}.setup-code-block pre{padding:.85rem 4.5rem .85rem 1rem;margin:0;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.76rem;line-height:1.6;color:var(--text);overflow-x:auto;white-space:pre}.setup-copy-btn{position:absolute;top:.5rem;right:.5rem;background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);padding:.25rem .6rem;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .2s}.setup-copy-btn:hover{color:var(--text);border-color:var(--accent)}.setup-file-hint{font-size:.72rem;color:var(--text-muted);line-height:1.5}.setup-file-hint code{background:#6c63ff14;color:var(--accent);padding:.1rem .25rem;border-radius:3px;font-size:.7rem;word-break:break-all}.setup-footer{font-size:.78rem;color:var(--text-muted);line-height:1.5;padding-top:.5rem;border-top:1px solid var(--border)}.setup-footer code{background:#6c63ff14;color:var(--accent);padding:.1rem .25rem;border-radius:3px;font-size:.75rem}.app{max-width:1100px;margin:0 auto;padding:1.5rem}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 0 2rem;border-bottom:1px solid var(--border);margin-bottom:2rem}.header-left,.header-right{display:flex;align-items:center;gap:1rem}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.75rem;font-weight:700;color:var(--accent)}.logo-img{width:36px;height:36px;object-fit:contain}.subtitle{color:var(--text-muted);font-size:.9rem}.org-badge{font-size:.7rem;color:var(--accent);border:1px solid var(--accent);padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.user-info{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.admin-badge{font-size:.65rem;color:var(--yellow);border:1px solid var(--yellow);padding:.1rem .35rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.profile-wrapper{position:relative}.profile-trigger{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.3rem .6rem;cursor:pointer;color:var(--text);font-family:inherit;font-size:.8rem}.profile-trigger:hover{border-color:var(--text-muted);background:var(--bg-hover)}.profile-avatar,.profile-card-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0}.profile-card-avatar{width:36px;height:36px;font-size:.9rem}.profile-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:0;min-width:240px;z-index:100;box-shadow:0 8px 24px #0006}.profile-card-header{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--border)}.profile-card-identity{display:flex;flex-direction:column;min-width:0}.profile-card-name{font-weight:600;font-size:.9rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card-email{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card-details{padding:.5rem .75rem}.profile-card-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0}.profile-card-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.profile-card-role{font-size:.7rem;padding:.1rem .35rem;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);border:1px solid var(--border)}.profile-card-role-admin{color:var(--yellow);border-color:var(--yellow)}.profile-card-status{font-size:.75rem;color:var(--green)}.profile-card-value{font-size:.75rem;color:var(--text-muted)}.profile-card-id{font-family:monospace;font-size:.65rem;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card-footer{border-top:1px solid var(--border);padding:.5rem .75rem}.profile-logout-btn{width:100%;background:transparent;color:var(--red);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem;font-size:.8rem;cursor:pointer;font-family:inherit}.profile-logout-btn:hover{border-color:var(--red);background:#ef44441a}.auth-inline{display:flex;align-items:center;gap:.4rem}.auth-input{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.3rem .5rem;border-radius:var(--radius);font-size:.8rem;font-family:inherit;width:140px;outline:none}.auth-input:focus{border-color:var(--accent)}.auth-submit{background:var(--accent);color:#fff;border:none;padding:.3rem .6rem;border-radius:var(--radius);font-size:.8rem;cursor:pointer;font-family:inherit;font-weight:500}.auth-submit:hover{background:var(--accent-hover)}.auth-error{color:var(--red);font-size:.75rem}.refresh-btn{background:var(--bg-card);color:var(--text);border:1px solid var(--border);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:background .2s}.refresh-btn:hover:not(:disabled){background:var(--bg-hover)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.nav-btn{background:var(--bg-card);color:var(--text);border:1px solid var(--border);padding:.5rem .85rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:background .2s}.nav-btn:hover{background:var(--bg-hover)}.nav-btn-active{background:var(--bg-hover);border-color:var(--accent, var(--text))}.icon-btn{background:var(--bg-card);color:var(--text);border:1px solid var(--border);width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);cursor:pointer;font-size:1.1rem;line-height:1;transition:background .2s}.icon-btn:hover{background:var(--bg-hover)}.icon-btn-active{background:var(--bg-hover);border-color:var(--accent, var(--text))}.page-header{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.back-btn{background:transparent;color:var(--text);border:1px solid var(--border);padding:.35rem .7rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:background .2s}.back-btn:hover{background:var(--bg-hover)}.page-title{margin:0;font-size:1.5rem;font-weight:600}.page-note{color:var(--text-muted, #888);font-size:.9rem;font-style:italic}.error-banner{background:color-mix(in srgb,var(--red) 12%,var(--bg));border:1px solid var(--red);color:var(--red);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:var(--red);cursor:pointer;text-decoration:underline}.main{display:flex;flex-direction:column;gap:2rem}.section-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.count{background:var(--accent);color:#fff;font-size:.75rem;padding:.15rem .5rem;border-radius:10px;font-weight:500}:root{--bg: #0f1117;--bg-card: #1a1d27;--bg-hover: #22253a;--border: #2a2d3e;--text: #e1e4ed;--text-muted: #8b8fa3;--accent: #6c63ff;--accent-hover: #7c74ff;--green: #22c55e;--yellow: #eab308;--red: #ef4444;--blue: #3b82f6;--radius: 8px;color-scheme:dark}[data-theme=light]{--bg: #f5f6fa;--bg-card: #ffffff;--bg-hover: #eceef5;--border: #d6d9e2;--text: #1a1d27;--text-muted: #6b7080;--accent: #5851e0;--accent-hover: #4a44c7;--green: #15803d;--yellow: #b45309;--red: #b91c1c;--blue: #1d4ed8;color-scheme:light}body{transition:background-color .15s ease,color .15s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}#root{min-height:100vh}
