/* Woola Enterprise V21 — corrective layer
   Fixes icon ligature leakage, deterministic application shell, auth inputs,
   CMS shell and shared button/icon alignment. */

/* Self-contained SVG icon treatment. */
.material-icons,.material-symbols-rounded{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:1.15em!important;height:1.15em!important;min-width:1.15em!important;flex:0 0 1.15em!important;
  line-height:1!important;vertical-align:-.16em!important;overflow:hidden!important;
  font-size:1em;white-space:nowrap!important;text-indent:0!important;letter-spacing:0!important;
}
.material-icons .woola-icon-svg,.material-symbols-rounded .woola-icon-svg,
.material-icons>svg,.material-symbols-rounded>svg{
  width:100%!important;height:100%!important;display:block!important;fill:none!important;stroke:currentColor!important;
  stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;pointer-events:none!important;
}
:where(.btn,.btn-primary,.btn-outline,.btn-danger,.btn-success,.btn-secondary,.sidebar-link,.admin-nav-link,.nav-link,.dropdown-menu a,.user-dropdown a,.topbar-btn,.btn-icon){
  align-items:center!important;
}
:where(.btn,.btn-primary,.btn-outline,.btn-danger,.btn-success,.btn-secondary,.sidebar-link,.admin-nav-link,.nav-link,.dropdown-menu a,.user-dropdown a)>.material-icons{
  margin:0!important;transform:none!important;position:static!important;
}

/* User application shell: one header offset only. */
body.woola-app .header{position:sticky!important;top:0!important;height:64px!important;min-height:64px!important;}
body.woola-app .dashboard-layout{
  display:grid!important;grid-template-columns:var(--w-sidebar) minmax(0,1fr)!important;
  padding-top:0!important;min-height:calc(100dvh - 64px)!important;width:100%!important;align-items:start!important;
}
body.woola-app .sidebar{
  position:sticky!important;top:64px!important;left:auto!important;bottom:auto!important;
  width:var(--w-sidebar)!important;min-width:var(--w-sidebar)!important;max-width:var(--w-sidebar)!important;
  height:calc(100dvh - 64px)!important;align-self:start!important;overflow-y:auto!important;transform:none!important;
}
body.woola-app .sidebar-inner{min-height:100%!important;}
body.woola-app .main-content{
  grid-column:2!important;grid-row:1!important;margin:0!important;width:100%!important;max-width:none!important;min-width:0!important;
  padding:30px clamp(24px,3vw,48px) 64px!important;
}
@media(max-width:1024px){
  body.woola-app .dashboard-layout{display:block!important;min-height:calc(100dvh - 64px)!important;}
  body.woola-app .sidebar{
    position:fixed!important;top:64px!important;left:0!important;height:calc(100dvh - 64px)!important;
    width:min(88vw,292px)!important;min-width:0!important;max-width:292px!important;transform:translateX(-105%)!important;z-index:6500!important;
  }
  body.woola-app .sidebar.open,body.sidebar-open .sidebar{transform:translateX(0)!important;}
  body.woola-app .main-content{margin:0!important;width:100%!important;padding:24px 18px 48px!important;}
}

