html,body{margin:0;padding:0;height:100%;background:transparent;overflow:hidden;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@keyframes rise{0%{transform:translateY(6px)}to{transform:translateY(0)}}.card{position:relative;width:100%;height:100vh;background:var(--canvas);border:1px solid var(--hairline);border-radius:0;display:flex;flex-direction:column;overflow:hidden;animation:rise .26s cubic-bezier(.16,1,.3,1);transition:background-color .2s ease,border-color .2s ease}.card[data-glass=on]{background:rgba(255,255,255,var(--glass-alpha, .25));border-color:#1717171a;--canvas-soft: rgba(23, 23, 23, .05);--hairline-cool: rgba(23, 23, 23, .08)}[data-theme=dark] .card{border-color:var(--hairline)}[data-theme=dark] .card[data-glass=on]{background:rgba(16,16,16,var(--glass-alpha, .25));border-color:#ffffff24;--canvas-soft: rgba(255, 255, 255, .07);--hairline-cool: rgba(255, 255, 255, .09)}.header{-webkit-app-region:drag;cursor:grab}.no-drag,.header button,.header input{-webkit-app-region:no-drag}.header{display:flex;align-items:center;gap:12px;padding:18px 24px 14px}.card.is-compact .header{padding:12px 24px 10px}.logo{width:24px;height:24px;flex-shrink:0;background-image:url(/assets/samitech-mark.png);background-size:contain;background-repeat:no-repeat;background-position:center}[data-theme=dark] .logo{background-image:url(/assets/samitech-mark-white.png)}.titles{min-width:0}.titles__row{display:flex;align-items:baseline;gap:10px}.titles__name{margin:0;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--ink)}.titles__brand{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--ink-mute-2)}.titles__sub{margin:2px 0 0;font-size:12px;color:var(--ink-mute-2)}.card.is-compact .titles__sub{display:none}.controls{margin-left:auto;display:flex;align-items:center;gap:4px;flex-shrink:0}.iconbtn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--ink-mute-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}.iconbtn:hover{background:var(--canvas-soft);color:var(--ink)}.iconbtn.is-active,.iconbtn.is-active:hover{background:var(--tint-primary);color:var(--primary)}.iconbtn.is-pinned{color:var(--primary)}.iconbtn.is-pinned:hover{background:var(--canvas-soft);color:var(--primary)}.segmented{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--hairline-cool);border-radius:6px;margin-right:6px}.seg{width:24px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--ink-mute-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}.seg:hover{color:var(--ink)}.seg.is-active{background:var(--tint-primary);color:var(--primary)}.opacity-slider{width:0;opacity:0;margin:0 0 0 4px;accent-color:var(--primary);cursor:pointer;transition:width .18s ease,opacity .18s ease}.card[data-glass=on] .opacity-slider{width:72px;opacity:1;margin:0 6px 0 4px}.icon-compact-active,.card.is-compact .icon-compact-normal{display:none}.card.is-compact .icon-compact-active{display:block}.divider{width:1px;height:16px;background:var(--hairline-cool);margin:0 4px}.tabsbar{display:flex;align-items:center;gap:20px;padding:0 24px;border-bottom:1px solid var(--hairline-cool)}.tabs{display:flex;gap:20px}.tab{border:none;background:none;padding:6px 2px 9px;margin-bottom:-1px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;color:var(--ink-mute-2);border-bottom:2px solid transparent;display:flex;align-items:center;gap:6px;transition:color .12s ease}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-bottom-color:var(--primary)}.tab__count{font-size:11px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.search{margin-left:auto;display:flex;align-items:center;gap:4px;padding-bottom:3px}.search__input{width:0;opacity:0;padding:5px 0;border:1px solid var(--hairline);border-radius:6px;background:transparent;color:var(--ink);font-family:inherit;font-size:12.5px;outline:none;transition:width .18s ease,opacity .18s ease}.search.is-open .search__input{width:190px;opacity:1;padding:5px 10px}.search__input:focus{border-color:var(--primary)}.table__head{display:grid;grid-template-columns:1.9fr 1.7fr 1.5fr 1.3fr 1.7fr;gap:12px;padding:12px 24px 9px}.card.is-compact .table__head{padding:8px 24px 6px}.sortbtn{display:flex;align-items:center;gap:4px;background:none;border:none;padding:0;font-family:inherit;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-mute-2);cursor:pointer;transition:color .12s ease;text-align:left}.sortbtn:hover,.sortbtn.is-sorted{color:var(--ink)}.sortbtn__arrow{font-size:10px;opacity:0}.sortbtn.is-sorted .sortbtn__arrow{opacity:1}.rows{flex:1;overflow-y:auto;padding:0 16px 8px;border-top:1px solid var(--hairline-cool)}.rows::-webkit-scrollbar{width:8px}.rows::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:8px}.rows::-webkit-scrollbar-track{background:transparent}.row{display:grid;grid-template-columns:1.9fr 1.7fr 1.5fr 1.3fr 1.7fr;gap:12px;align-items:center;padding:10px 8px;border-bottom:1px solid var(--hairline-cool);border-radius:6px;transition:background-color .12s ease}.card.is-compact .row{padding:6px 8px}.row:last-child{border-bottom:none}.row:hover{background:var(--canvas-soft)}.cell-project{display:flex;align-items:center;gap:8px;min-width:0}.cell-project.is-indented{padding-left:18px}.connector{color:var(--ink-faint);font-size:12px}.dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot--production{background:var(--accent-success)}.dot--staging{background:var(--accent-warning)}.cell-project__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--ink)}.cell-project.is-staging .cell-project__name{font-weight:500;color:var(--ink-mute)}.pill-staging{font-size:10px;font-weight:500;padding:1px 7px;border-radius:9999px;background:var(--tint-warning);color:var(--accent-warning);flex-shrink:0}.cell-data{display:flex;align-items:center;gap:6px;min-width:0}.copyable{font-size:12.5px;color:var(--ink-mute);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:4px;padding:3px 6px;margin:-3px -6px;transition:color .3s ease,background-color .3s ease}.copyable:hover{color:var(--ink)}.copyable.is-copied{color:var(--primary);background:var(--tint-primary)}.quick-open{display:inline-flex;flex-shrink:0;color:var(--ink-faint);cursor:pointer;transition:color .12s ease}.quick-open:hover{color:var(--primary)}.cell-domain{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-domain a{color:var(--primary);text-decoration:none;font-variant-numeric:tabular-nums}.cell-domain a:hover{text-decoration:underline}.empty{padding:48px 0;text-align:center}.empty__text{margin:0;font-size:13px;color:var(--ink-mute)}.empty__clear{margin-top:10px;border:1px solid var(--hairline);background:transparent;color:var(--ink);font-family:inherit;font-size:12px;padding:5px 12px;border-radius:6px;cursor:pointer}.empty__clear:hover{background:var(--canvas-soft)}.footer{display:flex;align-items:center;gap:18px;padding:12px 24px 14px;border-top:1px solid var(--hairline-cool)}.card.is-compact .footer{display:none}.legend{display:flex;gap:14px}.legend__item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-mute-2)}.footer__count{font-size:11px;color:var(--ink-mute-2);font-variant-numeric:tabular-nums}.footer__note{font-size:11px;color:var(--ink-mute-2)}.footer__updated{margin-left:auto;font-size:11px;color:var(--ink-mute-2)}.toast{position:absolute;bottom:14px;left:50%;transform:translate(-50%) translateY(8px);background:var(--canvas-night);color:var(--on-dark);font-size:12px;padding:6px 14px;border-radius:9999px;box-shadow:var(--shadow-1);opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .16s ease-out,transform .16s ease-out}.toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.addbtn{margin-left:auto;align-self:center;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px 0 8px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:transparent;color:var(--ink-mute);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.addbtn:hover{background:var(--tint-primary);border-color:transparent;color:var(--primary)}.addbtn svg{flex-shrink:0}.tabsbar .search{margin-left:0}.row{position:relative}.row__actions{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--canvas);box-shadow:0 0 0 1px var(--hairline-cool),var(--shadow-1);opacity:0;pointer-events:none;transition:opacity .12s ease}.row:hover .row__actions,.row:focus-within .row__actions{opacity:1;pointer-events:auto}.row__action{width:24px;height:24px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--ink-mute-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}.row__action:hover{background:var(--canvas-soft);color:var(--ink)}.row__action--danger:hover{background:var(--tint-danger);color:var(--accent-danger)}.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:var(--radius-lg);background:#1111116b;opacity:0;transition:opacity .14s ease}[data-theme=dark] .modal{background:#0000008c}.modal.is-open{opacity:1}.modal[hidden]{display:none}.modal__panel{width:100%;max-width:460px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);transform:translateY(8px) scale(.98);transition:transform .16s cubic-bezier(.16,1,.3,1)}.modal.is-open .modal__panel{transform:translateY(0) scale(1)}.modal__panel--sm{max-width:380px}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--hairline-cool)}.modal__title{margin:0;font-size:15px;font-weight:600;letter-spacing:-.2px;color:var(--ink)}.modal__body{padding:16px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal__body::-webkit-scrollbar{width:8px}.modal__body::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:8px}.modal__body::-webkit-scrollbar-track{background:transparent}.modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--hairline-cool)}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field__label{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mute)}.field__req{color:var(--primary)}.field__input{width:100%;padding:7px 10px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);font-family:inherit;font-size:13px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field__input::placeholder{color:var(--ink-faint)}.field__input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--tint-primary)}.field__input.is-invalid{border-color:var(--accent-danger);box-shadow:0 0 0 3px var(--tint-danger)}.field__hint{font-size:11px;color:var(--ink-mute-2)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.switch{display:flex;align-items:center;gap:10px;cursor:pointer;padding:2px 0;margin-top:2px}.switch input{position:absolute;opacity:0;width:0;height:0}.switch__track{position:relative;width:34px;height:20px;border-radius:9999px;background:var(--hairline-strong);flex-shrink:0;transition:background-color .14s ease,box-shadow .14s ease}.switch__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:transform .14s cubic-bezier(.16,1,.3,1)}.switch input:checked+.switch__track{background:var(--primary)}.switch input:checked+.switch__track .switch__thumb{transform:translate(14px)}.switch input:focus-visible+.switch__track{box-shadow:0 0 0 3px var(--tint-primary)}.switch__label{font-size:12.5px;font-weight:500;color:var(--ink)}.staging{min-width:0;margin:0;padding:14px;border:1px solid var(--hairline-cool);border-radius:var(--radius-md);background:var(--canvas-soft);display:flex;flex-direction:column;gap:12px}.staging[hidden]{display:none}.btn{font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease,filter .12s ease}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--tint-primary)}.btn--primary{background:var(--primary);color:var(--on-primary)}.btn--primary:hover{background:var(--primary-deep)}.btn--ghost{background:transparent;border-color:var(--hairline);color:var(--ink)}.btn--ghost:hover{background:var(--canvas-soft)}.btn--danger{background:var(--accent-danger);color:#fff}.btn--danger:hover{filter:brightness(.94)}.btn--danger:focus-visible{box-shadow:0 0 0 3px var(--tint-danger)}.confirm__msg{margin:0;font-size:13px;line-height:1.5;color:var(--ink-mute)}.confirm__msg strong{color:var(--ink);font-weight:600}[hidden]{display:none!important}html,body{background:var(--canvas);overflow:auto}.header{-webkit-app-region:no-drag;cursor:default}.card{height:100vh;height:100dvh;border:0}.gate{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--canvas)}.gate__panel{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.gate__title{margin:0;font-size:20px;font-weight:600;color:var(--ink)}.gate__msg{margin:0;font-size:14px;line-height:1.5;color:var(--ink-mute)}.gate .logo{width:40px;height:40px}.gate .btn{width:100%;justify-content:center;min-height:44px}@media(hover:none){.row__actions{opacity:1;pointer-events:auto}.row__action{width:32px;height:32px}}@media(max-width:720px){.header{padding:14px 16px 10px;gap:8px;flex-wrap:wrap}.titles__sub{display:none}.tabsbar{padding:0 16px;gap:10px;flex-wrap:wrap}.tabs{gap:14px}.addbtn{height:32px}.search.is-open .search__input{width:130px}.table__head{display:none}.rows{padding:0 8px 8px}.row{grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px 56px 12px 8px}.row>.cell-project{grid-column:1 / -1}.row>.cell-domain{grid-column:1 / -1}.row>.cell-data:before,.row>.cell-domain:before{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute-2)}.row>.cell-data{flex-wrap:wrap;align-items:baseline}.row>.cell-data:nth-child(2){grid-column:1 / -1}.row>.cell-data:nth-child(2):before{content:"Supabase account";flex-basis:100%}.row>.cell-data:nth-child(3):before{content:"Supabase project";flex-basis:100%}.row>.cell-data:nth-child(4):before{content:"Vercel";flex-basis:100%}.row>.cell-domain:before{content:"Domain"}.copyable{padding:6px;margin:-6px}.row__actions{top:8px;transform:none;flex-direction:column;opacity:1;pointer-events:auto}.row__action{width:32px;height:32px}.footer{flex-wrap:wrap;gap:4px 12px;padding-left:16px;padding-right:16px}.modal__panel{max-height:100dvh;overflow-y:auto}.field-row{grid-template-columns:1fr}}
