/*
 * Tower visual theme
 *
 * The palette, typography and component language are derived from Mycroft.
 * Tower keeps its own information architecture and dense expert workflows.
 * This file is loaded after every module stylesheet so the product has one
 * predictable visual contract, including on older screens.
 */

:root{
  color-scheme:light;

  /* Mycroft core palette */
  --tower-navy:#18253a;
  --tower-navy-2:#22314a;
  --tower-blue:#2f6cf0;
  --tower-blue-hover:#255bd0;
  --tower-blue-soft:#edf3ff;
  --tower-ink:#172033;
  --tower-muted:#68758a;
  --tower-muted-2:#65738a;
  --tower-border:#e3e8f0;
  --tower-border-strong:#ccd5e2;
  --tower-paper:#ffffff;
  --tower-paper-2:#ffffff;
  --tower-bg:#f6f8fb;
  --tower-success:#16845b;
  --tower-success-soft:#e9f7f0;
  --tower-warning:#c66a18;
  --tower-warning-soft:#fff3e7;
  --tower-violet:#7252b7;
  --tower-violet-soft:#f3effc;
  --tower-danger:#b94444;
  --tower-danger-soft:#fff1f1;

  /* Compatibility aliases used by historical module styles. */
  --tower-accent:var(--tower-blue);
  --tower-accent-soft:var(--tower-blue-soft);
  --tower-link:var(--tower-blue);
  --tower-link-hover:var(--tower-navy);
  --tower-text:var(--tower-ink);
  --border:var(--tower-border);

  /* Geometry and elevation */
  --tower-radius-xs:7px;
  --tower-radius-sm:9px;
  --tower-radius-md:12px;
  --tower-radius-lg:14px;
  --tower-shadow:0 8px 28px rgba(27,39,62,.06);
  --tower-shadow-raised:0 14px 38px rgba(27,39,62,.11);
  --tower-focus:0 0 0 3px rgba(47,108,240,.18);

  /* Project accents stay local and never replace the global blue. */
  --tower-project-color:#2f6cf0;
  --tower-project-text:#285ecf;
  --tower-project-soft:#edf3ff;
  --tower-project-border:#cfdcf5;
}

.tower-project--quandpartir{
  --tower-project-color:#2f6cf0;
  --tower-project-text:#285ecf;
  --tower-project-soft:#edf3ff;
  --tower-project-border:#cfdcf5;
}

.tower-project--thebesttimetovisit{
  --tower-project-color:#47785f;
  --tower-project-text:#47785f;
  --tower-project-soft:#eef5f1;
  --tower-project-border:#cfe0d7;
}

.tower-project--365euros{
  --tower-project-color:#a96038;
  --tower-project-text:#975331;
  --tower-project-soft:#f8efe9;
  --tower-project-border:#e6d1c3;
}

.tower-project--tableau-amortissement{
  --tower-project-color:#826d2f;
  --tower-project-text:#826d2f;
  --tower-project-soft:#f8f4e8;
  --tower-project-border:#e4d9b8;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  min-height:100%;
  background:var(--tower-bg);
}

body{
  min-height:100vh;
  margin:0;
  background:var(--tower-bg);
  color:var(--tower-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

::selection{
  background:#cfdcfb;
  color:var(--tower-navy);
}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--tower-blue);
  outline-offset:2px;
}

a{
  color:var(--tower-blue);
  text-decoration-color:rgba(47,108,240,.35);
  text-underline-offset:3px;
}

a:hover{
  color:var(--tower-blue-hover);
  text-decoration-color:currentColor;
}

h1,h2,h3,h4,h5,h6,
.card h2,.card h3,.card h4{
  color:var(--tower-ink);
  font-family:inherit;
  font-weight:750;
  letter-spacing:-.025em;
}

h1{font-size:1.82rem;line-height:1.15}
h2{font-size:1.44rem;line-height:1.2}
h3{font-size:1.12rem;line-height:1.28}

/* ----------------------------------------------------------------------- */
/* Application shell */

.tower-shell{
  grid-template-columns:236px minmax(0,1fr);
  min-height:100vh;
  background:var(--tower-bg);
  transition:grid-template-columns 160ms ease;
}

.tower-shell.sidebar-collapsed{
  grid-template-columns:74px minmax(0,1fr);
}

.tower-sidebar{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  height:100vh;
  flex-direction:column;
  gap:5px;
  overflow-x:hidden;
  overflow-y:auto;
  padding:0 12px 18px;
  border-right:0;
  color:#c9d3e2;
  background:var(--tower-navy);
  backdrop-filter:none;
  scrollbar-width:thin;
  scrollbar-color:#42516a transparent;
}