/* Login inputs: fixed icon slot; never collide with placeholder. */
body.woola-auth .input-wrap{position:relative!important;display:flex!important;align-items:center!important;}
body.woola-auth .input-wrap>span.material-icons:first-child{
  position:absolute!important;left:13px!important;top:50%!important;transform:translateY(-50%)!important;
  width:18px!important;height:18px!important;min-width:18px!important;z-index:3!important;color:var(--w-text-3)!important;pointer-events:none!important;
}
body.woola-auth .input-wrap>input{padding-left:44px!important;}
body.woola-auth .input-wrap:has(.password-toggle)>input{padding-right:48px!important;}
body.woola-auth .password-toggle{right:7px!important;z-index:4!important;}
body.woola-auth .auth-editorial{color:#f5f7fb!important;}
body.woola-auth .auth-editorial h1{color:#f5f7fb!important;}
body.woola-auth .auth-editorial>p,body.woola-auth .auth-editorial-list small{color:#aab3c3!important;}
body.woola-auth .auth-editorial-list strong{color:#eef2f8!important;}

/* Admin shell consistency */
body.woola-admin .admin-main{min-width:0!important;}
body.woola-admin .admin-content{min-width:0!important;}
body.woola-admin .admin-topbar-actions{min-width:0!important;}
body.woola-admin .user-dropdown a,body.woola-public .user-dropdown a{display:flex!important;align-items:center!important;gap:9px!important;}

/* CMS: proper admin workspace instead of floating tabs over content. */
body.woola-admin .cms-layout{height:auto!important;min-height:calc(100dvh - 64px)!important;display:block!important;position:relative!important;}
body.woola-admin .cms-content{padding:24px 28px 72px!important;overflow:visible!important;max-width:1500px!important;margin:0 auto!important;width:100%!important;}
body.woola-admin .cms-content.chat-open{margin-right:auto!important;padding-right:min(calc(var(--cms-chat-w) + 44px),420px)!important;}
body.woola-admin .cms-tabs{
  position:sticky!important;top:64px!important;z-index:50!important;margin:0 0 22px!important;padding:6px!important;
  border:1px solid var(--w-border)!important;border-radius:12px!important;background:color-mix(in srgb,var(--w-bg-elevated) 94%,transparent)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.08)!important;backdrop-filter:blur(16px)!important;
}
body.woola-admin .cms-tab{min-height:38px!important;padding:0 12px!important;border-radius:8px!important;}
body.woola-admin .cms-tab.active{background:var(--w-accent-soft)!important;color:var(--w-admin)!important;box-shadow:none!important;}
body.woola-admin .cms-tab-content>.page-header:first-child,
body.woola-admin .cms-tab-content>div>.page-header:first-child{margin-top:0!important;padding-top:0!important;}
body.woola-admin #pagesList{max-width:none!important;}
body.woola-admin .page-list-item{min-height:58px!important;}
body.woola-admin .page-editor-grid{gap:16px!important;}
body.woola-admin .cms-chat-panel{top:64px!important;height:calc(100dvh - 64px)!important;}
@media(max-width:980px){
  body.woola-admin .cms-content{padding:18px 14px 48px!important;}
  body.woola-admin .cms-tabs{top:64px!important;}
  body.woola-admin .cms-content.chat-open{padding-right:14px!important;}
}

/* Tables/actions: avoid icon/text baselines breaking rows. */
.table-wrap td .btn-outline,.table-wrap td .btn-primary,.table-wrap td .btn-danger,.table-wrap td .btn-success,
.role-actions>*,.toolbar-group>*{vertical-align:middle!important;}
.table-wrap td form{margin:0!important;}

/* Capacity UI */
.capacity-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:16px;}
.capacity-hours-input{width:96px!important;text-align:right!important;font-family:var(--w-font-mono)!important;}
.capacity-load{min-width:150px;display:grid;gap:5px;}
.capacity-load-track{height:8px;border-radius:999px;background:var(--w-surface-2);overflow:hidden;}
.capacity-load-track>i{display:block;height:100%;border-radius:inherit;background:var(--w-accent);}
.capacity-load.over> .capacity-load-track>i{background:var(--w-danger);}
.capacity-source{font-size:10px;color:var(--w-text-3);}
@media(max-width:720px){.capacity-controls{grid-template-columns:1fr}.capacity-hours-input{width:84px!important}}

/* API admin */
.api-admin-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;align-items:start;}
.api-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.api-scope-option{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid var(--w-border);border-radius:10px;background:var(--w-surface-2);}
.api-scope-option input{margin-top:2px;}
.api-endpoint-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--w-border);}
.api-method{font:700 11px var(--w-font-mono);color:var(--w-accent);}
@media(max-width:900px){.api-admin-grid{grid-template-columns:1fr}.api-scope-grid{grid-template-columns:1fr}}

