/* Portal Klienta — style (Etap B: auth). Zero inline styli; kolory dziedziczone
   ze zmiennych skórki (theme/skins/{skin}.css) ładowanej w portal_layout.tpl.
   Mobile-first — klienci wchodzą z telefonu. Akcent przycisków = #2A9FFF (spójnie
   z resztą aplikacji). Zmienne --login-*/--popup-* pochodzą ze skórki. */

.portal-body {
	margin: 0;
	min-height: 100vh;
	background: var(--login-bg, #eef2f6);
	color: var(--popup-fg, #1f2d3a);
	font-family: var(--app-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
	-webkit-text-size-adjust: 100%;
}

.portal-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 100vh;
	box-sizing: border-box;
	padding: 24px 16px 16px;
}

/* --- Nagłówek marki (logo firmy = element główny) --- */
.portal-brand {
	text-align: center;
	margin: 8px 0 20px;
	max-width: 420px;
	width: 100%;
}
.portal-brand-logo img {
	max-width: 220px;
	max-height: 96px;
	height: auto;
	width: auto;
}
.portal-brand-name {
	margin-top: 8px;
	font-size: 20px;
	font-weight: 700;
	color: var(--login-title, #0a3d20);
	letter-spacing: .2px;
}
.portal-brand-generic { color: var(--popup-fg, #35506a); font-weight: 600; }

/* --- Karta treści --- */
.portal-main { width: 100%; max-width: 760px; flex: 1 0 auto; }
.portal-card {
	background: var(--popup-bg, #fff);
	border: 1px solid var(--popup-bd, #d9e1e8);
	border-radius: 14px;
	padding: 22px 20px;
	box-shadow: 0 6px 24px rgba(20, 40, 70, .08);
	max-width: 440px;
	margin: 0 auto;
}
.portal-card-title { margin: 0 0 6px; font-size: 20px; font-weight: 700; }
.portal-card-sub { margin: 0 0 16px; font-size: 14px; color: var(--popup-mut, #647588); line-height: 1.5; }

/* --- Formularz --- */
.portal-form { display: flex; flex-direction: column; }
.portal-label { font-size: 13px; font-weight: 600; margin: 12px 0 4px; color: var(--popup-fg, #35506a); }
.portal-input {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 14px;
	font-size: 16px;   /* >=16px: iOS nie zoomuje przy focusie */
	border: 1px solid var(--popup-bd, #c7d2dd);
	border-radius: 10px;
	background: var(--input-bg, #fff);
	color: inherit;
}
.portal-input:focus { outline: none; border-color: #2A9FFF; box-shadow: 0 0 0 3px rgba(42, 159, 255, .18); }

.portal-btn {
	margin-top: 18px;
	padding: 13px 16px;
	font-size: 16px;
	font-weight: 600;
	border: none;
	border-radius: 10px;
	cursor: pointer;
}
.portal-btn-primary { background: #2A9FFF; color: #fff; }
.portal-btn-primary:hover { background: #1b8ef0; }
.portal-btn-primary:active { background: #1580dc; }
/* Wariant „ghost" (link jako przycisk wtórny — np. zgłoszenie bez konta) */
.portal-btn-ghost { display: inline-block; margin-top: 0; text-decoration: none; text-align: center;
	background: transparent; color: #2A9FFF; border: 1px solid #2A9FFF; padding: 11px 18px; }
.portal-btn-ghost:hover { background: rgba(42,159,255,.08); }

/* Wezwanie do zgłoszenia bez logowania (gdy firma przyjmuje anonimowe) */
.portal-anon-cta { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--popup-border, #e6ebf2); text-align: center; }
.portal-anon-or { display: block; font-size: 13px; color: var(--popup-mut, #647588); margin-bottom: 10px; }

/* --- Komunikaty --- */
.portal-alert { padding: 11px 14px; border-radius: 10px; font-size: 14px; line-height: 1.45; margin: 4px 0 12px; }
.portal-alert-err { background: #fdecec; border: 1px solid #f3b6b6; color: #9a2626; }
.portal-alert-ok  { background: #e9f7ee; border: 1px solid #b6e0c4; color: #1c6b39; }
.portal-hint { font-size: 13px; margin-top: 8px; min-height: 18px; color: var(--popup-mut, #647588); }
.portal-hint.err { color: #9a2626; }

.portal-links { margin-top: 16px; text-align: center; font-size: 14px; }
.portal-links a { color: #2A9FFF; text-decoration: none; }
.portal-links a:hover { text-decoration: underline; }

/* --- Dane firmy pod kartą logowania (gdy znamy firmę) --- */
.portal-login-company {
	width: 100%;
	max-width: 420px;
	margin: 14px auto 0;
	text-align: center;
	font-size: 13px;
	line-height: 1.6;
	color: var(--popup-mut, #647588);
}
.portal-login-company .plc-line { margin: 0; }
.portal-login-company .plc-contact { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 16px; margin-top: 2px; }
.portal-login-company .plc-contact a { color: #2A9FFF; text-decoration: none; }
.portal-login-company .plc-contact a:hover { text-decoration: underline; }

/* --- Stopka „Powered by MobileSerwis" (dyskretna) --- */
.portal-poweredby {
	flex-shrink: 0;
	margin-top: 24px;
	display: flex;
	align-items: center;
	gap: 6px;
	opacity: .6;
	font-size: 12px;
	color: var(--popup-mut, #647588);
}
.portal-poweredby-link { display: flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.portal-poweredby-link:hover .portal-poweredby-name { text-decoration: underline; }
.portal-poweredby-logo { height: 16px; width: auto; }
.portal-poweredby-txt { font-size: 11px; }
.portal-poweredby-name { font-weight: 600; }

/* --- Panel klienta --- */
.portal-panel { width: 100%; }
.portal-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.portal-logout-link { color: #2A9FFF; text-decoration: none; font-size: 14px; }
.portal-logout-link:hover { text-decoration: underline; }
.portal-sec {
	background: var(--popup-bg, #fff);
	border: 1px solid var(--popup-bd, #d9e1e8);
	border-radius: 14px;
	padding: 16px 18px;
	margin-top: 14px;
	box-shadow: 0 4px 18px rgba(20, 40, 70, .06);
}
.portal-sec-h { margin: 0 0 12px; font-size: 16px; font-weight: 700; }
.portal-empty { color: var(--popup-mut, #647588); font-size: 14px; margin: 4px 0; }
.portal-muted { color: var(--popup-mut, #93a1b0); }
.portal-table-wrap { overflow-x: auto; }
.portal-grid { width: 100%; border-collapse: collapse; font-size: 14px; }
.portal-grid td { padding: 7px 8px; }
.portal-panel-foot { margin-top: 16px; text-align: center; }

/* --- Formularz zgłoszenia --- */
.portal-req { color: #d64545; }
.portal-term { display: flex; gap: 10px; }
.portal-term > * { flex: 1 1 0; min-width: 0; }
.portal-term-col { display: flex; flex-direction: column; }
select.portal-input { appearance: auto; }
textarea.portal-input { resize: vertical; }

/* --- Zgoda RODO --- */
.portal-consent { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 4px; font-size: 13px; line-height: 1.45; color: var(--popup-fg, #35506a); }
.portal-consent input { margin-top: 3px; flex: 0 0 auto; }

/* --- Honeypot (ukryty) --- */
.portal-hp { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* --- CAPTCHA (proste działanie) — węższe pole na cyfrę --- */
.portal-captcha { max-width: 160px; letter-spacing: 1px; }

/* Historia — wykonane wyróżnione tłem skórki */
.portal-grid tr.portal-done td { background: var(--msc-done, #e9f7ee); }

@media (max-width: 600px) {
	.portal-wrap { padding: 16px 12px 12px; }
	.portal-card { padding: 18px 16px; border-radius: 12px; }
	.portal-term { flex-direction: column; gap: 0; }
}

/* =====================================================================
   PANEL KLIENTA — odwzorowanie makiety (topbar + zakładki + karty +
   picker terminu). Kolory powierzchni z ff. skórki (--popup-*), aby
   działał dark-mode; akcent #2A9FFF spójnie z resztą aplikacji.
   Prefiks p-* nie koliduje z app.css/skórkami (sprawdzone).
   ===================================================================== */
.portal-body {
	--p-accent:#2A9FFF;
	--p-accent-hover:#1488ee;
	--p-accent-ring:rgba(42,159,255,.22);
	--p-accent-shadow:rgba(42,159,255,.30);
	--p-green:#1c8444;
	--p-done-bg:var(--msc-done,#eafaf0);
	--p-card-bg:var(--popup-bg,#fff);
	--p-card-bd:var(--popup-bd,#e2e4e8);
	--p-panel-bg:var(--login-head-bg,#fbfbfc);
	--p-title:var(--login-title,#1e293b);
	--p-fg:var(--popup-fg,#334155);
	--p-muted:var(--popup-mut,#64748b);
	--p-input-bd:var(--popup-bd,#d8e0ea);
	--p-chip-bg:var(--login-head-bg,#f4f6f9);
}

/* --- rama panelu: pełna szerokość, topbar sticky --- */
.portal-body-panel { background: var(--login-bg, #eef2f6); }
.p-shell { min-height:100vh; display:flex; flex-direction:column; }

.p-topbar {
	background:var(--p-accent); color:#fff;
	padding:0 16px; min-height:56px;
	display:flex; align-items:center; gap:12px;
	box-shadow:0 2px 10px rgba(12,42,67,.18);
	position:sticky; top:0; z-index:20;
}
.p-topbar .p-brand {
	display:flex; align-items:center; gap:9px;
	font-size:15px; font-weight:800; letter-spacing:.2px; color:#fff; text-decoration:none;
	min-width:0;
}
.p-topbar .p-brand svg { width:22px; height:22px; flex:0 0 auto; }
.p-topbar .p-brand-logo { height:30px; width:auto; max-width:150px; display:block; border-radius:6px; background:#fff; padding:2px 5px; }
.p-topbar .p-brand-name { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.p-topbar .spacer { flex:1; }
.p-topbar .who {
	font-size:12.5px; opacity:.95; text-align:right; line-height:1.25;
	max-width:170px; overflow:hidden;
}
.p-topbar .who b { display:block; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.p-topbar .who span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:.85; }
.p-logout {
	display:inline-flex; align-items:center; gap:6px;
	background:rgba(255,255,255,.16); color:#fff;
	border:0; border-radius:8px; padding:8px 12px;
	font-size:12.5px; font-weight:700; font-family:inherit; cursor:pointer; text-decoration:none;
	flex:0 0 auto;
}
.p-logout:hover { background:rgba(255,255,255,.28); }
.p-logout svg { width:15px; height:15px; }

/* --- zakładki --- */
.p-tabs {
	display:flex; gap:4px;
	background:var(--p-card-bg); padding:6px 10px 0;
	border-bottom:1px solid var(--p-card-bd);
	position:sticky; top:56px; z-index:15; overflow-x:auto;
}
.p-tab {
	appearance:none; border:0; background:none; cursor:pointer;
	font-family:inherit; font-size:13.5px; font-weight:600; color:var(--p-muted);
	padding:11px 14px 12px; border-bottom:3px solid transparent; white-space:nowrap;
	display:inline-flex; align-items:center; gap:7px;
}
.p-tab svg { width:16px; height:16px; }
.p-tab.active { color:var(--p-accent); border-bottom-color:var(--p-accent); }
.p-tab .badge {
	background:var(--p-accent); color:#fff; font-size:11px; font-weight:800;
	min-width:18px; height:18px; border-radius:9px; padding:0 5px;
	display:inline-flex; align-items:center; justify-content:center;
}

/* --- treść panelu / panele zakładek --- */
.p-content { flex:1; padding:18px 16px 84px; max-width:760px; width:100%; margin:0 auto; box-sizing:border-box; }
.p-pane { display:none; }
.p-pane.active { display:block; animation:pFade .25s ease both; }
@keyframes pFade { from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
.p-sec-title {
	font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1.4px;
	color:var(--p-muted); margin:2px 0 14px;
}
.p-empty { color:var(--p-muted); font-size:14px; font-style:italic; margin:6px 0; }

/* --- karta pozycji (urządzenie / naprawa) --- */
.p-item {
	background:var(--p-card-bg); border:1px solid var(--p-card-bd); border-radius:12px;
	box-shadow:0 1px 3px rgba(0,0,0,.06);
	padding:14px 15px; margin:0 0 12px;
}
.p-item-head { display:flex; align-items:flex-start; gap:12px; }
.p-item-ico {
	flex:0 0 auto; width:42px; height:42px; border-radius:11px;
	display:flex; align-items:center; justify-content:center;
	background:#eef6ff; color:var(--p-accent);
}
.p-item-ico.green { background:var(--p-done-bg); color:var(--p-green); }
.p-item-ico svg { width:23px; height:23px; }
.p-item-main { flex:1; min-width:0; }
.p-item-name { font-size:15px; font-weight:700; color:var(--p-title); margin:0 0 3px; }
.p-item-sub { font-size:12.5px; color:var(--p-muted); }
.p-item-sub .sep { margin:0 7px; opacity:.5; }

.p-meta { display:flex; flex-wrap:wrap; gap:6px 8px; margin:12px 0 0; }
.p-chip {
	font-size:12px; color:var(--p-fg);
	background:var(--p-chip-bg); border:1px solid var(--p-card-bd);
	border-radius:20px; padding:4px 11px;
}
.p-chip b { color:var(--p-title); font-weight:700; }

.p-badge-inactive {
	font-size:11px; font-weight:700; color:#8a5a00;
	background:#fff2d6; border:1px solid #ffe0a3; border-radius:6px; padding:2px 7px; margin-left:8px;
}

/* --- status naprawy --- */
.p-status {
	display:inline-flex; align-items:center; gap:6px;
	font-size:11.5px; font-weight:800; letter-spacing:.3px;
	padding:4px 10px; border-radius:20px; text-transform:uppercase;
}
.p-status::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.st-done { color:#0e7a44; background:var(--p-done-bg); }
.st-open { color:#0c6bb3; background:#e7f2fd; }
.st-wait { color:#9a6a00; background:#fff6e0; }
.st-new  { color:#7a3ba8; background:#f3e9fb; }
.st-rej  { color:#6b7280; background:#eceff2; }
.p-item.done { background:var(--p-done-bg); border-color:#bfe6cd; }
.p-item.done .p-item-name { color:#123f27; }
.p-repair {
	margin:10px 0 0; padding:10px 12px;
	background:var(--p-card-bg); border:1px solid var(--p-card-bd); border-radius:9px;
	font-size:13px; line-height:1.5; color:var(--p-fg);
}
.p-repair .lbl { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; color:var(--p-green); display:block; margin:0 0 3px; }

/* --- FAB „Nowe zgłoszenie" --- */
.p-fab {
	position:fixed; right:18px; bottom:18px; z-index:30;
	display:inline-flex; align-items:center; gap:9px;
	background:var(--p-accent); color:#fff; text-decoration:none;
	border:0; border-radius:30px; padding:14px 20px;
	font-size:14px; font-weight:800; font-family:inherit; cursor:pointer;
	box-shadow:0 10px 26px var(--p-accent-shadow);
}
.p-fab:hover { filter:brightness(1.06); }
.p-fab svg { width:19px; height:19px; }

/* --- formularz zgłoszenia (kroki) --- */
.p-form-card {
	background:var(--p-card-bg); border:1px solid var(--p-card-bd); border-radius:14px;
	box-shadow:0 1px 4px rgba(0,0,0,.06);
	padding:18px 18px 20px; margin:0 0 16px;
}
.p-fieldset {
	border:1px solid var(--p-card-bd); background:var(--p-panel-bg);
	border-radius:10px; padding:15px 15px 16px; margin:0 0 16px;
	min-width:0;   /* <fieldset> ma wbudowane min-width:min-content — bez tego rząd kafelków dni rozpycha kartę */
}
.p-fieldset > legend {
	font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.8px;
	color:var(--p-title); padding:0 6px; margin-left:-4px;
	display:flex; align-items:center; gap:7px;
}
.p-fieldset > legend .num {
	width:20px; height:20px; border-radius:50%; background:var(--p-accent); color:#fff;
	font-size:11px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
}
.p-req { color:#d64545; font-weight:700; }
.p-field { margin:0 0 14px; }
.p-field.mb-0 { margin-bottom:0; }
.p-field.mt-16 { margin-top:16px; }
.p-flabel { display:block; margin:0 0 6px; font-size:12.5px; font-weight:600; color:var(--p-muted); }
.p-hint { font-size:11.5px; color:var(--p-muted); margin:6px 0 0; }

/* input/select/textarea w panelu makiety */
.p-input {
	display:block; width:100%; height:46px; padding:0 15px;
	border:1px solid var(--p-input-bd); border-radius:10px;
	background:var(--input-bg,#fff); color:var(--p-fg);
	font-size:16px; font-family:inherit; box-sizing:border-box;
	transition:border-color .15s, box-shadow .15s;
}
textarea.p-input { height:auto; min-height:104px; padding:11px 15px; resize:vertical; line-height:1.5; }
.p-input::placeholder { color:var(--p-muted); opacity:.85; }
.p-input:focus { outline:0; border-color:var(--p-accent); box-shadow:0 0 0 3px var(--p-accent-ring); }
select.p-input {
	-webkit-appearance:none; appearance:none; cursor:pointer; padding-right:34px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 14px center;
}

/* --- picker dnia + ram czasowych --- */
.p-slots-lbl { font-size:12.5px; font-weight:600; color:var(--p-muted); margin:14px 0 8px; }
.p-slots-lbl:first-child { margin-top:0; }
.p-days { display:flex; gap:8px; overflow-x:auto; padding:2px 0 8px; max-width:100%; }
.p-day {
	flex:0 0 auto; min-width:70px; text-align:center; cursor:pointer;
	border:1px solid var(--p-input-bd); border-radius:11px; background:var(--p-card-bg);
	padding:9px 10px; transition:border-color .12s, box-shadow .12s;
}
.p-day .dow { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--p-muted); }
.p-day .dnum { font-size:19px; font-weight:800; color:var(--p-title); line-height:1.15; margin:2px 0 0; }
.p-day .mon { font-size:11px; color:var(--p-muted); }
.p-day.sel { border-color:var(--p-accent); box-shadow:0 0 0 3px var(--p-accent-ring); background:var(--p-done-bg); }
.p-day.sel .dnum { color:var(--p-accent); }
.p-slots { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:9px; }
.p-slot {
	cursor:pointer; text-align:center;
	border:1px solid var(--p-input-bd); border-radius:10px; background:var(--p-card-bg);
	padding:11px 8px; font-size:13.5px; font-weight:600; color:var(--p-fg);
	transition:border-color .12s, box-shadow .12s;
}
.p-slot small { display:block; font-size:11px; font-weight:600; color:var(--p-muted); margin-top:2px; }
.p-slot.sel { border-color:var(--p-accent); box-shadow:0 0 0 3px var(--p-accent-ring); background:var(--p-done-bg); color:var(--p-accent); }
.p-slot.sel small { color:var(--p-accent); }
.p-slots-empty { font-size:12.5px; color:var(--p-muted); font-style:italic; }

/* przyciski formularza */
.p-btn {
	display:flex; align-items:center; justify-content:center;
	width:100%; height:47px; border:0; border-radius:10px;
	background:var(--p-accent); color:#fff;
	font-size:14.5px; font-weight:700; letter-spacing:.3px; font-family:inherit;
	text-decoration:none; cursor:pointer;
	box-shadow:0 8px 20px var(--p-accent-shadow); transition:filter .15s, transform .05s;
}
.p-btn:hover { filter:brightness(1.07); }
.p-btn:active { transform:translateY(1px); filter:brightness(.97); }
.p-btn.ghost { background:var(--p-card-bg); color:var(--p-accent); border:1px solid var(--p-input-bd); box-shadow:none; }
.p-btn.ghost:hover { background:rgba(42,159,255,.08); filter:none; }
.p-form-actions { display:flex; gap:10px; margin:4px 0 0; }
.p-form-actions .p-btn { flex:1; }
.p-form-actions .p-btn.ghost { flex:0 0 auto; width:auto; padding:0 22px; }

/* --- alert potwierdzenia w panelu --- */
.p-alert { padding:12px 15px; border-radius:12px; font-size:14px; line-height:1.5; margin:0 0 14px; border:1px solid; }
.p-alert-ok  { background:var(--p-done-bg); border-color:#b6e0c4; color:#1c6b39; }
.p-alert-err { background:#fdecec; border-color:#f3b6b6; color:#9a2626; }

/* ============ EKRAN POTWIERDZENIA ZGŁOSZENIA (makieta 07) ============
   Renderowany w zwykłej ramie portalu (portal-card w portal-main). */
.portal-confirm { text-align:center; }
.p-confirm-ico {
	width:74px; height:74px; margin:2px auto 10px;
	border-radius:50%; background:var(--p-done-bg); color:var(--p-green);
	display:flex; align-items:center; justify-content:center;
}
.p-confirm-ico svg { width:40px; height:40px; }
.portal-confirm h1 { font-size:22px; font-weight:400; margin:0 0 4px; color:var(--login-title,#1e293b); }
.portal-confirm h1 strong { font-weight:800; }
.portal-confirm .p-confirm-sub { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--popup-mut,#64748b); margin:0 0 14px; }
.p-lead { margin:0 0 14px; font-size:14px; line-height:1.55; color:var(--popup-fg,#334155); }
.p-refno { display:block; margin:0 0 14px; font-size:13.5px; color:var(--popup-mut,#64748b); }
.p-refno b { color:var(--p-accent); font-size:16px; letter-spacing:.5px; }
.p-recap {
	text-align:left; margin:0 0 16px;
	border:1px solid var(--popup-bd,#e2e4e8); border-radius:12px; overflow:hidden;
}
.p-recap .row { display:flex; gap:12px; padding:10px 14px; border-bottom:1px solid var(--login-divider,rgba(0,0,0,.06)); font-size:13.5px; }
.p-recap .row:last-child { border-bottom:0; }
.p-recap .k { flex:0 0 128px; color:var(--popup-mut,#64748b); }
.p-recap .v { flex:1; color:var(--login-title,#1e293b); font-weight:600; }
.p-note {
	text-align:left; margin:16px 0; padding:12px 14px;
	background:#f1f8ff; border:1px solid #cfe6ff; border-radius:10px;
	font-size:12.5px; line-height:1.5; color:#0c5aa6;
}
.p-note b { font-weight:700; }
.portal-confirm .portal-btn { display:block; width:100%; text-decoration:none; text-align:center; box-sizing:border-box; }
.portal-confirm .portal-links { margin-top:14px; }
@media (max-width:600px) { .p-recap .k { flex-basis:104px; } }

/* --- desktop / mobile --- */
@media (min-width:720px) {
	.p-content { padding:26px 24px 84px; }
	.p-list-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
	.p-list-2 .p-item { margin:0; }
}
@media (max-width:600px) {
	.p-topbar .who { max-width:120px; }
}
