.brand-logo{display:inline-flex;align-items:center;gap:.55em;max-width:100%;line-height:0;filter:none;color:inherit;text-decoration:none}.brand-logo-mark,.brand-logo-wordmark{display:block;height:auto;width:auto;object-fit:contain;filter:none}.brand-logo-mark{flex-shrink:0;border-radius:22%}.brand-logo-wordmark{min-width:0}.brand-logo-sm{height:28px}.brand-logo-sm .brand-logo-mark{width:28px;height:28px}.brand-logo-sm .brand-logo-wordmark{height:22px;max-width:120px}.brand-logo-md{height:40px}.brand-logo-md .brand-logo-mark{width:40px;height:40px}.brand-logo-md .brand-logo-wordmark{height:32px;max-width:160px}.brand-logo-lg{height:56px}.brand-logo-lg .brand-logo-mark{width:56px;height:56px}.brand-logo-lg .brand-logo-wordmark{height:44px;max-width:200px}.brand-logo-mark-only{gap:0}.brand-logo-plate{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;padding:8px 12px}.step-up-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:color-mix(in srgb,#0a1a12 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.step-up-dialog{width:min(100%,22rem);padding:1.25rem 1.35rem 1.35rem;border-radius:12px;background:#f7faf8;border:1px solid #d5e0da;box-shadow:0 18px 40px color-mix(in srgb,#0a1a12 28%,transparent);color:#14261c}.step-up-dialog h2{margin:0 0 .4rem;font-size:1.15rem;color:#125b40;letter-spacing:-.02em}.step-up-lead{margin:0 0 1rem;font-size:.9rem;line-height:1.45;color:#5a6b62}.step-up-form{display:flex;flex-direction:column;gap:.75rem}.step-up-field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:#14261c}.step-up-field input{appearance:none;border:1px solid #d5e0da;border-radius:8px;padding:.65rem .75rem;font-size:1.15rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.12em;text-align:center;background:#fff;color:#14261c}.step-up-field input:focus{outline:2px solid color-mix(in srgb,#125b40 35%,transparent);border-color:#125b40}.step-up-error{margin:0;font-size:.85rem;color:#9b1c1c}.step-up-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.step-up-btn{appearance:none;border:none;border-radius:8px;padding:.55rem .95rem;font-size:.9rem;font-weight:600;cursor:pointer;background:#125b40;color:#fff}.step-up-btn:hover:not(:disabled){background:#0e4932}.step-up-btn:disabled{opacity:.55;cursor:not-allowed}.step-up-btn--ghost{background:transparent;color:#125b40;border:1px solid #d5e0da;width:100%;margin-bottom:.75rem}.step-up-btn--ghost:hover:not(:disabled){background:#eef5f1}.step-up-actions .step-up-btn--ghost{width:auto;margin-bottom:0}.layout{display:flex;min-height:100vh;position:relative}.mobile-topbar,.sidebar-backdrop,.sidebar-close{display:none}.sidebar{width:250px;flex-shrink:0;background:#3d9970;color:#fff;display:flex;flex-direction:column;padding:20px;min-height:100vh}.sidebar-header{margin-bottom:30px}.sidebar-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-logo{width:100%;max-width:180px;height:auto;margin-bottom:15px;display:block}.sidebar-header h2{font-size:24px;margin-bottom:10px}.sidebar-brand{display:block;text-decoration:none;min-width:0;flex:1}.sidebar-brand .brand-logo-plate{width:100%;max-width:240px}.user-info{font-size:14px;opacity:.8;word-break:break-word}.nav-menu{list-style:none;flex:1;padding:0;overflow-y:auto;margin:0 0 16px}.nav-menu li{margin-bottom:5px}.nav-group-header{margin-top:20px;margin-bottom:10px;padding:8px 15px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.2);list-style:none;pointer-events:none}.nav-group-header:first-child{margin-top:0}.nav-menu a{display:block;padding:12px 15px;color:#fff;text-decoration:none;border-radius:5px;transition:background .3s}.nav-menu a:hover{background:#2d8659}.nav-menu a.active{background:#7a490f}.sidebar-footer{margin-top:auto}.logout-btn{width:100%;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:none}.logout-btn:hover:not(:disabled){background:#ffffff38;border-color:#ffffff73;color:#fff}.main-content{flex:1;min-width:0;padding:30px;background:#f5f5f5}body.nav-locked{overflow:hidden}@media(max-width:900px){.layout{flex-direction:column}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:40;min-height:56px;padding:.65rem 1rem;background:#145b41;color:#fff;box-shadow:0 1px 8px #145b4140}.mobile-brand{color:inherit;text-decoration:none;display:flex;justify-content:center;flex:1}.mobile-brand .brand-logo-plate{padding:4px 10px}.mobile-topbar-spacer{width:2.5rem}.hamburger-btn{width:2.5rem;height:2.5rem;padding:0;border-radius:8px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);color:#fff;box-shadow:none}.hamburger-btn:hover:not(:disabled){background:#ffffff38;border-color:#fff6;color:#fff}.hamburger-lines{display:flex;flex-direction:column;justify-content:center;gap:5px;width:18px;margin:0 auto}.hamburger-lines span{display:block;height:2px;width:100%;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}.layout-nav-open .hamburger-lines span:nth-child(1){transform:translateY(7px) rotate(45deg)}.layout-nav-open .hamburger-lines span:nth-child(2){opacity:0}.layout-nav-open .hamburger-lines span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:45;background:#0a1e1673;opacity:0;pointer-events:none;transition:opacity .2s ease}.layout-nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;z-index:50;width:min(300px,86vw);height:100vh;min-height:100vh;padding:16px;transform:translate(-105%);transition:transform .22s ease;box-shadow:8px 0 28px #0000002e}.layout-nav-open .sidebar{transform:translate(0)}.sidebar-close{display:inline-flex;width:2.25rem;height:2.25rem;padding:0;border-radius:8px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:1.4rem;line-height:1;box-shadow:none}.sidebar-close:hover:not(:disabled){background:#ffffff38;color:#fff}.sidebar-header h2{margin-bottom:0;font-size:1.25rem}.main-content{padding:1rem;width:100%}}@media(max-width:600px){.main-content{padding:.85rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.public-docs-layout{min-height:100vh;display:flex;flex-direction:column;background:#f6f8f7}.public-docs-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:20}.public-docs-brand{display:flex;align-items:center;text-decoration:none}.public-docs-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.public-docs-nav a{color:var(--brand, #145b41);text-decoration:none;font-size:14px;font-weight:500}.public-docs-nav a:hover{text-decoration:underline}.public-docs-cta{background:var(--brand, #145b41);color:#fff!important;padding:8px 14px;border-radius:8px;text-decoration:none!important}.public-docs-cta:hover{background:var(--brand-hover, #0e4932);text-decoration:none!important}.public-docs-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:28px 20px 48px}.public-docs-main-wide{max-width:1400px}.public-docs-footer{padding:16px 24px;border-top:1px solid #e5e7eb;background:#fff;font-size:13px;color:#666;text-align:center}@media(max-width:640px){.public-docs-header{flex-direction:column;align-items:flex-start}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#145b41,#7a490f)}.auth-card{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.auth-logo{width:auto;max-width:280px;margin:0 auto 30px;display:flex;justify-content:center}.auth-card h1{margin-bottom:30px;text-align:center;color:#125b40}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:16px;color:#2d8659;background-color:#fff}.form-group input:focus{outline:none;border-color:#125b40}.submit-btn{width:100%;margin-top:10px;padding:.8rem 1.15rem;font-size:1rem}.error-message{background:#fee;color:#c33;padding:10px;border-radius:5px;margin-bottom:20px}.auth-link{text-align:center;margin-top:20px;color:#125b40}.auth-link a{color:#125b40;text-decoration:none}.auth-link a:hover{text-decoration:underline}.balance{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.balance h1{margin-bottom:8px;color:#125b40}.page-lead{margin:0 0 24px;max-width:42rem;font-size:.95rem;line-height:1.45;color:#555}.page-lead a{color:#2d8659}.balance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.summary-card{background:#f8f9fa;padding:20px;border-radius:10px;text-align:center}.summary-card h3{color:#125b40;font-size:14px;margin-bottom:10px;text-transform:uppercase}.amount{font-size:28px;font-weight:700}.amount.available{color:#125b40}.amount.pending{color:#7a4900}.amount.blocked{color:#dc3545}.providers-balance h2{margin-bottom:20px;color:#125b40}.balance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.provider-balance-card{background:#f8f9fa;padding:20px;border-radius:10px;border:1px solid #dee2e6}.provider-balance-card h3{margin-bottom:15px;color:#125b40}.balance-item{display:flex;justify-content:space-between;margin-bottom:10px;padding:8px;background:#fff;border-radius:5px}.refresh-btn,.load-btn{width:100%;margin-top:15px}.form-hint{margin:0;padding:.75rem 1rem;background:#f0f7ff;border-left:3px solid #2563eb;color:#1e3a5f;font-size:.9rem;border-radius:4px}.form-group{display:flex;flex-direction:column;gap:.35rem}.go-live-checklist{margin:16px 0 24px;padding:16px;border:1px solid #e5e5e5;border-radius:8px;background:#fafcfa}.go-live-compact{padding:12px}.go-live-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.go-live-progress{height:6px;background:#e8eee9;border-radius:4px;margin:12px 0;overflow:hidden}.go-live-progress-bar{height:100%;background:#125b40}.go-live-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.go-live-steps li{display:flex;gap:10px;align-items:flex-start}.go-live-mark{width:22px;text-align:center;font-weight:700}.go-live-mark.ok{color:#125b40}.go-live-mark.pending{color:#98a2b3}.go-live-step-body{display:flex;flex-direction:column;gap:2px}.go-live-steps li.done a{color:#125b40}.providers{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.accounts-section{background:#fff;padding:24px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.accounts-section-embedded{padding:0;background:transparent;box-shadow:none}.accounts-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.accounts-section-header h2{color:#125b40;margin:0 0 4px;font-size:20px}.section-subtitle{color:#666;margin:0;font-size:13px}.providers-loading,.accounts-loading{padding:40px;text-align:center;color:#666}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.page-header h1{color:#125b40;margin:0 0 4px}.page-subtitle{color:#666;margin:0;font-size:14px}.btn-primary{white-space:nowrap}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state h3{color:#333;margin-bottom:8px}.empty-state p{margin-bottom:24px}.institutions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.institution-card{border:1px solid #e0e0e0;border-radius:10px;padding:20px;cursor:pointer;transition:box-shadow .2s,border-color .2s;background:#fff;display:flex;flex-direction:column;gap:12px;min-height:200px;height:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}.institution-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#125b40}.institution-card-add{border:2px dashed #ccc;align-items:center;justify-content:center;min-height:160px;color:#666;background:#fafafa;gap:8px}.institution-card-add:hover{border-color:#125b40;color:#125b40;background:#f0f7f4}.add-icon{font-size:32px;font-weight:300;line-height:1}.institution-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0}.institution-card-logo{position:relative;flex-shrink:0}.institution-card-status{display:flex;align-items:center;gap:6px;min-width:0}.institution-card-body{min-width:0}.institution-card-body h3{margin:0 0 4px;font-size:16px;color:#333}.account-number{margin:0 0 8px;font-size:15px;color:#333;font-family:monospace;font-weight:600}.provider-name{margin:0 0 4px;font-size:12px;color:#888;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.integration-badge{display:inline-block;padding:2px 8px;background:#e7f3ef;color:#125b40;border-radius:4px;font-size:11px;font-weight:500}.institution-card-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid #f0f0f0}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot-sm{width:8px;height:8px}.status-dot.status-pending,.status-label.status-pending{background:#ffc107;color:#856404}.status-dot.status-validating,.status-label.status-validating{background:#17a2b8;color:#0c5460}.status-dot-pulse{animation:status-pulse 1.5s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.status-label.status-validating{background:#d1ecf1;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-label.status-pending{background:#fff3cd;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-dot.status-active,.status-label.status-active{background:#28a745;color:#155724}.status-label.status-active{background:#d4edda;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-dot.status-inactive,.status-label.status-inactive{background:#adb5bd;color:#495057}.status-label.status-inactive{background:#e9ecef;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-dot.status-error,.status-label.status-error{background:#dc3545;color:#721c24}.status-label.status-error{background:#f8d7da;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.institution-logo{object-fit:contain;border-radius:6px;background:#fff;border:1px solid #eee}.institution-logo-list,.institution-logo-card{width:40px;height:40px;padding:4px}.institution-logo-wizard{width:48px;height:48px;padding:6px}.institution-logo-placeholder{display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#125b40,#7a4900);border:none}.modal{background:#fff;padding:30px;border-radius:10px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.wizard-modal{max-width:680px}.wizard-header h2{margin:0 0 20px;color:#125b40}.wizard-steps{display:flex;align-items:center;gap:0;margin-bottom:24px}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.4}.wizard-step.active,.wizard-step.done{opacity:1}.step-number{width:28px;height:28px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.wizard-step.active .step-number{background:#125b40;color:#fff}.wizard-step.done .step-number{background:#28a745;color:#fff}.step-label{font-size:11px;color:#666;white-space:nowrap}.wizard-step-line{flex:1;height:2px;background:#e0e0e0;margin:0 8px 18px}.wizard-description{color:#666;margin-bottom:16px;font-size:14px}.wizard-selected-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f5f5f5;border-radius:8px;margin-bottom:20px}.wizard-selected-details{flex:1;display:flex;flex-direction:column;gap:4px}.btn-link{font-size:13px}.validation-error{margin:8px 0 0;font-size:11px;color:#dc3545;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.edit-status-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#f8f9fa;border-radius:6px;margin-bottom:16px;font-size:13px;color:#666}.edit-status-error{background:#fff5f5;border:1px solid #f8d7da}.edit-status-text{flex:1;display:flex;flex-direction:column;gap:4px}.edit-status-text small{color:#888;font-size:11px;line-height:1.3}.edit-status-error .edit-status-text small:first-of-type{color:#dc3545}.institution-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-items:stretch}.institution-select-card-wrap{display:flex;flex-direction:column;min-width:0;max-width:100%;min-height:196px;height:100%}.institution-select-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;flex:1;width:100%;min-width:0;max-width:100%;min-height:168px;box-sizing:border-box;padding:14px 10px 12px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .2s,background .2s}.institution-select-card:hover{border-color:#125b40;background:#f0f7f4}.institution-select-card.selected{border-color:#125b40;background:#e7f3ef}.institution-select-card .institution-logo-wizard,.institution-select-card .institution-logo-placeholder{width:48px;height:48px;flex-shrink:0}.institution-name{font-size:13px;font-weight:500;color:#333;text-align:center;line-height:1.25;min-height:2.5em;max-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;width:100%;min-width:0}.institution-category{font-size:11px;color:#999;line-height:1.25;min-height:2.5em;max-height:2.5em;width:100%;min-width:0;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.institution-badge{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;letter-spacing:.02em;line-height:1;padding:3px 7px;border-radius:4px;white-space:nowrap;flex-shrink:0}.institution-select-connect{display:block;text-align:center;margin-top:6px;font-size:12px;flex-shrink:0}.integration-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.integration-select-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;text-align:center;transition:border-color .2s,background .2s}.integration-select-card:hover{border-color:#125b40;background:#f0f7f4}.integration-select-card.selected{border-color:#125b40;background:#e7f3ef}.integration-icon{font-size:28px}.integration-name{font-size:15px;font-weight:600;color:#333}.integration-desc{font-size:12px;color:#666;line-height:1.4}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:5px;font-size:14px;box-sizing:border-box}.form-group textarea{font-family:monospace;font-size:12px;resize:vertical}.config-section{margin-top:20px;padding-top:20px;border-top:1px solid #ddd}.config-section h3{margin-bottom:0;color:#125b40;font-size:16px}.config-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}.institution-website-link{font-size:13px;white-space:nowrap}.edit-institution-bar{margin-bottom:16px}.config-help{font-size:12px;color:#666;margin-top:10px;font-style:italic}.form-actions{display:flex;gap:.65rem;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.account-proof-panel{margin-top:28px;padding-top:20px;border-top:1px solid #e5e5e5}.account-proof-panel h3{margin:0 0 8px;color:#125b40;font-size:16px}.account-proof-funding,.account-proof-qr,.account-proof-run{display:flex;flex-direction:column;gap:10px;margin-top:12px}.account-proof-radio{display:flex;align-items:center;gap:8px;font-size:14px}.account-proof-actions{display:flex;flex-wrap:wrap;gap:8px}.account-proof-qr-img{max-width:220px;height:auto;border:1px solid #e0e0e0;border-radius:4px}.account-proof-emv{font-family:ui-monospace,monospace;font-size:11px;width:100%;resize:vertical}.account-proof-error{color:#b42318;font-size:13px;margin:0}.account-proof-phases{display:grid;gap:10px;margin-top:8px}.account-proof-phase{font-size:13px}.account-proof-phase ul{margin:4px 0 0;padding-left:18px}.cap-pass{color:#125b40;font-weight:600}.cap-fail{color:#b42318;font-weight:600}.cap-skip{color:#667085;font-weight:600}.receivable-advances{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.page-header h1{margin:0;color:#125b40}.receivable-info{background:#f8f9fa;padding:15px;border-radius:5px;margin:15px 0}.receivable-info p{margin:5px 0;color:#2d8659}.simulation-result{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:5px;border-left:4px solid #125b40}.simulation-result h3{margin-top:0;color:#125b40}.simulation-details{margin:15px 0}.simulation-details p{margin:8px 0;font-size:16px}.simulation-details strong{color:#125b40}.confirmation-details{margin:20px 0;padding:15px;background:#fff3cd;border-radius:5px;border-left:4px solid #ffc107}.confirmation-details p{margin:8px 0}.status-pending{background:#fff8e1;color:#7a4900}.status-approved{background:#d4edda;color:#155724}.status-rejected{background:#f8d7da;color:#721c24}.status-completed,.status-cancelled{background:#d1ecf1;color:#0c5460}.type-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700;display:inline-block}.type-badge.type-pix{background:#e3f2fd;color:#1565c0}.type-badge.type-card{background:#fff3e0;color:#e65100}.type-badge.type-boleto{background:#f3e5f5;color:#7b1fa2}.webhooks-page{--wh-ink: #14261c;--wh-muted: #5a6b62;--wh-line: #d5e0da;--wh-soft: #eef5f1;--wh-brand: #125b40;--wh-brand-hover: #0e4932;max-width:1100px}.webhooks-page h1{margin:0 0 8px;color:var(--wh-brand);font-size:1.75rem;letter-spacing:-.02em}.wh-lead{margin:0 0 1.25rem;max-width:44rem;color:var(--wh-muted);line-height:1.5;font-size:.95rem}.wh-banner{margin-bottom:1rem;padding:.85rem 1rem;border-radius:8px;border:1px solid var(--wh-line);background:var(--wh-soft);color:var(--wh-ink);font-size:.92rem}.wh-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1.25rem}.wh-stat{background:#fff;border:1px solid var(--wh-line);border-radius:10px;padding:.85rem 1rem}.wh-stat h3{margin:0 0 .35rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--wh-muted)}.wh-stat .val{font-size:1.35rem;font-weight:700;color:var(--wh-brand)}.wh-stat .val.pending{color:#7a4900}.wh-stat .val.failed{color:#b42318}.wh-layout{display:grid;gap:1.25rem;margin-bottom:1.5rem}@media(min-width:960px){.wh-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}}.wh-panel{background:#fff;border:1px solid var(--wh-line);border-radius:12px;padding:1.2rem 1.3rem 1.35rem}.wh-panel h2{margin:0 0 .35rem;font-size:1.1rem;color:var(--wh-ink)}.wh-hint{margin:0 0 1rem;color:var(--wh-muted);font-size:.88rem;line-height:1.4}.wh-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.wh-field>span{font-size:.8rem;font-weight:600;color:var(--wh-ink)}.wh-field input{border:1px solid var(--wh-line);border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.wh-field input:focus{outline:2px solid color-mix(in srgb,var(--wh-brand) 35%,transparent);border-color:var(--wh-brand)}.wh-secret-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:stretch}.wh-secret-row input{flex:1 1 12rem;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.wh-secret-hint{margin:.35rem 0 0;font-size:.82rem;color:var(--wh-muted);line-height:1.35}.wh-events{display:grid;gap:.35rem;max-height:320px;overflow:auto;padding:.15rem;margin-bottom:.5rem;border:1px solid var(--wh-line);border-radius:8px;background:#fafcfb}.wh-event{display:grid;grid-template-columns:auto 1fr;gap:.35rem .65rem;align-items:start;padding:.55rem .65rem;border-radius:6px;cursor:pointer}.wh-event:hover,.wh-event.is-selected{background:var(--wh-soft)}.wh-event input{margin-top:.2rem}.wh-event strong{display:block;font-size:.88rem;color:var(--wh-ink)}.wh-event code{font-size:.72rem;color:var(--wh-brand);font-weight:600}.wh-event small{display:block;grid-column:2;color:var(--wh-muted);font-size:.78rem;line-height:1.35}.wh-badge{display:inline-block;margin-left:.35rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .35rem;border-radius:4px;background:#d8f0e4;color:#0e4932;vertical-align:middle}.wh-badge--legacy{background:#eee;color:#666}.wh-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.wh-btn{appearance:none;border:none;border-radius:8px;padding:.55rem .95rem;font-size:.9rem;font-weight:600;cursor:pointer;background:var(--wh-brand);color:#fff}.wh-btn:hover:not(:disabled){background:var(--wh-brand-hover)}.wh-btn:disabled{opacity:.55;cursor:not-allowed}.wh-btn--ghost{background:transparent;color:var(--wh-brand);border:1px solid var(--wh-line)}.wh-btn--ghost:hover:not(:disabled){background:var(--wh-soft)}.wh-btn--danger{background:transparent;color:#9b1c1c;border:1px solid #f0c4c4}.wh-list{display:grid;gap:.65rem}.wh-card{border:1px solid var(--wh-line);border-radius:10px;padding:.85rem 1rem}.wh-card h3{margin:0 0 .35rem;font-size:.95rem;color:var(--wh-ink);word-break:break-all}.wh-meta{font-size:.82rem;color:var(--wh-muted);margin-bottom:.5rem}.wh-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.65rem}.wh-chip{font-size:.72rem;font-weight:600;padding:.2rem .45rem;border-radius:6px;background:var(--wh-soft);color:var(--wh-brand)}.wh-table-wrap{overflow-x:auto}.wh-table{width:100%;border-collapse:collapse;font-size:.88rem}.wh-table th,.wh-table td{text-align:left;padding:.55rem .45rem;border-bottom:1px solid var(--wh-line);vertical-align:top}.wh-table th{color:var(--wh-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.wh-empty{margin:0;color:var(--wh-muted);font-size:.9rem}.wh-show-legacy{margin:.35rem 0 .65rem;font-size:.85rem;color:var(--wh-muted)}.wh-show-legacy label{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.api-keys-page{--ak-ink: #14261c;--ak-muted: #5a6b62;--ak-line: #d5e0da;--ak-soft: #eef5f1;--ak-brand: #125b40;--ak-brand-hover: #0e4932;--ak-warn-bg: #fff8e6;--ak-warn-border: #e0c35a;max-width:960px}.api-keys-page h1{margin:0 0 8px;color:var(--ak-brand);font-size:1.75rem;letter-spacing:-.02em}.ak-lead{margin:0 0 .75rem;max-width:42rem;color:var(--ak-muted);line-height:1.5;font-size:.95rem}.ak-howto{margin:0 0 1.5rem;padding-left:1.15rem;max-width:42rem;color:var(--ak-muted);font-size:.9rem;line-height:1.45}.ak-howto li{margin-bottom:.35rem}.ak-howto strong{color:var(--ak-ink)}.ak-lead code,.ak-howto code{font-size:.85em;background:var(--ak-soft);padding:.1em .35em;border-radius:4px}.ak-banner{margin-bottom:1.25rem;padding:.85rem 1rem;border-radius:8px;border:1px solid var(--ak-line);background:var(--ak-soft);color:var(--ak-ink);font-size:.92rem}.ak-banner--warn{background:var(--ak-warn-bg);border-color:var(--ak-warn-border)}.ak-inline-link{color:var(--ak-brand);font-weight:600;text-decoration:underline;text-underline-offset:2px}.ak-inline-link:hover{color:var(--ak-brand-hover)}.ak-banner pre{margin:.5rem 0;white-space:pre-wrap;word-break:break-all;font-size:.82rem}.ak-layout{display:grid;gap:1.5rem}@media(min-width:900px){.ak-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}}.ak-panel{background:#fff;border:1px solid var(--ak-line);border-radius:12px;padding:1.25rem 1.35rem 1.4rem}.ak-panel h2{margin:0 0 .35rem;font-size:1.1rem;color:var(--ak-ink)}.ak-panel-hint{margin:0 0 1.1rem;color:var(--ak-muted);font-size:.88rem;line-height:1.4}.ak-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.ak-field>span,.ak-label{font-size:.8rem;font-weight:600;color:var(--ak-ink);letter-spacing:.01em}.ak-field input[type=text],.ak-field input[type=number]{border:1px solid var(--ak-line);border-radius:8px;padding:.55rem .7rem;font-size:.95rem;background:#fff}.ak-field input:focus{outline:2px solid color-mix(in srgb,var(--ak-brand) 35%,transparent);border-color:var(--ak-brand)}.ak-access{display:grid;gap:.5rem}.ak-access-option{display:grid;grid-template-columns:auto 1fr;gap:.55rem .65rem;align-items:start;padding:.65rem .75rem;border:1px solid var(--ak-line);border-radius:8px;cursor:pointer;background:#fff}.ak-access-option:hover{border-color:color-mix(in srgb,var(--ak-brand) 45%,var(--ak-line))}.ak-access-option.is-selected{border-color:var(--ak-brand);background:var(--ak-soft)}.ak-access-option input{margin-top:.2rem}.ak-access-option strong{display:block;font-size:.9rem;color:var(--ak-ink)}.ak-access-option small{display:block;color:var(--ak-muted);font-size:.78rem;line-height:1.35;grid-column:2}.ak-caps{display:grid;gap:.4rem;max-height:220px;overflow:auto;padding:.15rem;margin-bottom:.25rem}.ak-cap{display:grid;grid-template-columns:auto 1fr;gap:.45rem .6rem;align-items:start;padding:.45rem .5rem;border-radius:6px}.ak-cap:hover{background:var(--ak-soft)}.ak-cap input{margin-top:.15rem}.ak-cap strong{font-size:.85rem;color:var(--ak-ink)}.ak-cap small{display:block;grid-column:2;color:var(--ak-muted);font-size:.75rem;line-height:1.3}.ak-cap-all{margin-bottom:.35rem;padding:.55rem .65rem;border:1px dashed var(--ak-line);border-radius:8px}.ak-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.ak-btn{appearance:none;border:none;border-radius:8px;padding:.55rem .95rem;font-size:.9rem;font-weight:600;cursor:pointer;background:var(--ak-brand);color:#fff}.ak-btn:hover:not(:disabled){background:var(--ak-brand-hover)}.ak-btn:disabled{opacity:.6;cursor:not-allowed}.ak-btn--ghost{background:transparent;color:var(--ak-brand);border:1px solid var(--ak-line)}.ak-btn--ghost:hover:not(:disabled){background:var(--ak-soft);border-color:var(--ak-brand)}.ak-btn--danger{background:transparent;color:#9b1c1c;border:1px solid #f0c4c4}.ak-btn--danger:hover:not(:disabled){background:#fdf2f2}.ak-list{display:grid;gap:.75rem}.ak-empty{margin:0;color:var(--ak-muted);font-size:.92rem}.ak-card{border:1px solid var(--ak-line);border-radius:10px;padding:.95rem 1rem;background:#fff}.ak-card.is-revoked{opacity:.72;background:#fafbfa}.ak-card-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.55rem}.ak-card-top h3{margin:0;font-size:1rem;color:var(--ak-ink)}.ak-status{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .45rem;border-radius:999px;background:#d8f0e4;color:#0e4932}.ak-status--off{background:#eee;color:#666}.ak-meta{display:grid;gap:.25rem;margin-bottom:.65rem;font-size:.82rem;color:var(--ak-muted)}.ak-meta code{color:var(--ak-ink);font-size:.8rem}.ak-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.ak-chip{font-size:.72rem;font-weight:600;padding:.2rem .45rem;border-radius:6px;background:var(--ak-soft);color:var(--ak-brand);border:1px solid transparent}.ak-chip--access{background:#125b40;color:#fff}.ak-card-actions{display:flex;flex-wrap:wrap;gap:.4rem}.security-logs{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.filters{display:flex;gap:.5rem;flex-wrap:wrap}.filters button{background:var(--surface, #fff);color:var(--brand, #125b40);border:1px solid var(--border, #d8e0dc);box-shadow:none}.filters button:hover:not(:disabled){background:var(--brand-soft, #e8f5ef);border-color:var(--brand-mid, #2d8659)}.filters button.active{background:var(--brand, #125b40);color:#fff;border-color:var(--brand, #125b40)}.filters button.active:hover:not(:disabled){background:var(--brand-hover, #0e4932);border-color:var(--brand-hover, #0e4932);color:#fff}.event-type{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.event-type-success{background:#d4edda;color:#155724}.event-type-danger{background:#f8d7da;color:#721c24}.event-type-warning{background:#fff3cd;color:#856404}.event-type-info{background:#d1ecf1;color:#0c5460}.docs-page{max-width:900px}.docs-page h1{margin-bottom:8px;color:var(--brand, #145b41)}.docs-section{margin-top:32px}.docs-section h2{font-size:18px;color:var(--brand, #145b41);margin-bottom:16px;border-bottom:1px solid #e5e7eb;padding-bottom:6px}.docs-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.docs-card{display:block;padding:18px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}.docs-card:hover{border-color:var(--brand-mid, #2d8659);box-shadow:0 4px 12px #145b411a}.docs-card h3{margin:0 0 8px;font-size:16px;color:var(--brand, #145b41)}.docs-card p{margin:0;font-size:14px;color:#555;line-height:1.45}.docs-institution-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-items:stretch}.docs-institution-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:140px;height:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:14px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit;font-size:13px;text-align:center;transition:border-color .2s}.docs-institution-card:hover{border-color:var(--brand-mid, #2d8659)}.docs-institution-logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.docs-institution-placeholder{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--brand-soft, #e8f5ef);color:var(--brand, #145b41);border-radius:8px;font-weight:700;flex-shrink:0}.docs-institution-name{line-height:1.25;min-height:2.5em;max-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;width:100%;min-width:0}.institution-badge{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;letter-spacing:.02em;line-height:1;padding:3px 7px;border-radius:4px;white-space:nowrap}.docs-steps{padding-left:1.4em;line-height:1.7;color:#444}.docs-steps a{color:var(--brand, #145b41)}.docs-back{display:inline-block;margin-bottom:16px;color:var(--brand, #145b41);text-decoration:none;font-size:14px}.docs-back:hover{text-decoration:underline}.docs-viewer-header h1{margin-bottom:20px}.docs-body{background:#fff;padding:28px 32px;border-radius:10px;box-shadow:0 2px 10px #00000014;line-height:1.6;color:#333}.docs-body h1{font-size:22px;margin-top:0;color:var(--brand, #145b41)}.docs-body h2{font-size:18px;margin-top:28px;color:var(--brand, #145b41);border-bottom:1px solid #e5e7eb;padding-bottom:6px}.docs-body h3{font-size:16px;margin-top:20px}.docs-body ul,.docs-body ol{padding-left:1.4em}.docs-body code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.9em}.docs-body pre{background:#1e293b;color:#e2e8f0;padding:14px 16px;border-radius:8px;overflow-x:auto;font-size:13px}.docs-body pre code{background:none;padding:0;color:inherit}.docs-body a{color:var(--brand, #145b41)}.docs-body table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}.docs-body th,.docs-body td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left}.docs-body th{background:#f8fafc}.docs-error{color:#b91c1c}.swagger-page{display:flex;flex-direction:column;gap:12px;width:100%}.swagger-page-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.swagger-page-toolbar p{margin:0;max-width:52rem;color:#374151;font-size:.95rem;line-height:1.45}.swagger-page-toolbar code{font-size:.85em;background:#f3f4f6;padding:1px 5px;border-radius:4px}.swagger-page-links{display:flex;flex-wrap:wrap;gap:12px}.swagger-page-links a{color:var(--brand, #145b41);font-weight:600;text-decoration:none}.swagger-page-links a:hover{text-decoration:underline}.swagger-page-loading,.swagger-page-error{margin:0;padding:12px 16px;border-radius:8px}.swagger-page-loading{background:#f3f4f6;color:#4b5563}.swagger-page-error{background:#fef2f2;color:#991b1b}.swagger-page-host{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;min-height:60vh}.swagger-page-host .swagger-ui .topbar{display:none}.setup-guide{max-width:820px}.setup-guide-back{display:inline-block;margin-bottom:16px;color:#125b40;text-decoration:none;font-size:14px}.setup-guide-back:hover{text-decoration:underline}.setup-guide-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.setup-guide-header img,.setup-guide-header .institution-logo{width:56px;height:56px;object-fit:contain}.setup-guide-header h1{margin:0 0 4px;color:#125b40;font-size:24px}.setup-guide-method-badge{display:inline-block;padding:4px 10px;background:#e8f5ef;color:#125b40;border-radius:4px;font-size:12px;font-weight:600}.institution-badge{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;letter-spacing:.02em;line-height:1;padding:3px 7px;border-radius:4px;white-space:nowrap;vertical-align:middle}.institution-badge-test{background:#fff4e5;color:#7a4900;border:1px solid #f0d9a8}.setup-guide-actions{margin-bottom:20px}.setup-guide-actions .btn-primary,.setup-guide .btn-primary{display:inline-flex}.setup-guide-body{background:#fff;padding:28px 32px;border-radius:10px;box-shadow:0 2px 10px #00000014;line-height:1.6;color:#333}.setup-guide-body h1{font-size:22px;margin-top:0;color:#125b40}.setup-guide-body h2{font-size:18px;margin-top:28px;color:#125b40;border-bottom:1px solid #e5e7eb;padding-bottom:6px}.setup-guide-body h3{font-size:16px;margin-top:20px}.setup-guide-body ul,.setup-guide-body ol{padding-left:1.4em}.setup-guide-body code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.9em}.setup-guide-body pre{background:#1e293b;color:#e2e8f0;padding:14px 16px;border-radius:8px;overflow-x:auto;font-size:13px}.setup-guide-body pre code{background:none;padding:0;color:inherit}.setup-guide-body a{color:#125b40}.setup-guide-body table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}.setup-guide-body th,.setup-guide-body td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left}.setup-guide-body th{background:#f8fafc}.setup-guide-loading,.setup-guide-error{padding:24px;color:#666}.security-2fa{--s2-ink: #14261c;--s2-muted: #5a6b62;--s2-line: #d5e0da;--s2-soft: #eef5f1;--s2-brand: #125b40;--s2-brand-hover: #0e4932;--s2-warn-bg: #fff8e6;--s2-warn-border: #e0c35a;max-width:960px}.security-2fa h1{margin:0 0 8px;color:var(--s2-brand);font-size:1.75rem;letter-spacing:-.02em}.s2-lead{margin:0 0 1.5rem;max-width:40rem;color:var(--s2-muted);line-height:1.5;font-size:.95rem}.s2-status-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.s2-pill{font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;background:#eee;color:#555}.s2-pill--on{background:#d8f0e4;color:#0e4932}.s2-banner{margin-bottom:1rem;padding:.85rem 1rem;border-radius:8px;border:1px solid var(--s2-line);background:var(--s2-soft);color:var(--s2-ink);font-size:.92rem}.s2-banner--err{background:#fdf2f2;border-color:#f0c4c4;color:#9b1c1c}.s2-banner--ok{background:var(--s2-soft);border-color:color-mix(in srgb,var(--s2-brand) 35%,var(--s2-line))}.s2-layout{display:grid;gap:1.25rem}@media(min-width:860px){.s2-layout{grid-template-columns:1fr 1fr;align-items:start}}.s2-panel{background:#fff;border:1px solid var(--s2-line);border-radius:12px;padding:1.25rem 1.35rem 1.4rem}.s2-panel h2{margin:0 0 .35rem;font-size:1.1rem;color:var(--s2-ink)}.s2-hint{margin:0 0 1rem;color:var(--s2-muted);font-size:.88rem;line-height:1.4}.s2-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.s2-field>span{font-size:.8rem;font-weight:600;color:var(--s2-ink)}.s2-field input{border:1px solid var(--s2-line);border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.s2-field input:focus{outline:2px solid color-mix(in srgb,var(--s2-brand) 35%,transparent);border-color:var(--s2-brand)}.s2-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.s2-btn{appearance:none;border:none;border-radius:8px;padding:.55rem .95rem;font-size:.9rem;font-weight:600;cursor:pointer;background:var(--s2-brand);color:#fff}.s2-btn:hover:not(:disabled){background:var(--s2-brand-hover)}.s2-btn:disabled{opacity:.55;cursor:not-allowed}.s2-btn--ghost{background:transparent;color:var(--s2-brand);border:1px solid var(--s2-line)}.s2-btn--ghost:hover:not(:disabled){background:var(--s2-soft);border-color:var(--s2-brand)}.s2-btn--danger{background:transparent;color:#9b1c1c;border:1px solid #f0c4c4}.s2-btn--danger:hover:not(:disabled){background:#fdf2f2}.s2-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin:.5rem 0 1rem;padding:1rem;border-radius:10px;background:var(--s2-soft);border:1px solid var(--s2-line)}.s2-qr-wrap img{width:200px;height:200px;border-radius:8px;background:#fff;padding:8px;box-sizing:border-box}.s2-qr-caption{margin:0;text-align:center;font-size:.85rem;color:var(--s2-muted);max-width:16rem;line-height:1.4}.s2-steps{margin:0 0 1rem;padding-left:1.1rem;color:var(--s2-muted);font-size:.88rem;line-height:1.45}.s2-passkey-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}.s2-passkey-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--s2-line);border-radius:8px;font-size:.9rem;color:var(--s2-ink)}.s2-passkey-item small{display:block;color:var(--s2-muted);font-size:.75rem;margin-top:.15rem}.s2-backup{grid-column:1 / -1;background:var(--s2-warn-bg);border-color:var(--s2-warn-border)}.s2-backup-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none}.s2-backup-codes code{display:block;text-align:center;padding:.4rem .5rem;border-radius:6px;background:#fff;border:1px solid var(--s2-warn-border);font-size:.82rem}.s2-empty{margin:0;color:var(--s2-muted);font-size:.9rem}:root{--brand: #145b41;--brand-hover: #0e4932;--brand-soft: #e8f5ef;--brand-mid: #2d8659;--accent: #7a490f;--surface: #ffffff;--surface-muted: #f5f5f5;--border: #d8e0dc;--text: #125b40;--text-muted: #5a6f66;--danger: #c0392b;--danger-hover: #a93226;--danger-soft: #fdecea;--radius-sm: 6px;--radius: 8px;--shadow-btn: 0 1px 2px rgba(18, 91, 64, .08);--font: "Source Sans 3", "Segoe UI", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-muted);color:var(--text)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],select,textarea{color:var(--brand-mid)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-ghost,.btn-link,.btn-small,.btn-icon,.submit-btn,.refresh-btn,.load-btn,.logout-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-family:inherit;font-size:.925rem;font-weight:600;line-height:1.2;letter-spacing:.01em;text-decoration:none;border-radius:var(--radius);border:1px solid transparent;padding:.65rem 1.15rem;cursor:pointer;box-shadow:var(--shadow-btn);transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}button:focus-visible,.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.btn-ghost:focus-visible,.submit-btn:focus-visible,.refresh-btn:focus-visible,.load-btn:focus-visible,.logout-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button:active:not(:disabled),.btn:active:not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-danger:active:not(:disabled){transform:translateY(1px)}button:disabled,.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.submit-btn:disabled,.refresh-btn:disabled,.load-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}button,button[type=submit],.btn-primary,.submit-btn,.refresh-btn,.load-btn{background:var(--brand);color:#fff;border-color:var(--brand)}button:hover:not(:disabled),button[type=submit]:hover:not(:disabled),.btn-primary:hover:not(:disabled),.submit-btn:hover:not(:disabled),.refresh-btn:hover:not(:disabled),.load-btn:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}button[type=button]:not(.btn-primary):not(.btn-danger):not(.btn-ghost):not(.btn-link):not(.btn-icon):not(.btn-small):not(.logout-btn):not(.refresh-btn):not(.load-btn),.btn-secondary{background:var(--surface);color:var(--brand);border-color:var(--border);box-shadow:none}button[type=button]:not(.btn-primary):not(.btn-danger):not(.btn-ghost):not(.btn-link):not(.btn-icon):not(.btn-small):not(.logout-btn):not(.refresh-btn):not(.load-btn):hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-mid);color:var(--brand-hover)}.btn-danger,.btn-icon-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled),.btn-icon-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover);color:#fff}.btn-ghost{background:transparent;color:var(--brand);border-color:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--brand-soft);color:var(--brand-hover)}.btn-link{background:none;border:none;box-shadow:none;padding:.25rem .35rem;color:var(--brand-mid);font-weight:600;text-decoration:underline;text-underline-offset:3px}.btn-link:hover:not(:disabled){color:var(--brand-hover);background:none}.btn-small{padding:.4rem .75rem;font-size:.8rem;border-radius:var(--radius-sm)}.btn-icon{width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius-sm);background:var(--surface);color:var(--brand);border-color:var(--border);box-shadow:none}.btn-icon:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-mid)}.btn-icon.btn-icon-danger,.btn-icon-danger{color:var(--danger);background:var(--surface);border-color:#f0c4bf}.btn-icon.btn-icon-danger:hover:not(:disabled),.btn-icon-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn-add{font-weight:600}.button-row,.form-actions,.action-buttons{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{color:var(--brand)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;color:#125b40;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:16px;color:#2d8659;background-color:#fff}.form-group textarea{min-height:100px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#125b40}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;padding:30px;border-radius:10px;width:90%;max-width:500px}.modal h2{margin-bottom:20px;color:#125b40}.form-actions{display:flex;gap:.65rem;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:#f5f5f5}th{padding:12px;text-align:left;border-bottom:1px solid #ddd;color:#125b40;font-weight:600}td{padding:12px;text-align:left;border-bottom:1px solid #ddd;color:#125b40}
