body{font-family:system-ui,Segoe UI,Arial,sans-serif;margin:0;background:#eef1f4;color:#222}
.app{min-height:100vh}
.mid-grey{background:#4a4a4a;color:#fff}
.topbar{position:sticky;top:0;z-index:1000}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;max-width:none;margin:0;padding:.5rem 1rem}
.topbar-left{display:flex;align-items:center;gap:.75rem}
.topbar-right{display:flex;align-items:center;gap:1rem;margin-left:auto}
.topbar-logo{display:inline-flex;align-items:center;text-decoration:none}
.topbar-logo:hover{text-decoration:none}
.topbar-title{margin-left:.5rem;font-size:1.75rem;font-weight:650;letter-spacing:.2px;line-height:1;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#fff;white-space:nowrap}
.topbar-user{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.95rem;font-weight:500;line-height:1.1;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;white-space:nowrap;opacity:.95}
.topbar-user strong{font-weight:650}
.user-icon{width:18px;height:18px;display:inline-block;flex:0 0 auto;color:#fff}
.nav a{color:#fff;margin-right:.75rem;text-decoration:none}
.hamburger{background:transparent;border:1px solid #fff;color:#fff;padding:.4rem .6rem;border-radius:4px}
.btn{background:#1976d2;color:#fff;border:0;padding:.5rem .75rem;border-radius:4px;cursor:pointer}
.logout-form{margin:0}
.btn-logout{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.45rem .55rem;line-height:1}
.power-icon{width:18px;height:18px;display:block}

/* Topbar: make action buttons same height */
.topbar-right .logout-form{display:inline-flex;align-items:center}
.topbar-right .btn,
.topbar-right .topbar-icon-link{height:38px}
.topbar-right .btn{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;line-height:1}
.topbar-right .btn.btn-logout{width:38px;padding:0}
.topbar-right .btn svg{flex:0 0 auto}

/* Theme toggle (icon-only button) */
.theme-toggle{gap:.35rem;padding:0 10px}
.theme-toggle .theme-icon{width:20px;height:20px;display:inline-block}
.theme-toggle .theme-icon--dark{display:none}
html[data-theme="dark"] .theme-toggle .theme-icon--light{display:none}
html[data-theme="dark"] .theme-toggle .theme-icon--dark{display:inline-block}

/* Accessible, visually-hidden text */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:0}
.sidebar{padding:0;display:flex;flex-direction:column;position:sticky;overflow-y:auto}
.sidebar-brand{font-weight:600;margin-bottom:.75rem}
.sidebar-nav{display:flex;flex-direction:column;flex:1 1 auto}
.sidebar-nav a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .6rem;border-radius:0;white-space:nowrap;overflow:hidden}
.sidebar-icon{width:18px;height:18px;display:block;flex:0 0 auto;color:currentColor}
.sidebar-link-left{display:inline-flex;align-items:center;gap:.55rem;min-width:0;flex:1 1 auto;overflow:hidden}
.sidebar-nav a > span{overflow:hidden;text-overflow:ellipsis}
.sidebar-nav a.sidebar-messages-link{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sidebar-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ff4d4f;color:#fff;font-size:12px;line-height:20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,0.25)}
.sidebar-separator{height:1px;background:rgba(255,255,255,0.18);margin:8px 10px}
.sidebar-bottom{margin-top:auto}

/* Sidebar logout: red, boxed, uppercase */
.sidebar-logout-form{margin:0;padding:0 10px 10px}
.sidebar-logout-btn{display:flex;align-items:center;gap:.55rem;width:100%;background:transparent;border:1px solid rgba(255,77,79,0.85);color:#ff4d4f;text-decoration:none;padding:.65rem .6rem;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-weight:750;font-size:.85rem}
.sidebar-logout-btn:hover{background:rgba(255,77,79,0.12)}
.sidebar-logout-btn:focus-visible{outline:2px solid rgba(255,77,79,0.55);outline-offset:2px}

/* Sidebar: user header */
.sidebar-user{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;padding:.8rem .7rem .65rem .7rem}
.sidebar-user:hover{background:rgba(255,255,255,0.08)}
.sidebar-user-avatar{width:34px;height:34px;border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,0.22);background:rgba(255,255,255,0.08);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;position:relative}
.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.sidebar-user-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:rgba(255,255,255,0.85)}
.sidebar-user-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.sidebar-user-name{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.sidebar-user-sub{font-size:.78rem;color:rgba(255,255,255,0.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}

.sidebar-settings{width:100%}
.sidebar-settings summary{list-style:none}
.sidebar-settings summary::-webkit-details-marker{display:none}
.sidebar-settings-toggle{display:flex;align-items:center;gap:.55rem;color:#fff;cursor:pointer;user-select:none;width:100%;padding:.65rem .6rem}
.sidebar-settings-toggle:hover{background:rgba(255,255,255,0.12)}
.settings-icon{width:18px;height:18px;display:block;flex:0 0 auto;color:#fff}
.sidebar-settings-chevron{width:18px;height:18px;display:block;flex:0 0 auto;color:#fff;margin-left:auto;transition:transform .15s ease}
.sidebar-settings[open] .sidebar-settings-chevron{transform:rotate(180deg)}
.sidebar-settings-menu a{color:#fff;text-decoration:none;display:block;width:100%;padding:.55rem 1.9rem;border-radius:0}
.sidebar-settings-menu a{display:flex;align-items:center;gap:.55rem;white-space:nowrap;overflow:hidden}
.sidebar-settings-menu a > span{overflow:hidden;text-overflow:ellipsis}
.sidebar-settings-menu a:hover{background:rgba(255,255,255,0.12)}
.main{padding:1rem;min-height:0;overflow:auto}

/* Dashboard: welcome header */
.welcome-header{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.welcome-title{margin:0}
.welcome-avatar{width:44px;height:44px;border-radius:999px;overflow:hidden;border:1px solid var(--border);background:var(--gray200);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;position:relative}
.welcome-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.welcome-avatar-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}
.login{max-width:360px;margin:10vh auto;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}
label{display:block;margin:.5rem 0}
input[type=text],input[type=password]{width:100%;padding:.5rem;border:1px solid #cbd5e1;border-radius:6px}
.alert{background:#fee2e2;color:#b91c1c;padding:.5rem;border-radius:6px;margin-bottom:.5rem}

@media (max-width: 768px){
	.app-shell{grid-template-columns:1fr}
	.sidebar{position:fixed;left:0;bottom:0;width:240px;height:auto;transform:translateX(-100%);transition:transform .2s ease}
	.sidebar.open{transform:translateX(0)}
}

@media (max-width: 900px){
	.app-shell{grid-template-columns:1fr}
	.sidebar{
		position:fixed;
		left:0;
		bottom:0;
		width:min(86vw,300px);
		height:auto;
		transform:translateX(-100%);
		transition:transform .2s ease;
		z-index:1200;
	}
	.sidebar.open{transform:translateX(0)}
	.hamburger{display:inline-flex;align-items:center;justify-content:center}
	.main{min-width:0}
	.sidebar-backdrop{
		position:fixed;
		inset:var(--topbar-h) 0 0 0;
		background:rgba(0,0,0,.45);
		z-index:1100;
	}
	body.sidebar-open{overflow:hidden}
}

/* Viewport-fit layout (prevents the small blank-space scroll) */
:root{--topbar-h:64px}
.topbar{height:var(--topbar-h);padding:0}
.topbar-inner{height:100%}
.app-shell{height:calc(100vh - var(--topbar-h))}
.sidebar{top:var(--topbar-h);height:calc(100vh - var(--topbar-h))}
@media (max-width: 768px){
	.sidebar{top:var(--topbar-h)}
}
@media (max-width: 900px){
	.sidebar{top:var(--topbar-h);height:calc(100vh - var(--topbar-h))}
}
/* Theme variables */
:root {
	--primaryBlueVeryLight: hsl(166.2, 37.1%, 93.1%);
	--primaryBlueLight: hsl(195.6, 73.7%, 80.6%);
	--primaryBlue: hsl(199.5, 75.5%, 58.4%);
	--primaryBlueDark: hsl(202.5, 82.5%, 42.5%);
	--primaryBlueVeryDark: hsl(202.7, 98.8%, 33.5%);
	--postitYellow: hsl(55.3, 100%, 80%);
	--grassGreen: hsl(84.5, 50.8%, 74.5%);
	--midGreen: #0e9594;
	--yellowOrange: hsl(47.2, 88.1%, 57.3%);
	--alert: hsl(348.3, 52.2%, 44.3%);
	--white: hsl(0, 0%, 100%);
	--black: hsl(210, 10%, 12%);
	--gray100: hsl(210, 16%, 97%);
	--gray200: hsl(210, 14%, 93%);
	--gray300: hsl(210, 12%, 88%);
	--gray400: hsl(210, 10%, 74%);
	--gray500: hsl(210, 9%, 60%);
	--gray600: hsl(210, 8%, 45%);
	--gray700: hsl(210, 8%, 30%);
	--gray800: hsl(210, 7%, 20%);
	--gray900: hsl(210, 7%, 14%);

	--bg: var(--gray100);
	--surface: var(--white);
	--text: var(--gray900);
	--muted: var(--gray600);
	--border: var(--gray300);
	--accent: var(--primaryBlue);
}

[data-theme="dark"] {
	--bg: var(--gray900);
	--surface: var(--gray800);
	--text: var(--gray100);
	--muted: var(--gray400);
	--border: var(--gray700);
	/* Dark mode accent: use a deeper blue (was too light) */
	--accent: var(--primaryBlueDark);
}

/* Global resets */
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Topbar */
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--border); background: var(--surface); position: sticky; top: 0; z-index: 100; }
.brand { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--text); }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.btn-link { border: none; background: none; padding: 6px 8px; color: var(--accent); cursor: pointer; }
.btn { border: 1px solid var(--border); background: var(--surface); color: var(--text); border-radius: 6px; padding: 6px 10px; cursor: pointer; }
.btn.primary { background: var(--accent); color: var(--white); border-color: var(--accent); }
.hamburger { display: none; border: 1px solid var(--border); background: var(--surface); color: var(--text); border-radius: 6px; padding: 6px 10px; cursor: pointer; }

/* Layout */
.layout { display: grid; grid-template-columns: 240px 1fr; min-height: calc(100vh - 48px); }
.sidebar { border-right: 1px solid var(--border); background: var(--surface); }
.sidebar-nav { list-style: none; margin: 0; padding: 0; }
.sidebar-nav li { margin-bottom: 6px; }
.sidebar-nav a { display: block; padding: 10px 12px; border-radius: 0; color: var(--text); }
.sidebar-nav a:hover { background: var(--gray200); }
[data-theme="dark"] .sidebar-nav a:hover { background: var(--gray700); }
.content { padding: 16px; }

/* Mobile sidebar overlay */
.sidebar-backdrop { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 90; }
.sidebar.overlay { display: none; position: fixed; top: 48px; left: 0; bottom: 0; width: 80%; max-width: 300px; z-index: 100; box-shadow: 2px 0 8px rgba(0,0,0,0.2); }
.sidebar-open .sidebar-backdrop { display: block; }
.sidebar-open .sidebar.overlay { display: block; }

/* Cards */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 12px; box-shadow: 0 1px 2px rgba(0,0,0,0.03); }
.card h3 { margin: 0 0 8px; font-size: 16px; }
.grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.col-12 { grid-column: span 12; }
.col-6 { grid-column: span 6; }
.col-8 { grid-column: span 8; }
.col-4 { grid-column: span 4; }
.col-3 { grid-column: span 3; }

/* Responsive */
@media (max-width: 1024px) {
	.layout { grid-template-columns: 200px 1fr; }
	.col-6 { grid-column: span 12; }
	.col-8 { grid-column: span 12; }
	.col-4 { grid-column: span 12; }
	.col-3 { grid-column: span 6; }
}
@media (max-width: 768px) {
	.layout { grid-template-columns: 1fr; }
	.layout > .sidebar { display: none; }
	.sidebar.overlay { display: none; }
	.hamburger { display: inline-block; }
}

/* Widgets */
.stat { display: flex; align-items: center; justify-content: space-between; }
.stat .label { color: var(--muted); }
.stat .value { font-weight: 600; }
.quick-draft textarea, .quick-draft input { width: 100%; border: 1px solid var(--border); border-radius: 6px; background: var(--bg); color: var(--text); padding: 8px; }
.quick-draft button { margin-top: 8px; }

/* Help styles */
.help-container { display: grid; grid-template-columns: 280px 1fr; gap: 16px; }
.help-sidebar { border-right: 1px solid var(--border); padding-right: 12px; }
.help-topic { margin-bottom: 16px; }
.help-search { margin-bottom: 12px; }
.help-category { margin: 8px 0; font-weight: 600; }
.help-topic-title { margin: 4px 0; }

/* Dark grey navbars override */
.topbar.mid-grey { background: #2b2f33; color: #fff; }
.sidebar.mid-grey { background: #2b2f33; color: #fff; }
.topbar.mid-grey .brand,
.topbar.mid-grey .nav a,
.topbar.mid-grey .nav-actions a,
.topbar.mid-grey .hamburger,
.topbar.mid-grey .btn-link { color: #fff; }
.topbar.mid-grey .btn { background: transparent; color: #fff; border-color: rgba(255,255,255,0.4); }
.topbar.mid-grey .btn-logout{color:#ff4d4f;border-color:rgba(255,77,79,0.7)}
.topbar.mid-grey .btn-logout:hover{background:rgba(255,77,79,0.12)}
.topbar.mid-grey button.btn[data-action="toggle-theme"]{background:#6b7280;color:#fff;border:1px solid #047bc1}
[data-theme="dark"] .topbar.mid-grey button.btn[data-action="toggle-theme"]{background:#ffffff;color:#000;border:1px solid var(--accent)}
[data-theme="dark"] .topbar.mid-grey button.btn[data-action="toggle-theme"]:hover{background:rgba(255,255,255,0.92)}
.topbar.mid-grey button.btn[data-action="toggle-theme"]:hover{background:#7b8290}
.sidebar.mid-grey .sidebar-brand,
.sidebar.mid-grey .sidebar-nav a { color: #fff; }
.sidebar.mid-grey .sidebar-nav a:hover { background: rgba(255,255,255,0.12); }

/* Topbar messages icon + badge */
.topbar-icon-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #047bc1;background:transparent;color:#047bc1;text-decoration:none}
.topbar-icon-link:hover{background:rgba(4,123,193,0.12);text-decoration:none}
.topbar-icon{width:20px;height:20px;display:block}
[data-theme="dark"] .topbar-icon-link{border-color:var(--accent);color:var(--accent)}
[data-theme="dark"] .topbar-icon-link:hover{background:rgba(11,95,165,0.16)}
.topbar-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff4d4f;color:#fff;font-size:12px;line-height:18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,0.25)}

/* Sharp corners everywhere */
.btn,
.hamburger,
.card,
.login,
.alert,
input,
textarea,
select,
.sidebar-nav a,
.sidebar-settings-toggle,
.sidebar-settings-menu a {
	border-radius: 0 !important;
}

/* Sidebar nav: force icon + title on one line (override earlier generic .sidebar-nav a rules) */
.sidebar.mid-grey .sidebar-nav a{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:.55rem;
	white-space:nowrap;
	overflow:hidden;
}
.sidebar.mid-grey .sidebar-nav a .sidebar-icon{flex:0 0 auto;}
.sidebar.mid-grey .sidebar-nav a span{overflow:hidden;text-overflow:ellipsis;}
.sidebar.mid-grey .sidebar-nav a.sidebar-messages-link{justify-content:space-between;}

.sidebar.mid-grey .sidebar-settings-menu a{
	display:flex;
	align-items:center;
	gap:.55rem;
	white-space:nowrap;
	overflow:hidden;
}
.sidebar.mid-grey .sidebar-settings-menu a span{overflow:hidden;text-overflow:ellipsis;}

/* Uploads media library */
.media-filters input[type=text]{min-width:260px}
.media-filters-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.media-filters-row select{border:1px solid var(--border);padding:8px;background:var(--bg);color:var(--text);min-width:170px}
.media-filters-sub{margin-top:8px;color:var(--muted);font-size:.95rem}

.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.media-item{border:1px solid var(--border);background:var(--surface);padding:0;cursor:pointer;text-align:left;overflow:hidden}
.media-item:hover{background:rgba(4,123,193,0.06)}
.media-thumb{height:130px;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}
.media-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.media-fileicon{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.media-ext{font-weight:800;font-size:16px;color:var(--muted);border:1px dashed var(--border);padding:8px 10px}
.media-caption{padding:10px}
.media-name{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-sub{margin-top:4px;color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.media-modal{position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:2100;padding:24px;overflow:auto}
.media-modal-card{max-width:1100px;margin:6vh auto}
.media-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.media-modal-title{font-weight:800;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:820px}
.media-modal-sub{color:var(--muted);margin-top:2px}
.media-modal-body{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:12px}
.media-modal-preview{border:1px solid var(--border);background:var(--bg);min-height:360px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.media-modal-preview img{width:100%;height:100%;object-fit:contain;display:block}
.media-modal-preview iframe{width:100%;height:100%;border:0}
.media-modal-meta{color:var(--text)}

@media (max-width: 900px){
	.media-modal-body{grid-template-columns:1fr}
	.media-modal-title{max-width:100%}
}

/* Form Creator (JS builder) */
.form-creator-grid{display:grid;grid-template-columns:320px 1fr 360px;gap:12px;align-items:start}
.form-creator-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.form-creator-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
#fcFormsList{display:flex;flex-direction:column;gap:8px;min-width:0}
#fcFormsList .media-item{display:block;width:100%;max-width:100%;box-sizing:border-box;min-width:0}
#fcFormsList .media-caption{min-width:0}
#fcFormsList .media-name,
#fcFormsList .media-sub{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;overflow-wrap:anywhere}
.fc-fields{margin-top:10px;display:flex;flex-direction:column;gap:10px}
.fc-field{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:10px}
.fc-field-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fc-field-title{font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-field-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fc-pill{font-size:.78rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px}
.fc-field-body{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fc-field-body label{margin:0}
.fc-field-body .full{grid-column:1 / -1}
.fc-field textarea{width:100%;min-height:70px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);padding:8px}
.fc-field select,.fc-field input[type=text],.fc-field input[type=number]{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);padding:8px}
.fc-drag{cursor:grab;user-select:none}
.fc-drop-hint{outline:2px dashed rgba(4,123,193,0.35)}
[data-theme="dark"] .fc-drop-hint{outline:2px dashed rgba(11,95,165,0.45)}

@media (max-width: 1100px){
	.form-creator-grid{grid-template-columns:1fr}
}

/* Simple tables (Staff, etc.) */
.be-table th{font-size:.9rem;color:var(--muted);font-weight:700;white-space:nowrap}
.be-table td{vertical-align:top}
.be-table tr:hover td{background:rgba(4,123,193,0.06)}
[data-theme="dark"] .be-table tr:hover td{background:rgba(11,95,165,0.14)}

/* Print: DOCX-like forms */
.print-docx-shell{background:var(--surface)}
.print-docx-title{font-size:1.25rem;font-weight:800;letter-spacing:.01em}
.print-docx-subtitle{margin-top:4px;color:var(--muted);font-size:.92rem}
.print-docx-form{display:block}
.print-docx-section{margin:14px 0 10px;border:1px solid var(--border);padding:10px;background:var(--surface)}
.print-docx-section h3{margin:0 0 10px;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding-bottom:6px}
.print-docx-field{display:block;margin:0 0 10px}
.print-docx-value-row{display:grid;grid-template-columns:minmax(210px, 34%) 1fr;gap:10px;padding:7px 0;border-bottom:1px dotted var(--border)}
.print-docx-value-label{font-weight:700}
.print-docx-value-text{white-space:pre-wrap;word-break:break-word}

@media print{
	@page{size:A4 portrait;margin:12mm}
	html,body{background:#fff !important;color:#000 !important}
	body{font-family:"Segoe UI",Arial,sans-serif !important;font-size:11pt;line-height:1.35}
	.topbar,.sidebar,.hamburger,.sidebar-backdrop,.print-no-ui,.btn,.nav,.topbar-right,.topbar-left .hamburger{display:none !important}
	.app-shell{display:block !important;height:auto !important}
	.main,.content{padding:0 !important;overflow:visible !important}
	.grid{display:block !important}
	.col-12,.col-8,.col-6,.col-4,.col-3{grid-column:auto !important}
	.card,.print-docx-shell{border:1px solid #1f2937 !important;background:#fff !important;box-shadow:none !important;padding:10pt !important;margin:0 0 10pt !important;break-inside:avoid;page-break-inside:avoid}
	.print-docx-title{font-size:16pt !important;font-weight:800 !important;color:#000 !important}
	.print-docx-subtitle{color:#374151 !important;font-size:10pt !important}
	.print-docx-section{border:1px solid #4b5563 !important;background:#fff !important;padding:8pt !important;margin:10pt 0 !important}
	.print-docx-section h3{border-bottom:1px solid #9ca3af !important;color:#000 !important;font-size:10.5pt !important}
	label,input,textarea,select,option{color:#000 !important}
	input[type=text],input[type=password],input[type=date],input[type=number],textarea,select{
		border:0 !important;
		background:transparent !important;
		padding:0 !important;
		outline:0 !important;
		box-shadow:none !important;
		width:100% !important;
	}
	input[type=checkbox],input[type=radio]{transform:scale(.95)}
	a{text-decoration:none !important;color:#000 !important}
	.print-docx-value-row{border-bottom:1px dotted #9ca3af !important}
}
