@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* ============================================================
   LAYOUT TOKENS
   ============================================================ */
:root {
  --wn-sidebar-w: 220px;
  --wn-topbar-h: 54px;
  --wn-accent: #0f766e;
  --wn-accent-bg: rgba(15,118,110,.08);
  --wn-brand-dark: #0f172a;
  --wn-border: #e2e8f0;
  --wn-sidebar-text: #1e293b;
  --wn-sidebar-muted: #64748b;
  --wn-sidebar-hover: #f1f5f9;
  --wn-radius: 8px;
  --wn-bottomnav-h: 58px;
}

/* ============================================================
   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: rgba(248,250,252,.97);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    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: #ffffff;
    border-bottom: 1px solid var(--wn-border);
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    z-index: 300;
    box-shadow: 0 1px 0 rgba(0,0,0,.04);
  }

  /* Sidebar as a drawer */
  .wn-sidebar {
    position: fixed;
    left: -300px;
    top: 0;
    width: min(300px, 85vw);
    height: 100dvh;
    background: #ffffff;
    border-right: 1px solid var(--wn-border);
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: left .24s cubic-bezier(0.2,0,0,1);
    box-shadow: none;
    overflow: hidden;
  }
  .wn-sidebar.wn-open {
    left: 0;
    box-shadow: 4px 0 24px rgba(0,0,0,.12);
  }

  /* Backdrop overlay */
  .wn-sidebar-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,.45);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 450;
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease;
  }
  .wn-sidebar-overlay.wn-open {
    opacity: 1;
    pointer-events: auto;
  }
  .wn-back-to-top {
	bottom: 70px !important;
  }
}

/* ============================================================
   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-size: .96rem;
  font-weight: 700;
  letter-spacing: -.01em;
}
.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: 14px 14px 12px;
  border-bottom: 1px solid var(--wn-border);
  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-size: .94rem;
  font-weight: 700;
  letter-spacing: -.01em;
}
.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; }

/* Search */
.wn-sidebar-search-wrap {
  position: relative;
  padding: 10px 12px 8px;
  flex-shrink: 0;
  border-bottom: 1px solid var(--wn-border);
}
.wn-sidebar-search {
  width: 100%;
  height: 34px;
  padding: 0 10px 0 32px;
  border: 1px solid var(--wn-border);
  border-radius: var(--wn-radius);
  background: #f8fafc;
  font-size: .83rem;
  color: var(--wn-sidebar-text);
  outline: none;
  font-family: inherit;
  transition: border-color .14s, box-shadow .14s;
  box-sizing: border-box;
}
.wn-sidebar-search:focus {
  border-color: var(--wn-accent);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(15,118,110,.1);
}
.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 16px;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}
.wn-sidebar-body::-webkit-scrollbar { width: 4px; }
.wn-sidebar-body::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.wn-sidebar-body::-webkit-scrollbar-track { background: transparent; }

/* Top section (All Tools) */
.wn-sidebar-section {
  padding: 4px 8px 4px;
  border-bottom: 1px solid rgba(226,232,240,.7);
  margin-bottom: 4px;
}

/* Individual links */
.wn-sidebar-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: var(--wn-radius);
  color: var(--wn-sidebar-text);
  text-decoration: none;
  font-size: .835rem;
  font-weight: 500;
  line-height: 1.35;
  transition: background .12s, color .12s;
  word-break: break-word;
}
.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: 600;
  font-size: .86rem;
}

/* Groups (collapsible) */
.wn-sidebar-group { border: none; margin: 0; background: transparent; }
.wn-sidebar-group-hd {
  list-style: none;
  cursor: pointer;
  padding: 6px 10px 6px 12px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #94a3b8;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: color .12s;
  margin-top: 4px;
}
.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 10px;
  font-size: .815rem;
  font-weight: 400;
  color: #374151;
}
.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: #ffffff;
    border-top: 1px solid var(--wn-border);
    z-index: 290;
    box-shadow: 0 -2px 12px rgba(15,23,42,.07);
  }

  .wn-bn-tab {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-decoration: none;
    color: #94a3b8;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 6px 2px 4px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    transition: color .14s;
    -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.75;
    flex-shrink: 0;
    transition: transform .15s;
  }

  .wn-bn-tab.wn-active svg { transform: scale(1.12); }

  /* Active indicator bar at top of tab */
  .wn-bn-tab.wn-active::before {
    content: '';
    position: absolute;
    top: 0; left: 20%; right: 20%;
    height: 2px;
    border-radius: 0 0 2px 2px;
    background: var(--wn-accent);
  }
}

