/* NikolicWP License Manager – customer portal (My Account → Licenses, [nwp_licenses]).
 *
 * Same system as the NikolicWP Fitnes Poeni dashboard: colours follow the theme (Blocksy palette
 * variables when present), otherwise the NikolicWP palette below. Buttons reuse the theme's
 * .ct-button when it exists. Red is used only as a thin line and for warnings.
 * Palette: #ffffff #fafbfc #f2f5f7 #e1e8ed #173963 #234167 #ec1d24 #2872fa
 */

.nwp-portal {
	--nwp-text: var(--theme-text-color, #2b2f36);
	--nwp-muted: color-mix(in srgb, var(--nwp-text) 62%, transparent);
	--nwp-line: color-mix(in srgb, var(--nwp-text) 12%, transparent);
	--nwp-soft: color-mix(in srgb, var(--nwp-text) 5%, transparent);
	--nwp-card: var(--theme-background-color, #fff);
	--nwp-primary: var(--theme-palette-color-1, #2872fa);
	--nwp-hero-bg: var(--theme-palette-color-4, #173963);
	--nwp-hero-text: #fff;
	--nwp-accent: #2872fa;
	--nwp-red: #ec1d24;
	--nwp-pos: #15803d;
	--nwp-neg: #c62828;
	--nwp-warn: #b45309;
	--nwp-radius: var(--theme-card-border-radius, 14px);
	--nwp-focus: 0 0 0 3px color-mix(in srgb, var(--nwp-primary) 35%, transparent);
	color: var(--nwp-text);
	font-family: inherit;
	line-height: 1.55;
	min-width: 0;
	box-sizing: border-box;
}
.nwp-portal *, .nwp-portal *::before, .nwp-portal *::after { box-sizing: inherit; }
.nwp-portal :focus-visible { outline: none; box-shadow: var(--nwp-focus); border-radius: 6px; }
.nwp-portal .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nwp-portal [hidden] { display: none !important; }
.nwp-portal p { margin: 0 0 .9em; }
.nwp-portal ul { list-style: none; margin: 0; padding: 0; }
.nwp-portal h2, .nwp-portal h3, .nwp-portal h4 { margin: 0; line-height: 1.3; }
.nwp-portal .nwp-small { font-size: .88em; color: var(--nwp-muted); margin: 0; }
.nwp-portal .nwp-intro { color: var(--nwp-muted); }
.nwp-portal .nwp-empty { padding: 18px; text-align: center; color: var(--nwp-muted); background: var(--nwp-soft); border-radius: var(--nwp-radius); }
.nwp-portal .nwp-tag { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: .78em; font-weight: 600; background: var(--nwp-soft); color: var(--nwp-text); vertical-align: middle; }
.nwp-portal .nwp-key { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: .03em; overflow-wrap: anywhere; }
.nwp-portal small.nwp-key { font-size: .8em; color: var(--nwp-muted); }

/* Hero */
.nwp-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 18px; padding: 24px; border-radius: var(--nwp-radius); background: var(--nwp-hero-bg); color: var(--nwp-hero-text); margin-bottom: 16px; position: relative; overflow: hidden; }
.nwp-hero::after { content: ""; position: absolute; right: -70px; top: -90px; width: 240px; height: 240px; border-radius: 50%; background: var(--nwp-accent); opacity: .2; pointer-events: none; }
.nwp-hero::before { content: ""; position: absolute; left: 0; bottom: 0; width: 72px; height: 4px; background: var(--nwp-red); border-radius: 0 4px 0 0; }
.nwp-hero__main, .nwp-hero__stats { position: relative; z-index: 1; }
.nwp-hero__main { display: flex; flex-direction: column; justify-content: center; }
.nwp-hero__kicker { font-size: .78em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .8; margin: 0 0 6px !important; }
.nwp-portal .nwp-hero__title { color: inherit; font-size: 1.6em; font-weight: 800; letter-spacing: -.3px; }
.nwp-hero__text { opacity: .88; margin: 8px 0 0 !important; }
.nwp-hero__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-content: center; }
.nwp-stat { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; min-width: 0; }
.nwp-stat__value { font-size: 1.5em; font-weight: 800; line-height: 1.1; }
.nwp-stat__label { font-size: .8em; opacity: .85; line-height: 1.3; }
.nwp-stat.is-warn { border-color: rgba(255,255,255,.35); }
.nwp-stat.is-warn .nwp-stat__value { color: #ffd27a; }

/* Alert */
.nwp-alert { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; margin: 0 0 16px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--nwp-warn) 30%, transparent); border-left: 4px solid var(--nwp-warn); background: color-mix(in srgb, var(--nwp-warn) 9%, var(--nwp-card)); }
.nwp-alert__text { flex: 1 1 260px; }
.nwp-alert__text strong { color: var(--nwp-warn); }

/* Tabs */
.nwp-tabs { display: flex; gap: 6px; padding: 6px; margin: 0 0 14px; border: 1px solid var(--nwp-line); border-radius: 12px; background: var(--nwp-card); overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.nwp-tabs::-webkit-scrollbar { display: none; }
.nwp-tab { flex: 0 0 auto; appearance: none; border: 0; background: transparent; color: var(--nwp-text); font: inherit; font-weight: 600; font-size: .95em; padding: 9px 16px; border-radius: 8px; cursor: pointer; white-space: nowrap; transition: background .15s, color .15s; }
.nwp-tab:hover { background: var(--nwp-soft); }
.nwp-tab.is-active { background: var(--nwp-primary); color: #fff; }
.nwp-panel { animation: nwp-fade .18s ease; }
.nwp-portal--list .nwp-panel + .nwp-panel { margin-top: 28px; }
.nwp-portal .nwp-panel__title { margin: 0 0 12px; font-size: 1.2em; }
@keyframes nwp-fade { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }

/* Toolbar, chips, search, selects */
.nwp-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; }
.nwp-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.nwp-chip { appearance: none; border: 1px solid var(--nwp-line); background: var(--nwp-card); color: var(--nwp-text); font: inherit; font-size: .88em; font-weight: 600; padding: 6px 12px; border-radius: 999px; cursor: pointer; }
.nwp-chip:hover { background: var(--nwp-soft); }
.nwp-chip.is-active { background: var(--nwp-primary); border-color: var(--nwp-primary); color: #fff; }
.nwp-portal .nwp-select select, .nwp-portal .nwp-search input { font: inherit; font-size: .92em; padding: 7px 12px; border: 1px solid var(--nwp-line); border-radius: 999px; background: var(--nwp-card); color: var(--nwp-text); min-height: 38px; margin: 0; box-shadow: none; }
.nwp-search { margin-left: auto; flex: 1 1 200px; max-width: 280px; }
.nwp-portal .nwp-search input { width: 100%; }
.nwp-summary { font-size: .9em; color: var(--nwp-muted); margin: 0 0 10px !important; }
.nwp-list__body[aria-busy="true"] { opacity: .5; pointer-events: none; transition: opacity .15s; }

/* Buttons */
.nwp-portal .nwp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; appearance: none; border: 0; border-radius: 8px; background: var(--nwp-primary); color: #fff; font: inherit; font-weight: 600; font-size: .92em; padding: 9px 16px; min-height: 40px; margin: 0; cursor: pointer; line-height: 1.2; text-decoration: none; text-align: center; }
.nwp-portal .nwp-btn:hover { filter: brightness(1.08); color: #fff; text-decoration: none; }
.nwp-portal .nwp-btn[disabled] { opacity: .45; cursor: default; filter: none; }
.nwp-portal .nwp-btn--ghost, .nwp-portal .nwp-btn--ghost:hover { background: var(--nwp-soft); color: var(--nwp-text); }
.nwp-portal .nwp-btn--ghost:hover { filter: none; background: color-mix(in srgb, var(--nwp-text) 9%, transparent); }
.nwp-portal .ct-button.nwp-btn { padding: 9px 16px; font-size: .92em; }
.nwp-portal .nwp-deactivate, .nwp-portal .nwp-deactivate:hover { color: var(--nwp-neg); }

/* Pills */
.nwp-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: .8em; font-weight: 600; white-space: nowrap; }
.nwp-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.nwp-pill--active { color: var(--nwp-pos); background: color-mix(in srgb, var(--nwp-pos) 12%, transparent); }
.nwp-pill--expiring { color: var(--nwp-warn); background: color-mix(in srgb, var(--nwp-warn) 14%, transparent); }
.nwp-pill--expired, .nwp-pill--revoked { color: var(--nwp-neg); background: color-mix(in srgb, var(--nwp-neg) 10%, transparent); }

/* License cards */
.nwp-portal .nwp-list__body { display: grid; gap: 12px; }
.nwp-license { display: flex; flex-direction: column; gap: 12px; padding: 18px; border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); background: var(--nwp-card); box-shadow: 0 1px 2px rgba(23,57,99,.04), 0 6px 16px rgba(23,57,99,.04); min-width: 0; }
.nwp-license--expiring { border-color: color-mix(in srgb, var(--nwp-warn) 45%, transparent); }
.nwp-license--expired { border-color: color-mix(in srgb, var(--nwp-neg) 30%, transparent); }
.nwp-license--revoked { opacity: .78; }
.nwp-license__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.nwp-license__who { min-width: 0; }
.nwp-portal .nwp-license__title { font-size: 1.12em; overflow-wrap: anywhere; }
.nwp-license__sub { font-size: .88em; color: var(--nwp-muted); margin: 2px 0 0 !important; }
.nwp-license--expiring .nwp-license__sub b { color: var(--nwp-warn); }
.nwp-license__key { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 10px 12px; background: var(--nwp-soft); border-radius: 10px; }
.nwp-license__label { flex: 1 1 100%; font-size: .74em; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--nwp-muted); }
.nwp-license__key code.nwp-key { flex: 1 1 220px; min-width: 0; margin: 0; padding: 6px 10px; background: var(--nwp-card); border: 1px solid var(--nwp-line); border-radius: 8px; font-size: 1em; color: var(--nwp-text); }
.nwp-license__keybtns { display: flex; gap: 6px; }
.nwp-license__keybtns .nwp-btn { min-height: 34px; padding: 6px 12px; font-size: .85em; background: var(--nwp-card); border: 1px solid var(--nwp-line); }
.nwp-license__sitesrow { display: flex; align-items: center; gap: 12px; font-size: .92em; }
.nwp-progress { flex: 1 1 auto; height: 6px; border-radius: 6px; background: var(--nwp-soft); overflow: hidden; max-width: 260px; }
.nwp-progress > span { display: block; height: 100%; border-radius: 6px; background: var(--nwp-primary); transition: width .4s ease; }
.nwp-notice { margin: 0 !important; padding: 10px 12px; border-radius: 10px; border-left: 4px solid currentColor; font-size: .92em; }
.nwp-notice--warn { color: var(--nwp-warn); background: color-mix(in srgb, var(--nwp-warn) 10%, transparent); }
.nwp-notice--error { color: var(--nwp-neg); background: color-mix(in srgb, var(--nwp-neg) 9%, transparent); }
.nwp-notice--ok { color: var(--nwp-pos); background: color-mix(in srgb, var(--nwp-pos) 10%, transparent); }

.nwp-license__details { border-top: 1px solid var(--nwp-line); padding-top: 10px; }
.nwp-license__details > summary, .nwp-download__log > summary { cursor: pointer; font-weight: 600; font-size: .92em; color: var(--nwp-primary); list-style: none; display: inline-flex; align-items: center; gap: 6px; }
.nwp-license__details > summary::-webkit-details-marker, .nwp-download__log > summary::-webkit-details-marker { display: none; }
.nwp-license__details > summary::before, .nwp-download__log > summary::before { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .15s; }
.nwp-license__details[open] > summary::before, .nwp-download__log[open] > summary::before { transform: rotate(45deg); }
.nwp-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 12px 0 !important; }
.nwp-meta div { padding: 8px 12px; background: var(--nwp-soft); border-radius: 8px; min-width: 0; }
.nwp-meta dt { font-size: .78em; color: var(--nwp-muted); margin: 0; }
.nwp-meta dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.nwp-sitelist { border: 1px solid var(--nwp-line); border-radius: 10px; overflow: hidden; }
.nwp-site { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid var(--nwp-line); }
.nwp-site:last-child { border-bottom: 0; }
.nwp-site__info { display: flex; flex-direction: column; min-width: 0; flex: 1 1 200px; }
.nwp-site__url { font-weight: 600; overflow-wrap: anywhere; }
.nwp-site__info small { color: var(--nwp-muted); }
.nwp-site__action { margin: 0; }
.nwp-license__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.nwp-upgrade { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--nwp-line); }
.nwp-upgrade__label { font-weight: 600; }
.nwp-upgrade__btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; }
.nwp-upgrade__price { white-space: nowrap; }
.nwp-upgrade__note { flex-basis: 100%; color: var(--nwp-muted); }

