@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300..800&family=Space+Grotesk:wght@500;700&display=swap');

/* ============================================================
   LAYOUT TOKENS
   ============================================================ */
:root {
  /* Layout */
  --wn-sidebar-w: 232px;
  --wn-topbar-h: 52px;
  --wn-bottomnav-h: 62px;
  /* Accent – Stripe indigo */
  --wn-accent: #635bff;
  --wn-accent-hover: #4f46e5;
  --wn-accent-bg: rgba(99,91,255,.08);
  /* Surfaces */
  --wn-brand-dark: #1c1c1e;
  --wn-bg: #f5f5f7;
  --wn-surface: #ffffff;
  --wn-border: #e5e5ea;
  --wn-border-light: #f2f2f7;
  /* Text */
  --wn-text: #1c1c1e;
  --wn-sidebar-text: #1c1c1e;
  --wn-sidebar-muted: #86868b;
  --wn-sidebar-hover: rgba(0,0,0,.04);
  /* Radius */
  --wn-radius: 10px;
  --wn-radius-lg: 14px;
  /* Typography */
  --wn-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  /* ── Legacy variable aliases (overrides private-assets/*/app.css)
     Since shared-ui.css loads last, these cascade over the old teal
     values defined in every per-tool asset file.               */
  --accent:        #635bff;
  --accent-ink:    #4f46e5;
  --accent-light:  rgba(99,91,255,.08);
  --font:          'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --ink:           #1c1c1e;
  --muted:         #6e6e73;
  --line:          #e5e5ea;
  --line-strong:   #c7c7cc;
  --surface:       #ffffff;
  --surface-soft:  #fafafa;
}

/* ============================================================
   DESKTOP LAYOUT  —  sidebar always visible, content shifted
   ============================================================ */
@media (min-width: 900px) {
  body { padding-left: var(--wn-sidebar-w) !important; }
  .wn-topbar { display: none !important; }
  .wn-sidebar-overlay { display: none !important; }
  .wn-sidebar-close-btn { display: none !important; }

  .wn-sidebar {
    position: fixed;
    left: 0; top: 0;
    width: var(--wn-sidebar-w);
    height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--wn-surface);
    border-right: 1px solid var(--wn-border);
    z-index: 200;
    overflow: hidden;
  }
}

/* ============================================================
   MOBILE LAYOUT  —  fixed topbar + slide-in drawer
   ============================================================ */
@media (max-width: 899px) {
  body { padding-top: var(--wn-topbar-h) !important; }
  body { padding-bottom: calc(var(--wn-bottomnav-h) + env(safe-area-inset-bottom, 0px)) !important; }
  .wn-topbar-menu-btn { display: none !important; }

  /* Top bar */
  .wn-topbar {
    display: flex;
    position: fixed;
    top: 0; left: 0; right: 0;
    height: var(--wn-topbar-h);
    background: rgba(255,255,255,.92);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid var(--wn-border);
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    z-index: 300;
  }

  /* Sidebar as a drawer */
  .wn-sidebar {
    position: fixed;
    left: -100%;
    top: 0;
    width: min(288px, 88vw);
    height: 100dvh;
    background: var(--wn-surface);
    border-right: 1px solid var(--wn-border);
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: left .28s cubic-bezier(0.4,0,0.2,1);
    overflow: hidden;
  }
  .wn-sidebar.wn-open {
    left: 0;
    filter: drop-shadow(4px 0 28px rgba(0,0,0,.12));
  }

  /* Backdrop overlay */
  .wn-sidebar-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.30);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 450;
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease;
  }
  .wn-sidebar-overlay.wn-open {
    opacity: 1;
    pointer-events: auto;
  }
}

/* ============================================================
   TOPBAR INTERNALS
   ============================================================ */