/* Discord integration */
.discord-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.discord-status-card{padding:16px;border:1px solid var(--w-border);border-radius:10px;background:var(--w-surface);}
.discord-status-card strong{display:block;margin-top:4px;font-size:15px;}
.discord-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--w-danger);margin-right:6px;}
.discord-status-dot.ok{background:var(--w-success);}
.discord-link-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;counter-reset:step;}
.discord-link-step{padding:12px;border:1px solid var(--w-border);border-radius:10px;background:var(--w-surface-2);font-size:12px;color:var(--w-text-2);}
.discord-link-step::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:24px;height:24px;margin-bottom:8px;border-radius:50%;background:var(--w-accent-soft);color:var(--w-accent);font-weight:800;}
@media(max-width:820px){.discord-status-grid{grid-template-columns:repeat(2,1fr)}.discord-link-steps{grid-template-columns:1fr}}

/* Discord user account linking */
.discord-account-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:16px;align-items:start}
.discord-check-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--w-border)}
.discord-check-row:last-of-type{border-bottom:0}.discord-check-row>span.material-icons{width:28px!important;height:28px!important;padding:6px;border-radius:8px;background:var(--w-accent-soft);color:var(--w-accent)}
.discord-check-row strong,.discord-member-card strong{display:block}.discord-check-row small,.discord-member-card small{display:block;color:var(--w-text-3);margin-top:2px}
.discord-check-state{font:700 10px var(--w-font-mono);text-transform:uppercase;letter-spacing:.06em;padding:5px 8px;border-radius:999px;background:var(--w-surface-2);color:var(--w-text-3)}
.discord-check-state.is-ok{background:color-mix(in srgb,var(--w-success) 12%,transparent);color:var(--w-success)}.discord-check-state.is-warn{background:color-mix(in srgb,var(--w-warning) 12%,transparent);color:var(--w-warning)}
.discord-member-card{display:flex;gap:10px;align-items:center;margin-top:15px;padding:12px;border:1px solid var(--w-border);border-radius:10px;background:var(--w-surface-2)}
.discord-avatar-fallback{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#5865f2;color:white;font-weight:800}
.step-pill{display:inline-flex;padding:4px 8px;margin-bottom:8px;border-radius:999px;background:var(--w-accent-soft);color:var(--w-accent);font:800 10px var(--w-font-mono);text-transform:uppercase}.step-pill.success{background:color-mix(in srgb,var(--w-success) 12%,transparent);color:var(--w-success)}
.discord-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--w-text-3);font-size:11px;text-transform:uppercase}.discord-divider:before,.discord-divider:after{content:"";height:1px;flex:1;background:var(--w-border)}
.discord-code-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px}.discord-code-input{font:800 24px var(--w-font-mono)!important;letter-spacing:.22em;text-align:center!important}
.discord-connected-actions{display:flex;gap:10px;flex-wrap:wrap}.discord-connected-actions form{margin:0}.discord-security-note{display:flex;gap:10px;margin-top:18px;padding:14px;border-radius:10px;background:var(--w-surface-2);border:1px solid var(--w-border)}.discord-security-note p{margin:3px 0 0;color:var(--w-text-3);font-size:12px}
@media(max-width:900px){.discord-account-grid{grid-template-columns:1fr}.discord-code-form{grid-template-columns:1fr}}

