@import"https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap";#root{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 2.5rem;background:#ffffffe0;border-bottom:1px solid #d9e1ee;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-brand{display:flex;flex-direction:column;gap:.15rem}.app-brand__name{font-weight:700;letter-spacing:.02em;padding-left:10px}.app-brand__tag{font-size:.85rem;color:#64748b;padding-left:10px}.app-nav{display:flex;gap:1rem;font-weight:600;color:#1e293b;align-items:center}.app-scope-switch{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem;border:1px solid #d9e1ee;border-radius:999px;background:#f8fbff}.app-scope-switch__button{border:none;background:transparent;color:#475569;font:inherit;font-weight:600;border-radius:999px;padding:.45rem .9rem;cursor:pointer}.app-scope-switch__button--active{background:#071d41;color:#f8fafc}.app-nav__link,.app-nav__trigger{background:none;border:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-decoration:none;padding:0}.app-nav__dropdown{position:relative}.app-nav__trigger{display:inline-flex;align-items:center;gap:.35rem}.app-nav__trigger--profile{border-radius:999px;border:1px solid #cbd5f5;padding:.35rem .75rem .35rem .35rem}.app-nav__avatar{width:1.9rem;height:1.9rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#e2e8f0}.app-nav__avatar-image{width:100%;height:100%;object-fit:cover}.app-nav__avatar-fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;background:#071d41;color:#f8fafc;font-weight:700}.app-nav__profile-name{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav__submenu{position:absolute;top:100%;right:0;margin-top:.75rem;background:#fff;border-radius:12px;border:1px solid #e1e8f3;box-shadow:0 12px 30px #0f172a1f;min-width:180px;display:flex;flex-direction:column;padding:.5rem 0;gap:0;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10}.app-nav__dropdown:hover .app-nav__submenu,.app-nav__dropdown:focus-within .app-nav__submenu,.app-nav__dropdown--open .app-nav__submenu{opacity:1;transform:translateY(0);pointer-events:auto}.app-nav__submenu-link{padding:.65rem 1.25rem;color:#0f172a;text-decoration:none;font-weight:500;transition:background .2s ease}.app-nav__submenu-link:hover,.app-nav__submenu-link:focus{background:#f1f5f9}.app-nav__submenu-button{width:100%;text-align:left;border:none;background:transparent;cursor:pointer;font:inherit}.app-content{flex:1;padding:2.5rem}.page{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.breadcrumbs{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#0f172a}.breadcrumbs a{color:#0f172a;text-decoration:none}.breadcrumbs span{color:#64748b}.page-header h1{margin:0;font-size:2.2rem}.card{background:#fff;border-radius:16px;padding:2rem;border:1px solid #e1e8f3;box-shadow:0 12px 30px #0f172a14}.platform-card-link{text-decoration:none;color:inherit;display:block}.platform-card-link h2{margin-top:0}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.card-header--section{flex-direction:column;align-items:flex-start;gap:.75rem}.card-header--section .page-sort-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.projects-total,.page-total{font-size:.95rem}.page-toolbar{width:100%;margin-bottom:1rem;display:flex;justify-content:flex-end}.page-sections{display:flex;flex-direction:column;gap:1rem}.team-member-cell{display:inline-flex;align-items:center;gap:.75rem}.team-member-avatar{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#e2e8f0;flex-shrink:0}.team-member-avatar__image{width:100%;height:100%;object-fit:cover}.team-member-avatar__fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;background:#071d41;color:#f8fafc;font-size:.8rem;font-weight:700;text-transform:uppercase}.provider-catalog{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.provider-catalog__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.provider-card{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.5rem;min-height:220px}.provider-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.9rem}.provider-card__badge{border-radius:999px;padding:.15rem .65rem;background:#e0f2fe;color:#0c4a6e;font-size:.85rem;font-weight:600}.provider-card__title{margin:0;font-size:1.1rem}.provider-card__description,.provider-card__hint{margin:0;font-size:.9rem}.provider-card__scopes{display:flex;flex-direction:column;gap:.25rem}.provider-card__scopes ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.15rem}.field-error{color:#b91c1c;font-size:.85rem;margin-top:.25rem}.projects-search,.page-search,.page-create-button{width:100%;max-width:100%}.page-create-button{display:block}.page-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.page-item{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.25rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.page-item--clickable{cursor:pointer;border-color:transparent;transition:border-color .2s ease,background .2s ease}.page-item--clickable:hover{background:#eef2ff;border-color:#c7d2fe}.page-item--row{justify-content:flex-start}.page-item__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e0f2fe;color:#0c4a6e}.page-item__content{flex:1;display:flex;flex-direction:column;gap:.25rem}.card-header__info{display:flex;flex-direction:column;gap:.25rem}.stack{display:flex;gap:.75rem;flex-wrap:wrap}.muted{color:#64748b;margin:5px 0}.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-card{width:min(420px,90vw);display:flex;flex-direction:column;gap:1.25rem}.signup-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.signup-card{width:min(520px,94vw);display:flex;flex-direction:column;gap:1.5rem}.cgu-card{width:min(860px,96vw)}.cgu-section{display:block}.cgu-section h2{margin:0 0 .4rem;font-size:1.1rem}.cgu-section p{margin:0}.cgu-list{margin:0;padding-left:1.2rem}.signup-form{position:relative;display:flex;flex-direction:column;gap:1.25rem}.signup-form .field{width:100%}.field{display:flex;flex-direction:column;gap:.5rem;font-weight:600;color:#334155}.field--checkbox{flex-direction:row;align-items:center;gap:.5rem;font-weight:500}.field input{border-radius:12px;border:1px solid #d6deea;padding:.75rem 1rem;font-size:1rem;background:#f8fafc}.field input[readonly]{background:#f1f5f9;border-color:#dbe3ef;color:#475569;cursor:not-allowed}.field input:focus{outline:2px solid #94a3b8;border-color:transparent}.turnstile-shell{width:100%;border-radius:12px;border:1px solid #d6deea;padding:.375rem;background:#f8fafc}.turnstile-container{width:100%}.turnstile-container iframe{width:100%!important;max-width:100%;border:0}.dropdown{position:relative}.dropdown-toggle{width:100%;border-radius:12px;border:1px solid #d6deea;background:#f8fafc;padding:.75rem 1rem;font-size:1rem;color:#0f172a;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.dropdown-toggle:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.dropdown-toggle__label{flex:1;text-align:left}.dropdown-chevron{margin-left:.5rem;transition:transform .2s ease}.dropdown-toggle[aria-expanded=true] .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:1px solid #d6deea;border-radius:12px;box-shadow:0 12px 30px #0f172a14;margin:0;padding:.5rem 0;list-style:none;z-index:2}.dropdown-menu li+li{margin-top:.25rem}.dropdown-menu__item{width:100%;border:none;background:transparent;padding:.5rem 1rem;text-align:left;font-size:1rem;cursor:pointer;color:#0f172a}.dropdown-menu__item[aria-selected=true],.dropdown-menu__item:hover{background:#eef2ff}.primary-button,.ghost-button,.danger-button{border-radius:999px;padding:.65rem 1.5rem;font-weight:600;border:none;cursor:pointer}.primary-button{background:#0f172a;color:#f8fafc}.primary-button:disabled{opacity:.7;cursor:not-allowed}.ghost-button:disabled,.danger-button:disabled{opacity:.55;cursor:not-allowed}.ghost-button{background:transparent;border:1px solid #cbd5f5;color:#1e293b}.ghost-button--icon{border-radius:50%;width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}.ghost-button--icon svg{width:16px;height:16px;fill:currentColor}.danger-button{background:#b91c1c;color:#fff5f5}.danger-button:disabled{background:#cbd5e1;color:#475569}.error{margin:0;color:#b91c1c;font-weight:600}.workflow-step-limit{margin:.35rem 0 0;font-size:.85rem;font-weight:600}.workflow-step-limit--warning{color:#b45309}.workflow-step-limit--error{color:#b91c1c}.text-input{border-radius:12px;border:1px solid #d6deea;padding:.75rem 1rem;font-size:1rem;background:#f8fafc}.redirect-uri-field{display:flex;flex-direction:column;gap:.75rem}.redirect-uri-field__input{width:100%}.redirect-uri-field__copy{width:100%;display:inline-flex;justify-content:center;gap:.35rem;font-size:.95rem}.redirect-uri-field__copy--copied{background-color:#14532d}.page-search{width:100%}.project-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.project-item{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.25rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.project-item--clickable{cursor:pointer;border-color:transparent;transition:border-color .2s ease,background .2s ease}.project-item--clickable:hover{background:#eef2ff;border-color:#c7d2fe}.project-item--clickable:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.project-item--row{justify-content:flex-start}.project-item__icon,.project-item__danger,.page-item__danger{display:grid;place-items:center;width:44px;height:44px;border-radius:12px}.project-item__icon{background:#e0f2fe;color:#0c4a6e;overflow:hidden}.project-item__logo-image{width:100%;height:100%;object-fit:cover}.project-item__danger,.page-item__danger{background:#fee2e2;color:#991b1b}.project-item__icon svg,.page-item__icon svg,.project-item__danger svg,.page-item__danger svg{width:20px;height:20px;fill:currentColor}.project-item__content{flex:1;display:flex;flex-direction:column;gap:.25rem}.project-item__edit,.page-item__edit,.project-item__deploy{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fef9c3;color:#92400e}.project-item__deploy{background:#e0f2fe;color:#0c4a6e}.project-item__edit svg,.page-item__edit svg{width:20px;height:20px;fill:currentColor}.logo-upload-frame{display:grid;place-items:center;width:min(11rem,100%);aspect-ratio:1 / 1;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;overflow:hidden;padding:.5rem}.logo-upload-frame img{width:100%;height:100%;object-fit:contain}.logo-upload-frame .muted{margin:0;text-align:center;font-size:.9rem}.logo-management-grid{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(132px,11rem) auto;gap:1rem;align-items:center}.logo-management-copy{display:flex;flex-direction:column;gap:.35rem}.logo-management-copy .field-helper{margin:0;font-size:1rem}.logo-management-copy .muted{margin:0}.logo-management-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.logo-management-actions .ghost-button--file{white-space:nowrap}.logo-action-button{border-color:#d1d9e8;color:#1e293b}.logo-action-button:hover{border-color:#9fb0cd;background:#f8fafc}@media(max-width:880px){.logo-management-grid{grid-template-columns:1fr;align-items:flex-start}.logo-management-actions{justify-content:flex-start}}.project-item__deploy svg{width:20px;height:20px;fill:currentColor}.project-item__edit--inactive{background:#f1f5f9;color:#6b7280}.project-item__danger--inactive,.project-item__edit--inactive svg,.project-item__danger--inactive svg{opacity:.5;pointer-events:none}.sort-controls{display:flex;gap:.5rem;align-items:center}.sort-controls select{border-radius:12px;border:1px solid #d6deea;padding:.5rem .75rem;background:#f8fafc}.project-actions{display:flex;gap:.75rem;flex-wrap:wrap}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.toolbar--stacked{flex-direction:column;align-items:stretch;width:100%;gap:.75rem}.toolbar--stacked button{width:100%}.toolbar-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.panel{background:#fff;border-radius:16px;border:1px solid #e1e8f3;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;min-height:420px}.panel--capacity{align-items:stretch}.panel-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.panel-header--stacked{flex-direction:column;align-items:flex-start}.panel-search{display:flex;flex-direction:column;gap:.5rem}.panel-full-width-button{width:100%}.panel-full-width-button .primary-button{width:100%;justify-content:center}.access-settings-group{display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1px solid #e1e8f3;border-radius:14px;background:#f8fafc}.access-settings-group__header{display:flex;flex-direction:column;gap:.35rem}.access-settings-group__header h3{margin:0;font-size:1rem;color:#0f172a}.panel-list{display:flex;flex-direction:column;gap:.75rem}.entity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.entity-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}.entity-item--active{border-color:#94a3b8;box-shadow:inset 0 0 0 1px #94a3b8}.text-area{border-radius:12px;border:1px solid #d6deea;padding:.75rem 1rem;font-size:.95rem;background:#f8fafc;resize:vertical;width:100%;min-height:0;height:auto}.banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;border-radius:12px;border:1px solid transparent}.banner__dismiss{margin-left:auto}.banner--info{background:#e0f2fe;border-color:#bae6fd;color:#0c4a6e}.banner--error{background:#fee2e2;border-color:#fecaca;color:#7f1d1d}.dialog-backdrop{position:fixed;inset:0;background:#0f172a8c;display:grid;place-items:center;padding:1.5rem;z-index:20}.dialog{background:#fff;border-radius:16px;padding:2rem;width:min(420px,90vw);box-shadow:0 20px 45px #0f172a33;display:flex;flex-direction:column;gap:1rem}.modal-body{display:flex;flex-direction:column;gap:1rem}.modal{width:min(840px,95vw);max-height:90vh;overflow:auto}.modal-header--spaced{align-items:center}.modal-footer{margin-top:.5rem;display:flex;justify-content:center;width:100%;padding:0;flex-direction:column;align-items:stretch;gap:.5rem}.modal-footer .toolbar{width:100%}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.form-grid{display:flex;flex-direction:column;gap:1rem}.sub-card{background:#f8fafc;border:1px solid #e2e8f0;box-shadow:none;padding:1.25rem}.workflow-builder{border-top:1px solid #e2e8f0;padding-top:1rem;gap:1rem}.workflow-builder__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.workflow-builder__header h3{margin:0;font-size:1rem}.workflow-contract{border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc;padding:.9rem;display:flex;flex-direction:column;gap:.75rem}.workflow-contract h3{margin:0;font-size:1rem}.workflow-step-card{border:1px solid #dbe3ef;border-radius:10px;padding:.9rem;background:#f8fafc;display:flex;flex-direction:column;gap:.75rem}.workflow-step-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.workflow-step-card__title{margin:0;font-size:1rem}.workflow-step-card__toggle{border:0;background:transparent;color:#0f172a;padding-left:0;padding-right:0;font-weight:700;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;text-align:left}.workflow-step-card__toggle:focus-visible{outline:2px solid #94a3b8;outline-offset:2px;border-radius:4px}.workflow-step-card__toggle:before{content:"▸";display:inline-block;transition:transform .15s ease}.workflow-step-card__toggle[aria-expanded=true]:before{transform:rotate(90deg)}.workflow-step-card__actions{display:flex;gap:.5rem;flex-wrap:wrap}.workflow-step-card__content{display:flex;flex-direction:column;gap:.75rem}.workflow-step-card__content[hidden]{display:none}.workflow-step-advanced__toggle{align-self:flex-start}.workflow-step-advanced{display:flex;flex-direction:column;gap:.75rem}.workflow-step-advanced[hidden]{display:none}.workflow-step-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.workflow-step-schema-summary{border:1px solid #dbe3ef;border-radius:8px;background:#fff;padding:.75rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.workflow-step-schema-summary__section ul{margin:.4rem 0 0;padding-left:1rem}.workflow-step-guided-panel{border:1px solid #dbe3ef;border-radius:8px;background:#fff;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.workflow-step-guided-panel__section{display:flex;flex-direction:column;gap:.55rem}.workflow-step-guided-panel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.workflow-step-variables{border:1px dashed #dbe3ef;border-radius:8px;background:#fff;padding:.6rem .75rem}.workflow-step-variables__list{display:flex;flex-wrap:wrap;gap:.45rem}.workflow-step-variables__token{border:1px solid #cbd5e1;border-radius:999px;padding:.2rem .55rem;background:#f8fafc;color:#0f172a;font-size:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;cursor:pointer}.workflow-step-variables__token:hover:not(:disabled){border-color:#94a3b8;background:#f1f5f9}.workflow-builder__expert{display:flex;flex-direction:column;gap:.75rem}.connection-history{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#f8fafc}.connection-history__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.connection-history__item{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem 1rem;display:flex;justify-content:space-between;gap:1rem;cursor:pointer;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.connection-history__item--active{border-color:#0f172a;box-shadow:inset 0 0 0 1px #0f172a}.connection-history__item:hover{border-color:#c7d2fe}.connection-history__meta{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;text-align:right}@media(max-width:768px){.app-header{flex-direction:column;align-items:flex-start}.app-content{padding:1.5rem}}.tab-list{display:flex;flex-direction:column;gap:.75rem}.tab-list__status-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tab-list__buttons{display:flex;gap:.75rem;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;padding-bottom:.75rem}.tab-button{background:transparent;border:1px solid transparent;border-radius:999px;padding:.45rem 1.1rem;font-weight:600;cursor:pointer;color:#334155}.tab-button--active{background:#0f172a;color:#f8fafc;border-color:#0f172a}.tab-panel{margin-top:1.5rem}.detail-input{width:100%}.manifest-error-block{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.detail-grid.detail-grid--stacked{grid-template-columns:1fr}.detail-item{background:#f8fafc;border-radius:12px;padding:.75rem 1rem;border:1px solid #e2e8f0}.detail-label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.detail-value{display:block;margin-top:.25rem;font-weight:600;color:#0f172a}.select-input{border-radius:12px;border:1px solid #d6deea;padding:.75rem 1rem;font-size:1rem;background:#f8fafc}.field-helper{font-size:.85rem;font-weight:400;color:#64748b}.signup-link-group{margin-top:1rem;gap:.35rem}.signup-link-microcopy{margin:0;font-weight:400;font-size:.9rem}.signup-link-text{color:#1d4ed8;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:#1d4ed8;background:none;border:none;padding:0;transition:color .15s ease,text-decoration-color .15s ease,box-shadow .2s ease;display:inline-flex;align-items:center}.signup-link-text:hover,.signup-link-text:focus-visible{color:#0b1c46;text-decoration-color:#0b1c46;box-shadow:inset 0 -1px #0f76ff40}.form-loading-overlay{position:absolute;inset:0;border-radius:16px;background:#ffffffe6;display:grid;place-items:center;font-weight:600;pointer-events:none;z-index:2}.slug-availability{margin:.35rem 0 0;font-size:.85rem;display:flex;align-items:center;gap:.35rem}.slug-availability--available{color:#0f9d58}.slug-availability--taken,.slug-availability--error{color:#b91c1c}.slug-availability--checking{color:#1d4ed8}.form-section{border:1px solid #e2e8f0;border-radius:16px;padding:1.25rem;background:#f8fafc;display:flex;flex-direction:column;gap:1rem}.form-section[hidden]{display:none!important}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.section-grid--stacked{grid-template-columns:1fr}.pill{background:#e2e8f0;color:#1e293b;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}.pill--edit{background:#fef08a;color:#92400e}.compact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.compact-list li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem .75rem;border-radius:10px;border:1px solid #e2e8f0;background:#fff}.drop-zone{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px dashed #94a3b8;border-radius:12px;padding:.75rem 1rem;background:#f8fafc}.drop-zone--active{border-color:#0f172a;background:#e2e8f0}.drop-zone .ghost-button,.ghost-button--file{position:relative;overflow:hidden}.file-input{position:absolute;inset:0;opacity:0;cursor:pointer}.connector-panel{border:1px solid #e2e8f0;border-radius:16px;padding:1.25rem;background:#fff;display:flex;flex-direction:column;gap:1rem}.schema-panel{border:1px solid #cbd5f5;border-radius:12px;padding:.75rem 1rem;background:#fff}.schema-panel__summary{font-weight:600;cursor:pointer;display:block;padding:.25rem 0;border:none;background:transparent;text-align:left;width:100%}.schema-panel__summary--active{color:#0f172a}.schema-panel__content{margin-top:.75rem;display:grid;gap:.5rem}.schema-panel__entry span{display:block;font-size:.85rem;font-weight:600;color:#334155;margin-bottom:.25rem}.schema-panel__code{margin:0;padding:.75rem;border-radius:10px;background:#0f172a;color:#f8fafc;font-size:.85rem;line-height:1.4;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;overflow:auto;white-space:pre-wrap}.schema-panel__summary:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.connector-candidate{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#f8fafc}.connector-candidate-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.connector-candidate-title{font-weight:600;font-size:.95rem}.connector-candidate-summary{margin:.25rem 0 .5rem;font-size:.85rem}.connector-panel__toolbar,.connector-panel__toolbar-button{width:100%}.connector-candidates{display:flex;flex-direction:column;gap:.75rem}.connector.candidates{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.stepper-item{display:flex;gap:.75rem;align-items:center;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;padding:.75rem 1rem}.stepper-item--active{border-color:#0f172a;background:#eef2ff}.stepper--frise{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-bottom:1rem;border-bottom:1px solid #e2e8f0;padding-bottom:.65rem}.stepper--frise .stepper-item{border:none;background:transparent;padding:0;border-radius:0;justify-content:flex-start;font-size:.9rem;font-weight:600;color:#64748b;letter-spacing:.01em;text-transform:uppercase}.stepper-frise-index{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:#0f172a;color:#f8fafc;font-size:.8rem;font-weight:700}.stepper--frise .stepper-item span{line-height:1}.stepper--frise .stepper-item--active{color:#0f172a}.connection-actions{display:flex;gap:.5rem;flex-wrap:wrap}.deploy-modal{max-width:640px;width:90vw;max-height:85vh;overflow-y:auto}.deploy-section{margin-bottom:1rem}.deploy-section--bordered{border:1px solid #e0e5f0;border-radius:8px;padding:1rem;background:#fafbfd}.deploy-section h4{margin:0 0 .75rem;font-weight:600;color:#333}.deploy-checkbox-group{display:flex;flex-direction:column;gap:.5rem}.deploy-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.deploy-checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.deploy-url-display{display:flex;align-items:center;gap:.75rem;background:#f0f2f8;padding:.5rem .75rem;border-radius:6px;flex-wrap:wrap}.deploy-url-display code{flex:1;font-family:Fira Code,Cascadia Code,monospace;font-size:.85rem;word-break:break-all}.deploy-config-preview{background:#1e1e2e;color:#cdd6f4;padding:.75rem;border-radius:6px;font-family:Fira Code,Cascadia Code,monospace;font-size:.8rem;overflow-x:auto;white-space:pre;margin:0}.deploy-copy-button{margin-top:.75rem;width:100%}.deploy-steps{margin:.5rem 0 0 1.25rem;padding:0;font-size:.9rem;color:#5a6785}.deploy-steps li{margin-bottom:.5rem}.deploy-steps code{background:#f0f2f8;padding:.15rem .4rem;border-radius:4px;font-size:.8rem;word-break:break-all}.deploy-collapsible-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#5046e5;cursor:pointer;font-size:.9rem;padding:.5rem 0;margin-top:.5rem}.deploy-collapsible-toggle:hover{text-decoration:underline}.deploy-collapsible-content{margin-top:.75rem;padding:.75rem;background:#fafbfd;border-radius:6px;border:1px solid #e0e5f0}.deploy-method-group{display:flex;flex-direction:column;gap:.25rem}.deploy-radio{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;padding:.25rem 0}.deploy-radio input[type=radio]{width:16px;height:16px;cursor:pointer}.deploy-method-description{margin:0 0 .75rem 1.5rem;font-size:.85rem;color:#6b7280}.deploy-script-info{margin-top:1rem;padding:1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px}.deploy-script-info .deploy-instruction{margin:0 0 .5rem;color:#0369a1}.deploy-script-info .deploy-steps{margin:0;padding-left:1.25rem;color:#0c4a6e}.deploy-script-info .deploy-steps li{margin-bottom:.5rem}.deploy-script-info .deploy-steps li:last-child{margin-bottom:0}.deploy-script-info code{background:#e0f2fe;padding:.125rem .375rem;border-radius:3px;font-size:.85em;color:#0c4a6e}.deploy-url-info{margin-top:1rem;padding-top:1rem;border-top:1px solid #bae6fd}.deploy-url-code{display:block;background:#e0f2fe;padding:.5rem;border-radius:4px;font-size:.9em;word-break:break-all}.deploy-runtime-install{margin-top:1rem;padding-top:1rem;border-top:1px solid #bae6fd}.deploy-warning{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:.75rem;margin-bottom:1rem;color:#92400e;font-size:.9em}.deploy-auto-steps{margin:.5rem 0 0;padding-left:1.25rem;color:#0c4a6e;font-size:.9em}.deploy-auto-steps li{margin-bottom:.25rem}.deploy-steps a{color:#0369a1;text-decoration:underline}.deploy-steps a:hover{color:#0284c7}.profile-sections{display:flex;flex-direction:column;gap:1rem}.profile-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.profile-actions--stacked{justify-content:flex-start}.profile-delete-form{margin-top:.75rem;display:flex;flex-direction:column;gap:.85rem}.profile-avatar-section{margin:0}.profile-avatar-fallback{width:100%;height:100%;border-radius:999px;background:#071d41;color:#f8fafc;font-size:2.4rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase}.profile-avatar-image{width:100%;height:100%;border-radius:999px;object-fit:cover}.password-strength{display:flex;flex-direction:column;gap:.35rem}.password-strength__bar{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.password-strength__fill{display:block;height:100%;border-radius:inherit;transition:width .3s ease,background .3s ease}.password-strength__label{margin:0;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.field-helper{margin:0;font-size:.85rem;color:#64748b}:root{--vid-font: "Lato", "Segoe UI", sans-serif;--vid-title: #071d41;--vid-text: #030f22;--vid-primary: #071d41;--vid-primary-contrast: #f2f6fc;--vid-surface: #f2f6fc;--vid-background: #ffffff;--vid-destructive: #fc4b4b;--vid-success: #b3e037;--vid-alert: #f4593f;--vid-primary-variation-1: #c6dcf9;--vid-primary-variation-2: #619cea;--vid-primary-variation-3: #0055ca;--vid-border: #d7e3f2;--vid-muted: #4f6282}#root,.app-shell{color:var(--vid-text);font-family:var(--vid-font)}body{background:linear-gradient(180deg,#fff,#f2f6fc)!important}.app-header{background:#fffffff0;border-bottom:1px solid var(--vid-border);box-shadow:0 4px 20px #071d410f}.app-brand{gap:.2rem}.app-brand:before{content:"";display:block;width:200px;height:32px;background:url(/app/votreid-logo.png) no-repeat left center / auto 32px}.app-brand__name{color:var(--vid-title);font-weight:900;letter-spacing:.01em;padding-left:10px}.app-brand__tag,.muted,.field-helper,.breadcrumbs span{color:var(--vid-muted)}.app-brand__tag{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;padding-left:10px}.app-nav,.app-nav__submenu-link,.breadcrumbs,.breadcrumbs a{color:var(--vid-title)}.app-nav__link:hover,.app-nav__trigger:hover,.app-nav__submenu-link:hover,.app-nav__submenu-link:focus{color:var(--vid-primary-variation-3);background:var(--vid-surface)}.app-nav__submenu{border:1px solid var(--vid-border);box-shadow:0 12px 30px #071d411f}.card,.panel,.dialog,.provider-card,.sub-card,.connector-panel,.schema-panel,.form-section,.connection-history,.connection-history__item,.entity-item,.project-item,.page-item,.detail-item,.drop-zone{border-color:var(--vid-border)}.card,.panel,.dialog,.connection-history__item,.connector-panel,.schema-panel{background:var(--vid-background)}.project-item,.page-item,.entity-item,.provider-card,.detail-item,.form-section,.sub-card{background:#f7faff}.card,.panel,.dialog{box-shadow:0 12px 30px #071d4114}.project-item--clickable:hover,.page-item--clickable:hover,.connection-history__item:hover{background:#edf4ff;border-color:var(--vid-primary-variation-1)}.entity-item--active,.connection-history__item--active{border-color:var(--vid-primary);box-shadow:inset 0 0 0 1px var(--vid-primary)}.ghost-button{border:1px solid var(--vid-primary-variation-1);color:var(--vid-primary)}.ghost-button:hover{background:var(--vid-surface)}.danger-button{background:var(--vid-destructive);color:#fff}.field input,.text-input,.select-input,.dropdown-toggle,.dropdown-menu,.sort-controls select,.text-area{border-color:var(--vid-border);background:#fff}.field input:focus,.dropdown-toggle:focus-visible,.project-item--clickable:focus-visible,.schema-panel__summary:focus-visible{outline:2px solid var(--vid-primary-variation-2);outline-offset:2px}.banner--info{background:#edf4ff;border-color:var(--vid-primary-variation-1);color:var(--vid-primary-variation-3)}.banner--error{background:#fff5f5;border-color:#ffd5d5;color:#a71d1d}.signup-link-text{color:var(--vid-primary-variation-3);text-decoration-color:var(--vid-primary-variation-3)}.signup-link-text:hover,.signup-link-text:focus-visible{color:var(--vid-title);text-decoration-color:var(--vid-title)}.required-star{color:#e53e3e;margin-left:.2em}.tool-editor-surface{border-top:1px solid #e2e8f0;padding-top:1rem}.tool-editor-mode{display:flex;gap:.5rem;flex-wrap:wrap}.tool-editor-mode .ghost-button{flex:1 1 220px}.tool-editor-mode__button--active{background:#e2e8f0;border-color:#94a3b8}.tool-json-expert{border-top:1px solid #e2e8f0;padding-top:1rem}.playbook-editor{display:flex;flex-direction:column;gap:1.25rem}.playbook-editor__section{display:flex;flex-direction:column;gap:.4rem}.playbook-editor__objective,.playbook-editor__output-schema{width:100%;resize:vertical;font-family:monospace;font-size:.85rem;padding:.5rem .6rem;border:1px solid #dbe3ef;border-radius:6px;background:#f8fafc;color:#1e293b;box-sizing:border-box}.playbook-editor__objective{font-family:inherit}.playbook-editor__objective:focus,.playbook-editor__output-schema:focus{outline:2px solid var(--vid-primary, #4f46e5);outline-offset:1px}.playbook-editor__no-tools{font-size:.85rem;color:#94a3b8;font-style:italic}.playbook-editor__tools{display:flex;flex-direction:column;gap:.3rem;max-height:180px;overflow-y:auto;border:1px solid #dbe3ef;border-radius:6px;padding:.5rem .75rem;background:#f8fafc}.playbook-editor__tool-row{display:flex;align-items:center;gap:.5rem;font-size:.88rem;cursor:pointer;padding:.15rem 0}.playbook-editor__tool-row input[type=checkbox],.playbook-editor__persist input[type=checkbox],.checkbox-row input[type=checkbox]{accent-color:var(--vid-primary, #4f46e5);width:15px;height:15px;flex-shrink:0}.playbook-editor__policies{display:flex;gap:.75rem;flex-wrap:wrap}.playbook-editor__policy-field{display:flex;flex-direction:column;gap:.25rem;flex:1 1 140px;font-size:.85rem;color:#475569}.playbook-editor__policy-field input[type=number]{padding:.4rem .5rem;border:1px solid #dbe3ef;border-radius:6px;background:#f8fafc;font-size:.88rem;width:100%;box-sizing:border-box}.playbook-editor__policy-field input[type=number]:focus{outline:2px solid var(--vid-primary, #4f46e5);outline-offset:1px}.playbook-editor__budget{border:1px solid #dbe3ef;border-radius:8px;padding:.75rem;background:#fafbfd}.playbook-editor__budget-summary{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}.playbook-editor__budget[open] .playbook-editor__budget-summary{margin-bottom:.75rem}.playbook-editor__budget-fields{padding-top:.5rem}.playbook-editor__persist{display:flex;align-items:center;gap:.5rem;font-size:.88rem;cursor:pointer;color:#1e293b}.data-table-editor{display:flex;flex-direction:column;gap:.9rem}.data-table-editor__table{background:#f8fafc;border:1px solid #dbe3ef;border-radius:12px;margin:10px;padding:.75rem;display:flex;flex-direction:column;gap:.65rem;overflow-x:auto}.data-table-editor__table-header,.data-table-editor__table-header .primary-button{width:100%}.data-table-editor__column-row{display:grid;grid-template-columns:minmax(220px,1fr) 170px minmax(180px,auto);gap:.6rem;align-items:end;min-width:620px}.data-table-editor__required{display:flex;justify-content:flex-start;align-items:flex-end;gap:.45rem;font-weight:500;color:#334155}.data-table-editor__column-actions{display:flex;justify-content:flex-end;align-items:flex-end;gap:.6rem}.data-table-editor__column-row .project-item__danger{width:44px;height:44px;padding:0}.checkbox-group{display:flex;flex-direction:column;gap:.35rem;padding:.4rem 0}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.88rem;cursor:pointer}.secret-reveal{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:.75rem 1rem;font-family:monospace;font-size:.9rem;word-break:break-all}.secret-reveal__warning{color:#166534;font-size:.8rem;margin-bottom:.4rem;font-weight:600;font-family:sans-serif}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:2.5rem}.password-toggle{position:absolute;right:.5rem;background:none;border:none;cursor:pointer;color:#64748b;padding:.25rem;display:flex;align-items:center}.password-toggle:hover{color:#030f22}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;text-align:center}.empty-state__title{font-weight:600;color:#64748b}.empty-state__cta{margin-top:.5rem}:root{font-family:Lato,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#030f22;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100vh}body{background:linear-gradient(180deg,#fff,#f2f6fc)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit}