/* legacy: keep .wn-menu-group/.wn-menu-link classes working for search JS */
.wn-menu-group { }
.wn-menu-link { }

.wn-module-seo-block{max-width:var(--wn-content-width,1220px);width:min(var(--wn-content-width,1220px),calc(100% - 24px));margin:18px auto;padding:18px 20px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fbff;color:#334155}
.wn-module-seo-block h2{margin:0 0 10px;font-size:1.1rem;color:#0f172a}
.wn-module-seo-block h3{margin:14px 0 8px;font-size:.98rem;color:#0f172a}
.wn-module-seo-block p{margin:0;line-height:1.65}
.wn-module-seo-block ul{margin:0;padding-left:20px;display:grid;gap:8px}
.wn-module-seo-block li{line-height:1.6}
.wn-module-seo-block strong{color:#0f172a}
@media (max-width:680px){.wn-module-seo-block{padding:14px 16px;margin-top:14px}}

.wn-preview-footer{margin-top:16px;padding-top:10px;border-top:1px solid #e2e8f0;color:#64748b;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:-.01em!important;color:#0f172a!important}
.site-header .header-tagline{display:none!important}

.doc-head,
.m-head:not(.wn-tool-page-head){
	margin:0 0 14px!important;
}

.doc-head h1,
.m-head h1{
	margin:0!important;
	font-size:clamp(1.35rem,2.4vw,2rem)!important;
	line-height:1.15!important;
	letter-spacing:-.02em!important;
	color:#0f172a!important;
}

.doc-head p,
.m-head p{
	margin:6px 0 0!important;
	color:#64748b!important;
	font-size:.95rem!important;
	line-height:1.6!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 #dbe4ef;
	border-radius:14px;
	background:#fff;
	box-shadow:0 12px 24px rgba(15,23,42,.05);
	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 #e7edf5;
	margin:0!important;
}

.wn-runtime-panel.form-panel .wn-runtime-panel-body>:last-child{
	border-bottom:0;
}

.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(--border-soft,#e7edf5);
}

.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(--border-soft,#e7edf5);
	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(--accent,#0f766e);
	color:#fff;
	border-color:var(--accent,#0f766e);
}

.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-size:.72rem;color:#64748b;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px}
.wn-menu-search{width:100%;border:1px solid #d5deea;border-radius:8px;padding:8px 10px;font-size:.84rem;background:#fff}
.wn-menu-search:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.14)}
.wn-menu-search-help{margin:5px 0 0;font-size:.72rem;color:#64748b}

.wn-back-to-top{position:fixed;right:14px;bottom:14px;z-index:2400;width:44px;height:44px;border:0;border-radius:999px;background:#0f172a;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.2);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s,transform .2s}
.wn-back-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
.wn-back-to-top:hover{background:#1e293b}
.wn-back-to-top:focus{outline:none;box-shadow:0 0 0 3px rgba(15,118,110,.25),0 8px 22px rgba(0,0,0,.2)}
.wn-back-to-top svg{width:18px;height:18px}

.wn-adsense-inline{max-width:var(--wn-content-width,1220px);width:min(var(--wn-content-width,1220px),calc(100% - 24px));margin:14px 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:#fff;border:1px solid #dbe4ef;border-radius:14px;padding:18px 20px;color:#1e293b;line-height:1.65;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.wn-content-card h1{margin:0 0 12px;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.2;color:#0f172a}
.wn-content-card h2{margin:18px 0 8px;font-size:1.1rem;color:#0f172a}
.wn-content-card p{margin:0 0 10px}
.wn-content-card ul{margin:0 0 10px;padding-left:20px}
.wn-page-date{font-size:.9rem;color:#64748b}

.wn-contact-form{display:grid;gap:12px;margin-top:12px}
.wn-contact-field label{display:block;font-size:.86rem;color:#334155;margin-bottom:6px;font-weight:600}
.wn-contact-field input,.wn-contact-field textarea{width:100%;border:1px solid #d5deea;border-radius:10px;padding:10px 11px;font:inherit;background:#fff}
.wn-contact-field input:focus,.wn-contact-field textarea:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.14)}
.wn-contact-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wn-contact-btn{border:1px solid #0f766e;background:#0f766e;color:#fff;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.wn-contact-msg{padding:10px 12px;border-radius:10px;font-size:.9rem}
.wn-contact-msg.ok{background:#ecfdf3;border:1px solid #bbf7d0;color:#166534}
.wn-contact-msg.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}

@media (max-width:680px){
	.wn-adsense-inline{flex-direction:column;align-items:flex-start}
}

/* Standardize module container widths to the invoice baseline */
.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:1280px!important;
	width:min(1280px,calc(100% - 24px))!important;
	margin-left:auto!important;
	margin-right:auto!important;
}

.wn-tool-page-head{
	max-width:1100px;
	margin:0 auto 14px;
	padding:0 4px;
}

.wn-tool-page-head h1{
	margin:0!important;
	font-size:clamp(1.35rem,2.4vw,2rem)!important;
	line-height:1.15!important;
	letter-spacing:-.02em!important;
	color:#0f172a!important;
}

.wn-tool-page-head p{
	margin:6px 0 0!important;
	color:#64748b!important;
	font-size:.95rem!important;
	line-height:1.6!important;
}

body.wn-graphic-workspace{
	padding:24px 16px 32px!important;
}

body.wn-graphic-workspace .wn-tool-page-head{
	max-width:1180px;
	width:min(1180px,100%);
	margin:0 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 #dbe4ef!important;
	border-radius:16px!important;
	background:#fff!important;
	padding:18px!important;
	box-shadow:0 12px 24px rgba(15,23,42,.05)!important;
	overflow:hidden;
}

body.wn-graphic-workspace .tool-shell>.layout>.controls-panel,
body.wn-graphic-workspace .wn-graphic-layout>.controls-panel{
	position:sticky;
	top:14px;
	max-height:calc(100vh - 120px);
	overflow:auto;
	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:#0f766e;
	font-size:.76rem;
	letter-spacing:.08em;
}

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 #cbd5e1;
	border-radius:16px;
	background:linear-gradient(180deg,#fbfdff 0%,#f4f8fc 100%);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
	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;
	}
}

/* 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 – applies to all pages as a base */
body{background:linear-gradient(180deg,#f8fbfa,#edf3f8)!important}

/* 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.35rem,2.4vw,2rem)!important;
	font-weight:700!important;
	letter-spacing:-.02em!important;
	color:#0f172a!important;
	line-height:1.15!important;
	margin:0 0 6px!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:#64748b!important;
	font-size:.95rem!important;
	line-height:1.6!important;
	margin:0 0 14px!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: #cbd5e1; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Hamburger button — hover & focus ring */
.wn-hamburger-btn:hover { background: #1e3a5f !important; }
.wn-hamburger-btn:focus-visible { outline: 2px solid #0f766e; outline-offset: 2px; }

/* Hamburger panel link focus */
.wn-hamburger-panel a:focus-visible {
	outline: 2px solid #0f766e;
	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: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 36px 40px;
	line-height: 1.78;
	box-shadow: 0 4px 28px rgba(15,23,42,.05);
}

.wn-content-card h1 {
	margin: 0 0 6px;
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.15;
	color: #0f172a;
}

.wn-content-card h2 {
	margin: 28px 0 8px;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -.01em;
	color: #0f172a;
}

.wn-content-card p {
	margin: 0 0 14px;
	color: #334155;
	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: #64748b;
	font-size: .82rem;
}

.wn-content-card a {
	color: #0f766e;
	text-decoration: none;
	font-weight: 500;
}

.wn-content-card a:hover { text-decoration: underline; }

.wn-content-card strong { color: #0f172a; 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(15,118,110,.22) !important;
}

.m-btn-primary:hover {
	box-shadow: 0 3px 10px rgba(15,118,110,.3) !important;
}

/* ---- Module SEO block — softer, cleaner ---- */
.wn-module-seo-block {
	border-color: #dde8f5 !important;
	background: linear-gradient(180deg,#f8fbff 0%,#f0f5fb 100%) !important;
}

.wn-module-seo-block h2 {
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: -.01em !important;
}

/* ---- Runtime panel button improvements ---- */
.btn-primary:hover {
	background: #0b5f58 !important;
	border-color: #0b5f58 !important;
}

.btn-primary:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(15,118,110,.25) !important;
}

/* ---- Global input/select/textarea — subtle enhancement ---- */
input, select, textarea {
	font-family: 'Manrope', 'Segoe UI', system-ui, sans-serif;
}

/* ---- 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: #0f766e !important;
	box-shadow: 0 0 0 3px rgba(15,118,110,.14) !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(15,118,110,.22) !important;
}