/* Platform console, dialogs and support/plan banners. */
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em}
.badge.active{background:#e8f5ec;color:#3b8358}
.badge.trial{background:#e9f3f7;color:#2a6b86}
.badge.expired{background:#fff3df;color:#a8690f}
.badge.blocked{background:#fdeceb;color:#b3382e}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line,#e8ebee);background:#fff;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;color:#69777e;transition:background .2s,color .2s,border-color .2s,transform .15s}
.chip:hover{transform:translateY(-1px);border-color:#95dfdb}
.chip.on{background:var(--orange,#0f9d9a);border-color:var(--orange,#0f9d9a);color:#fff}
.click-row{cursor:pointer}
.click-row:hover td{background:#fff8f5}
.row-actions{white-space:nowrap;display:flex;gap:8px;justify-content:flex-end}
.role-tag{display:inline!important;color:var(--muted,#84909b);font-size:11px}
.org-head{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px}
.org-head-info{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;font-size:13px;color:#52616a}
.org-head-info b{color:#17202b}
.blocked-reason{color:#b3382e}
.org-actions{display:flex;flex-wrap:wrap;gap:10px}
.primary-button.danger-fill{background:#c94c3e;box-shadow:0 6px 15px rgba(201,76,62,.3)}
.inventory-table td a{color:var(--orange,#0f9d9a);font-weight:700;text-decoration:none}

/* dialogs */
.dialog-backdrop{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:20px;background:rgba(19,34,42,.42);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s}
.dialog-backdrop.in{opacity:1}
.dialog-backdrop.out{opacity:0}
.dialog{width:min(100%,460px);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:16px;padding:26px;box-shadow:0 30px 80px rgba(19,34,42,.3);transform:translateY(18px) scale(.97);transition:transform .28s cubic-bezier(.2,.9,.3,1.2)}
.dialog-backdrop.in .dialog{transform:none}
.dialog h2{margin:0 0 6px;font:800 20px Manrope,sans-serif;letter-spacing:-.4px}
.dialog-lead{margin:0 0 18px;color:#5d7580;font-size:13px;line-height:1.6}
.dialog label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;color:var(--muted,#84909b);font-size:11px;font-weight:700}
.dialog input,.dialog select,.dialog textarea{border:1px solid var(--line,#e8ebee);border-radius:8px;padding:11px;background:#fff;color:var(--ink,#17202b);font:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s;resize:vertical}
.dialog input:focus,.dialog select:focus,.dialog textarea:focus{outline:none;border-color:var(--orange,#0f9d9a);box-shadow:0 0 0 3px rgba(15,157,154,.14)}
.dialog small{font-weight:500;color:#9aa5ab}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.secret-box{display:flex;gap:10px;align-items:center;justify-content:space-between;background:#f4f7f5;border:1px dashed #cdd6d1;border-radius:10px;padding:12px 14px;margin-bottom:6px}
.secret-box code{font:700 15px ui-monospace,Consolas,monospace;letter-spacing:.5px;word-break:break-all}

/* banners */
.support-banner{position:sticky;top:0;z-index:150;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:10px 24px;background:#7a2b25;color:#fff;font-size:13px;animation:bannerIn .4s cubic-bezier(.2,.8,.2,1)}
.support-banner span:not(.pulse){opacity:.92}
.support-banner .outline-button{margin-left:auto;background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.support-banner .outline-button:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}
.pulse{width:9px;height:9px;border-radius:50%;background:#ff9a8a;box-shadow:0 0 0 0 rgba(255,154,138,.7);animation:bannerPulse 1.6s infinite}
@keyframes bannerPulse{70%{box-shadow:0 0 0 9px rgba(255,154,138,0)}100%{box-shadow:0 0 0 0 rgba(255,154,138,0)}}
@keyframes bannerIn{from{transform:translateY(-100%)}to{transform:none}}
.plan-banner{padding:10px 24px;font-size:13px;font-weight:600;text-align:center;animation:bannerIn .4s cubic-bezier(.2,.8,.2,1)}
.plan-banner.info{background:#e9f3f7;color:#2a6b86}
.plan-banner.warn{background:#fff3df;color:#8a5608}
.plan-banner.danger{background:#fdeceb;color:#b3382e}

/* column chart */
.dv-cols{display:flex;align-items:flex-end;gap:6px;height:190px;margin-top:14px;padding-bottom:22px;position:relative}
.dv-col{flex:1;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}
.dv-col i{display:block;width:100%;max-width:26px;border-radius:4px 4px 0 0;transform-origin:bottom;animation:dvGrowY .8s calc(var(--i)*50ms + 300ms) cubic-bezier(.2,.8,.2,1) backwards}
.dv-col span{position:absolute;bottom:-20px;font-size:9px;color:#84909b;white-space:nowrap}
@keyframes dvGrowY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.dialog,.dialog-backdrop,.support-banner,.plan-banner,.pulse,.dv-col i{animation:none!important;transition:none!important}}

.org-head ~ .module-table{min-height:0}

.breadcrumb a{color:#84909b;text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--orange,#0f9d9a)}
.module-kpis.platform-kpis{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.module-kpis.platform-kpis strong{white-space:nowrap}
.dashboard-grid:has(.module-table){align-items:start}
.table-search{min-width:260px}

/* integrations */
.int-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.integration .panel-heading{margin-bottom:12px}
.int-form{display:grid;gap:12px}
.int-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:var(--muted,#84909b)}
.int-form input,.int-form select{border:1px solid var(--line,#e8ebee);border-radius:8px;padding:11px;background:#fff;font:inherit;color:var(--ink,#17202b);transition:border-color .2s,box-shadow .2s}
.int-form input:focus,.int-form select:focus{outline:none;border-color:var(--orange,#0f9d9a);box-shadow:0 0 0 3px rgba(15,157,154,.14)}
.int-form small{font-weight:500;color:#9aa5ab;line-height:1.5}
.int-test{margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#e8ebee)}
.int-test h3{margin:0;font-size:14px}
.int-warning{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#fff8e6;color:#8a5608;font-size:12px;font-weight:600;border:1px dashed #f0c96a}
.int-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.int-help{margin-top:16px;padding:12px;border-radius:10px;background:#f4f7f5;font-size:12px;line-height:1.8;color:#52616a}
.int-help code{background:#fff;border:1px solid var(--line,#e8ebee);border-radius:6px;padding:2px 6px;font-size:11px}
.test-result,.test-line{margin:10px 0 0;font-size:12px;font-weight:700;animation:moRise .3s ease both}
.test-result.ok,.test-line.ok{color:#3b8358}
.test-result.error,.test-line.error{color:#b3382e}
.check-row{flex-direction:row!important;align-items:center;gap:10px!important;font-size:13px!important;color:var(--ink,#17202b)!important;font-weight:600!important}
.check-row input{width:18px;height:18px;accent-color:var(--orange,#0f9d9a)}
@media(max-width:860px){.int-grid{grid-template-columns:1fr}}
