*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}body{color:#0f172a;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}#root{min-height:100vh}.app{min-height:100vh;display:flex}.app__content{background:#f8fafc;flex-direction:column;flex:1;min-width:0;display:flex}.app__main{flex:1;padding:32px}.header{background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;min-height:80px;padding:0 32px;display:flex}.header__content{justify-content:space-between;align-items:center;width:100%;display:flex}.header__eyebrow{color:#64748b;margin-bottom:4px;font-size:12px;font-weight:500}.header__title{color:#0f172a;margin:0;font-size:24px;font-weight:700}.header__actions{align-items:center;gap:20px;display:flex}.header__user{align-items:center;gap:10px;display:flex}.header__avatar{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:flex}.header__user-info{flex-direction:column;display:flex}.header__user-name{color:#0f172a;font-size:13px;font-weight:600}.header__user-role{color:#64748b;margin-top:2px;font-size:11px}.header__logout{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,color .2s}.header__logout:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.header__logout:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.sidebar{color:#f8fafc;background:#0f172a;flex-direction:column;width:260px;min-height:100vh;padding:24px 16px;display:flex}.sidebar__brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.sidebar__logo{color:#fff;background:#2563eb;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.sidebar__title{font-size:16px;font-weight:600;line-height:1.25}.sidebar__subtitle{color:#94a3b8;margin-top:2px;font-size:12px}.sidebar__nav{flex-direction:column;flex:1;gap:6px;display:flex}.sidebar__item{color:#94a3b8;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:14px;transition:background .15s,color .15s;display:flex}.sidebar__item:hover{color:#f8fafc;background:#1e293b}.sidebar__item--active{color:#fff;background:#1e293b}.sidebar__icon{justify-content:center;align-items:center;width:20px;font-size:16px;display:flex}.sidebar__footer{border-top:1px solid #1e293b;align-items:center;gap:10px;padding:16px 8px 0;display:flex}.sidebar__status{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px}.sidebar__environment{font-size:12px;font-weight:500}.sidebar__version{color:#64748b;margin-top:2px;font-size:11px}.change-password-page{background:#f1f5f9;justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.change-password-page__panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 20px 25px -5px #0f172a14,0 8px 10px -6px #0f172a14}.change-password-page__brand{background:#0f172a;align-items:center;gap:14px;padding:28px 32px;display:flex}.change-password-page__logo{color:#fff;background:#2563eb;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:14px;font-weight:700;display:flex}.change-password-page__title{color:#fff;margin:0;font-size:18px;font-weight:700}.change-password-page__subtitle{color:#94a3b8;margin:3px 0 0;font-size:12px}.change-password-page__content{padding:32px}.change-password-page__heading{margin-bottom:28px}.change-password-page__heading h2{color:#0f172a;margin:0;font-size:24px;font-weight:700}.change-password-page__heading p{color:#64748b;margin:8px 0 0;font-size:14px;line-height:1.5}.change-password-page__form{flex-direction:column;gap:20px;display:flex}.change-password-page__field{flex-direction:column;gap:7px;display:flex}.change-password-page__field label{color:#334155;font-size:13px;font-weight:600}.change-password-page__field input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:44px;padding:0 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.change-password-page__field input::placeholder{color:#94a3b8}.change-password-page__field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.change-password-page__field input:disabled{cursor:not-allowed;background:#f8fafc}.change-password-page__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:11px 13px;font-size:13px}.change-password-page__button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;height:44px;font-weight:600;transition:background .15s,opacity .15s}.change-password-page__button:hover:not(:disabled){background:#1d4ed8}.change-password-page__button:disabled{opacity:.65;cursor:not-allowed}.change-password-page__logout{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:42px;font-weight:600}.change-password-page__logout:hover:not(:disabled){background:#f8fafc}.change-password-page__logout:disabled{opacity:.65;cursor:not-allowed}@media (width<=520px){.change-password-page{padding:16px}.change-password-page__brand,.change-password-page__content{padding-left:24px;padding-right:24px}}.endpoints-page{width:100%}.endpoints-page__header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.endpoints-page__title{color:#0f172a;margin:0;font-size:24px;font-weight:700}.endpoints-page__description{color:#64748b;margin:6px 0 0;font-size:14px}.endpoints-page__content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.endpoints-page__message{color:#64748b;text-align:center;padding:32px;font-size:14px}.endpoints-page__back{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.endpoints-page__back:hover{background:#f8fafc}.endpoints-page__header-actions{align-items:center;gap:12px;display:flex}.endpoints-page__new{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.endpoints-page__new:hover{background:#1d4ed8;border-color:#1d4ed8}.confirm-dialog__backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:24px;box-shadow:0 20px 45px #0f172a33}.confirm-dialog__title{color:#0f172a;margin:0;font-size:18px;font-weight:700}.confirm-dialog__message{color:#64748b;margin:12px 0 0;font-size:14px;line-height:1.5}.confirm-dialog__actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.confirm-dialog__cancel,.confirm-dialog__confirm{cursor:pointer;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600}.confirm-dialog__cancel{color:#475569;background:#fff;border:1px solid #cbd5e1}.confirm-dialog__cancel:hover{background:#f8fafc}.confirm-dialog__confirm{color:#fff;background:#dc2626;border:1px solid #dc2626}.confirm-dialog__confirm:hover{background:#b91c1c;border-color:#b91c1c}.message-dialog__backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.message-dialog{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:24px;box-shadow:0 20px 45px #0f172a33}.message-dialog__title{color:#0f172a;margin:0;font-size:18px;font-weight:700}.message-dialog__message{color:#64748b;margin:12px 0 0;font-size:14px;line-height:1.5}.message-dialog__actions{justify-content:flex-end;margin-top:24px;display:flex}.message-dialog__close{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:600}.message-dialog__close:hover{background:#1d4ed8;border-color:#1d4ed8}.endpoint-form{flex-direction:column;gap:20px;padding:24px;display:flex}.endpoint-form__row{grid-template-columns:2fr 1fr 1fr;gap:16px;display:grid}.endpoint-form__field{flex-direction:column;gap:6px;display:flex}.endpoint-form__field label{color:#334155;font-size:13px;font-weight:600}.endpoint-form__field input,.endpoint-form__field textarea,.endpoint-form__field select{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.endpoint-form__field input:focus,.endpoint-form__field textarea:focus,.endpoint-form__field select:focus{border-color:#2563eb;outline:none}.endpoint-form__field input[readonly]{color:#475569;cursor:default;background:#f8fafc}.endpoint-form__sql{resize:vertical;font-family:monospace}.endpoint-form__parameters{padding-top:4px}.endpoint-form__parameters-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.endpoint-form__parameters-header h3{color:#0f172a;margin:0;font-size:15px;font-weight:600}.endpoint-form__parameters-header p{color:#64748b;margin:4px 0 0;font-size:12px}.endpoint-form__generate-parameters{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600}.endpoint-form__generate-parameters:hover{background:#eff6ff}.endpoint-form__parameters-empty{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:18px;font-size:13px}.endpoint-form__parameter{border-bottom:1px solid #e2e8f0;grid-template-columns:2fr 1fr auto;align-items:end;gap:16px;padding:14px 0;display:grid}.endpoint-form__parameter:last-child{border-bottom:0}.endpoint-form__required{color:#475569;cursor:pointer;align-items:center;gap:7px;min-height:40px;padding-bottom:1px;font-size:12px;font-weight:500;display:flex}.endpoint-form__required input{cursor:pointer;width:16px;height:16px;margin:0}.endpoint-form__actions{justify-content:flex-end;gap:12px;padding-top:4px;display:flex}.endpoint-form__cancel,.endpoint-form__submit{cursor:pointer;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600}.endpoint-form__cancel{color:#475569;background:#fff;border:1px solid #cbd5e1}.endpoint-form__cancel:hover{background:#f8fafc}.endpoint-form__submit{color:#fff;background:#2563eb;border:1px solid #2563eb}.endpoint-form__submit:hover{background:#1d4ed8;border-color:#1d4ed8}.endpoint-form__field input[readonly],.endpoint-form__field textarea[readonly],.endpoint-form__field select:disabled{color:#475569;cursor:default;background:#f8fafc}.endpoint-form__field select:disabled{opacity:1}.endpoint-form__required input:disabled{cursor:default}.endpoint-form__required:has(input:disabled){color:#64748b;cursor:default}.endpoint-form__label{margin-bottom:8px;font-size:14px;font-weight:500;display:block}.endpoint-form__checkbox{cursor:pointer;align-items:center;gap:8px;width:fit-content;display:inline-flex}.endpoint-form__checkbox input{cursor:pointer;width:18px;height:18px;margin:0}.endpoint-form__checkbox span{font-size:14px;font-weight:500}.endpoint-form__checkbox input:disabled{cursor:default}.endpoint-form__checkbox:has(input:disabled){cursor:default}.endpoint-list{width:100%}.endpoint-list--empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:32px;display:flex}.endpoint-list__empty-icon{color:#2563eb;background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:22px;display:flex}.endpoint-list__empty-title{color:#0f172a;margin:0;font-size:16px;font-weight:600}.endpoint-list__empty-description{color:#64748b;margin:6px 0 0;font-size:13px}.endpoint-list__item{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;display:flex}.endpoint-list__item:last-child{border-bottom:0}.endpoint-list__info{min-width:0}.endpoint-list__name{color:#0f172a;margin:0 0 6px;font-size:15px;font-weight:600}.endpoint-list__details{align-items:center;gap:8px;display:flex}.endpoint-list__method{color:#2563eb;background:#eff6ff;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:700}.endpoint-list__path{color:#64748b;font-family:monospace;font-size:12px}.endpoint-list__right{align-items:center;gap:16px;display:flex}.endpoint-list__actions{align-items:center;gap:8px;display:flex}.endpoint-list__status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600}.endpoint-list__status--active{color:#166534;background:#dcfce7}.endpoint-list__status--inactive{color:#64748b;background:#f1f5f9}.endpoint-list__delete{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.endpoint-list__delete:hover{background:#fef2f2}.endpoint-list__edit{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.endpoint-list__edit:hover{background:#eff6ff}.endpoint-list__test{color:#15803d;cursor:pointer;background:#fff;border:1px solid #bbf7d0;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.endpoint-list__test:hover{background:#f0fdf4}.endpoint-list__test:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc;border-color:#e2e8f0}.endpoint-test-modal__backdrop{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.endpoint-test-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:760px;max-height:calc(100vh - 48px);display:flex;overflow-y:auto;box-shadow:0 24px 60px #0f172a40}.endpoint-test-modal__header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 24px;display:flex}.endpoint-test-modal__title{color:#0f172a;margin:0;font-size:20px;font-weight:700}.endpoint-test-modal__description{color:#64748b;overflow-wrap:anywhere;margin:6px 0 0;font-family:monospace;font-size:13px}.endpoint-test-modal__close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;line-height:1;display:flex}.endpoint-test-modal__close:hover{color:#0f172a;background:#f1f5f9}.endpoint-test-modal__form{border-bottom:1px solid #e2e8f0;padding:20px 24px}.endpoint-test-modal__parameters{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.endpoint-test-modal__section-title{color:#0f172a;grid-column:1/-1;margin:0;font-size:14px;font-weight:700}.endpoint-test-modal__field{color:#334155;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.endpoint-test-modal__field strong{color:#dc2626}.endpoint-test-modal__field input{box-sizing:border-box;color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:9px 11px;font-weight:400}.endpoint-test-modal__field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.endpoint-test-modal__field small{color:#94a3b8;font-size:11px;font-weight:500}.endpoint-test-modal__empty{color:#64748b;background:#f8fafc;border-radius:8px;grid-column:1/-1;margin:0;padding:14px;font-size:13px}.endpoint-test-modal__actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.endpoint-test-modal__cancel,.endpoint-test-modal__execute{cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.endpoint-test-modal__cancel{color:#475569;background:#fff;border:1px solid #cbd5e1}.endpoint-test-modal__cancel:hover{background:#f8fafc}.endpoint-test-modal__execute{color:#fff;background:#2563eb;border:1px solid #2563eb}.endpoint-test-modal__execute:hover{background:#1d4ed8;border-color:#1d4ed8}.endpoint-test-modal__cancel:disabled,.endpoint-test-modal__execute:disabled{cursor:not-allowed;opacity:.6}.endpoint-test-modal__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:20px 24px 0;padding:12px 14px;font-size:13px}.endpoint-test-modal__result{min-height:0;padding:20px 24px 24px}.endpoint-test-modal__metadata{color:#64748b;align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}.endpoint-test-modal__status{border-radius:999px;padding:4px 8px;font-weight:700}.endpoint-test-modal__status--success{color:#166534;background:#dcfce7}.endpoint-test-modal__status--error{color:#b91c1c;background:#fee2e2}.endpoint-test-modal__url{color:#334155;flex-direction:column;gap:6px;margin-top:16px;font-size:12px;display:flex}.endpoint-test-modal__url code{color:#334155;overflow-wrap:anywhere;background:#f1f5f9;border-radius:8px;padding:10px 12px;font-size:12px}.endpoint-test-modal__response{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:8px;max-height:320px;margin:16px 0 0;padding:16px;font-family:monospace;font-size:12px;line-height:1.55;overflow:auto}@media (width<=640px){.endpoint-test-modal__backdrop{align-items:flex-end;padding:0}.endpoint-test-modal{border-radius:14px 14px 0 0;max-height:92vh}.endpoint-test-modal__parameters{grid-template-columns:1fr}.endpoint-test-modal__header,.endpoint-test-modal__form,.endpoint-test-modal__result{padding-left:18px;padding-right:18px}}.endpoint-test-modal__result-actions{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.endpoint-test-modal__url-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.endpoint-test-modal__copy-url{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:none;padding:5px 9px;font-size:12px;font-weight:600}.endpoint-test-modal__copy-url:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.integrations-page{width:100%}.integrations-page__header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.integrations-page__title{color:#0f172a;margin:0;font-size:22px;font-weight:700}.integrations-page__description{color:#64748b;margin:6px 0 0;font-size:14px}.integrations-page__new{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.integrations-page__new:hover{background:#1d4ed8}.integrations-page__content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:360px}.integrations-page__message{color:#64748b;text-align:center;padding:32px;font-size:14px}.integrations-page__message--error{color:#dc2626}.api-key-dialog__overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.api-key-dialog{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;max-width:620px;overflow:hidden;box-shadow:0 20px 25px -5px #0f172a1a,0 8px 10px -6px #0f172a1a}.api-key-dialog__header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 24px 20px;display:flex}.api-key-dialog__title{color:#0f172a;margin:0;font-size:20px;font-weight:700}.api-key-dialog__description{color:#64748b;margin:6px 0 0;font-size:14px;line-height:1.5}.api-key-dialog__close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:26px;line-height:1;display:flex}.api-key-dialog__close:hover{color:#0f172a;background:#f1f5f9}.api-key-dialog__content{flex-direction:column;gap:20px;padding:24px;display:flex}.api-key-dialog__warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:14px 16px;font-size:14px;line-height:1.5}.api-key-dialog__key-container{align-items:stretch;gap:10px;display:flex}.api-key-dialog__key{color:#0f172a;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;flex:1;align-items:center;min-width:0;padding:12px 14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;display:flex;overflow-x:auto}.api-key-dialog__copy{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:none;padding:0 18px;font-size:14px;font-weight:600}.api-key-dialog__copy:hover{background:#f8fafc}.api-key-dialog__usage{flex-direction:column;gap:8px;display:flex}.api-key-dialog__usage-label{color:#475569;font-size:13px;font-weight:600}.api-key-dialog__usage-value{color:#f8fafc;white-space:nowrap;background:#0f172a;border-radius:8px;padding:12px 14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;overflow-x:auto}.api-key-dialog__actions{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;padding:16px 24px;display:flex}.api-key-dialog__confirm{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600}.api-key-dialog__confirm:hover{background:#1e293b}.api-key-dialog__close:focus-visible,.api-key-dialog__copy:focus-visible,.api-key-dialog__confirm:focus-visible{outline-offset:2px;outline:2px solid #2563eb}@media (width<=640px){.api-key-dialog__overlay{padding:16px}.api-key-dialog__header,.api-key-dialog__content{padding:20px}.api-key-dialog__actions{padding:16px 20px}.api-key-dialog__key-container{flex-direction:column}.api-key-dialog__copy{min-height:42px}}.integration-form{padding:24px}.integration-form__field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.integration-form__field label{color:#334155;font-size:14px;font-weight:600}.integration-form__field input,.integration-form__field textarea,.integration-form__field select{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.integration-form__field textarea{resize:vertical}.integration-form__field input:focus,.integration-form__field textarea:focus,.integration-form__field select:focus{border-color:#2563eb;outline:none}.integration-form__field input::placeholder,.integration-form__field textarea::placeholder{color:#94a3b8}.integration-form__actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.integration-form__cancel,.integration-form__submit{cursor:pointer;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.integration-form__cancel{color:#475569;background:#fff;border:1px solid #cbd5e1}.integration-form__cancel:hover{background:#f8fafc}.integration-form__submit{color:#fff;background:#2563eb;border:0}.integration-form__submit:hover{background:#1d4ed8}.integration-form__field input[readonly],.integration-form__field textarea[readonly],.integration-form__field select:disabled{color:#475569;cursor:default;background:#f8fafc}.integration-form__field select:disabled{opacity:1}.integration-form__label{margin-bottom:8px;font-size:14px;font-weight:500;display:block}.integration-form__checkbox{cursor:pointer;align-items:center;gap:8px;width:fit-content;display:inline-flex}.integration-form__checkbox input{cursor:pointer;width:18px;height:18px;margin:0}.integration-form__checkbox span{font-size:14px;font-weight:500}.integration-form__checkbox input:disabled{cursor:default}.integration-form__checkbox:has(input:disabled){cursor:default}.integration-form__help{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.4}.integration-list{width:100%}.integration-list--empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:32px;display:flex}.integration-list__empty-icon{color:#2563eb;background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:22px;display:flex}.integration-list__empty-title{color:#0f172a;margin:0;font-size:16px;font-weight:600}.integration-list__empty-description{color:#64748b;margin:6px 0 0;font-size:13px}.integration-list__item{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;display:flex}.integration-list__item:last-child{border-bottom:0}.integration-list__info{min-width:0}.integration-list__name{color:#0f172a;margin:0 0 5px;font-size:15px;font-weight:600}.integration-list__path{color:#64748b;font-family:monospace;font-size:12px}.integration-list__right{align-items:center;gap:16px;display:flex}.integration-list__actions{align-items:center;gap:8px;display:flex}.integration-list__status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600}.integration-list__status--active{color:#166534;background:#dcfce7}.integration-list__status--inactive{color:#64748b;background:#f1f5f9}.integration-list__edit,.integration-list__delete{cursor:pointer;background:#fff;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.integration-list__edit{color:#2563eb;border:1px solid #bfdbfe}.integration-list__edit:hover{background:#eff6ff}.integration-list__delete{color:#dc2626;border:1px solid #fecaca}.integration-list__delete:hover{background:#fef2f2}.integration-list__endpoints{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.integration-list__endpoints:hover{background:#f8fafc}.integration-list__authentication{align-items:center;gap:6px;margin-top:6px;font-size:13px;display:flex}.integration-list__authentication-label{color:#64748b}.integration-list__authentication-value{font-weight:600}.integration-list__api-key{color:#1d4ed8;white-space:nowrap;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1;transition:background-color .15s,border-color .15s,color .15s}.integration-list__api-key:hover{color:#1e40af;background:#dbeafe;border-color:#60a5fa}.integration-list__api-key:active{background:#bfdbfe}.integration-list__api-key:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.login-page{background:#f1f5f9;justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.login-page__panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 20px 25px -5px #0f172a14,0 8px 10px -6px #0f172a14}.login-page__brand{background:#0f172a;align-items:center;gap:14px;padding:28px 32px;display:flex}.login-page__logo{color:#fff;background:#2563eb;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:14px;font-weight:700;display:flex}.login-page__title{color:#fff;margin:0;font-size:18px;font-weight:700}.login-page__subtitle{color:#94a3b8;margin:3px 0 0;font-size:12px}.login-page__content{padding:32px}.login-page__heading{margin-bottom:28px}.login-page__heading h2{color:#0f172a;margin:0;font-size:24px;font-weight:700}.login-page__heading p{color:#64748b;margin:8px 0 0;font-size:14px;line-height:1.5}.login-page__form{flex-direction:column;gap:20px;display:flex}.login-page__field{flex-direction:column;gap:7px;display:flex}.login-page__field label{color:#334155;font-size:13px;font-weight:600}.login-page__field input,.login-page__field select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:44px;padding:0 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-page__field select{cursor:pointer}.login-page__field input::placeholder{color:#94a3b8}.login-page__field input:focus,.login-page__field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.login-page__field input:disabled,.login-page__field select:disabled{cursor:not-allowed;background:#f8fafc}.login-page__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:11px 13px;font-size:13px}.login-page__button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;height:44px;font-weight:600;transition:background .15s,opacity .15s}.login-page__button:hover:not(:disabled){background:#1d4ed8}.login-page__button:disabled{opacity:.65;cursor:not-allowed}.login-page__footer{color:#94a3b8;text-align:center;background:#f8fafc;border-top:1px solid #e2e8f0;padding:16px 32px;font-size:11px}@media (width<=520px){.login-page{padding:16px}.login-page__brand,.login-page__content{padding-left:24px;padding-right:24px}}.temporary-password-dialog__backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.temporary-password-dialog{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;max-width:460px;overflow:hidden;box-shadow:0 20px 25px -5px #0f172a26,0 8px 10px -6px #0f172a26}.temporary-password-dialog__header{align-items:flex-start;gap:14px;padding:24px 24px 20px;display:flex}.temporary-password-dialog__icon{color:#047857;background:#ecfdf5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;font-weight:700;display:flex}.temporary-password-dialog__header h2{color:#0f172a;margin:0;font-size:20px;font-weight:700}.temporary-password-dialog__header p{color:#64748b;margin:5px 0 0;font-size:13px;line-height:1.5}.temporary-password-dialog__content{padding:0 24px 24px}.temporary-password-dialog__content label{color:#334155;margin-bottom:7px;font-size:12px;font-weight:600;display:block}.temporary-password-dialog__password{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.temporary-password-dialog__password code{color:#1e3a8a;letter-spacing:1px;text-overflow:ellipsis;font-family:monospace;font-size:17px;font-weight:700;overflow:hidden}.temporary-password-dialog__password button{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #93c5fd;border-radius:6px;flex-shrink:0;padding:7px 12px;font-size:12px;font-weight:600}.temporary-password-dialog__password button:hover{background:#dbeafe}.temporary-password-dialog__warning{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-direction:column;gap:3px;margin-top:16px;padding:12px 14px;display:flex}.temporary-password-dialog__warning strong{color:#92400e;font-size:12px}.temporary-password-dialog__warning span{color:#92400e;font-size:12px;line-height:1.5}.temporary-password-dialog__actions{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;padding:16px 24px;display:flex}.temporary-password-dialog__actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;min-height:40px;padding:0 18px;font-weight:600}.temporary-password-dialog__actions button:hover{background:#1d4ed8}@media (width<=520px){.temporary-password-dialog__backdrop{padding:16px}.temporary-password-dialog__password{flex-direction:column;align-items:stretch}}.user-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.user-form__header{margin-bottom:24px}.user-form__eyebrow{color:#64748b;margin:0 0 4px;font-size:12px;font-weight:600}.user-form__header h2{color:#0f172a;margin:0;font-size:20px;font-weight:700}.user-form__description{color:#64748b;margin:7px 0 0;font-size:13px;line-height:1.5}.user-form__form{flex-direction:column;gap:22px;display:flex}.user-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.user-form__field{flex-direction:column;gap:7px;display:flex}.user-form__field label{color:#334155;font-size:13px;font-weight:600}.user-form__field input,.user-form__field select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;min-height:42px;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.user-form__field input:focus,.user-form__field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.user-form__field input:disabled,.user-form__field select:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.user-form__info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-direction:column;gap:4px;padding:13px 14px;display:flex}.user-form__info strong{color:#1e3a8a;font-size:13px}.user-form__info span{color:#475569;font-size:12px;line-height:1.5}.user-form__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:11px 13px;font-size:13px}.user-form__actions{justify-content:flex-end;gap:10px;display:flex}.user-form__cancel-button,.user-form__save-button{cursor:pointer;border-radius:8px;min-height:40px;padding:0 18px;font-weight:600}.user-form__cancel-button{color:#475569;background:#fff;border:1px solid #cbd5e1}.user-form__cancel-button:hover:not(:disabled){background:#f8fafc}.user-form__save-button{color:#fff;background:#2563eb;border:0}.user-form__save-button:hover:not(:disabled){background:#1d4ed8}.user-form__cancel-button:disabled,.user-form__save-button:disabled{opacity:.65;cursor:not-allowed}@media (width<=800px){.user-form__grid{grid-template-columns:1fr}}.users-page{flex-direction:column;gap:24px;display:flex}.users-page__header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.users-page__eyebrow{color:#64748b;margin:0 0 4px;font-size:12px;font-weight:600}.users-page__title{color:#0f172a;margin:0;font-size:28px;font-weight:700}.users-page__description{color:#64748b;margin:8px 0 0;font-size:14px}.users-page__new-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;min-height:42px;padding:0 18px;font-weight:600}.users-page__new-button:hover{background:#1d4ed8}.users-page__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 14px;font-size:13px}.users-page__card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.users-page__state{color:#64748b;text-align:center;padding:48px}.users-page__table-wrapper{overflow-x:auto}.users-page__table{border-collapse:collapse;width:100%}.users-page__table th{color:#64748b;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:13px 16px;font-size:12px;font-weight:600}.users-page__table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:15px 16px;font-size:13px}.users-page__table tbody tr:last-child td{border-bottom:0}.users-page__table strong{color:#0f172a}.users-page__profile{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.users-page__status{border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.users-page__status--active{color:#047857;background:#ecfdf5}.users-page__status--inactive{color:#64748b;background:#f1f5f9}.users-page__actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.users-page__actions button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 9px;font-size:12px}.users-page__actions button:hover{background:#f8fafc}.users-page__actions .users-page__action--danger{color:#b91c1c;border-color:#fecaca}.users-page__actions .users-page__action--danger:hover{background:#fef2f2}@media (width<=800px){.users-page__header{flex-direction:column}}