/* Macro library: keep command, title and body visually separated. */
.macro-library{display:grid;gap:10px}.macro-card-v21{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px;border:1px solid var(--w-border);border-radius:10px;background:var(--w-surface-2)}
.macro-card-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.macro-command{font:700 11px var(--w-font-mono);padding:4px 7px;border-radius:6px;background:var(--w-accent-soft);color:var(--w-accent)}.macro-name{font-size:14px}.macro-preview{margin:0;padding:10px 12px;border-left:2px solid var(--w-border-strong);background:var(--w-surface);border-radius:0 8px 8px 0;color:var(--w-text-2);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.55}.macro-meta{display:flex;gap:6px;margin-top:9px}.macro-actions-v21{display:flex;gap:7px;align-items:flex-start}.macro-actions-v21 form{margin:0}
.macro-live-preview{margin-top:12px;padding:13px;border:1px dashed var(--w-border-strong);border-radius:10px;background:var(--w-surface-2)}.macro-live-preview strong{display:block;font-size:11px;color:var(--w-text-3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.macro-live-preview p{margin:0;white-space:pre-wrap;color:var(--w-text-2)}
@media(max-width:720px){.macro-card-v21{grid-template-columns:1fr}.macro-actions-v21{justify-content:flex-end}}

/* Webhook / integration center */
.integration-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.integration-metric{padding:15px;border:1px solid var(--w-border);border-radius:10px;background:var(--w-surface)}.integration-metric small{display:block;color:var(--w-text-3)}.integration-metric strong{display:block;margin-top:5px;font-size:18px}.webhook-destination{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--w-border)}.webhook-destination:last-child{border-bottom:0}.webhook-destination p{margin:2px 0 0;color:var(--w-text-3);font-size:11px}.webhook-result{margin-top:12px;padding:12px;border:1px solid var(--w-border);border-radius:10px;background:var(--w-surface-2)}.webhook-result pre{max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;font:11px var(--w-font-mono)}
@media(max-width:760px){.integration-overview{grid-template-columns:1fr}.webhook-destination{align-items:flex-start;flex-direction:column}}

/* CMS V21 information architecture */
.cms-workspace-head{display:grid;grid-template-columns:minmax(280px,1fr) minmax(420px,1.25fr);gap:20px;align-items:end;margin:0 0 20px;padding:20px;border:1px solid var(--w-border);border-radius:12px;background:var(--w-surface)}
.cms-workspace-head h1{margin:4px 0 6px;font-size:25px;letter-spacing:-.025em}.cms-workspace-head p{margin:0;color:var(--w-text-3);font-size:12px;max-width:620px}.cms-workspace-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cms-workspace-metrics>div{padding:11px;border-radius:9px;background:var(--w-surface-2);border:1px solid var(--w-border)}.cms-workspace-metrics small,.cms-workspace-metrics span{display:block;color:var(--w-text-3);font-size:10px}.cms-workspace-metrics strong{display:block;margin:3px 0;font:700 16px var(--w-font-mono)}
.cms-empty-state{min-height:280px;display:grid;place-items:center;align-content:center;text-align:center;gap:13px;padding:40px;border:1px dashed var(--w-border-strong);border-radius:12px;background:var(--w-surface-2)}.cms-empty-state>.material-icons{width:46px!important;height:46px!important;color:var(--w-text-3)!important}.cms-empty-state h3{margin:0 0 4px;font-size:16px}.cms-empty-state p{margin:0;color:var(--w-text-3);font-size:12px;max-width:460px}.cms-empty-state .btn-primary{justify-self:center}
body.woola-admin #tabPages #pagesList{max-width:none!important}
@media(max-width:1050px){.cms-workspace-head{grid-template-columns:1fr}.cms-workspace-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cms-workspace-head{padding:15px}.cms-workspace-metrics{grid-template-columns:1fr 1fr}.cms-workspace-head h1{font-size:21px}}
@media(min-width:1180px){.admin-discord-v21 .discord-status-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.integration-state{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--w-border)}.integration-state:last-child{border-bottom:0}.codebox{padding:12px;border:1px solid var(--w-border);border-radius:9px;background:var(--w-surface-2);word-break:break-word;font:11px/1.55 var(--w-font-mono);color:var(--w-text-2)}