.sidebar-brand-row{
  min-height:72px;
  margin:0 -12px 10px;
  padding:0 20px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.sidebar-brand-main{
  width:100%;
  min-width:0;
  padding:0;
  flex-direction:row;
  justify-content:flex-start;
  gap:11px;
  border-radius:0;
  color:#fff;
}

.sidebar-brand-main:hover{
  color:#fff;
  background:transparent;
}

.sidebar-brand-mark{
  display:grid;
  width:34px;
  height:48px;
  flex:0 0 34px;
  place-items:center;
  overflow:hidden;
}

.sidebar-brand-icon{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transform:translateY(-6%) scale(1.22);
}

.sidebar-brand-name{
  margin:0;
  color:#fff;
  font-size:20px;
  font-weight:750;
  line-height:1;
  letter-spacing:-.01em;
  text-align:left;
}

.sidebar-project-block{
  margin:0 0 10px;
  padding:0;
}

.sidebar-project-select{
  min-height:42px;
  padding:0 34px 0 12px;
  border:1px solid rgba(255,255,255,.13);
  border-left:3px solid var(--tower-project-color);
  border-radius:var(--tower-radius-sm);
  color:#fff;
  background-color:var(--tower-navy-2);
  font-size:14px;
  font-weight:650;
  box-shadow:none;
}

.sidebar-project-select:focus{
  border-color:rgba(255,255,255,.36);
  border-left-color:var(--tower-project-color);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}

.sidebar-project-select option{
  color:var(--tower-ink);
  background:#fff;
}

.sidebar-group-label{
  padding:13px 12px 5px;
  color:#a7b4c6;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}

.sidebar-group-sep{
  height:1px;
  margin:7px 12px;
  background:rgba(255,255,255,.08);
}

.universe-link,
.sidebar-help-link{
  min-height:43px;
  gap:12px;
  padding:0 12px;
  border:0;
  border-radius:8px;
  color:#9cabc0;
  font-size:15px;
  font-weight:650;
  transition:color 140ms ease,background 140ms ease;
}

.universe-link:hover,
.sidebar-help-link:hover{
  color:#fff;
  background:rgba(255,255,255,.055);
}

.universe-link.is-active{
  color:#fff;
  border-color:transparent;
  background:var(--tower-blue);
}

.universe-icon,
.sidebar-help-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  border:0;
  border-radius:0;
  color:currentColor;
  background:transparent;
}

.universe-icon svg,
.sidebar-help-icon svg{
  width:19px;
  height:19px;
}

.sidebar-spacer{min-height:12px}

.sidebar-meta{
  margin:4px 12px 7px;
  color:#7f8da2;
  font-size:11px;
  font-weight:650;
  letter-spacing:.04em;
  text-align:left;
}

.sidebar-user-dropdown{
  margin-top:0;
}

.sidebar-user-dropdown summary{
  min-height:46px;
  padding:6px 9px;
  border-radius:8px;
  color:#c9d3e2;
}

.sidebar-user-dropdown summary:hover,
.sidebar-user-dropdown[open] summary{
  color:#fff;
  background:rgba(255,255,255,.055);
}

.sidebar-user-text{
  color:inherit;
  font-size:14px;
  font-weight:650;
}

.sidebar-user-caret{color:#7f8da2}

.nav-avatar{
  width:31px;
  height:31px;
  border-color:rgba(255,255,255,.18);
  background:var(--tower-navy-2);
}

.sidebar-user-dropdown .nav-dropdown-menu{
  left:4px;
  bottom:calc(100% + 8px);
  min-width:216px;
}

.tower-shell.sidebar-collapsed .sidebar-brand-row{
  min-height:72px;
  margin:0 -12px 10px;
  padding:0;
}

.tower-shell.sidebar-collapsed .sidebar-brand-main{
  width:100%;
  height:72px;
  border-radius:0;
}

.tower-shell.sidebar-collapsed .sidebar-brand-icon{
  transform:translateY(-6%) scale(1.2);
}

.tower-shell.sidebar-collapsed .universe-link,
.tower-shell.sidebar-collapsed .sidebar-help-link{
  min-height:43px;
  padding:0;
}

.tower-shell.sidebar-collapsed .universe-link.is-active .universe-icon{
  color:#fff;
  border:0;
  background:transparent;
}

.tower-shell.sidebar-collapsed .sidebar-group-sep{margin:7px 8px}
.tower-shell.sidebar-collapsed .sidebar-user-dropdown summary{padding:7px}

.tower-content{
  min-width:0;
  background:var(--tower-bg);
}

.tower-topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  min-height:72px;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 34px;
  border-bottom:1px solid var(--tower-border);
  color:var(--tower-ink);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
}

.tower-topbar > div{
  gap:10px;
}

.header-main-nav{
  min-width:0;
  flex:1;
  gap:14px;
}

.tower-topbar nav{
  display:flex;
  min-width:0;
  align-items:center;
  gap:5px;
  overflow-x:auto;
  flex-wrap:nowrap;
  scrollbar-width:none;
}

.tower-topbar nav::-webkit-scrollbar{display:none}

.tower-topbar nav a{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  flex:0 0 auto;
  padding:0 12px;
  border-radius:8px;
  color:var(--tower-muted);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}

.tower-topbar nav a:hover{
  color:var(--tower-navy);
  background:var(--tower-blue-soft);
}

.tower-topbar nav a.is-active{
  color:#fff;
  background:var(--tower-navy);
  box-shadow:none;
}

.nav-badge{
  min-width:19px;
  height:19px;
  margin:0 0 0 5px;
  padding:0 5px;
  color:#fff;
  background:var(--tower-blue);
  font-size:10px;
  transform:none;
}

.tower-topbar nav a.is-active .nav-badge{
  color:var(--tower-navy);
  background:#fff;
}

.header-actions{
  flex:0 0 auto;
  flex-wrap:nowrap;
}

.header-context-link{
  min-height:36px;
  white-space:nowrap;
}

.sidebar-toggle{
  display:inline-grid;
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:8px;
  color:var(--tower-muted);
  background:transparent;
  font-size:18px;
}

.sidebar-toggle:hover{
  border-color:transparent;
  color:var(--tower-navy);
  background:var(--tower-blue-soft);
}

.sidebar-toggle-mobile{display:none}

.nav-dropdown-menu{
  padding:6px;
  border:1px solid var(--tower-border);
  border-radius:var(--tower-radius-md);
  background:#fff;
  box-shadow:var(--tower-shadow-raised);
}

.nav-dropdown-menu a,
.nav-dropdown-menu .nav-linklike{
  min-height:38px;
  padding:8px 10px;
  border-radius:8px;
  color:var(--tower-muted);
  font-size:14px;
  font-weight:600;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu .nav-linklike:hover,
.nav-dropdown-menu button.nav-linklike:hover,
.nav-dropdown-menu button.nav-linklike[type=submit]:hover{
  color:var(--tower-navy);
  background:var(--tower-blue-soft);
}

.nav-dropdown-menu .nav-section{
  color:var(--tower-muted-2);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}

.nav-dropdown-menu .nav-sep{background:var(--tower-border)}

.tower-sidebar-backdrop{
  background:rgba(14,24,40,.48);
  backdrop-filter:blur(2px);
}

/* Guest header and login */

.tower-guest-topbar{
  padding:0 28px;
}

.brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.brand-lockup-mark{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  overflow:hidden;
  border-radius:9px;
  background:var(--tower-navy);
}

.brand-lockup-logo{
  display:block;
  width:24px;
  height:29px;
  object-fit:contain;
  transform:translateY(-6%) scale(1.22);
}

.brand-title-wrap{gap:8px}
.brand-title-wrap strong{font-size:18px;font-weight:750}
.brand-meta{color:var(--tower-muted);font-size:12px}
.brand-env-local{color:var(--tower-danger)}
.brand-env-prod{color:var(--tower-success)}
.brand-version{color:var(--tower-muted)}

.brand-link{
  padding:4px;
  color:var(--tower-ink);
}

.brand-link:hover{
  color:var(--tower-ink);
  background:transparent;
}

.login-screen{
  padding:28px;
  background:
    radial-gradient(circle at 50% 12%,rgba(47,108,240,.09),transparent 34%),
    var(--tower-bg);
}

.login-card{
  width:min(100%,480px);
  max-width:480px;
  padding:36px 38px 34px;
  border-color:#d8e2f2;
  box-shadow:0 20px 60px rgba(27,39,62,.11);
}

.login-brand{margin-bottom:28px}

.login-brand-mark{
  display:grid;
  width:72px;
  height:76px;
  margin:0 auto 12px;
  place-items:center;
  overflow:hidden;
  border-radius:14px;
  background:var(--tower-navy);
  box-shadow:var(--tower-shadow);
}

.login-brand-logo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transform:translateY(-6%) scale(1.22);
}

.login-brand-title{
  color:var(--tower-ink);
  font-size:2rem;
  font-weight:780;
  letter-spacing:-.035em;
}

.login-brand-meta{
  margin-top:7px;
  color:var(--tower-muted);
  font-size:13px;
  font-weight:600;
}

.login-form{max-width:360px}
.login-form .row{gap:14px;margin-bottom:2px}
.login-actions{justify-content:stretch;margin-top:22px}
.login-actions button{width:100%;min-height:44px}

/* ----------------------------------------------------------------------- */
/* Shared content primitives */

.tower-content > main,
.tower-guest > main,
main{
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding:32px 34px 72px;
}

.card{
  margin-bottom:18px;
  padding:18px;
  border:1px solid var(--tower-border);
  border-radius:var(--tower-radius-lg);
  color:var(--tower-ink);
  background:var(--tower-paper);
  box-shadow:var(--tower-shadow);
}

.card.card-plain{
  background:#fff;
}

.grid{
  gap:14px;
}

.grid + .card{margin-top:18px}

.row{
  gap:12px;
}

.section-title{
  gap:12px;
}

.section-title-heading{
  gap:10px;
}

.section-title-heading h1,
.section-title-heading h2,
.section-title-heading h3,
.section-title-heading h4{
  color:var(--tower-ink);
  letter-spacing:-.025em;
}

.section-heading{gap:9px}
.section-heading-row{gap:16px}

.section-eyebrow{
  color:var(--tower-muted-2);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}

.section-meta,
.muted,
.metric-label,
.metric-meta{
  color:var(--tower-muted);
}

.muted{font-size:13px;line-height:1.45}
.muted.block{
  display:block;
  margin-top:2px;
}
.subtle{color:var(--tower-muted);font-size:13px}

.section-copy,
.page-intro-copy{
  color:#536077;
  font-size:15px;
  line-height:1.55;
}

.page-intro{
  padding:22px 24px;
  border-color:#d8e2f2;
}

.page-intro .section-title-heading h1{
  font-size:1.82rem;
  line-height:1.15;
}

.section-shell{
  padding:20px;
}

.section-shell > .section-heading + .section-copy{margin-top:8px}

.metric-grid{
  gap:14px;
}

.metric-card{
  position:relative;
  min-height:112px;
  padding:16px 17px;
  overflow:hidden;
}

.metric-card::before{
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--tower-project-color);
  content:"";
}