/* Sites table */
.nwp-table { border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); overflow: hidden; background: var(--nwp-card); }
.nwp-table__head, .nwp-table__row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, .8fr) auto; gap: 12px; align-items: center; padding: 10px 14px; }
.nwp-table__head { font-size: .8em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--nwp-muted); background: var(--nwp-soft); }
.nwp-table__row { border-top: 1px solid var(--nwp-line); font-size: .93em; }
.nwp-table__row small { color: var(--nwp-muted); }
.nwp-table__action { justify-self: end; }
.nwp-table__row.is-removing { opacity: .4; }

/* Downloads */
.nwp-downloads { display: grid; gap: 12px; }
.nwp-download { padding: 16px 18px; border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); background: var(--nwp-card); }
.nwp-download__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.nwp-portal .nwp-download__title { font-size: 1.05em; margin-bottom: 2px; }
.nwp-download__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.nwp-download__log { margin-top: 10px; border-top: 1px solid var(--nwp-line); padding-top: 10px; }
.nwp-changelog { font-size: .92em; margin-top: 8px; }
.nwp-changelog h4 { font-size: 1em; margin: 10px 0 4px; }
.nwp-changelog ul { list-style: disc; padding-left: 20px; }

/* History */
.nwp-history { border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); overflow: hidden; background: var(--nwp-card); }
.nwp-history__row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--nwp-line); }
.nwp-history__row:last-child { border-bottom: 0; }
.nwp-history__icon { width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--nwp-primary) 12%, transparent); color: var(--nwp-primary); }
.nwp-history__icon::before { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: var(--nwp-ico) center / contain no-repeat; mask: var(--nwp-ico) center / contain no-repeat; }
.nwp-history__row--license { --nwp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2a8 8 0 0 0-7.7 10.1L2 16.4V22h5.6l1-1v-2h2v-2h2l1.3-1.3A8 8 0 1 0 14 2zm2.5 7A1.5 1.5 0 1 1 18 7.5 1.5 1.5 0 0 1 16.5 9z'/%3E%3C/svg%3E"); }
.nwp-history__row--site { --nwp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm6.9 6h-3a15.7 15.7 0 0 0-1.4-3.6A8 8 0 0 1 18.9 8zM12 4a14 14 0 0 1 1.9 4h-3.8A14 14 0 0 1 12 4zM4.3 14a7.9 7.9 0 0 1 0-4h3.4a16.5 16.5 0 0 0 0 4zm.8 2h3a15.7 15.7 0 0 0 1.4 3.6A8 8 0 0 1 5.1 16zm3-8h-3a8 8 0 0 1 4.4-3.6A15.7 15.7 0 0 0 8.1 8zM12 20a14 14 0 0 1-1.9-4h3.8A14 14 0 0 1 12 20zm2.3-6H9.7a14.7 14.7 0 0 1 0-4h4.6a14.7 14.7 0 0 1 0 4zm.3 5.6a15.7 15.7 0 0 0 1.4-3.6h3a8 8 0 0 1-4.4 3.6zm1.7-5.6a16.5 16.5 0 0 0 0-4h3.4a7.9 7.9 0 0 1 0 4z'/%3E%3C/svg%3E"); }
.nwp-history__row--download { --nwp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3h2v9.2l3.3-3.3 1.4 1.4L12 16l-5.7-5.7 1.4-1.4 3.3 3.3zM4 18h16v2H4z'/%3E%3C/svg%3E"); }
.nwp-history__row--mail { --nwp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2zm2 2v.5l8 5 8-5V7zm0 2.9V17h16V9.9l-8 5z'/%3E%3C/svg%3E"); }
.nwp-history__row--warn { --nwp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 21h22zm1 15h-2v-2h2zm0-4h-2V9h2z'/%3E%3C/svg%3E"); }
.nwp-history__row--warn .nwp-history__icon { background: color-mix(in srgb, var(--nwp-warn) 14%, transparent); color: var(--nwp-warn); }
.nwp-history__row--download .nwp-history__icon { background: color-mix(in srgb, var(--nwp-pos) 13%, transparent); color: var(--nwp-pos); }
.nwp-history__body { display: flex; flex-direction: column; min-width: 0; }
.nwp-history__label { font-weight: 600; }
.nwp-history__meta { font-size: .84em; color: var(--nwp-muted); overflow-wrap: anywhere; }
.nwp-history__date { font-size: .85em; color: var(--nwp-muted); white-space: nowrap; }

/* Settings: switches */
.nwp-prefs { border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); padding: 4px 18px 16px; background: var(--nwp-card); }
.nwp-switch { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; position: relative; }
.nwp-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.nwp-switch__track { width: 40px; height: 22px; border-radius: 999px; background: color-mix(in srgb, var(--nwp-text) 25%, transparent); position: relative; flex: 0 0 auto; transition: background .2s; }
.nwp-switch__track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 2px rgba(0,0,0,.3); }
.nwp-switch input:checked + .nwp-switch__track { background: var(--nwp-primary); }
.nwp-switch input:checked + .nwp-switch__track::after { transform: translateX(18px); }
.nwp-switch input:focus-visible + .nwp-switch__track { box-shadow: var(--nwp-focus); }
.nwp-switch--row { display: flex; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--nwp-line); }
.nwp-switch--row .nwp-switch__track { margin-top: 2px; }
.nwp-switch__text { display: flex; flex-direction: column; gap: 2px; }
.nwp-switch__text > span { font-weight: 600; }
.nwp-switch__text small { color: var(--nwp-muted); font-size: .86em; }
.nwp-prefs__save { margin-top: 14px; display: flex; align-items: center; gap: 12px; }
.nwp-prefs__status { font-size: .9em; color: var(--nwp-pos); }

/* Pager */
.nwp-pager { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.nwp-pager__info { font-size: .88em; color: var(--nwp-muted); }

/* Toast after an action without reloading */
.nwp-toast { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 99999; max-width: calc(100% - 32px); padding: 10px 16px; border-radius: 10px; background: #173963; color: #fff; font-size: .92em; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.nwp-toast.is-error { background: #a12626; }

/* Licence table on the order (thank-you page, order view) */
.nwp-order-licenses .nwp-key, .nwp-order-licenses code { word-break: break-all; }

/* Phones */
@media (max-width: 640px) {
	.nwp-hero { grid-template-columns: 1fr; padding: 18px; gap: 14px; }
	.nwp-portal .nwp-hero__title { font-size: 1.35em; }
	.nwp-stat { padding: 8px 10px; }
	.nwp-stat__value { font-size: 1.25em; }
	.nwp-search { margin-left: 0; max-width: none; flex-basis: 100%; }
	.nwp-toolbar .nwp-select { flex: 1 1 auto; }
	.nwp-portal .nwp-toolbar .nwp-select select { width: 100%; }
	.nwp-license { padding: 14px; }
	.nwp-license__head { flex-wrap: wrap; }
	.nwp-license__key code.nwp-key { flex-basis: 100%; font-size: .95em; }
	.nwp-license__keybtns { flex: 1 1 100%; }
	.nwp-license__keybtns .nwp-btn { flex: 1 1 0; }
	.nwp-upgrade__btn { width: 100%; }
	.nwp-license__actions .nwp-btn, .nwp-download__btns, .nwp-download__btns .nwp-btn, .nwp-alert .nwp-btn { width: 100%; }
	.nwp-site__action, .nwp-site__action .nwp-btn { width: 100%; }
	.nwp-table__head { display: none; }
	.nwp-table__row { grid-template-columns: 1fr; gap: 6px; padding: 12px 14px; }
	.nwp-table__row [data-label]::before { content: attr(data-label); display: block; font-size: .72em; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--nwp-muted); }
	.nwp-table__action { justify-self: stretch; }
	.nwp-table__action .nwp-btn { width: 100%; }
	.nwp-history__row { grid-template-columns: 30px minmax(0, 1fr); }
	.nwp-history__date { grid-column: 2; }
	.nwp-pager .nwp-btn { padding: 8px 10px; font-size: .85em; }

	.nwp-order-licenses thead { display: none; }
	.nwp-order-licenses tr { display: block; margin: 0 0 12px; border: 1px solid #e1e8ed; border-radius: 8px; }
	.nwp-order-licenses td { display: flex; justify-content: space-between; gap: 12px; text-align: right !important; border: 0 !important; }
	.nwp-order-licenses td::before { content: attr(data-title); font-weight: 600; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	.nwp-portal * { transition: none !important; animation: none !important; }
}
@media (prefers-contrast: more) {
	.nwp-portal { --nwp-line: color-mix(in srgb, var(--nwp-text) 40%, transparent); }
}

/* ---- Support tickets ---- */
.nwp-portal .nwp-alert--info { border-color: color-mix(in srgb, var(--nwp-primary) 30%, transparent); background: color-mix(in srgb, var(--nwp-primary) 7%, transparent); }
.nwp-portal .nwp-alert--info .nwp-alert__text strong { color: var(--nwp-text); }
.nwp-portal .nwp-pill--closed { color: var(--nwp-muted); background: var(--nwp-soft); }
.nwp-support__intro { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 0 0 14px; }
.nwp-support__intro .nwp-intro { margin: 0; flex: 1 1 320px; }
.nwp-support__back { margin: 0 0 12px; font-size: .92em; }
.nwp-tickets { display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; }
.nwp-ticket-row { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); background: var(--nwp-card); }
.nwp-ticket-row--open { border-left: 3px solid var(--nwp-warn); }
.nwp-ticket-row__main { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; color: inherit; text-decoration: none; }
.nwp-ticket-row__main:hover .nwp-ticket-row__subject { color: var(--nwp-primary); }
.nwp-ticket-row__id { color: var(--nwp-muted); font-weight: 600; font-variant-numeric: tabular-nums; }
.nwp-ticket-row__subject { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nwp-ticket-row__meta { grid-column: 2; font-size: .85em; color: var(--nwp-muted); }
.nwp-ticket__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 0 0 14px; margin: 0 0 14px; border-bottom: 1px solid var(--nwp-line); }
.nwp-ticket__title { font-size: 1.15em; }
.nwp-ticket__id { color: var(--nwp-muted); font-weight: 600; margin-right: 4px; }
.nwp-thread { display: flex; flex-direction: column; gap: 12px; margin: 0 0 20px; padding: 0; list-style: none; }
.nwp-msg { max-width: 92%; padding: 12px 16px; border-radius: var(--nwp-radius); background: var(--nwp-soft); border: 1px solid transparent; }
.nwp-msg--customer { align-self: flex-end; background: color-mix(in srgb, var(--nwp-primary) 9%, transparent); }
.nwp-msg--support { align-self: flex-start; background: var(--nwp-card); border-color: var(--nwp-line); }
.nwp-msg__meta { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: .82em; color: var(--nwp-muted); margin: 0 0 6px; }
.nwp-msg__meta strong { color: var(--nwp-text); }
.nwp-msg__body p { margin: 0 0 .7em; overflow-wrap: anywhere; }
.nwp-msg__body p:last-child { margin: 0; }
.nwp-msg__files { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0 0; padding: 0; list-style: none; }
.nwp-msg__files li { display: flex; flex-direction: column; gap: 4px; font-size: .85em; }
.nwp-msg__files img { display: block; max-width: 160px; max-height: 110px; border-radius: 8px; border: 1px solid var(--nwp-line); object-fit: cover; }
.nwp-tform { padding: 16px; border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); background: var(--nwp-card); margin: 0 0 14px; }
.nwp-tform__title { margin: 0 0 12px; font-size: 1.05em; }
.nwp-tform__row { margin: 0 0 12px; }
.nwp-tform__row label, .nwp-tform__row legend { display: block; font-weight: 600; margin: 0 0 4px; font-size: .95em; }
.nwp-tform__row label small { font-weight: 400; color: var(--nwp-muted); }
.nwp-tform__row input[type=text], .nwp-tform__row select, .nwp-tform__row textarea { width: 100%; max-width: 100%; padding: 9px 12px; border: 1px solid var(--nwp-line); border-radius: 8px; background: var(--nwp-card); color: var(--nwp-text); font: inherit; }
.nwp-tform__row textarea { resize: vertical; min-height: 120px; }
.nwp-tform__types { border: 0; padding: 0; margin: 0 0 12px; }
.nwp-tform__type { display: inline-flex; align-items: center; gap: 6px; margin: 0 16px 6px 0; font-weight: 400; }
.nwp-tform__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.nwp-ticket__close { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 8px; }
@media (max-width: 600px) {
	.nwp-msg { max-width: 100%; }
	.nwp-ticket-row { flex-wrap: wrap; }
}
.nwp-portal--empty .nwp-panel { margin-top: 16px; }