.wn-topbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  color: var(--wn-brand-dark);
}
.wn-topbar-name {
  font-family: var(--wn-font);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: -.025em;
  color: var(--wn-brand-dark);
}
.wn-topbar-menu-btn {
  width: 40px; height: 40px;
  border: none;
  border-radius: var(--wn-radius);
  background: transparent;
  color: var(--wn-brand-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .14s;
}
.wn-topbar-menu-btn:hover { background: var(--wn-sidebar-hover); }

/* ============================================================
   SIDEBAR INTERNALS
   ============================================================ */
.wn-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 16px 14px;
  border-bottom: 1px solid var(--wn-border-light);
  flex-shrink: 0;
}
.wn-sidebar-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  color: var(--wn-brand-dark);
}
.wn-sidebar-brand-name {
  font-family: var(--wn-font);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: -.025em;
}
.wn-sidebar-close-btn {
  width: 32px; height: 32px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--wn-sidebar-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .14s, color .14s;
}
.wn-sidebar-close-btn:hover { background: #fee2e2; color: #991b1b; }

.wn-sidebar-actions {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.wn-sidebar-desktop-toggle-btn,
.wn-sidebar-desktop-expand-btn {
  width: 40px;
  height: 40px;
	border: none;
  border-radius: 10px;
	background: transparent;
	color: var(--wn-sidebar-muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .14s, color .14s;
}

.wn-sidebar-desktop-toggle-btn:hover,
.wn-sidebar-desktop-expand-btn:hover {
	background: var(--wn-sidebar-hover);
	color: var(--wn-brand-dark);
}

.wn-sidebar-desktop-expand-btn {
	position: fixed;
	left: 10px;
	top: 10px;
	z-index: 360;
	background: #ffffff;
	border: 1px solid var(--wn-border);
	box-shadow: 0 8px 20px rgba(15,23,42,.1);
	display: none;
}

/* Search */
.wn-sidebar-search-wrap {
  position: relative;
  padding: 10px 12px;
  flex-shrink: 0;
  border-bottom: 1px solid var(--wn-border-light);
}
.wn-sidebar-search {
  width: 100%;
  height: 34px;
  padding: 0 10px 0 30px;
  border: 1px solid var(--wn-border);
  border-radius: 8px;
  background: var(--wn-bg);
  font-family: var(--wn-font);
  font-size: .80rem;
  color: var(--wn-sidebar-text);
  outline: none;
  transition: border-color .15s, box-shadow .15s, background .15s;
  box-sizing: border-box;
}
.wn-sidebar-search:focus {
  border-color: var(--wn-accent);
  background: var(--wn-surface);
  box-shadow: 0 0 0 3px var(--wn-accent-bg);
}
.wn-search-icon {
  position: absolute;
  left: 22px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--wn-sidebar-muted);
  pointer-events: none;
}

/* Nav body */
.wn-sidebar-body {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding: 6px 0 20px;
  scrollbar-width: thin;
  scrollbar-color: #d1d1d6 transparent;
}
.wn-sidebar-body::-webkit-scrollbar { width: 3px; }
.wn-sidebar-body::-webkit-scrollbar-thumb { background: #d1d1d6; border-radius: 3px; }
.wn-sidebar-body::-webkit-scrollbar-track { background: transparent; }

.wn-sidebar-install {
  border-top: 1px solid var(--wn-border-light);
  padding: 12px;
  background: var(--wn-surface);
  flex-shrink: 0;
}

.wn-sidebar-install-btn {
  width: 100%;
  border: 1px solid var(--wn-accent);
  background: var(--wn-accent);
  color: #ffffff;
  border-radius: 10px;
  padding: 10px 12px;
  font-family: var(--wn-font);
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background .14s, border-color .14s;
}

.wn-sidebar-install-btn:hover {
  background: var(--wn-accent-hover);
  border-color: var(--wn-accent-hover);
}

.wn-sidebar-install-note {
  margin: 8px 0 0;
  font-family: var(--wn-font);
  font-size: .72rem;
  line-height: 1.45;
  color: var(--wn-sidebar-muted);
  text-align: center;
  display: none;
}

/* Top section (All Tools) */
.wn-sidebar-section {
  padding: 4px 8px 4px;
  border-bottom: 1px solid var(--wn-border-light);
  margin-bottom: 4px;
}

/* Individual links */
.wn-sidebar-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  color: var(--wn-sidebar-text);
  text-decoration: none;
  font-family: var(--wn-font);
  font-size: .82rem;
  font-weight: 450;
  line-height: 1.35;
  transition: background .12s, color .12s;
  word-break: break-word;
  letter-spacing: -.01em;
}
.wn-sidebar-link:hover { background: var(--wn-sidebar-hover); color: var(--wn-brand-dark); }
.wn-sidebar-link.wn-active,
.wn-sidebar-link[aria-current="page"] {
  background: var(--wn-accent-bg);
  color: var(--wn-accent);
  font-weight: 600;
}
.wn-sidebar-link-home {
  font-weight: 650;
  font-size: .84rem;
}

/* Global danger actions: Clear All / Delete / Reset */
.wn-danger-action {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.wn-danger-action:hover,
.wn-danger-action:focus-visible,
.wn-danger-action:active {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

.btn-danger,
.danger,
.delete-btn {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
}

.btn-danger:hover,
.danger:hover,
.delete-btn:hover,
.btn-danger:focus-visible,
.danger:focus-visible,
.delete-btn:focus-visible,
.btn-danger:active,
.danger:active,
.delete-btn:active {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

button.wn-danger-action,
input.wn-danger-action,
.btn.wn-danger-action,
.doc-btn.wn-danger-action,
.m-btn.wn-danger-action,
.u-btn.wn-danger-action,
.ie-btn.wn-danger-action,
.lw-btn.wn-danger-action,
.tt-btn.wn-danger-action {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
}

button.wn-danger-action:hover,
input.wn-danger-action:hover,
.btn.wn-danger-action:hover,
.doc-btn.wn-danger-action:hover,
.m-btn.wn-danger-action:hover,
.u-btn.wn-danger-action:hover,
.ie-btn.wn-danger-action:hover,
.lw-btn.wn-danger-action:hover,
.tt-btn.wn-danger-action:hover {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

/* Groups (collapsible) */
.wn-sidebar-group { border: none; margin: 0; background: transparent; }
.wn-sidebar-group-hd {
  list-style: none;
  cursor: pointer;
  padding: 5px 12px 5px 14px;
  font-family: var(--wn-font);
  font-size: .63rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #b0b0b8;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: color .12s;
  margin-top: 6px;
}
.wn-sidebar-group-hd::-webkit-details-marker { display: none; }
.wn-sidebar-group-hd::after {
  content: '';
  display: inline-block;
  width: 12px; height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
  transition: transform .18s ease;
}
.wn-sidebar-group[open] .wn-sidebar-group-hd::after { transform: rotate(180deg); }
.wn-sidebar-group-hd:hover { color: var(--wn-sidebar-text); }

.wn-sidebar-group-links {
  padding: 2px 6px 4px;
}
.wn-sidebar-group-links .wn-sidebar-link {
  padding: 7px 12px;
  font-size: .80rem;
  font-weight: 400;
  color: #3a3a3c;
  letter-spacing: -.01em;
}
.wn-sidebar-group-links .wn-sidebar-link:hover {
  color: var(--wn-brand-dark);
  background: var(--wn-sidebar-hover);
}

@media print {
  .wn-topbar, .wn-sidebar, .wn-sidebar-overlay, .wn-bottom-nav, .wn-module-seo-block { display: none !important; }
}

/* ============================================================
   MOBILE BOTTOM NAVIGATION BAR
   ============================================================ */
.wn-bottom-nav { display: none; }

@media (max-width: 899px) {
  .wn-bottom-nav {
    display: flex;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    height: calc(var(--wn-bottomnav-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: rgba(255,255,255,.92);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-top: 1px solid var(--wn-border);
    z-index: 290;
  }

  .wn-bn-tab {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-decoration: none;
    color: #aeaeb2;
    font-size: .54rem;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    padding: 7px 2px 5px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-family: var(--wn-font);
    transition: color .15s;
    -webkit-tap-highlight-color: transparent;
    position: relative;
  }

  .wn-bn-tab:hover,
  .wn-bn-tab.wn-active { color: var(--wn-accent); }

  .wn-bn-tab svg {
    display: block;
    width: 22px; height: 22px;
    stroke-width: 1.6;
    flex-shrink: 0;
    transition: transform .15s;
  }

  .wn-bn-tab.wn-active svg { transform: scale(1.08); }

  /* Active indicator bar at top of tab */
  .wn-bn-tab.wn-active::before {
    content: '';
    position: absolute;
    top: 0; left: 25%; right: 25%;
    height: 2px;
    border-radius: 0 0 3px 3px;
    background: var(--wn-accent);
  }
}

/* ── SEO / About block ───────────────────────────────────── */
.wn-module-seo-block{
  max-width:920px;
  margin:0 auto;
  padding:56px 28px 52px;
  border:0;
  border-top:1px solid var(--wn-border-light);
  background:transparent;
  color:var(--wn-text);
  font-family:var(--wn-font);
}
.wn-module-seo-block h2{
  margin:0 0 14px;
  font-size:1.1rem;
  font-weight:700;
  letter-spacing:-.035em;
  color:var(--wn-brand-dark);
  line-height:1.3;
}
.wn-module-seo-block h3{
  margin:36px 0 14px;
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#b0b0b8;
}
.wn-module-seo-block p{
  margin:0;
  font-size:.9rem;
  line-height:1.85;
  color:var(--muted,#6e6e73);
}
.wn-module-seo-block ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.wn-module-seo-block li{
  font-size:.9rem;
  line-height:1.7;
  color:var(--muted,#6e6e73);
  padding-left:20px;
  position:relative;
}
.wn-module-seo-block li::before{
  content:'';
  position:absolute;
  left:0;
  top:.72em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--wn-accent);
  opacity:.6;
}
.wn-module-seo-block strong{
  color:var(--wn-brand-dark);
  font-weight:600;
}
@media (max-width:680px){
  .wn-module-seo-block{padding:36px 16px 32px}
}

.wn-preview-footer{margin-top:16px;padding-top:10px;border-top:1px solid #e5e5ea;color:#6e6e73;font-size:.82rem;text-align:center;}

html,body{max-width:100%;overflow-x:hidden}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
.m-grid,.m-grid3,.ln-grid,.grid,.u-grid,.u-grid3,.doc-grid,.doc-meta,.row,.layout,.tt-top,.todo-controls{min-width:0}
.m-grid>*,.m-grid3>*,.ln-grid>*,.grid>*,.u-grid>*,.u-grid3>*,.doc-grid>*,.doc-meta>*,.row>*,.layout>*,.tt-top>*,.todo-controls>*{min-width:0}

.wn-inline-check-label{display:inline-flex!important;align-items:center!important;gap:8px;line-height:1.45}
.wn-inline-check-label input[type="checkbox"],
.wn-inline-check-label input[type="radio"]{margin:0!important;flex:0 0 auto}

.m-output,.out,.u-preview,.doc-preview{white-space:pre-line}

#wnPrintContainer{display:none}
body.wn-print-isolated>#wnPrintContainer{display:block!important}

@media print{
	body.wn-print-isolated>*:not(#wnPrintContainer){display:none!important}
	body.wn-print-isolated{margin:0!important;padding:0!important;background:#fff!important}
	body.wn-print-isolated #wnPrintContainer{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
	body.wn-print-isolated .wn-print-target,
	body.wn-print-isolated .wn-print-target *{visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
	body.wn-print-isolated .wn-print-target{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
	body.wn-print-isolated .wn-print-target .m-preview,
	body.wn-print-isolated .wn-print-target .m-output,
	body.wn-print-isolated .wn-print-target .out,
	body.wn-print-isolated .wn-print-target .doc-preview,
	body.wn-print-isolated .wn-print-target .u-preview,
	body.wn-print-isolated .wn-print-target .invoice,
	body.wn-print-isolated .wn-print-target .quotation,
	body.wn-print-isolated .wn-print-target .receipt,
	body.wn-print-isolated .wn-print-target .letter,
	body.wn-print-isolated .wn-print-target .doc-page,
	body.wn-print-isolated .wn-print-target .doc-card,
	body.wn-print-isolated .wn-print-target .sheet-wrap,
	body.wn-print-isolated .wn-print-target .fc-scroll,
	body.wn-print-isolated .wn-print-target .dm-scroll,
	body.wn-print-isolated .wn-print-target .oc-scroll,
	body.wn-print-isolated .wn-print-target .m-canvas-wrap,
	body.wn-print-isolated .wn-print-target .m-table,
	body.wn-print-isolated .wn-print-target .tt-log-wrap,
	body.wn-print-isolated .wn-print-target .todo-shell,
	body.wn-print-isolated .wn-print-target .todo-list,
	body.wn-print-isolated .wn-print-target .print-area,
	body.wn-print-isolated .wn-print-target .canvas-wrap{
		border:0!important;
		box-shadow:none!important;
		background:#fff!important;
		outline:none!important;
	}
	body.wn-print-isolated .wn-print-target .sheet-wrap,
	body.wn-print-isolated .wn-print-target .fc-scroll,
	body.wn-print-isolated .wn-print-target .dm-scroll,
	body.wn-print-isolated .wn-print-target .oc-scroll,
	body.wn-print-isolated .wn-print-target .m-canvas-wrap,
	body.wn-print-isolated .wn-print-target .m-preview,
	body.wn-print-isolated .wn-print-target .doc-preview,
	body.wn-print-isolated .wn-print-target .u-preview,
	body.wn-print-isolated .wn-print-target .preview-wrap,
	body.wn-print-isolated .wn-print-target .tt-log-wrap{
		overflow:visible!important;
		max-height:none!important;
		height:auto!important;
	}
	body.wn-print-isolated .wn-print-target canvas,
	body.wn-print-isolated .wn-print-target svg,
	body.wn-print-isolated .wn-print-target img{max-width:100%!important;height:auto!important}
	body.wn-print-isolated .wn-print-target .invoice-footer,
	body.wn-print-isolated .wn-print-target .quotation-footer,
	body.wn-print-isolated .wn-print-target .receipt-footer,
	body.wn-print-isolated .wn-print-target .wn-preview-footer{display:none!important}
}

/* Legacy module header normalization */
.site-header{margin-bottom:14px!important}
.site-header .header-inner{padding:0!important;display:block!important}
.site-header .brand{gap:0!important}
.site-header .brand-icon{display:none!important}
.site-header .brand-name{font-size:1.16rem!important;font-weight:700!important;letter-spacing:-.025em!important;color:var(--wn-brand-dark)!important}
.site-header .header-tagline{display:none!important}

.doc-head,
.m-head:not(.wn-tool-page-head){
	margin:0 0 36px!important;
}

.doc-head h1,
.m-head h1{
	margin:0!important;
	font-size:clamp(1.75rem,3.2vw,2.5rem)!important;
	line-height:1.1!important;
	letter-spacing:-.04em!important;
	color:var(--wn-brand-dark)!important;
	font-weight:700!important;
}

.doc-head p,
.m-head p{
	margin:10px 0 0!important;
	color:#6e6e73!important;
	font-size:1rem!important;
	line-height:1.65!important;
	max-width:520px!important;
}

.wn-runtime-split{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:24px;
	align-items:start;
}

.wn-doc-runtime-split{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:24px;
	align-items:start;
}

.wn-runtime-panel{
	border:1px solid var(--wn-border);
	border-radius:var(--wn-radius-lg);
	background:var(--wn-surface);
	overflow:hidden;
}

.wn-runtime-panel .wn-runtime-panel-body{
	padding:0;
}

.wn-runtime-panel.form-panel .wn-runtime-panel-body>section,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>div,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.doc-meta,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.doc-grid,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.doc-actions,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.m-actions,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.ln-actions,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.u-actions{
	padding:24px 28px;
	border-bottom:1px solid var(--wn-border-light);
	margin:0!important;
}

.wn-runtime-panel.form-panel .wn-runtime-panel-body>:last-child{
	border-bottom:0;
}

.wn-runtime-panel.form-panel .wn-runtime-panel-body>.doc-actions,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.m-actions,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.ln-actions,
.wn-runtime-panel.form-panel .wn-runtime-panel-body>.u-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.m-card.form-panel > .m-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 12px !important;
}

@media (max-width: 768px) {
  .m-card.form-panel > .m-grid {
    grid-template-columns: 1fr !important;
  }
}

.wn-runtime-panel.preview-panel .m-preview,
.wn-runtime-panel.preview-panel .doc-preview,
.wn-runtime-panel.preview-panel .u-preview,
.wn-runtime-panel.preview-panel .out,
.wn-runtime-panel.preview-panel .m-output{
	margin:0!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	padding:24px 28px!important;
	background:#fff!important;
}

.wn-runtime-panel.preview-panel .m-preview{
	margin-top:0!important;
	position:sticky;
	top:14px;
	max-height:calc(100vh - 120px);
	overflow:auto;
}

.wn-runtime-panel.preview-panel .preview-top{
	padding:20px 28px 16px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	border-bottom:1px solid var(--wn-border-light);
}

.wn-runtime-panel.preview-panel .preview-top .block-title{
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 18px;
}

.wn-runtime-panel.preview-panel .panel-actions{
	padding:12px;
	border-top:1px solid var(--wn-border-light);
	display:flex;
	gap:10px;
	padding:20px 28px;
}

.wn-runtime-panel.preview-panel .panel-actions .btn{
	flex:1;
}

.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	padding:9px 18px;
	border:1px solid transparent;
	border-radius:var(--radius-sm,10px);
	font-family:var(--font,Manrope,Segoe UI,sans-serif);
	font-size:.875rem;
	font-weight:500;
	cursor:pointer;
	transition:background-color .15s,border-color .15s,box-shadow .15s,opacity .15s;
	white-space:nowrap;
}

.btn-primary{
	background:var(--wn-accent);
	color:#fff;
	border-color:var(--wn-accent);
}

.wn-doc-runtime-split .doc-preview,
.wn-doc-runtime-split .wn-runtime-panel.preview-panel .doc-preview{
	margin:0!important;
	position:sticky;
	top:14px;
	max-height:calc(100vh - 120px);
	overflow:auto;
}

@media (max-width:960px){
	.wn-runtime-split{grid-template-columns:1fr!important}
	.wn-runtime-panel.preview-panel .m-preview{position:static;max-height:none}
	.wn-doc-runtime-split{grid-template-columns:1fr!important}
	.wn-doc-runtime-split .doc-preview{position:static;max-height:none}
	.wn-runtime-panel.form-panel .wn-runtime-panel-body>section,
	.wn-runtime-panel.form-panel .wn-runtime-panel-body>div,
	.wn-runtime-panel.form-panel .wn-runtime-panel-body>.doc-meta,
	.wn-runtime-panel.form-panel .wn-runtime-panel-body>.doc-grid,
	.wn-runtime-panel.form-panel .wn-runtime-panel-body>.doc-actions,
	.wn-runtime-panel.form-panel .wn-runtime-panel-body>.m-actions,
	.wn-runtime-panel.form-panel .wn-runtime-panel-body>.ln-actions,
	.wn-runtime-panel.form-panel .wn-runtime-panel-body>.u-actions,
	.wn-runtime-panel.preview-panel .m-preview,
	.wn-runtime-panel.preview-panel .doc-preview,
	.wn-runtime-panel.preview-panel .u-preview,
	.wn-runtime-panel.preview-panel .out,
	.wn-runtime-panel.preview-panel .m-output{
		padding:16px!important;
	}
	.wn-runtime-panel.preview-panel .preview-top,
	.wn-runtime-panel.preview-panel .panel-actions{
		padding:16px!important;
	}
}

body.wn-timetable-stack .wn-runtime-split{grid-template-columns:1fr!important}

.wn-menu-search-wrap{padding:6px 8px 8px}
.wn-menu-search-label{display:block;font-family:var(--wn-font);font-size:.68rem;color:#86868b;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.wn-menu-search{width:100%;border:1px solid var(--wn-border);border-radius:8px;padding:8px 10px;font-family:var(--wn-font);font-size:.82rem;background:var(--wn-surface);color:var(--wn-text)}
.wn-menu-search:focus{outline:none;border-color:var(--wn-accent);box-shadow:0 0 0 3px var(--wn-accent-bg)}
.wn-menu-search-help{margin:5px 0 0;font-family:var(--wn-font);font-size:.70rem;color:#86868b}

.wn-back-to-top-dock{position:fixed;right:16px;bottom:16px;z-index:2400;display:flex;gap:8px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .22s,transform .22s}
.wn-back-to-top-dock.show{opacity:1;transform:translateY(0);pointer-events:auto}
.wn-back-to-top{width:42px;height:42px;border:0;border-radius:12px;background:var(--wn-brand-dark);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.16);transition:background .2s,transform .2s}
.wn-back-to-top:hover{background:#2c2c2e;transform:translateY(-1px)}
.wn-back-to-top:focus{outline:none;box-shadow:0 0 0 3px var(--wn-accent-bg),0 4px 20px rgba(0,0,0,.16)}
.wn-back-to-top svg{width:20px;height:20px}

@media (max-width: 899px) {
	.wn-back-to-top-dock {
		right: 10px;
		top: 7px;
		bottom: auto;
		z-index: 360;
		gap: 6px;
		transform: translateY(-6px);
	}

	.wn-back-to-top-dock.show {
		transform: translateY(0);
	}

	.wn-back-to-top {
    width: 42px;
    height: 42px;
		border-radius: 10px;
		box-shadow: 0 2px 12px rgba(0,0,0,.14);
	}

	.wn-back-to-top svg {
    width: 20px;
    height: 20px;
	}
}

/* ── Share block ─────────────────────────────────────────── */
.wn-share-this-page{
  --wn-share-navy:#06162f;
  --wn-share-navy-2:#0d2347;
  --wn-share-cyan:#3cf4ff;
  --wn-share-cyan-soft:rgba(60,244,255,.18);
  --wn-share-glass:rgba(11,26,55,.72);
  --wn-share-text:#eff7ff;
  --wn-share-muted:rgba(222,240,255,.72);
  margin:28px auto;
  padding:36px;
  border:1px solid rgba(106,185,255,.18);
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(60,244,255,.18), transparent 24%),
    radial-gradient(circle at bottom left, rgba(66,118,255,.2), transparent 22%),
    linear-gradient(135deg, rgba(5,15,34,.96), rgba(10,32,67,.94) 58%, rgba(8,20,43,.98));
  box-shadow:0 32px 80px rgba(2,8,22,.3);
  overflow:hidden;
  position:relative;
}
.wn-share-this-page::before,
.wn-share-this-page::after{
  content:'';
  position:absolute;
  inset:auto;
  pointer-events:none;
}
.wn-share-this-page::before{
  width:220px;
  height:220px;
  right:-70px;
  top:-60px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(60,244,255,.22), rgba(60,244,255,0));
}
.wn-share-this-page::after{
  width:180px;
  height:180px;
  left:-40px;
  bottom:-60px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(66,118,255,.18), rgba(66,118,255,0));
}
.wn-share-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:28px;
  align-items:stretch;
}
.wn-share-intro,
.wn-share-actions{
  border:1px solid rgba(148,220,255,.12);
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.wn-share-intro{
  padding:30px;
  border-radius:24px;
}
.wn-share-actions{
  padding:24px;
  border-radius:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.wn-share-eyebrow{
  margin:0;
  color:var(--wn-share-cyan);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.wn-share-this-page h2{
  margin:14px 0 0;
  font-family:'Space Grotesk', var(--wn-font);
  font-size:clamp(2.65rem,6vw,5.8rem);
  line-height:.88;
  font-weight:700;
  letter-spacing:-.08em;
  color:var(--wn-share-text);
  text-transform:uppercase;
}
.wn-share-sub{
  margin:20px 0 0;
  max-width:50ch;
  font-family:var(--wn-font);
  color:var(--wn-share-muted);
  font-size:1rem;
  font-weight:500;
  line-height:1.8;
  letter-spacing:-.015em;
}
.wn-share-buttons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.wn-share-btn{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:78px;
  text-decoration:none;
  border:1px solid rgba(148,220,255,.13);
  border-radius:22px;
  padding:16px 18px;
  font-family:var(--wn-font);
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04));
  color:var(--wn-share-text);
  cursor:pointer;
  transition:border-color .18s, background .18s, transform .18s, box-shadow .18s;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.wn-share-btn:hover{
  border-color:rgba(60,244,255,.38);
  background:linear-gradient(180deg, rgba(60,244,255,.14), rgba(255,255,255,.06));
  transform:translateY(-2px);
  box-shadow:0 18px 28px rgba(2,8,22,.18);
}
.wn-share-btn-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  flex:0 0 44px;
  position:relative;
  background:linear-gradient(145deg, rgba(255,255,255,.28), rgba(60,244,255,.16));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 10px rgba(255,255,255,.24), 0 10px 18px rgba(0,0,0,.2);
}
.wn-share-btn-icon::before,
.wn-share-btn-icon::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:currentColor;
}
.wn-share-btn-label{
  display:block;
  font-family:'Space Grotesk', var(--wn-font);
  font-size:1rem;
  font-weight:700;
  letter-spacing:-.035em;
}
.wn-share-btn.is-facebook{color:#b7d8ff}
.wn-share-btn.is-facebook .wn-share-btn-icon::before{width:10px;height:24px;border-radius:3px 3px 0 0;transform:translate(-50%,-42%)}
.wn-share-btn.is-facebook .wn-share-btn-icon::after{width:16px;height:6px;border-radius:999px;transform:translate(-28%,-5%)}
.wn-share-btn.is-x{color:#f2fbff}
.wn-share-btn.is-x .wn-share-btn-icon::before{width:24px;height:3px;transform:translate(-50%,-50%) rotate(52deg);border-radius:999px}
.wn-share-btn.is-x .wn-share-btn-icon::after{width:24px;height:3px;transform:translate(-50%,-50%) rotate(-52deg);border-radius:999px}
.wn-share-btn.is-whatsapp{color:#91ffd0}
.wn-share-btn.is-whatsapp .wn-share-btn-icon::before{width:20px;height:20px;border:3px solid currentColor;background:transparent;border-radius:50%;transform:translate(-50%,-54%)}
.wn-share-btn.is-whatsapp .wn-share-btn-icon::after{width:10px;height:10px;clip-path:polygon(0 100%,100% 100%,60% 0);transform:translate(-10%,62%) rotate(8deg)}
.wn-share-btn.is-messenger{color:#adc8ff}
.wn-share-btn.is-messenger .wn-share-btn-icon::before{width:22px;height:18px;border-radius:10px 10px 10px 4px;transform:translate(-50%,-50%)}
.wn-share-btn.is-messenger .wn-share-btn-icon::after{width:14px;height:4px;background:#06162f;clip-path:polygon(0 50%,38% 50%,50% 0,60% 50%,100% 50%,68% 100%,54% 66%,42% 100%)}
.wn-share-btn.is-email{color:#ffd6e2}
.wn-share-btn.is-email .wn-share-btn-icon::before{width:24px;height:16px;border:2px solid currentColor;background:transparent;border-radius:4px}
.wn-share-btn.is-email .wn-share-btn-icon::after{width:18px;height:2px;transform:translate(-50%,-50%) rotate(28deg);box-shadow:0 0 0 0 currentColor, 0 0 0 0 currentColor}
.wn-share-btn.is-copy{color:#8ef7ff}
.wn-share-btn.is-copy .wn-share-btn-icon::before{width:16px;height:18px;border:2px solid currentColor;background:transparent;border-radius:4px;transform:translate(-40%,-42%)}
.wn-share-btn.is-copy .wn-share-btn-icon::after{width:16px;height:18px;border:2px solid currentColor;background:transparent;border-radius:4px;transform:translate(-58%,-58%)}
@media (max-width:920px){
  .wn-share-shell{grid-template-columns:1fr}
}

@media (max-width:680px){
  .wn-share-this-page{padding:18px;border-radius:24px}
  .wn-share-intro,.wn-share-actions{padding:18px}
  .wn-share-buttons{grid-template-columns:1fr}
  .wn-share-btn{min-height:68px;padding:14px 16px}
}

.wn-adsense-inline{margin:18px auto;padding:10px 0;text-align:center;overflow:hidden}
.wn-adsense-inline>*{margin-left:auto;margin-right:auto}

.wn-content-page{max-width:980px;width:min(980px,calc(100% - 24px));margin:20px auto}
.wn-content-card{background:var(--wn-surface);border:1px solid var(--wn-border);border-radius:16px;padding:18px 20px;color:#3a3a3c;line-height:1.7}
.wn-content-card h1{margin:0 0 12px;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.2;color:var(--wn-brand-dark);font-weight:700;letter-spacing:-.03em}
.wn-content-card h2{margin:18px 0 8px;font-size:1.1rem;color:var(--wn-brand-dark);font-weight:650;letter-spacing:-.02em}
.wn-content-card p{margin:0 0 10px;font-family:var(--wn-font)}
.wn-content-card ul{margin:0 0 10px;padding-left:20px}
.wn-page-date{font-size:.88rem;color:#86868b}

.wn-contact-form{display:grid;gap:14px;margin-top:16px}
.wn-contact-field label{display:block;font-family:var(--wn-font);font-size:.83rem;color:#3a3a3c;margin-bottom:6px;font-weight:600;letter-spacing:-.01em}
.wn-contact-field input,.wn-contact-field textarea{width:100%;border:1px solid var(--wn-border);border-radius:10px;padding:11px 14px;font-family:var(--wn-font);font-size:.875rem;background:var(--wn-surface);color:var(--wn-text);transition:border-color .15s,box-shadow .15s}
.wn-contact-field input:focus,.wn-contact-field textarea:focus{outline:none;border-color:var(--wn-accent);box-shadow:0 0 0 3px var(--wn-accent-bg)}
.wn-contact-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wn-contact-btn{border:none;background:var(--wn-accent);color:#fff;border-radius:10px;padding:11px 20px;font-family:var(--wn-font);font-size:.875rem;font-weight:600;cursor:pointer;letter-spacing:-.01em;transition:background .15s}
.wn-contact-btn:hover{background:var(--wn-accent-hover)}
.wn-contact-msg{padding:11px 14px;border-radius:10px;font-family:var(--wn-font);font-size:.875rem}
.wn-contact-msg.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.wn-contact-msg.err{background:#fff5f5;border:1px solid #fecaca;color:#c53030}

@media (max-width:680px){
	.wn-adsense-inline{flex-direction:column;align-items:flex-start}
}

/* Standardize module container widths — all content columns capped at 1100px */
.tool,
.wn-module-seo-block,
.wn-share-this-page,
.wn-adsense-inline,
.page-wrapper,
.page,
.page-wrap,
.m-page,
.u-page,
.ln-page,
.lw-page,
.sp-page,
.t-page,
.sc-page,
.doc-page,
.app-shell,
main.app-shell,
main.page,
main.m-page,
main.doc-page{
	max-width:1100px!important;
	width:min(1100px,calc(100% - 24px))!important;
	margin-left:auto!important;
	margin-right:auto!important;
}

.wn-tool-page-head{
	max-width:1100px;
  margin:18px auto 14px;
	padding:0 4px;
}

.wn-tool-category{
  display:inline-block;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#635bff;
  background:rgba(99,91,255,.08);
  padding:4px 12px;
  border-radius:999px;
  margin:0 0 14px;
}

.wn-tool-page-head h1{
	margin:0!important;
	font-size:clamp(1.75rem,3.2vw,2.5rem)!important;
	line-height:1.1!important;
	letter-spacing:-.04em!important;
	color:var(--wn-brand-dark)!important;
	font-weight:700!important;
}

.wn-tool-page-head p{
	margin:10px 0 0!important;
	color:#6e6e73!important;
	font-size:1rem!important;
	line-height:1.65!important;
	max-width:520px!important;
}

body.wn-graphic-workspace .wn-tool-page-head{
	max-width:1180px;
	width:min(1180px,100%);
  margin:20px auto 16px;
	padding:0 2px;
}

body.wn-graphic-workspace .tool-shell,
body.wn-graphic-workspace .wn-graphic-shell{
	max-width:1180px;
	width:min(1180px,100%);
	margin:0 auto;
	padding:0!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
}

body.wn-graphic-workspace .tool-shell>.layout,
body.wn-graphic-workspace .wn-graphic-layout{
	margin-top:0!important;
	display:grid!important;
	grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important;
	gap:20px!important;
	align-items:start!important;
}

body.wn-graphic-workspace .tool-shell>.layout>.panel,
body.wn-graphic-workspace .wn-graphic-layout>.panel{
	border:1px solid var(--wn-border)!important;
	border-radius:var(--wn-radius-lg)!important;
	background:var(--wn-surface)!important;
	padding:18px!important;
	box-shadow:none!important;
	overflow:hidden;
}

body.wn-graphic-workspace .tool-shell>.layout>.controls-panel,
body.wn-graphic-workspace .wn-graphic-layout>.controls-panel{
	position:sticky;
  top:12px;
  max-height:calc(100vh - 24px);
  overflow:auto;
  overflow-x:hidden;
  padding-bottom:16px;
  scrollbar-gutter:stable;
	overscroll-behavior:contain;
}

body.wn-graphic-workspace .tool-shell>.layout>.preview-panel,
body.wn-graphic-workspace .wn-graphic-layout>.preview-panel{
	display:flex;
	flex-direction:column;
	gap:12px;
	align-self:start;
	min-width:0;
}

body.wn-graphic-workspace .tool-shell .section-label{
	margin-bottom:10px;
	color:var(--wn-accent);
	font-size:.75rem;
	letter-spacing:.07em;
}

body.wn-graphic-workspace .tool-shell .control-group + .control-group{
	margin-top:14px;
}

body.wn-graphic-workspace .tool-shell .row,
body.wn-graphic-workspace .tool-shell .btn-row{
	align-items:start;
}

body.wn-graphic-workspace .tool-shell .preview-wrap{
	min-height:480px;
	padding:18px;
	border:1px dashed var(--wn-border);
	border-radius:var(--wn-radius-lg);
	background:var(--wn-bg);
	overflow:auto;
	overscroll-behavior:contain;
}

body.wn-graphic-workspace .tool-shell canvas,
body.wn-graphic-workspace .tool-shell #imagePreview{
	max-width:100%;
	max-height:min(74vh,820px);
	height:auto;
	margin:0 auto;
}

body.wn-graphic-workspace .tool-shell .meta{
	line-height:1.55;
}

@media (max-width:960px){
	body.wn-graphic-workspace{
		padding:18px 12px 24px!important;
	}
	body.wn-graphic-workspace .tool-shell>.layout,
	body.wn-graphic-workspace .wn-graphic-layout{
		grid-template-columns:1fr!important;
		gap:14px!important;
	}
	body.wn-graphic-workspace .tool-shell>.layout>.controls-panel,
	body.wn-graphic-workspace .wn-graphic-layout>.controls-panel{
		position:static;
		max-height:none;
	}
	body.wn-graphic-workspace .tool-shell>.layout>.panel,
	body.wn-graphic-workspace .wn-graphic-layout>.panel{
		padding:16px!important;
		border-radius:14px!important;
	}
	body.wn-graphic-workspace .tool-shell .preview-wrap{
		min-height:320px;
		padding:12px;
	}
}

@media (max-width:899px){
  body.wn-graphic-workspace{
    padding:calc(var(--wn-topbar-h) + 14px) 12px calc(var(--wn-bottomnav-h) + 18px)!important;
  }
  body.wn-graphic-workspace .wn-tool-page-head{
    margin-top:4px;
  }
  body.wn-graphic-workspace .wn-tool-page-head .wn-tool-category{
    margin-top:8px;
  }
}

/* Two-column layout for text-template generators */
.wn-template-generator-layout .m-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.wn-template-generator-layout .m-card .m-grid3,
.wn-template-generator-layout .m-card .m-grid,
.wn-template-generator-layout .m-card #secWrap,
.wn-template-generator-layout .m-card .m-actions{grid-column:1}
.wn-template-generator-layout .m-card .m-preview{grid-column:2;grid-row:1 / span 4;margin-top:0;position:sticky;top:14px;max-height:calc(100vh - 120px);overflow:auto}

@media (max-width:960px){
	.wn-template-generator-layout .m-card{grid-template-columns:1fr!important}
	.wn-template-generator-layout .m-card .m-preview{grid-column:1;grid-row:auto;position:static;max-height:none;margin-top:12px}
}

/* Global body defaults – ultra-modern Apple/Stripe aesthetic */
body{background:var(--wn-bg)!important;font-family:var(--wn-font)!important}
h1,h2,h3,h4,h5,h6,p,div,span,li,td,th,a,label{font-family:inherit}

/* Normalize h1/p headings in simple page types that lack a dedicated .m-head wrapper */
.m-page>h1,.m-page>header>h1,
.u-page>header>h1,.ln-page>header>h1,.lw-page>header>h1,
.sp-page>header>h1,.t-page>header>h1,.sc-page>header>h1{
	font-size:clamp(1.75rem,3.2vw,2.5rem)!important;
	font-weight:700!important;
	letter-spacing:-.04em!important;
	color:var(--wn-brand-dark)!important;
	line-height:1.1!important;
	margin:0 0 8px!important;
}
.m-page>p:first-of-type,.m-page>header>p,
.u-page>header>p,.ln-page>header>p,.lw-page>header>p,
.sp-page>header>p,.t-page>header>p,.sc-page>header>p{
	color:#6e6e73!important;
	font-size:1rem!important;
	line-height:1.65!important;
	margin:0 0 28px!important;
	max-width:520px!important;
}
.panel-actions .btn {
    flex: 1;
}

/* ===================================================
   GLOBAL POLISH — professional, modern, minimalist
   =================================================== */

/* Font smoothing & rendering */
html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Refined custom scrollbar */
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d1d1d6; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #aeaeb2; }

/* Hamburger button — hover & focus ring */
.wn-hamburger-btn:hover { background: #1e3a5f !important; }
.wn-hamburger-btn:focus-visible { outline: 2px solid var(--wn-accent); outline-offset: 2px; }

/* Hamburger panel link focus */
.wn-hamburger-panel a:focus-visible {
	outline: 2px solid var(--wn-accent);
	outline-offset: -2px;
	border-radius: 8px;
}

/* ---- Static content pages: about-us, privacy, terms, contact ---- */
.wn-content-page {
	max-width: 920px;
	margin: 0 auto;
	padding: 32px 20px 48px;
}

.wn-content-card {
	background: var(--wn-surface);
	border: 1px solid var(--wn-border);
	border-radius: 16px;
	padding: 36px 40px;
	line-height: 1.78;
}

.wn-content-card h1 {
	margin: 0 0 6px;
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 1.15;
	color: var(--wn-brand-dark);
}

.wn-content-card h2 {
	margin: 28px 0 8px;
	font-size: 1.05rem;
	font-weight: 650;
	letter-spacing: -.02em;
	color: var(--wn-brand-dark);
}

.wn-content-card p {
	margin: 0 0 14px;
	color: #3a3a3c;
	font-size: .94rem;
	line-height: 1.75;
}

.wn-content-card p:last-child { margin-bottom: 0; }

.wn-content-card .wn-page-date {
	display: block;
	margin-bottom: 20px;
	color: #86868b;
	font-size: .82rem;
}

.wn-content-card a {
	color: var(--wn-accent);
	text-decoration: none;
	font-weight: 500;
}

.wn-content-card a:hover { text-decoration: underline; }

.wn-content-card strong { color: var(--wn-brand-dark); font-weight: 600; }

@media (max-width: 680px) {
	.wn-content-page { padding: 16px 12px 36px; }
	.wn-content-card { padding: 22px 18px; border-radius: 12px; }
}

/* ---- m-card — slightly more breathing room ---- */
.m-card {
	padding: 16px !important;
	border-radius: 14px !important;
}

/* ---- m-btn — refined typography + primary depth ---- */
.m-btn {
	font-size: .875rem !important;
	letter-spacing: -.005em !important;
}

.m-btn-primary {
	box-shadow: 0 1px 4px rgba(99,91,255,.2) !important;
}

.m-btn-primary:hover {
	box-shadow: 0 3px 10px rgba(99,91,255,.3) !important;
}

/* ---- Module SEO block — consolidated above ---- */

/* ---- Runtime panel button improvements ---- */
.btn-primary:hover {
	background: var(--wn-accent-hover) !important;
	border-color: var(--wn-accent-hover) !important;
}

.btn-primary:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px var(--wn-accent-bg) !important;
}

/* ---- Global input/select/textarea — subtle enhancement ---- */
input, select, textarea {
	font-family: var(--wn-font);
}

/* ---- Smooth anchor transitions ---- */
a { transition: color .14s ease; }

/* ---- Global focus rings for all module inputs ---- */
.m-field input:focus-visible,
.m-field select:focus-visible,
.m-field textarea:focus-visible {
	outline: none !important;
	border-color: var(--wn-accent) !important;
	box-shadow: 0 0 0 3px var(--wn-accent-bg) !important;
}

/* ---- Consistent gradient on all inline-style module backgrounds ---- */
.m-page { background: transparent !important; }

/* ---- Soft focus ring on all standard buttons ---- */
.m-btn:focus-visible,
.btn:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(99,91,255,.18) !important;
}

@media (max-width: 899px) {
	.wn-sidebar-desktop-toggle-btn,
	.wn-sidebar-desktop-expand-btn {
		display: none !important;
	}
}

.wn-sidebar-desktop-toggle-btn svg,
.wn-sidebar-desktop-expand-btn svg {
  display: block;
  width: 22px;
  height: 22px;
  opacity: 1;
  visibility: visible;
  stroke: currentColor;
  fill: none;
}

input[type="file"]#imageInput {
	background: transparent !important;
	border: none !important;
  border-radius: 0 !important;
	box-shadow: none !important;
	height: auto !important;
	padding: 0 !important;
}

@media (min-width: 900px) {
	body.wn-sidebar-collapsed {
		padding-left: 0 !important;
	}

	body.wn-sidebar-collapsed .wn-sidebar {
		transform: translateX(calc(-1 * var(--wn-sidebar-w)));
		pointer-events: none;
		transition: transform .2s ease;
	}

	body:not(.wn-sidebar-collapsed) .wn-sidebar {
		transform: translateX(0);
		transition: transform .2s ease;
	}

	body.wn-sidebar-collapsed .wn-sidebar-desktop-expand-btn {
		display: inline-flex;
	}

	body.wn-sidebar-collapsed .wn-sidebar-desktop-toggle-btn svg {
		transform: rotate(180deg);
	}
}

/* ============================================================
   UNIVERSAL MODULE REDESIGN
   Applies to all 130+ module pages. shared-ui.css loads last
   so these rules naturally override per-module asset CSS.
   ============================================================ */

/* ── Design tokens (module scope) ────────────────────────── */
:root {
  --mod-card-border:   #e5e5ea;
  --mod-card-radius:   14px;
  --mod-card-shadow:   none;
  --mod-divider:       #f2f2f7;
  --mod-surface-soft:  #fafafa;
  --mod-input-border:  #e5e5ea;
  --mod-input-radius:  9px;
  --mod-label-color:   #3a3a3c;
  --mod-muted:         #6e6e73;
  --mod-ink:           #1c1c1e;
  --mod-accent:        #635bff;
  --mod-accent-dark:   #4f46e5;
  --mod-section-label: #aeaeb2;
}

/* ── Page vertical rhythm ─────────────────────────────────── */
.m-page, .u-page, .ln-page, .lw-page, .sp-page, .t-page, .sc-page,
.tt-page, .wb-page, .ie-page, .sheet-page,
.page-wrap, .page-wrapper, .doc-page, .tool, .app-shell {
  padding-top: 48px !important;
  padding-bottom: 72px !important;
}
@media (max-width: 768px) {
  .m-page, .u-page, .ln-page, .lw-page, .sp-page, .t-page, .sc-page,
  .tt-page, .wb-page, .ie-page, .sheet-page,
  .page-wrap, .page-wrapper, .doc-page, .tool, .app-shell {
    padding-top: 28px !important;
    padding-bottom: 48px !important;
  }
}

/* ── Page header — page-wrap / page-wrapper system ───────── */
.header { margin-bottom: 36px !important; }
.header-title {
  font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.04em !important;
  color: var(--mod-ink) !important;
  line-height: 1.1 !important;
  margin: 0 0 8px !important;
}
.header-sub {
  color: var(--mod-muted) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin: 0 0 28px !important;
  max-width: 520px !important;
}
.formula {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 10px !important;
  padding: 8px 14px !important;
  background: rgba(99,91,255,.05) !important;
  border: 1px solid rgba(99,91,255,.18) !important;
  border-radius: 8px !important;
  font-size: .83rem !important;
  color: var(--mod-accent) !important;
  line-height: 1.5 !important;
}

/* ── Universal card frame ─────────────────────────────────── */
.m-card,
.u-card,
.doc-card {
  overflow: hidden !important;
  padding: 0 !important;
}

/* page-wrap two-column panels */
.layout > .panel {
  border: 1px solid var(--mod-card-border) !important;
  border-radius: var(--mod-card-radius) !important;
  background: #ffffff !important;
  box-shadow: var(--mod-card-shadow) !important;
  overflow: hidden !important;
}

/* panel-body (page-wrap calculators) */
.panel-body {
  padding: 22px 26px !important;
}

/* panel-block (invoice / complex doc modules) */
.panel-block {
  padding: 22px 26px !important;
  border-bottom: 1px solid var(--mod-divider) !important;
}
.panel-block:last-of-type { border-bottom: 0 !important; }

@media (max-width: 768px) {
  .panel-body,
  .panel-block { padding: 16px 18px !important; }
}

/* ── Card inner sections (m-page / u-page) ────────────────── */
/* Grid/form area */
.m-card > .m-grid,
.m-card > .m-grid3,
.m-card > .ln-grid,
.m-card > .m-table,
.m-card > .m-preview,
.m-card > .m-canvas-wrap,
.u-card > .u-grid,
.u-card > .u-grid3 {
  padding: 22px 24px !important;
  margin: 0 !important;
}

/* Direct m-field children of m-card (not wrapped in m-grid) */
.m-card > .m-field,
.u-card > .u-field {
  padding: 12px 24px 0 !important;
  margin: 0 !important;
}
.m-card > .m-field:first-child,
.u-card > .u-field:first-child {
  padding-top: 22px !important;
}

/* Action bar */
.m-card > .m-actions,
.m-card > .ln-actions,
.u-card > .u-actions {
  padding: 14px 22px !important;
  margin: 0 !important;
  background: var(--mod-surface-soft) !important;
  border-top: 1px solid var(--mod-divider) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* Output / result area */
.m-card > .m-output,
.m-card > .out,
.u-card > .u-preview {
  padding: 20px 24px !important;
  margin: 0 !important;
  background: var(--mod-surface-soft) !important;
  border-top: 1px solid var(--mod-divider) !important;
  font-size: .9rem !important;
  line-height: 1.7 !important;
  color: var(--wn-brand-dark) !important;
}

@media (max-width: 768px) {
  .m-card > .m-grid,
  .m-card > .m-grid3,
  .m-card > .ln-grid,
  .u-card > .u-grid,
  .u-card > .u-grid3 { padding: 16px 18px !important; }

  .m-card > .m-field,
  .u-card > .u-field { padding: 10px 18px 0 !important; }
  .m-card > .m-field:first-child,
  .u-card > .u-field:first-child { padding-top: 16px !important; }

  .m-card > .m-actions,
  .m-card > .ln-actions,
  .u-card > .u-actions { padding: 12px 16px !important; }

  .m-card > .m-output,
  .m-card > .out,
  .u-card > .u-preview { padding: 14px 16px !important; }
}

/* ── Section labels (block-title) ─────────────────────────── */
.block-title {
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--mod-section-label) !important;
  margin: 0 0 16px !important;
}

/* ── Form field labels ────────────────────────────────────── */
.m-field label,
.field label,
.u-field label {
  display: block !important;
  font-size: .81rem !important;
  font-weight: 600 !important;
  color: var(--mod-label-color) !important;
  margin-bottom: 6px !important;
  letter-spacing: -.005em !important;
}

/* ── Inputs / selects / textareas ─────────────────────────── */
.m-field input, .m-field select, .m-field textarea,
.field input, .field select, .field textarea,
.u-field input, .u-field select, .u-field textarea,
.doc-meta input, .doc-card textarea, .doc-grid textarea {
  border: 1px solid var(--mod-input-border) !important;
  border-radius: var(--mod-input-radius) !important;
  padding: 9px 12px !important;
  font-size: .875rem !important;
  color: var(--wn-brand-dark) !important;
  background: #ffffff !important;
  font-family: inherit !important;
  transition: border-color .14s, box-shadow .14s !important;
}
.m-field input:focus, .m-field select:focus, .m-field textarea:focus,
.field input:focus, .field select:focus, .field textarea:focus,
.u-field input:focus, .u-field select:focus, .u-field textarea:focus,
.doc-meta input:focus, .doc-card textarea:focus, .doc-grid textarea:focus {
  outline: none !important;
  border-color: var(--mod-accent) !important;
  box-shadow: 0 0 0 3px rgba(99,91,255,.1) !important;
}

/* ── Buttons — m-btn / doc-btn / u-btn systems ────────────── */
.m-btn, .doc-btn, .u-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 10px 20px !important;
  border-radius: 10px !important;
  font-family: inherit !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  letter-spacing: -.005em !important;
  cursor: pointer !important;
  transition: background .14s, box-shadow .14s, border-color .14s !important;
  white-space: nowrap !important;
}
/* secondary */
.m-btn:not(.m-btn-primary),
.doc-btn:not(.doc-btn-primary),
.u-btn:not(.u-btn-primary) {
  border: 1px solid var(--mod-input-border) !important;
  background: #ffffff;
  color: var(--mod-ink);
}
.m-btn:not(.m-btn-primary):hover,
.doc-btn:not(.doc-btn-primary):hover,
.u-btn:not(.u-btn-primary):hover {
  background: var(--mod-surface-soft);
  border-color: #c7c7cc !important;
}
/* primary */
.m-btn-primary, .doc-btn-primary, .u-btn-primary {
  background: var(--mod-accent) !important;
  border: 1px solid var(--mod-accent) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.m-btn-primary:hover, .doc-btn-primary:hover, .u-btn-primary:hover {
  background: var(--mod-accent-dark) !important;
  border-color: var(--mod-accent-dark) !important;
  box-shadow: none !important;
}

/* ── Buttons — .btn / .btn-primary (page-wrap calculator system) */
/* Scoped to avoid collisions with invoice .btn and share buttons */
.layout .btn,
.panel-body .btn,
.actions .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 9px 18px !important;
  border-radius: 10px !important;
  font-family: inherit !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  letter-spacing: -.005em !important;
  transition: background .14s, box-shadow .14s, border-color .14s !important;
  white-space: nowrap !important;
}
.layout .btn:not(.btn-primary),
.panel-body .btn:not(.btn-primary),
.actions .btn:not(.btn-primary) {
  border: 1px solid var(--mod-input-border) !important;
  background: #ffffff;
  color: var(--mod-ink);
}
.layout .btn:not(.btn-primary):hover,
.panel-body .btn:not(.btn-primary):hover,
.actions .btn:not(.btn-primary):hover {
  background: var(--mod-surface-soft);
  border-color: #c7c7cc !important;
}
.layout .btn.btn-primary,
.panel-body .btn.btn-primary,
.actions .btn.btn-primary {
  background: var(--mod-accent) !important;
  border-color: var(--mod-accent) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.layout .btn.btn-primary:hover,
.panel-body .btn.btn-primary:hover,
.actions .btn.btn-primary:hover {
  background: var(--mod-accent-dark) !important;
  border-color: var(--mod-accent-dark) !important;
}

/* ── Output / preview / result areas ─────────────────────── */
/* m-output when standalone (not direct child override above) */
.m-output {
  border: 1px solid var(--mod-card-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  padding: 16px 18px !important;
  font-size: .9rem !important;
  line-height: 1.7 !important;
  color: var(--wn-brand-dark) !important;
}
/* override for direct child (sectioned card) */
.m-card > .m-output,
.m-card > .out {
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid var(--mod-divider) !important;
}

.m-preview {
  border: 1px solid var(--mod-card-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  padding: 18px 20px !important;
}
.u-preview {
  border: 1px solid var(--mod-card-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  padding: 18px 20px !important;
  font-size: .9rem !important;
  line-height: 1.68 !important;
}
.doc-preview {
  border: 1px solid var(--mod-card-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  padding: 18px 20px !important;
}

/* Results table in page-wrap calculators */
.result-wrap { gap: 0 !important; }
.result-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: baseline !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid var(--mod-divider) !important;
}
.result-row:last-child { border-bottom: 0 !important; }
.result-label {
  font-size: .84rem !important;
  color: var(--mod-muted) !important;
  font-weight: 400 !important;
}
.result-value {
  font-weight: 700 !important;
  font-size: .98rem !important;
  color: var(--mod-ink) !important;
  text-align: right !important;
}

/* ── Status boxes ─────────────────────────────────────────── */
.insight {
  border: 1px solid #a7f3d0 !important;
  background: #ecfdf5 !important;
  color: #065f46 !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}
/* Scoped .error to avoid clashing with form validation or contact errors */
.panel-body .error,
.m-card .error,
.page-wrap .error {
  border: 1px solid #fca5a5 !important;
  background: #fff1f2 !important;
  color: #991b1b !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}
.note, .m-note {
  font-size: .8rem !important;
  color: var(--mod-section-label) !important;
  line-height: 1.55 !important;
  margin-top: 8px !important;
}

/* ── Data table (m-table) ─────────────────────────────────── */
.m-table {
  border: 1px solid var(--mod-card-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.04) !important;
}
.m-table table { border-collapse: collapse !important; width: 100% !important; }
.m-table th {
  background: var(--mod-surface-soft) !important;
  color: var(--mod-muted) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--mod-card-border) !important;
  text-align: left !important;
}
.m-table td {
  padding: 10px 14px !important;
  font-size: .875rem !important;
  border-bottom: 1px solid var(--mod-divider) !important;
  color: var(--mod-ink) !important;
}
.m-table tbody tr:last-child td { border-bottom: 0 !important; }

/* ── Chip / badge ─────────────────────────────────────────── */
.m-chip {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ecfdf5, #d1fae5) !important;
  border: 1px solid #6ee7b7 !important;
  color: #065f46 !important;
  font-size: .81rem !important;
  font-weight: 600 !important;
  padding: 5px 12px !important;
}

/* ── Two-column layout (page-wrap calculator system) ──────── */
.page-wrap > .layout,
.page > .layout {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: 20px !important;
  align-items: start !important;
}
@media (max-width: 860px) {
  .page-wrap > .layout,
  .page > .layout { grid-template-columns: 1fr !important; }
}

/* ── app-container (page-wrapper / invoice-type modules) ──── */
.app-container { gap: 20px !important; }
@media (max-width: 860px) {
  .app-container { grid-template-columns: 1fr !important; }
}

/* ── .tool class (custom inline-styled modules) ───────────── */
/* Cards inside these custom tools */
.tool > .card,
.tool > section.card {
  border: 1px solid var(--mod-card-border) !important;
  border-radius: var(--mod-card-radius) !important;
  background: #ffffff !important;
  box-shadow: var(--mod-card-shadow) !important;
  padding: 20px 22px !important;
}
@media (max-width: 680px) {
  .tool > .card,
  .tool > section.card { padding: 14px 16px !important; }
}

/* ============================================================
   HIGH-FIDELITY INTER / APPLE-STRIPE FINISH
   Appended last — overrides all earlier declarations.
   ============================================================ */

/* ── Global Inter font ────────────────────────────────────── */
html, body,
input, select, textarea, button,
.m-btn, .doc-btn, .u-btn, .btn,
.m-field label, .field label, .u-field label,
.doc-head h1, .m-head h1,
.wn-tool-page-head h1, .wn-tool-page-head p,
.wn-sidebar, .wn-sidebar-link, .wn-sidebar-search,
.wn-topbar, .wn-bottom-nav,
.header-title, .header-sub,
.block-title, .result-label, .result-value,
.wn-module-seo-block, .wn-site-footer {
  font-family: 'Inter', 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ── Heading typography ───────────────────────────────────── */
.doc-head h1, .m-head h1, .wn-tool-page-head h1 {
  letter-spacing: -0.045em !important;
  font-weight: 700 !important;
}

/* ── Label weight ─────────────────────────────────────────── */
.m-field label, .field label, .u-field label {
  font-weight: 500 !important;
  font-size: 0.8125rem !important;
  letter-spacing: -0.01em !important;
  color: #374155 !important;
}

/* ── Section labels ───────────────────────────────────────── */
.block-title {
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  color: #9ba8ba !important;
}

/* ── Flat cards — border only, zero shadow ────────────────── */
.m-card, .u-card, .doc-card {
  border: 1px solid var(--wn-border) !important;
  box-shadow: none !important;
  border-radius: 16px !important;
}

.layout > .panel { border: 1px solid var(--wn-border) !important; box-shadow: none !important; }
.wn-runtime-panel { border: 1px solid var(--wn-border) !important; box-shadow: none !important; }
.m-preview, .u-preview, .doc-preview { border: 1px solid var(--wn-border) !important; box-shadow: none !important; }
.m-output { border: 1px solid var(--wn-border) !important; box-shadow: none !important; }

/* ── Action bar ───────────────────────────────────────────── */
.m-card > .m-actions,
.m-card > .ln-actions,
.u-card > .u-actions {
  background: var(--mod-surface-soft) !important;
  border-top: 1px solid var(--mod-divider) !important;
}

/* ── Inputs — clean, flat ─────────────────────────────────── */
.m-field input, .m-field select, .m-field textarea,
.field input, .field select, .field textarea,
.u-field input, .u-field select, .u-field textarea,
.doc-meta input, .doc-card textarea, .doc-grid textarea {
  border: 1px solid var(--mod-input-border) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  font-family: var(--wn-font) !important;
}

.m-field input:focus, .m-field select:focus, .m-field textarea:focus,
.field input:focus, .field select:focus, .field textarea:focus,
.u-field input:focus, .u-field select:focus, .u-field textarea:focus,
.doc-meta input:focus, .doc-card textarea:focus, .doc-grid textarea:focus {
  border-color: var(--mod-accent) !important;
  box-shadow: 0 0 0 3px rgba(99,91,255,.1) !important;
  background: #ffffff !important;
  outline: none !important;
}

/* ── Buttons ──────────────────────────────────────────────── */
.m-btn, .doc-btn, .u-btn {
  font-family: var(--wn-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  font-size: 0.875rem !important;
  border-radius: 10px !important;
}

.m-btn-primary, .doc-btn-primary, .u-btn-primary { box-shadow: none !important; }
.m-btn-primary:hover, .doc-btn-primary:hover, .u-btn-primary:hover { box-shadow: none !important; }

/* ── Share block overrides ───────────────────────────────── */
.wn-share-this-page {
  box-shadow: 0 32px 80px rgba(2,8,22,.3) !important;
  border-radius: 30px !important;
}
.wn-share-btn { box-shadow: none !important; }

/* ── Sidebar ──────────────────────────────────────────────── */
@media (min-width: 900px) {
  .wn-sidebar {
    background: var(--wn-surface) !important;
    border-right: 1px solid var(--wn-border-light) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* ── Doc-Page card readability (business-plan and similar modules) ── */
.doc-page .doc-card {
  overflow: visible !important;
  padding: 18px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  background: #ffffff !important;
}

.doc-page .doc-card h2 {
  margin-bottom: 8px !important;
}

.doc-page .doc-grid {
  align-items: start !important;
  gap: 18px !important;
}

.doc-page .doc-card textarea {
  display: block !important;
  width: 100% !important;
  min-height: 190px !important;
  max-height: none !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
  resize: vertical !important;
  line-height: 1.65 !important;
}

.doc-page .doc-card textarea:focus {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.doc-page .doc-preview {
  overflow: visible !important;
  max-height: none !important;
  word-break: break-word !important;
  white-space: pre-wrap !important;
  min-height: 220px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

/* ── Back-to-top ──────────────────────────────────────────── */
.wn-back-to-top {
  background: var(--wn-brand-dark) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.wn-back-to-top:hover { background: #2c2c2e !important; }

/* ── Custom ──────────────────────────────────────────── */
.hidden {display:none !important;}
.center {text-align:center !important;align-items:center !important;justify-content:center !important;}