.metric-label{
  font-size:13px;
  font-weight:650;
}

.metric-value,
.kpi .value{
  margin-top:6px;
  color:var(--tower-ink);
  font-size:1.6rem;
  font-weight:780;
  line-height:1.05;
  letter-spacing:-.025em;
}

.metric-meta{margin-top:9px;font-size:12px}

.kpi{gap:14px}

.table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid var(--tower-border);
  border-radius:var(--tower-radius-md);
  background:#fff;
  box-shadow:none;
}

.table-wrap table,
table{
  width:100%;
  margin:0;
  color:var(--tower-ink);
  border-collapse:separate;
  border-spacing:0;
  font-size:14px;
}

table th{
  color:#536077;
  background:#fafbfd;
  font-size:12px;
  font-weight:750;
  letter-spacing:.015em;
}

table td,
table th{
  padding:11px 12px !important;
  border-color:var(--tower-border) !important;
  line-height:1.4;
}

table tbody tr:last-child td{border-bottom:0}
table tbody tr:hover td{background:#fbfcfe}

.table-wrap a:not(.btn){
  color:var(--tower-blue);
  text-decoration-color:rgba(47,108,240,.3);
}

.table-wrap a:not(.btn):hover{text-decoration-color:currentColor}

.table-wrap .actions{
  flex-wrap:nowrap;
  white-space:nowrap;
}

pre{
  max-height:440px;
  padding:14px 16px;
  border:1px solid #2d3b51;
  border-radius:var(--tower-radius-md);
  color:#e8eef7;
  background:#142034;
  font-size:13px;
  line-height:1.55;
}

.mono-pre{
  padding:14px;
  border-color:var(--tower-border);
  border-radius:var(--tower-radius-md);
  color:#344158;
  background:#f9fbfe;
  font-size:13px;
}

code{
  padding:2px 6px;
  border:1px solid #dce4f1;
  border-radius:6px;
  color:#36527e;
  background:#f1f5fb;
  font-size:.9em;
}

/* Forms */

label{
  color:#344158;
  font-size:14px;
  font-weight:650;
}

input,
select,
textarea,
button{
  font-family:inherit;
}

input[type=text],
input[type=password],
input[type=number],
input[type=url],
input[type=email],
input[type=search],
input[type=date],
input[type=time],
select,
textarea{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--tower-border-strong);
  border-radius:var(--tower-radius-sm);
  color:var(--tower-ink);
  background:#fff;
  box-shadow:0 1px 2px rgba(27,39,62,.02);
}

textarea{
  min-height:96px;
  line-height:1.5;
  resize:vertical;
}

