:root{--bg: #fbf7f4;--surface: #ffffff;--surface-2: #f6f1ec;--border: #e9e1d9;--border-strong: #d8cdc2;--text: #1d2a23;--muted: #6a756e;--green-900: #0b4d34;--green-700: #0f7850;--green-600: #008352;--green-400: #4ba987;--green-100: #dff3e9;--mint: #c4f0dd;--danger: #b4372f;--danger-bg: #fbeceb;--amber: #8a5a00;--amber-bg: #fdf1d8;--blue: #1d5f8a;--blue-bg: #e3f0f8;--radius: 10px;--radius-small: 6px;--shadow: 0 1px 2px rgb(29 42 35 / 6%), 0 2px 8px rgb(29 42 35 / 5%);--shadow-lg: 0 12px 40px rgb(29 42 35 / 18%);--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--green-700);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25;margin:0}h1{font-size:1.6rem;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}h2{font-size:1.05rem;font-weight:650}code,.mono{font-family:var(--mono);font-size:.88em}.muted{color:var(--muted)}.small{font-size:.82rem}:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}.app{display:flex;min-height:100vh}.sidebar{width:236px;flex:0 0 236px;background:var(--bg);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:14px 10px 10px;z-index:20}.brand img{height:34px;display:block;border-radius:4px}.sidebar>.brand{padding:0 8px 14px}.side-nav{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;min-height:0}.side-link{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:550;padding:8px 10px;border-radius:var(--radius-small)}.side-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.side-link.active{color:var(--green-700);background:var(--green-100)}.side-icon{display:inline-flex;width:18px;justify-content:center}.side-sub{display:flex;flex-direction:column;margin:2px 0 6px 19px;padding-left:10px;border-left:1px solid var(--border)}.side-sub a{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.86rem;padding:5px 8px;border-radius:var(--radius-small);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-sub a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.side-sub a.active{color:var(--green-700);font-weight:600}.side-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;flex:none}.side-sub .side-more{font-style:italic}.side-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:14px 10px 4px}.side-user{border-top:1px solid var(--border);padding:10px 4px 0;display:flex;align-items:center;gap:8px;min-width:0}.side-user-text{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}.side-user-name{font-weight:600;display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;min-width:0;overflow-wrap:anywhere}.side-user-email{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-col{flex:1;min-width:0}.mobile-bar,.drawer-backdrop{display:none}.container{max-width:1120px;margin:0 auto;padding:28px 16px 64px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.subtitle{color:var(--muted);margin:4px 0 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.breadcrumb{color:var(--muted);font-size:.88rem;margin-bottom:8px}.toolbar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;align-items:center}.toolbar .search{flex:1 1 260px}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-small);padding:8px 10px;width:100%;min-width:0}textarea{resize:vertical}select{width:auto}.toolbar select{min-width:140px}input:focus,select:focus,textarea:focus{border-color:var(--green-600);outline:none;box-shadow:0 0 0 3px #00835226}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;padding:8px 14px;border-radius:var(--radius-small);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--green-600);border-color:var(--green-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--green-700)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#962c25}.btn-danger-outline{color:var(--danger);border-color:#e6bdb9}.btn-danger-outline:hover:not(:disabled){background:var(--danger-bg)}.btn-ghost{border-color:transparent;background:transparent}.btn-small{padding:5px 10px;font-size:.85rem}.btn-large{padding:12px 22px;font-size:1rem}.icon-btn{border:none;background:transparent;color:var(--muted);font-size:1.4rem;line-height:1;width:30px;height:30px;border-radius:var(--radius-small);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.check{display:inline-flex;align-items:center;gap:6px;color:var(--muted);cursor:pointer}.check input{width:auto}.badge{display:inline-block;font-size:.72rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;padding:2px 8px;border-radius:999px;vertical-align:middle;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.badge+.badge{margin-left:6px}.kind-component{background:var(--green-100);color:var(--green-700)}.kind-api{background:var(--blue-bg);color:var(--blue)}.kind-resource{background:var(--amber-bg);color:var(--amber)}.role-owner{background:var(--green-600);color:#fff}.role-editor{background:var(--mint);color:var(--green-900)}.role-viewer{background:var(--surface-2);color:var(--muted)}.admin{background:var(--green-900);color:var(--mint)}.layer{background:transparent;border:1px solid var(--border-strong)}.avatar{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--mint);color:var(--green-900);font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.team-card{display:flex;flex-direction:column;gap:2px;padding:16px;color:inherit;transition:border-color .12s,transform .12s}.team-card:hover{border-color:var(--green-400);transform:translateY(-1px);text-decoration:none}.team-card h3{font-size:1.05rem;margin-top:10px}.team-card p{margin:0}.team-card-top{display:flex;justify-content:space-between;align-items:flex-start}.team-initial{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;color:#fff;background:linear-gradient(135deg,var(--green-400),var(--green-700))}.team-card-count{margin-top:12px!important;color:var(--muted);font-size:.88rem}.panel{padding:18px}.panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.entity-list,.member-list{list-style:none;margin:0;padding:0}.entity-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;margin:0 -12px;border-radius:var(--radius-small);color:inherit}.entity-row:hover{background:var(--surface-2);text-decoration:none}.entity-row>div:first-child,.table td:first-child{display:flex;flex-direction:column;min-width:0}.entity-title{font-weight:600;color:var(--text)}.entity-row-badges{flex:none}.entity-list li+li{border-top:1px solid var(--border)}.member{display:flex;align-items:center;gap:10px;padding:8px 0}.member+.member{border-top:1px solid var(--border)}.member-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.select-small{padding:4px 8px;font-size:.85rem}.add-member{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border-strong);display:flex;flex-direction:column;gap:6px}.add-member-row{display:flex;gap:8px}.add-member-row input{flex:1}.add-member-row select,.add-member-row button{flex:none}.details{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin:0 0 20px}.details dt{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.details dd{margin:0;font-weight:550}.section-title{font-size:.95rem;margin:8px 0 6px}.description{white-space:pre-wrap;margin:0}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}.table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#fcfaf8}.table tbody tr:last-child td{border-bottom:none}.alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--radius-small);margin-bottom:14px}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #efcfcc}.loading{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);padding:48px 0}.spinner{width:18px;height:18px;border:2px solid var(--mint);border-top-color:var(--green-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:40px 16px;color:var(--muted)}.empty-title{font-weight:650;color:var(--text);font-size:1.05rem;margin:0 0 4px}.empty-text{margin:0 0 16px}.toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;background:var(--green-900);color:#fff;padding:10px 16px;border-radius:var(--radius-small);box-shadow:var(--shadow-lg);animation:rise .18s ease-out}.toast-dot{width:8px;height:8px;border-radius:50%;background:var(--mint)}@keyframes rise{0%{transform:translateY(8px);opacity:0}}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;flex:1}.field-label{font-weight:600;font-size:.88rem}.field-hint{color:var(--muted);font-size:.8rem}.field-error{color:var(--danger);font-size:.82rem}.has-error input,.has-error select,.has-error textarea{border-color:var(--danger)}.form-row{display:flex;gap:12px}.form-row .field select{width:100%}.form-note{color:var(--muted);font-size:.85rem;margin:12px 0 0}.confirm-text{margin:0 0 8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e1973;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;z-index:50;overflow-y:auto}.modal{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:560px;animation:rise .15s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.modal-header h2{font-size:1.15rem}.modal-body{padding:16px 20px 4px}.modal-footer{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 20px 18px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 15% 10%,rgb(196 240 221 / 55%),transparent 40%),radial-gradient(circle at 85% 90%,rgb(75 169 135 / 18%),transparent 45%),var(--bg)}.login-card{width:100%;max-width:440px;text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:36px 32px;box-shadow:var(--shadow-lg)}.login-logo{width:220px;max-width:80%;margin-bottom:18px}.login-card h1{justify-content:center;font-size:1.4rem}.login-text{color:var(--muted);margin:10px 0 26px}.login-signed-out{background:var(--green-100);color:var(--green-900);border-radius:var(--radius-small);padding:8px 12px;font-size:.88rem;margin:-10px 0 18px}.link-btn{border:none;background:none;color:var(--green-700);font:inherit;font-size:.88rem;cursor:pointer;margin-top:6px}.link-btn:hover{text-decoration:underline}.login-hint{margin:22px 0 0;font-size:.82rem;color:var(--muted);background:var(--surface-2);border-radius:var(--radius-small);padding:10px 12px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;display:flex;flex-direction:column;border-top:3px solid var(--green-400)}.stat.warn{border-top-color:var(--amber)}.stat-value{font-size:1.7rem;font-weight:750;line-height:1.1}.stat-label{color:var(--muted);font-size:.85rem}.segmented{display:inline-flex;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-small);padding:2px;flex-wrap:wrap}.segmented button{font:inherit;font-size:.85rem;font-weight:600;border:none;background:transparent;color:var(--muted);padding:6px 12px;border-radius:4px;cursor:pointer}.segmented button.active{background:var(--green-100);color:var(--green-700)}.user-cell{display:flex;align-items:center;gap:10px;min-width:0}.user-cell>div{display:flex;flex-direction:column;min-width:0}.users-table td:first-child{display:table-cell}.cell-action{text-align:right;width:1%}.status{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;margin-right:8px}.status:before{content:"";width:8px;height:8px;border-radius:50%}.status.on{color:var(--green-700)}.status.on:before{background:var(--green-600)}.status.off{color:var(--amber)}.status.off:before{background:var(--amber)}.notice h2{margin-bottom:6px}.notice p{margin:6px 0 0}.input-group{display:flex;gap:6px;flex-wrap:wrap}.input-group input{flex:1 1 180px}.toggle-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-small);cursor:pointer}.toggle-row input{width:auto;margin-top:4px}.toggle-row>span{display:flex;flex-direction:column}.credentials{display:grid;gap:10px;background:var(--surface-2);border-radius:var(--radius-small);padding:12px 14px;margin:12px 0}.credentials div{display:flex;flex-direction:column}.credentials code{font-size:.95rem;word-break:break-all;-webkit-user-select:all;user-select:all}.manage-summary{display:flex;gap:12px;align-items:center;margin-bottom:8px}.manage-summary p{margin:4px 0 0}.manage-section{border-top:1px solid var(--border);padding:14px 0}.manage-section h3{font-size:.95rem;margin-bottom:2px}.manage-section>p{margin:0 0 10px}.manage-section .field{margin-bottom:8px}.manage-section.danger h3{color:var(--danger)}.switch{display:inline-flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{width:40px;height:22px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .15s}.switch-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch input:checked+.switch-track{background:var(--green-600)}.switch input:checked+.switch-track .switch-thumb{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--green-600);outline-offset:2px}.switch.disabled{opacity:.55;cursor:not-allowed}.modal{max-height:none}.stack{display:flex;flex-direction:column;gap:20px;min-width:0}.secret-list{display:flex;flex-direction:column;gap:10px}.secret-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;color:inherit;flex-wrap:wrap}.secret-card:hover{border-color:var(--green-400);text-decoration:none}.secret-card-main{display:flex;gap:12px;min-width:0}.secret-card-main>div{display:flex;flex-direction:column;min-width:0}.secret-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto}.secret-icon{flex:none;width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--green-100);color:var(--green-700)}h1 .secret-icon{width:38px;height:38px}.key-chips,.access-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.access-chips{margin-top:0;justify-content:flex-end}.access-chips .badge+.badge{margin-left:0}.key-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:.78rem}.team-chip{background:var(--green-100);color:var(--green-700);text-transform:none}.user-chip{background:var(--blue-bg);color:var(--blue);text-transform:none}.only-admins{background:var(--amber-bg);color:var(--amber)}.values{list-style:none;margin:0;padding:0}.values li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.values li:first-child{border-top:none}.value-key{flex:0 0 34%;font-weight:600;overflow-wrap:anywhere}.value-text{flex:1;min-width:0;background:var(--surface-2);border-radius:4px;padding:4px 8px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.value-mask{flex:1;color:var(--muted);letter-spacing:.1em}.kv-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.kv-row{display:grid;gap:6px;align-items:center}.link-btn.inline{margin:0 0 0 8px;font-size:.8rem}.access-help{margin:-4px 0 12px}.pick-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 6px}.pick-list{display:flex;flex-direction:column;gap:4px}.pick{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);row-gap:6px;gap:10px;align-items:center;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-small);cursor:pointer}.pick input{width:auto}.pick>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick>span:last-child{text-align:right}.pick.on{border-color:var(--green-400);background:var(--green-100)}.pick.disabled{opacity:.6;cursor:not-allowed}.access-actions{display:flex;gap:8px;margin-top:14px}.activity-panel{margin-top:24px}.event-list{list-style:none;margin:0;padding:0}.event-list li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;padding:7px 0;border-top:1px solid var(--border);font-size:.9rem}.event-list li:first-child{border-top:none}.event-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);transform:translateY(-1px)}.ev-revealed{background:var(--amber)}.ev-created,.ev-updated{background:var(--green-600)}.ev-access-changed,.ev-restored{background:var(--blue)}.ev-deleted{background:var(--danger)}.event-time{white-space:nowrap}.secret-group+.secret-group{margin-top:18px}.folder-title{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.88rem;font-weight:600;color:var(--muted);margin:0 0 8px}.key-chip{display:inline-flex;align-items:center;gap:3px}.key-chip.enc{background:var(--green-100);border-color:#cfe9dc;color:var(--green-900)}.enc-badge{display:inline-flex;align-items:center;gap:3px;margin-left:8px;font-family:var(--font);font-size:.7rem;font-weight:650;color:var(--green-700);background:var(--green-100);border-radius:999px;padding:1px 7px;vertical-align:middle}.value-actions{display:flex;gap:6px;flex:none}.kv-row{grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto auto}.kv-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.kv-tools{display:flex;gap:4px}.lock-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);color:var(--muted);cursor:pointer}.lock-btn.on{background:var(--green-100);border-color:var(--green-400);color:var(--green-700)}.env-import{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px;background:var(--surface-2);border-radius:var(--radius-small)}.env-import-actions{display:flex;gap:6px;flex-wrap:wrap}.pick-main{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer}.pick-main input{width:auto}.pick-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-select{justify-self:end;font-weight:600}.level-select.lvl-full{border-color:var(--amber);color:var(--amber)}.badge.lvl-full{background:var(--amber-bg);color:var(--amber);display:inline-flex;align-items:center;gap:3px}.masked-badge{background:var(--surface-2);color:var(--muted)}.alert-info{background:var(--blue-bg);color:var(--blue);border:1px solid #c9dfee}.value-mask.no-access{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap}.grant-controls{display:flex;align-items:center;gap:6px;justify-self:end;flex-wrap:wrap;justify-content:flex-end}.perm-chip{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;padding:3px 8px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.perm-chip input{width:auto;margin:0}.perm-chip.disabled{opacity:.45;cursor:not-allowed}.lock-btn.fixed{cursor:default;opacity:.8}.lock-btn.auto{border-style:dashed}.perm-chip.on{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.versions{list-style:none;margin:0;padding:0}.versions li{padding:10px 0;border-top:1px solid var(--border)}.versions li:first-child{border-top:none}.version-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.version-restore{margin-left:auto}.current-badge{background:var(--green-600);color:#fff}.version-changes{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.change{font-family:var(--mono);font-size:.78rem;border-radius:4px;padding:1px 6px}.change.added{background:var(--green-100);color:var(--green-900)}.change.changed{background:var(--amber-bg);color:var(--amber)}.change.removed{background:var(--danger-bg);color:var(--danger)}.change.note{background:var(--blue-bg);color:var(--blue);font-family:var(--font)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.tabs a{padding:8px 14px;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.active{color:var(--green-700);border-bottom-color:var(--green-600)}.cluster-list{display:flex;flex-direction:column;gap:14px}.cluster-title{display:flex;gap:12px;align-items:center;min-width:0}.cluster-title>div{display:flex;flex-direction:column;min-width:0}.cluster-title .mono{overflow-wrap:anywhere}.cluster-icon{flex:none;width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--blue-bg);color:var(--blue)}.cluster-details{margin-bottom:8px}.cluster-badge{margin-left:8px;background:var(--blue-bg);color:var(--blue);text-transform:none}.checks{margin-top:12px;padding:10px 14px;border-radius:var(--radius-small);border:1px solid}.checks.all-ok{background:var(--green-100);border-color:#cfe9dc;color:var(--green-900)}.checks.failed{background:var(--danger-bg);border-color:#efcfcc;color:var(--danger)}.checks ul{list-style:none;margin:6px 0 0;padding:0;font-size:.88rem}.checks li.ok{color:var(--green-700)}.checks li.skipped{color:var(--muted)}.check-detail{display:block;margin-left:18px;font-size:.8rem;overflow-wrap:anywhere}.fieldset{border:1px solid var(--border);border-radius:var(--radius-small);padding:10px 12px 2px;margin:0 0 14px}.fieldset legend{font-weight:650;font-size:.85rem;padding:0 6px}.fieldset .segmented{margin-bottom:12px}.form-row.four .field{min-width:0}.modal-footer .spacer{flex:1}.setup-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.setup-options .field{flex:1 1 220px;margin-bottom:4px}.setup-options select{width:100%}.setup pre{background:#1e2a24;color:#e3f3ea;border-radius:var(--radius-small);padding:12px;font-size:.78rem;overflow-x:auto;white-space:pre;margin:8px 0}.scan-bar{display:flex;gap:8px;align-items:flex-start}.scan-bar .field{flex:1;min-width:0}.scan-bar select{width:100%}.scan-bar>.btn{margin-top:26px}.skipped{background:var(--amber-bg);color:var(--amber);border-radius:var(--radius-small);padding:8px 12px;font-size:.85rem;margin-bottom:8px}.skipped summary{cursor:pointer}.skipped ul{margin:6px 0 0;padding-left:16px}.found-group{margin-top:14px}.found-group h3{font-size:.9rem;margin-bottom:2px}.found-group>p{margin:0 0 6px}.found{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-small);margin-top:6px}.found input[type=checkbox]{width:auto;margin-top:3px}.found.problem{background:var(--surface-2)}.found-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.found-source{overflow-wrap:anywhere}.found-name{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted)}.found-name input{flex:1;min-width:0}.found-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.segmented.small button{font-size:.78rem;padding:4px 8px}.found-encrypt{font-size:.82rem;flex-wrap:wrap}.found .key-chips{margin-top:2px}.modal-footer .check{font-size:.85rem}.engines{margin-top:12px}.engines-table td,.engines-table th{padding:8px 12px}.engines-table tbody tr{cursor:default}.badge.engine-kv{background:var(--green-100);color:var(--green-700);text-transform:none}.badge.engine-other{text-transform:none}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.project-card{display:flex;flex-direction:column;gap:10px;padding:16px;color:inherit;transition:border-color .15s,transform .15s}.project-card:hover{border-color:var(--green-400);transform:translateY(-1px);text-decoration:none}.project-card-top{display:flex;align-items:center;gap:12px}.project-card-title{display:flex;flex-direction:column;min-width:0;flex:1}.project-card-title h3{margin:0;font-size:1.05rem;overflow-wrap:anywhere}.project-card-desc{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-sides{display:grid;gap:6px}.side-row{display:flex;align-items:flex-start;gap:8px}.side-row .side-tag{flex:0 0 72px;text-align:center}.member-chips{display:flex;flex-wrap:wrap;gap:4px}.side-tag{display:inline-block;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;margin:0}.side-backend{background:#ece6fb;color:#5b3fa8}.side-frontend{background:var(--blue-bg);color:var(--blue)}.side-tool{background:var(--amber-bg);color:var(--amber)}.project-card-foot{margin-top:auto}.mine-badge{background:var(--green-100);color:var(--green-700);text-transform:none;white-space:nowrap}.project-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.project-title .mine-badge{font-size:.75rem}.col-stack,.project-side{display:grid;gap:20px;min-width:0}.link-group+.link-group{margin-top:18px}.link-group h3{margin-bottom:8px}.link-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.link-row{border:1px solid var(--border);border-radius:var(--radius-small);padding:10px 12px;display:grid;gap:6px;min-width:0}.link-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.link-admin{margin-left:auto;display:flex;gap:2px}.danger-text{color:var(--danger)}.link-url{display:flex;align-items:center;gap:6px;min-width:0}.link-url .mono{font-size:.86rem;overflow-wrap:anywhere;min-width:0}.link-login{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}.login-part{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.login-part code{overflow-wrap:anywhere}.login-part code.revealed{background:var(--amber-bg)}.login-part .value-mask{flex:none}.link-notes{margin:0;white-space:pre-wrap}.env-badge{background:var(--surface-2);color:var(--muted);text-transform:none}.env-badge.env-prod,.env-badge.env-production{background:var(--danger-bg);color:var(--danger)}.member-column+.member-column{margin-top:14px}.member-column h3{margin-bottom:6px}.member-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 12px}.member-list li{display:inline-flex;align-items:center;gap:4px}.project-secrets{list-style:none;padding:0;margin:0;display:grid;gap:6px}.project-secrets li{display:flex;align-items:center;gap:8px;color:var(--muted)}.password-input{display:flex;gap:4px;align-items:center}.password-input input{flex:1;min-width:0}.remove-password{margin:-6px 0 12px}.members-search{width:100%;margin-bottom:8px}.pick .grant-controls{justify-content:flex-end}.rules-help h2{font-size:1rem;margin:0 0 4px}.rules-help p code{font-size:.95em}.modal .grant-controls{justify-content:flex-start;margin:2px 0 4px}.rule-examples{list-style:none;padding:0;margin:10px 0;display:grid;gap:6px}.rule-examples li{display:grid;grid-template-columns:minmax(130px,200px) 1fr auto auto;gap:10px;align-items:center}.rule-examples code,.rule-pattern{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-small);padding:2px 8px;overflow-wrap:anywhere}.rule-example-count{white-space:nowrap}.rule-list{display:grid;gap:10px;margin-top:16px}.rule-card{padding:12px 16px;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}.rule-main,.rule-side{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.rule-pattern{font-size:.95rem;font-weight:600}.rule-arrow{color:var(--muted)}.rule-matches{flex-basis:100%;margin:0;padding:8px 0 0;border-top:1px solid var(--border);list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px}.rule-preview{background:var(--surface-2);border-radius:var(--radius-small);padding:8px 10px;margin:-4px 0 14px}.rule-preview .key-chips{margin-top:6px}.rule-inherited{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:6px}.rule-inherited li{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pick-title a{text-transform:none;letter-spacing:0;margin-left:6px}.badge.via-rule{outline:1px dashed currentColor;outline-offset:-1px}@media (max-width: 640px){.rule-examples li{grid-template-columns:1fr auto}.rule-examples li>.muted:not(.rule-example-count){grid-column:1;grid-row:2}.rule-examples li>button{grid-column:2;grid-row:2}}@media (max-width: 820px){.split{grid-template-columns:1fr}}@media (max-width: 640px){.values li{flex-wrap:wrap}.value-key{flex-basis:100%}.value-text,.value-mask{flex:1 1 0}.secret-card-side{align-items:flex-start;margin-left:0}.access-chips{justify-content:flex-start}.hide-sm{display:none}h1{font-size:1.35rem}.form-row{flex-direction:column;gap:0}.toasts{left:16px;right:16px}}@media (max-width: 860px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .2s ease}.drawer-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.drawer-open .drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1d2a2359;z-index:15}.mobile-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.mobile-bar .brand img{height:30px}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.project-secrets-rule{margin:0 0 10px}.setup-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 16px}.setup-card{width:100%;max-width:680px;padding:28px}.setup-logo{height:40px;border-radius:4px;margin-bottom:14px}.setup-step{border-top:1px solid var(--border);padding-top:16px;margin-top:18px}.setup-step h2{font-size:1.02rem;display:flex;align-items:center;gap:10px;margin:0 0 12px}.setup-n{width:24px;height:24px;border-radius:50%;background:var(--green-100);color:var(--green-700);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.setup-ok{margin:10px 0 0;color:var(--green-700);overflow-wrap:anywhere}.setup-advanced{margin-top:10px}.setup-actions{margin-top:22px;display:flex;justify-content:flex-end}.setup-steps{list-style:none;padding:0;margin:14px 0;display:grid;gap:6px;color:var(--green-700)}.logins-shared{margin-top:20px}.logins-note{margin-top:14px}.private-badge{background:var(--surface-2);color:var(--muted);text-transform:none;display:inline-flex;align-items:center;gap:4px}.share-teams{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