input::placeholder,
textarea::placeholder{color:#68758a;opacity:1}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:var(--tower-blue);
  box-shadow:var(--tower-focus);
}

input[type=checkbox],
input[type=radio]{
  accent-color:var(--tower-blue);
}

/* Actions */

button,
.actions a,
.section-title > a,
a.btn,
.btn-compact,
.btn-primary-compact,
.btn-outline-compact,
.btn-link-compact{
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--tower-border-strong);
  border-radius:var(--tower-radius-sm);
  color:var(--tower-navy);
  background:#fff;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  box-shadow:none;
  transition:color 140ms ease,background 140ms ease,border-color 140ms ease,transform 140ms ease;
}

button:hover,
.actions a:hover,
.section-title > a:hover,
a.btn:hover,
.btn-compact:hover,
.btn-outline-compact:hover,
.btn-link-compact:hover{
  border-color:#bdc9da;
  color:var(--tower-blue-hover);
  background:var(--tower-blue-soft);
}

button:active,
.actions a:active,
a.btn:active{transform:translateY(1px)}

button:disabled{
  cursor:not-allowed;
  opacity:.58;
}

button[type=submit]:not([class]),
.actions form > button[type=submit]:not([class]),
.actions > button:not([class]),
.btn-primary-compact,
.actions .btn-primary-compact,
button.btn-primary-compact[type=submit],
button.btn-triage-add,
.actions form > button.btn-triage-add[type=submit],
button.zombie-city-export-button[type=submit]{
  border-color:var(--tower-blue);
  color:#fff;
  background:var(--tower-blue);
}

button[type=submit]:not([class]):hover,
.actions form > button[type=submit]:not([class]):hover,
.actions > button:not([class]):hover,
.btn-primary-compact:hover,
.actions .btn-primary-compact:hover,
button.btn-primary-compact[type=submit]:hover,
button.btn-triage-add:hover,
.actions form > button.btn-triage-add[type=submit]:hover,
button.zombie-city-export-button[type=submit]:hover{
  border-color:var(--tower-blue-hover);
  color:#fff;
  background:var(--tower-blue-hover);
}

.btn-outline-compact,
button.btn-outline-compact[type=submit],
.actions .btn-outline-primary,
.actions .btn-outline-secondary{
  border-color:var(--tower-border-strong);
  color:var(--tower-navy);
  background:#fff;
}

.btn-link-compact,
.actions .btn-link-compact,
button.btn-link-compact[type=submit]{
  min-height:auto;
  padding:5px 2px;
  border-color:transparent;
  color:var(--tower-blue);
  background:transparent;
  text-decoration:underline;
  text-decoration-color:rgba(47,108,240,.28);
  text-underline-offset:3px;
}

.btn-link-compact:hover,
.actions .btn-link-compact:hover,
button.btn-link-compact[type=submit]:hover{
  border-color:transparent;
  color:var(--tower-blue-hover);
  background:transparent;
  text-decoration-color:currentColor;
}

.btn-outline-danger,
.actions .btn-outline-danger,
button.btn-outline-danger[type=submit]{
  border-color:#e4c3c3;
  color:var(--tower-danger);
  background:#fff;
}

.btn-outline-danger:hover,
.actions .btn-outline-danger:hover,
button.btn-outline-danger[type=submit]:hover{
  border-color:#dcaeae;
  color:#923737;
  background:var(--tower-danger-soft);
}

button.btn-secondary[type=submit],
.actions form > button.btn-secondary[type=submit]{
  border-color:var(--tower-border-strong);
  color:var(--tower-navy);
  background:#fff;
}

button.btn-secondary[type=submit]:hover,
.actions form > button.btn-secondary[type=submit]:hover{
  border-color:#bdc9da;
  color:var(--tower-blue-hover);
  background:var(--tower-blue-soft);
}

button.semrush-domain-link[type=submit],
button.semrush-domain-link[type=submit]:hover{
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0;
  color:var(--tower-blue);
  background:transparent;
  box-shadow:none;
  transform:none;
}

button.semrush-domain-link[type=submit]:hover{
  color:var(--tower-blue-hover);
  text-decoration:underline;
}

button.btn-triage-pending,
.actions form > button.btn-triage-pending[type=submit]{
  border-color:#ead5bd;
  color:#9a5b20;
  background:#fffaf4;
}

button.btn-triage-pipeline,
.actions form > button.btn-triage-pipeline[type=submit]{
  border-color:#cfdcf5;
  color:#2458bf;
  background:var(--tower-blue-soft);
}

.actions{gap:8px}

/* Tabs and switches */

.canonical-tabs{
  display:flex;
  gap:4px;
  max-width:100%;
  overflow-x:auto;
  flex-wrap:nowrap;
  padding:4px;
  border:1px solid var(--tower-border);
  border-radius:var(--tower-radius-md);
  background:#eef2f7;
  scrollbar-width:none;
}

.canonical-tabs::-webkit-scrollbar{display:none}

.canonical-tab{
  min-height:36px;
  flex:0 0 auto;
  padding:7px 12px;
  border:0;
  border-radius:8px;
  color:var(--tower-muted);
  background:transparent;
  font-size:14px;
  font-weight:700;
}

.canonical-tab:hover{
  border-color:transparent;
  color:var(--tower-navy);
  background:rgba(255,255,255,.7);
}

.canonical-tab.is-active{
  border-color:var(--tower-navy);
  color:#fff;
  background:var(--tower-navy);
  box-shadow:0 1px 4px rgba(27,39,62,.14);
}

.badge-soft,
.pill{
  display:inline-flex;
  min-height:22px;
  align-items:center;
  padding:3px 8px;
  border:1px solid var(--tower-project-border);
  border-radius:999px;
  color:var(--tower-project-text);
  background:var(--tower-project-soft);
  font-size:11px;
  font-weight:800;
  line-height:1.15;
  text-transform:none;
  white-space:nowrap;
}

.pill.status-succeeded,
.project-dashboard-state.is-ok{
  border-color:#cce3d8;
  color:var(--tower-success);
  background:#f7fcf9;
}

.pill.status-failed,
.project-dashboard-state.is-alert{
  border-color:#edcccc;
  color:var(--tower-danger);
  background:#fff8f8;
}

.pill.status-running,
.project-dashboard-state.is-neutral{
  border-color:#dfe4eb;
  color:var(--tower-muted);
  background:#f8fafc;
}

.pill.status-skipped_locked,
.pill.status-succeeded_with_errors,
.project-dashboard-state.is-warn{
  border-color:#ead5bd;
  color:#9a5b20;
  background:#fffaf4;
}

.docs-link-button{
  min-width:32px;
  min-height:32px;
  border-radius:999px !important;
  color:var(--tower-muted) !important;
}

/* Feedback */

.error,
.success,
.warning{
  padding:12px 15px;
  border-radius:var(--tower-radius-md);
  font-size:14px;
  line-height:1.45;
}

.error{
  border:1px solid #edcccc;
  color:#923737;
  background:#fff8f8;
}

.success{
  border:1px solid #cce3d8;
  color:#176a49;
  background:#f7fcf9;
}

.warning{
  border:1px solid #f0d5b8;
  color:#8b551f;
  background:var(--tower-warning-soft);
}

#tower-toast-host{
  top:18px;
  right:18px;
  max-width:380px;
}

.tower-toast{
  border-radius:var(--tower-radius-md);
  background:#fff;
  box-shadow:var(--tower-shadow-raised);
}

.tower-toast.toast-success{border-color:#cce3d8;border-left:4px solid var(--tower-success);color:#176a49;background:#f7fcf9}
.tower-toast.toast-error{border-color:#edcccc;border-left:4px solid var(--tower-danger);color:#923737;background:#fff8f8}
.tower-toast.toast-warning{border-color:#f0d5b8;border-left:4px solid var(--tower-warning);color:#8b551f;background:var(--tower-warning-soft)}

.sort-head:hover{
  color:var(--tower-navy);
  background:var(--tower-blue-soft);
}

.sort-head-arrow{color:var(--tower-muted-2)}
.sort-head.is-active,.sort-head.is-active .sort-head-arrow{color:var(--tower-blue)}

.link-list-inline a{color:var(--tower-blue);text-decoration-color:rgba(47,108,240,.28)}

/* ----------------------------------------------------------------------- */
/* Module harmonisation */

/* Project dashboard */

.project-dashboard-shell,
.section-stack{gap:16px}

.project-dashboard-period-link,
.crawl-period-switch a,
.publication-section-link,
.newsroom-section-link,
.stats-view-tab{
  color:var(--tower-muted);
  text-decoration:none;
  font-weight:700;
}

.project-dashboard-period-link:hover,
.project-dashboard-period-link.is-active,
.crawl-period-switch a:hover,
.crawl-period-switch a.is-active,
.publication-section-link:hover,
.publication-section-link.is-active,
.newsroom-section-link:hover,
.newsroom-section-link.is-active,
.stats-view-tab:hover,
.stats-view-tab.is-active{
  color:var(--tower-blue);
  text-decoration:underline;
  text-decoration-color:currentColor;
  text-decoration-thickness:2px;
  text-underline-offset:6px;
}

.project-dashboard-kpi .metric-value{color:var(--tower-project-color)}

.project-dashboard-kpi-line > div,
.project-dashboard-gsc-kpis > div,
.project-dashboard-revenue-kpis > div,
.project-dashboard-outbound-kpis > div{
  border-color:var(--tower-border);
  border-radius:var(--tower-radius-md);
  background:#fbfcfe;
}

.project-dashboard-kpi-line span,
.project-dashboard-kpi-line small,
.project-dashboard-gsc-kpis span,
.project-dashboard-gsc-kpis em{
  color:var(--tower-muted);
}

.project-dashboard-kpi-line strong,
.project-dashboard-gsc-kpis strong{
  color:var(--tower-ink);
}

.project-dashboard-delta{
  border-color:#dfe4eb;
  color:var(--tower-muted);
  background:#f8fafc;
}

.project-dashboard-delta.is-up{border-color:#cce3d8;color:var(--tower-success);background:#f7fcf9}
.project-dashboard-delta.is-down{border-color:#edcccc;color:var(--tower-danger);background:#fff8f8}

.project-dashboard-chart,
.project-dashboard-typology-row,
.project-dashboard-briefing{
  border-color:var(--tower-border);
  background:#fbfcfe;
}

.project-dashboard-row{border-color:var(--tower-border)}
.project-dashboard-row-label{color:var(--tower-ink)}
.project-dashboard-row-copy{color:var(--tower-muted)}

.project-dashboard-gsc-card-kpis,
.project-dashboard-compact-table th,
.project-dashboard-seo-table td small,
.project-dashboard-chart-foot,
.project-dashboard-chart-legend{color:var(--tower-muted)}

.project-dashboard-gsc-card-kpis strong{color:var(--tower-ink)}
.project-dashboard-seo-table tr.is-owned td{background:var(--tower-project-soft)}
.project-dashboard-chart .chart-axis{stroke:var(--tower-border)}
.project-dashboard-chart .chart-label{fill:var(--tower-muted)}
.project-dashboard-chart .chart-line-visitors{stroke:var(--tower-blue)}
.project-dashboard-chart .chart-line-pageviews{stroke:var(--tower-violet);opacity:.86}
.project-dashboard-chart .chart-line-gsc-impressions{stroke:var(--tower-muted)}
.project-dashboard-chart .chart-line-gsc-clicks{stroke:var(--tower-success)}
.project-dashboard-chart-legend span::before{background:var(--tower-blue)}
.project-dashboard-chart-legend .legend-pageviews::before{background:var(--tower-violet)}
.project-dashboard-gsc-legend .legend-gsc-impressions::before{background:var(--tower-muted)}
.project-dashboard-gsc-legend .legend-gsc-clicks::before{background:var(--tower-success)}

.project-pilotage-card{
  border-color:var(--tower-border);
  border-radius:var(--tower-radius-lg);
  background:#fff;
  box-shadow:var(--tower-shadow);
}

.project-pilotage-metric{
  border-color:var(--tower-border);
  background:#fbfcfe;
}

.project-pilotage-metric span,
.project-pilotage-metric small{color:var(--tower-muted)}
.project-pilotage-metric strong{color:var(--tower-ink)}
.project-pilotage-points{color:var(--tower-ink)}
.project-pilotage-points li::marker{color:var(--tower-blue)}

/* Newsroom / Sources */

.newsroom-section-nav,
.publication-section-nav{
  top:72px;
  padding:10px 4px 12px;
  border-color:var(--tower-border);
  background:rgba(246,248,251,.95);
  backdrop-filter:blur(12px);
}

.imports-chart-wrap,
.pipeline-panel,
.pipeline-triage-card,
.pipeline-card{
  border-color:var(--tower-border);
  background:#fff;
  box-shadow:none;
}

.imports-window-switch .btn-switch,
.competitors-trend-switch .btn{
  border-color:var(--tower-border-strong);
  color:var(--tower-muted);
  background:#fff;
}

.imports-window-switch .btn-switch:hover,
.competitors-trend-switch .btn:hover{
  color:var(--tower-blue-hover);
  background:var(--tower-blue-soft);
}

.imports-window-switch .btn-switch.is-active,
.competitors-trend-switch .btn.is-active{
  border-color:var(--tower-navy);
  color:#fff;
  background:var(--tower-navy);
}

.pipeline-shell{
  border-color:var(--tower-border);
  background:#eef2f7;
}

.pipeline-lane{
  border-color:var(--tower-border);
  box-shadow:none;
}

.pipeline-lane.status-to_qualify{background:linear-gradient(180deg,#fff8ec,#fff)}
.pipeline-lane.status-todo{background:linear-gradient(180deg,#f5f1fb,#fff)}
.pipeline-lane.status-in_progress{background:linear-gradient(180deg,#fffbe8,#fff)}
.pipeline-lane.status-published{background:linear-gradient(180deg,#eef5ff,#fff)}
.pipeline-lane.status-refused{background:linear-gradient(180deg,#fff3f3,#fff)}

.pipeline-card:hover,
.pipeline-triage-card:hover{
  border-color:#bdc9da;
  box-shadow:0 7px 18px rgba(27,39,62,.07);
}

.competitors-trend-canvas-wrap,
.competitors-trend-legend{
  border-color:var(--tower-border) !important;
  border-radius:var(--tower-radius-md) !important;
  background:#fff !important;
}

.competitors-trend-legend .legend-item:hover{background:#f7f9fc !important}
.competitors-trend-legend .legend-value{color:var(--tower-ink) !important}
.competitors-trend-tooltip{background:var(--tower-navy) !important;box-shadow:var(--tower-shadow-raised) !important}

.article-hero-title{color:var(--tower-ink);font-weight:750;letter-spacing:-.02em}
.article-meta-list,.section-subtle{color:var(--tower-muted)}
.series-bar{background:var(--tower-blue-soft)}
.series-bar > span{background:var(--tower-blue)}
.delta-pos{color:var(--tower-success)}
.delta-neg{color:var(--tower-danger)}

/* SEO */

.seo-monitoring{
  max-width:1540px;
}

.seo-monitoring-head{
  border-color:#d8e2f2;
  background:#fff;
}

.seo-monitoring-head-main{
  padding:19px 21px;
}

.seo-monitoring-head h1{
  color:var(--tower-ink);
  font-size:1.45rem;
}

.seo-monitoring-head-note{
  border-color:var(--tower-border);
  color:var(--tower-muted);
  background:#fafbfd;
}

.seo-monitoring .domain-favicon{border-color:var(--tower-border) !important}
.seo-monitoring .domain-main,
.seo-monitoring .metric-cell strong{color:var(--tower-blue) !important}
.seo-monitoring .domain-edit,
.seo-monitoring .domain-discover{color:var(--tower-muted) !important}
.seo-monitoring .domain-discover strong{color:var(--tower-ink) !important}
.seo-monitoring .sort-link.is-active{color:var(--tower-blue) !important}
.seo-monitoring .reset-order-btn{border-color:var(--tower-border-strong) !important;color:var(--tower-muted) !important;background:#fff !important}
.seo-monitoring .reset-order-btn:hover{color:var(--tower-blue-hover) !important;background:var(--tower-blue-soft) !important}

.period-switch,
.seo-view-tabs,
.stats-view-tabs,
.wpops-view-tabs{
  border-color:var(--tower-border);
  background:#eef2f7;
}

.period-switch a,
.seo-view-tabs a,
.wpops-view-tabs a{
  color:var(--tower-muted);
}

.period-switch a:hover,
.seo-view-tabs a:hover,
.wpops-view-tabs a:hover{
  color:var(--tower-navy);
  background:rgba(255,255,255,.72);
}

.period-switch a.is-active,
.seo-view-tabs a.is-active,
.wpops-view-tabs a.is-active{
  color:#fff;
  background:var(--tower-navy);
  box-shadow:0 1px 4px rgba(27,39,62,.14);
}

.seo-workspace-tabs .canonical-tab:hover{
  border-color:var(--tower-border-strong);
  color:var(--tower-navy);
}

.seo-workspace-tabs .canonical-tab.is-active{
  border-color:var(--tower-blue);
  color:var(--tower-blue);
  background:transparent;
}

.seo-primary-metrics .metric-card{border-top-color:var(--tower-blue)}
.seo-chart-ranges button.is-active{border-color:var(--tower-navy);color:#fff;background:var(--tower-navy)}
.seo-chart-gridline{stroke:var(--tower-border)}
.seo-chart-area{fill:rgba(47,108,240,.12)}
.seo-chart-line{stroke:var(--tower-blue)}
.seo-chart-point{stroke:var(--tower-blue)}
.seo-chart-summary{color:var(--tower-ink)}
.seo-mini-source{background:var(--tower-blue-soft)}
.seo-disclosure[open] > summary{background:#fafbfd}

/* Stats */

.topnav-link.is-active,
.stats-view-tab.is-active{color:var(--tower-blue)}

.page-heading .badge-soft{
  border-color:var(--tower-project-border);
  color:var(--tower-project-text);
  background:var(--tower-project-soft);
}

.stats-filter-card,
.stats-kpi-card,
.stats-chart-card{
  border-color:var(--tower-border);
  background:#fff;
}

.stats-filter-chip{
  border-color:var(--tower-border-strong);
  color:var(--tower-muted);
  background:#fff;
}

.stats-filter-chip:hover{color:var(--tower-blue-hover);background:var(--tower-blue-soft)}
.stats-filter-chip.is-active{border-color:var(--tower-navy);color:#fff;background:var(--tower-navy)}

.stats-range-fields label,
.stats-audience-legend,
.stats-revenue-legend,
.stats-revenue-latest{color:var(--tower-muted)}

.stats-range-pill,
.stats-range-actions a,
.stats-range-actions button{
  border-color:var(--tower-border-strong);
  color:var(--tower-muted);
  background:#fff;
}

.stats-range-pill:hover,
.stats-range-actions a:hover{
  border-color:#bdc9da;
  color:var(--tower-blue-hover);
  background:var(--tower-blue-soft);
}

.stats-range-pill.is-active{
  border-color:var(--tower-navy);
  color:#fff;
  background:var(--tower-navy);
}

.stats-range-actions button,
.stats-range-actions button[type=submit]{
  border-color:var(--tower-blue);
  color:#fff;
  background:var(--tower-blue);
}

.stats-range-actions button:hover,
.stats-range-actions button[type=submit]:hover{
  border-color:var(--tower-blue-hover);
  color:#fff;
  background:var(--tower-blue-hover);
}

.stats-audience-chart{
  border-color:var(--tower-border);
  border-radius:var(--tower-radius-lg);
  background:#fff;
}

.stats-audience-dot.visitors{background:var(--tower-blue)}
.stats-audience-dot.pageviews{background:var(--tower-violet)}
.stats-revenue-legend span::before{background:var(--tower-blue)}
.stats-revenue-legend .legend-rpm-pv::before{background:var(--tower-violet)}
.stats-revenue-legend .legend-rpm-sessions::before{background:var(--tower-success)}
.stats-revenue-latest strong{color:var(--tower-ink)}
.stats-revenue-grid{stroke:var(--tower-border)}
.stats-revenue-axis{fill:var(--tower-muted)}
.stats-revenue-line.revenue{stroke:var(--tower-blue)}
.stats-revenue-line.rpm-pv{stroke:var(--tower-violet)}
.stats-revenue-line.rpm-sessions{stroke:var(--tower-success)}

/* Crawl */

.crawl-period-card,
.crawl-performance-card,
.crawl-health-card,
.crawl-chart-card{
  border-color:var(--tower-border);
  background:#fff;
}

.crawl-progress-track,
.zombie-city-bar{background:#e9eef5}

.crawl-progress-value,
.zombie-city-bar > span{background:var(--tower-blue)}

.aio-kpi,
.aio-chart,
.aio-table,
.zombie-city-card,
.typology-card{
  border-color:var(--tower-border) !important;
  background:#fff !important;
  box-shadow:var(--tower-shadow) !important;
}

/* Publication */

.publication-hero{
  border-color:#d8e2f2;
  background:#fff;
}

.publication-hero::before{
  background:var(--tower-project-color);
}

.publication-period-switch a,
.publication-view-switch a{
  border-color:var(--tower-border-strong);
  color:var(--tower-muted);
  background:#fff;
}

.publication-period-switch a:hover,
.publication-view-switch a:hover{color:var(--tower-blue-hover);background:var(--tower-blue-soft)}
.publication-period-switch a.is-active,
.publication-view-switch a.is-active{border-color:var(--tower-navy);color:#fff;background:var(--tower-navy)}

.publication-day,
.publication-slot-card,
.publication-calendar-shell,
.publication-detail{
  border-color:var(--tower-border);
  background:#fff;
  box-shadow:var(--tower-shadow);
}

.publication-slot-card:hover{
  border-color:#bdc9da;
  box-shadow:0 12px 30px rgba(27,39,62,.1);
  transform:translateY(-1px);
}

/* WpOps: keep its operational states, remove the separate mini-brand. */

.wpops-app{
  --wpops-green:var(--tower-success);
  --wpops-green-dark:#176a49;
  --wpops-green-soft:var(--tower-success-soft);
  --wpops-slate:var(--tower-navy);
  --wpops-slate-2:var(--tower-navy-2);
  --wpops-border:var(--tower-border);
  --wpops-orange:var(--tower-warning);
  color:var(--tower-ink);
}

.wpops-hero{
  padding:20px 22px;
  border:1px solid #d8e2f2;
  border-radius:var(--tower-radius-lg);
  color:var(--tower-ink);
  background:#fff;
  box-shadow:var(--tower-shadow);
}

.wpops-brand-mark{
  color:#fff;
  background:var(--tower-blue);
  box-shadow:none;
}

.wpops-hero h1{color:var(--tower-ink)}
.wpops-hero p{color:var(--tower-muted)}
.wpops-eyebrow,
.wpops-hero .wpops-eyebrow{color:var(--tower-muted-2) !important}
.wpops-hero-status{color:var(--tower-muted)}

.wpops-readonly-badge{
  border-color:#cce3d8;
  color:var(--tower-success);
  background:#f7fcf9;
}

.wpops-kpi,
.wpops-site-rail,
.wpops-main-panel,
.wpops-site-card{
  border-color:var(--tower-border);
  background:#fff;
  box-shadow:var(--tower-shadow);
}

.wpops-panel-heading,
.wpops-table th,
.wpops-sites-grid{
  border-color:var(--tower-border);
  background:#fafbfd !important;
}

.wpops-update-row{border-color:var(--tower-border);background:#fff}
.wpops-update-row:hover,.wpops-table tbody tr:hover td{background:#fbfcfe}
.wpops-site-filter.is-active{border-color:var(--tower-project-border);color:var(--tower-project-text);background:var(--tower-project-soft)}
.wpops-site-detail-link{color:var(--tower-blue)}

/* Admin and Docs */

.admin-unified .canonical-tabs{
  gap:4px;
  flex-wrap:nowrap;
  padding:4px;
  border:1px solid var(--tower-border);
  background:#eef2f7;
}

.admin-unified .canonical-tab{
  border:0;
  border-radius:8px;
  color:var(--tower-muted);
  background:transparent;
}

.admin-unified .canonical-tab:hover{color:var(--tower-navy);background:rgba(255,255,255,.7)}
.admin-unified .canonical-tab.is-active{color:#fff;background:var(--tower-navy)}

.admin-unified .btn-compact,
.admin-unified .btn-outline-compact,
.admin-unified button.btn-outline-compact[type=submit]{
  border-color:var(--tower-border-strong);
  color:var(--tower-navy);
  background:#fff;
}

.admin-unified .btn-compact:hover,
.admin-unified .btn-outline-compact:hover,
.admin-unified button.btn-outline-compact[type=submit]:hover{
  border-color:#bdc9da;
  color:var(--tower-blue-hover);
  background:var(--tower-blue-soft);
}

.admin-unified .btn-primary-compact,
.admin-unified button.btn-primary-compact[type=submit]{
  border-color:var(--tower-blue);
  color:#fff;
  background:var(--tower-blue);
}

.admin-unified .btn-primary-compact:hover,
.admin-unified button.btn-primary-compact[type=submit]:hover{
  border-color:var(--tower-blue-hover);
  color:#fff;
  background:var(--tower-blue-hover);
}

.admin-unified .btn-link-compact,
.admin-unified button.btn-link-compact[type=submit]{
  border-color:transparent;
  color:var(--tower-blue);
  background:transparent;
}

.admin-unified .btn-link-compact:hover,
.admin-unified button.btn-link-compact[type=submit]:hover{
  border-color:transparent;
  color:var(--tower-blue-hover);
  background:transparent;
}

.admin-unified .code-like{
  border-color:var(--tower-border);
  background:#f1f4f8;
}

.help-sidebar{top:90px}

.help-nav-link{
  border-color:transparent;
  color:var(--tower-muted);
  background:transparent;
}

.help-nav-link:hover{
  border-color:transparent;
  color:var(--tower-navy);
  background:var(--tower-blue-soft);
}

.help-nav-link.is-active{
  border-color:var(--tower-project-border);
  color:var(--tower-project-text);
  background:var(--tower-project-soft);
}

.help-nav-group-title{color:var(--tower-muted-2)}
.help-content-card{border-color:#d8e2f2}

/* ----------------------------------------------------------------------- */
/* Responsive contract */

@media (max-width:1200px){
  .tower-content > main,
  main{padding:28px 26px 64px}

  .project-dashboard-gsc-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:1024px){
  .tower-shell,
  .tower-shell.sidebar-collapsed{display:block}

  .tower-sidebar{
    position:fixed;
    inset:0 auto 0 0;
    width:236px;
    max-width:84vw;
    height:100vh;
    transform:translateX(-105%);
    transition:transform 180ms ease;
    box-shadow:0 22px 60px rgba(10,20,35,.3);
  }

  body.sidebar-open .tower-sidebar{transform:translateX(0)}
  body.sidebar-open .tower-sidebar-backdrop{display:block}
  body.sidebar-open{overflow:hidden}

  .sidebar-toggle-mobile{display:inline-grid}
  .sidebar-toggle-desktop{display:none}

  .tower-topbar{
    min-height:64px;
    padding:0 22px;
  }

  .tower-topbar nav a{min-height:36px}
  .newsroom-section-nav,.publication-section-nav{top:64px}
}

@media (max-width:820px){
  .tower-topbar{
    align-items:center;
    flex-direction:row;
    gap:10px;
    padding:0 18px;
  }

  .header-main-nav{
    width:auto;
    min-width:0;
    flex:1;
    flex-direction:row;
    align-items:center;
  }

  .header-main-nav nav{width:100%}

  .header-actions{
    flex:0 0 auto;
    display:flex;
  }

  .header-context-link{
    min-height:34px;
    padding:7px 9px;
    white-space:nowrap;
  }

  .tower-content > main,
  main{padding:24px 18px 56px}

  .card{padding:16px}
  .page-intro,.section-shell{padding:18px}
  .page-intro .section-title-heading h1{font-size:1.6rem}

  .project-dashboard-grid,
  .project-dashboard-gsc-grid,
  .help-layout{grid-template-columns:1fr}

  .help-sidebar{position:relative;top:auto}
  .help-nav-card{max-height:none}

  .row{grid-template-columns:1fr}
  .col-span-2{grid-column:span 1}

  .section-heading-row,
  .section-title,
  .project-dashboard-row{
    align-items:flex-start;
  }

  .section-heading-row{flex-direction:column}
  .page-actions{justify-content:flex-start}
}

@media (max-width:560px){
  .tower-topbar{
    min-height:64px;
    flex-wrap:nowrap;
    padding:10px 12px;
  }

  .tower-topbar > div:first-child{flex:0 0 36px}
  .header-main-nav{
    flex:1 1 calc(100% - 46px);
    flex-wrap:nowrap;
    gap:6px;
  }

  .header-main-nav nav{
    width:auto;
    flex:1 1 auto;
  }

  .header-actions{margin-left:0}

  .tower-topbar nav a{
    min-height:34px;
    padding:0 10px;
    font-size:13px;
  }

  .tower-content > main,
  main{padding:20px 14px 48px}

  .grid,
  .metric-grid,
  .project-dashboard-kpi-grid,
  .project-dashboard-kpi-line,
  .project-dashboard-gsc-kpis{
    grid-template-columns:1fr;
  }

  .card{margin-bottom:14px;padding:14px;border-radius:12px}
  .page-intro,.section-shell{padding:16px}

  .section-title{flex-wrap:wrap}
  .section-title-heading{align-items:flex-start}

  .actions{
    align-items:stretch;
  }

  .actions > form,
  .actions > form > button,
  .actions > a:not(.btn-link-compact){width:100%}

  .table-wrap .actions,
  td .actions{align-items:flex-start;flex-direction:column;white-space:normal}

  .login-screen{padding:18px}
  .login-card{padding:28px 22px}
  .login-brand-mark{width:64px;height:70px}

  #tower-toast-host{
    top:10px;
    right:10px;
    left:10px;
    width:auto;
    max-width:none;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}
