body { margin:0; background:#F7F8FB; font-family: Manrope, system-ui, sans-serif; color:#1B2433; }
.pv-bar { position:sticky; top:0; z-index:10; background:#0A1F3D; color:#fff; padding:12px 16px; }
.pv-bar h1 { margin:0 0 8px; font-size:15px; font-weight:700; }
.pv-bar h1 span { color:#F25C26; }
.pv-bar small { font-weight:400; opacity:.75; margin-left:6px; }
.pv-tabs { display:flex; gap:6px; overflow-x:auto; padding-bottom:2px; }
.pv-tabs button { flex:none; font:inherit; font-size:13px; font-weight:600; color:#fff; background:rgba(255,255,255,.1); border:0; border-radius:999px; padding:7px 14px; cursor:pointer; }
.pv-tabs button.on { background:#F25C26; }
main { padding:28px 16px 60px; }
.pv-page-title { max-width:960px; margin:0 auto 18px; font-size:28px; font-weight:700; color:#0A1F3D; }
.pv-toast { position:fixed; left:50%; bottom:20px; transform:translateX(-50%); background:#0A1F3D; color:#fff; padding:10px 18px; border-radius:999px; font-size:14px; opacity:0; transition:opacity .2s; pointer-events:none; }
.pv-toast.show { opacity:1; }
/* Taxvoice Βιογραφικά — στυλ (όλα κάτω από .tvcv ώστε να μη συγκρούονται με το θέμα) */
.tvcv {
	--tvcv-navy: #0A1F3D;
	--tvcv-navy-2: #143A6E;
	--tvcv-orange: #F25C26;
	--tvcv-orange-dark: #D9481A;
	--tvcv-text: #1B2433;
	--tvcv-muted: #5B6678;
	--tvcv-border: #DCE3EE;
	--tvcv-soft: #F4F7FB;
	--tvcv-ok: #1E8E5A;
	--tvcv-warn: #B26B00;
	--tvcv-err: #C0362C;
	--tvcv-radius: 14px;
	font-family: Manrope, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--tvcv-text);
	font-size: 16px;
	line-height: 1.55;
	max-width: 960px;
	margin: 0 auto;
	container-type: inline-size;
	container-name: tvcv;
}
.tvcv *, .tvcv *::before, .tvcv *::after { box-sizing: border-box; }
.tvcv h2, .tvcv h3 { color: var(--tvcv-navy); line-height: 1.25; margin: 0 0 .5em; font-family: inherit; font-weight: 700; letter-spacing: normal; text-transform: none; }
.tvcv h2 { font-size: 1.45em; }
.tvcv h3 { font-size: 1.12em; }
.tvcv a { color: var(--tvcv-navy-2); }
.tvcv .tvcv-muted { color: var(--tvcv-muted); font-size: .9em; margin: 0; }
.tvcv .tvcv-h2 { margin-top: 8px; }

/* Πλοήγηση */
.tvcv-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 6px; background: var(--tvcv-soft); border-radius: 999px; }
.tvcv-nav__item { flex: 1 1 auto; text-align: center; padding: 10px 16px; border-radius: 999px; text-decoration: none; font-weight: 600; color: var(--tvcv-navy) !important; white-space: nowrap; }
.tvcv-nav__item:hover { background: #E7EDF6; }
.tvcv-nav__item.is-active { background: var(--tvcv-navy); color: #fff !important; }

/* Κουμπιά */
.tvcv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 22px; border: 0; border-radius: 999px; background: var(--tvcv-orange); color: #fff !important; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.2; }
.tvcv-btn:hover, .tvcv-btn:focus-visible { background: var(--tvcv-orange-dark); }
.tvcv-btn--ghost { background: transparent; color: var(--tvcv-navy) !important; box-shadow: inset 0 0 0 2px var(--tvcv-navy); }
.tvcv-btn--ghost:hover { background: var(--tvcv-navy); color: #fff !important; }
.tvcv-btn--sm { padding: 8px 16px; font-size: .92em; }
.tvcv-link { background: none; border: 0; padding: 0; font: inherit; color: var(--tvcv-navy-2); text-decoration: underline; cursor: pointer; }
.tvcv-link--danger { color: var(--tvcv-err); }
.tvcv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 16px 0 0; }
.tvcv-inline { display: inline; margin: 0; }
.tvcv :focus-visible { outline: 3px solid rgba(242, 92, 38, .45); outline-offset: 2px; }

/* Κάρτες */
.tvcv-card { background: #fff; border: 1px solid var(--tvcv-border); border-radius: var(--tvcv-radius); padding: 20px 22px; margin: 0 0 16px; }
.tvcv-list { display: grid; gap: 14px; }
.tvcv-list .tvcv-card { margin: 0; }
.tvcv-job__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 8px 16px; }
.tvcv-job__title { font-size: 1.15em; margin: 0; }
.tvcv-job__title a { text-decoration: none; }
.tvcv-job__title a:hover { text-decoration: underline; }
.tvcv-job__office { margin: 6px 0 0; font-weight: 600; }
.tvcv-job__meta { margin: 4px 0 0; color: var(--tvcv-muted); font-size: .92em; }
.tvcv-job__excerpt { margin: 10px 0 0; }
.tvcv-chip { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--tvcv-soft); color: var(--tvcv-navy); font-size: .85em; font-weight: 600; white-space: nowrap; }
.tvcv-verified { display: inline-block; margin-left: 6px; padding: 2px 10px; border-radius: 999px; background: #E3F4EC; color: var(--tvcv-ok); font-size: 12px; font-weight: 700; line-height: 1.6; vertical-align: middle; white-space: nowrap; }
.tvcv-count { color: var(--tvcv-muted); margin: 0 0 10px; }
.tvcv-back { margin: 0 0 12px; }
.tvcv-back a { text-decoration: none; font-weight: 600; }

/* Badges */
.tvcv-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: .8em; font-weight: 700; background: var(--tvcv-soft); color: var(--tvcv-navy); }
.tvcv-badge--ok, .tvcv-badge--open { background: #E3F4EC; color: var(--tvcv-ok); }
.tvcv-badge--new { background: #FDE7DE; color: var(--tvcv-orange-dark); margin-left: 6px; }
.tvcv-badge--pending { background: #FFF3D6; color: var(--tvcv-warn); }
.tvcv-badge--expired, .tvcv-badge--closed { background: #EEF0F4; color: var(--tvcv-muted); }

/* Ειδοποιήσεις */
.tvcv-notice { padding: 14px 18px; border-radius: 12px; margin: 0 0 16px; border-left: 4px solid var(--tvcv-navy-2); background: var(--tvcv-soft); }
.tvcv-notice--success { border-color: var(--tvcv-ok); background: #EAF7F0; }
.tvcv-notice--error { border-color: var(--tvcv-err); background: #FCECEA; }
.tvcv-notice--info { border-color: var(--tvcv-navy-2); }

/* Hero επισκέπτη */
.tvcv-hero { padding: 36px 32px; border-radius: 20px; color: #fff; background: linear-gradient(135deg, var(--tvcv-navy), var(--tvcv-navy-2)); position: relative; overflow: hidden; }
.tvcv-hero::after { content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; border: 18px solid rgba(242, 92, 38, .25); z-index: 0; }
.tvcv-hero > * { position: relative; z-index: 1; }
.tvcv-hero h2 { color: #fff; font-size: 1.75em; }
.tvcv-hero p { max-width: 560px; }
.tvcv-hero .tvcv-btn--ghost { color: #fff !important; box-shadow: inset 0 0 0 2px #fff; }
.tvcv-hero .tvcv-btn--ghost:hover { background: #fff; color: var(--tvcv-navy) !important; }
.tvcv-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .78em; font-weight: 700; color: var(--tvcv-orange); margin: 0 0 6px; }
.tvcv-hero__count { font-weight: 700; }

/* Φόρμες */
.tvcv-form { margin: 0; }
.tvcv-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; border: 0; padding: 0; min-width: 0; }
.tvcv-field > span, .tvcv-field > legend { font-weight: 600; font-size: .92em; color: var(--tvcv-navy); padding: 0; }
.tvcv-field abbr { color: var(--tvcv-orange); text-decoration: none; }
.tvcv input[type=text], .tvcv input[type=email], .tvcv input[type=tel], .tvcv input[type=search], .tvcv select, .tvcv textarea {
	width: 100%; padding: 11px 14px; border: 1px solid var(--tvcv-border); border-radius: 10px; background: #fff; font: inherit; color: var(--tvcv-text);
}
.tvcv textarea { resize: vertical; }
.tvcv input:focus, .tvcv select:focus, .tvcv textarea:focus { border-color: var(--tvcv-navy-2); outline: none; box-shadow: 0 0 0 3px rgba(20, 58, 110, .15); }
.tvcv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.tvcv-span-2 { grid-column: 1 / -1; }
.tvcv-check { display: flex; gap: 10px; align-items: flex-start; margin: 6px 0 0; font-size: .95em; }
.tvcv-check input { margin-top: 4px; flex: none; width: 18px; height: 18px; accent-color: var(--tvcv-orange); }
.tvcv-hint { color: var(--tvcv-muted); font-size: .88em; margin: 0 0 12px; }
.tvcv-hint--warn { color: var(--tvcv-warn); margin-top: 10px; }
.tvcv-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Φίλτρα */
.tvcv-filters { display: grid; grid-template-columns: 1.3fr 1.3fr 1fr auto; gap: 12px; align-items: end; padding: 16px; background: var(--tvcv-soft); border-radius: var(--tvcv-radius); margin: 0 0 16px; }
.tvcv-filters .tvcv-field { margin: 0; }
.tvcv-filters .tvcv-btn { height: 46px; }

/* «Ελάτε να γνωριστούμε» */
.tvcv-meet { border-radius: 20px; overflow: hidden; border: 1px solid var(--tvcv-border); margin: 8px 0 24px; background: #fff; }
.tvcv-meet__head { padding: 24px 26px; color: #fff; background: linear-gradient(135deg, var(--tvcv-navy), var(--tvcv-navy-2)); border-bottom: 4px solid var(--tvcv-orange); }
.tvcv-meet__head h3 { color: #fff; margin: 0; text-transform: uppercase; letter-spacing: .04em; font-size: 1.15em; }
.tvcv-meet__head p { margin: 6px 0 0; opacity: .9; }
.tvcv-meet__body { padding: 22px 26px 26px; }
.tvcv-q { border: 0; border-bottom: 1px solid #EDF1F6; margin: 0 0 6px; padding: 0 0 16px; min-width: 0; }
.tvcv-q > legend { font-weight: 700; color: var(--tvcv-navy); padding: 0; margin: 0 0 10px; float: left; width: 100%; }
.tvcv-q > legend + * { clear: both; }
.tvcv-contact { border-bottom: 0; margin-top: 10px; }
.tvcv-options { display: flex; flex-wrap: wrap; gap: 8px; }
.tvcv-opt { position: relative; display: inline-flex; margin: 0; cursor: pointer; }
.tvcv-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tvcv-opt span { display: inline-block; padding: 8px 14px; border: 1px solid var(--tvcv-border); border-radius: 999px; background: #fff; font-size: .93em; transition: background .15s, border-color .15s; }
.tvcv-opt:hover span { border-color: var(--tvcv-navy-2); }
.tvcv-opt input:checked + span { background: var(--tvcv-navy); border-color: var(--tvcv-navy); color: #fff; }
.tvcv-opt input:focus-visible + span { outline: 3px solid rgba(242, 92, 38, .45); outline-offset: 2px; }
.tvcv-opt--na span { border-style: dashed; color: var(--tvcv-muted); }
.tvcv-opt--na input:checked + span { background: #5B6678; border-color: #5B6678; color: #fff; }
.tvcv-other { margin: 10px 0 0; max-width: 320px; }
.tvcv-other[hidden] { display: none; }

/* Επιλογή ερωτήσεων (γραφείο) */
.tvcv-qpick { background: var(--tvcv-soft); border-radius: var(--tvcv-radius); padding: 16px; margin-top: 6px; }
.tvcv-qpick > legend { float: left; width: 100%; margin-bottom: 6px; }
.tvcv-qpick > legend + * { clear: both; }
.tvcv-qpick__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tvcv-qpick__item { display: flex; gap: 10px; align-items: flex-start; padding: 12px; background: #fff; border: 1px solid var(--tvcv-border); border-radius: 12px; cursor: pointer; }
.tvcv-qpick__item input { margin-top: 3px; width: 18px; height: 18px; flex: none; accent-color: var(--tvcv-orange); }
.tvcv-qpick__item strong { display: block; color: var(--tvcv-navy); }
.tvcv-qpick__item small { display: block; color: var(--tvcv-muted); font-size: .82em; line-height: 1.4; margin-top: 2px; }

/* Προβολή αγγελίας */
.tvcv-jobview__title { font-size: 1.5em; }
.tvcv-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 16px 0; padding: 0; }
.tvcv-facts > div { background: var(--tvcv-soft); border-radius: 12px; padding: 10px 14px; }
.tvcv-facts dt { font-size: .78em; text-transform: uppercase; letter-spacing: .06em; color: var(--tvcv-muted); margin: 0; }
.tvcv-facts dd { margin: 2px 0 0; font-weight: 600; }
.tvcv-jobview__desc p { margin: 0 0 .8em; }

/* Αιτήσεις */
.tvcv-app.is-new { border-color: var(--tvcv-orange); box-shadow: 0 0 0 1px var(--tvcv-orange); }
.tvcv-app__head { display: flex; justify-content: space-between; align-items: center; margin: 0 0 10px; }
.tvcv-answers { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin: 0 0 12px; }
.tvcv-answers > div { border-bottom: 1px solid #EDF1F6; padding: 0 0 6px; }
.tvcv-answers dt { font-size: .82em; color: var(--tvcv-muted); margin: 0; }
.tvcv-answers dd { margin: 2px 0 0; font-weight: 600; }
.tvcv-answers .is-na dd { font-weight: 400; font-style: italic; color: #8A94A6; }
.tvcv-app__email { font-weight: 600; margin: 0; }

/* Γραφείο */
.tvcv-office__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.tvcv-office__head h2 { margin: 0; }
.tvcv-table-wrap { overflow-x: auto; }
.tvcv-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--tvcv-border); border-radius: var(--tvcv-radius); overflow: hidden; font-size: .95em; }
.tvcv-table th { text-align: left; background: var(--tvcv-soft); color: var(--tvcv-navy); padding: 10px 12px; font-size: .85em; }
.tvcv-table td { padding: 12px; border-top: 1px solid var(--tvcv-border); vertical-align: top; }
.tvcv-row-actions > * { display: block; margin: 0 0 6px; }
.tvcv-pagination { margin: 18px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tvcv-pagination .page-numbers { padding: 6px 12px; border-radius: 999px; background: var(--tvcv-soft); text-decoration: none; }
.tvcv-pagination .current { background: var(--tvcv-navy); color: #fff; }

/* Στενά πλάτη: container query, ώστε να προσαρμόζεται στο πλάτος περιεχομένου του θέματος */
@container tvcv (max-width: 860px) {
	.tvcv-filters { grid-template-columns: 1fr 1fr; }
	.tvcv-filters .tvcv-btn { grid-column: 1 / -1; }
}
@container tvcv (max-width: 640px) {
	.tvcv-filters { grid-template-columns: 1fr; }
	.tvcv-grid, .tvcv-qpick__grid, .tvcv-answers { grid-template-columns: 1fr; }
	.tvcv-card { padding: 16px; }
	.tvcv-meet__head, .tvcv-meet__body { padding-left: 16px; padding-right: 16px; }
	.tvcv-hero { padding: 26px 20px; }
	.tvcv-nav { border-radius: 16px; }
	.tvcv-table thead { display: none; }
	.tvcv-table, .tvcv-table tbody, .tvcv-table tr, .tvcv-table td { display: block; width: 100%; }
	.tvcv-table tr { border-top: 1px solid var(--tvcv-border); padding: 8px 0; }
	.tvcv-table tr:first-child { border-top: 0; }
	.tvcv-table td { position: relative; border: 0; padding: 6px 12px 6px 116px; min-height: 32px; }
	.tvcv-table td::before { content: attr(data-label); position: absolute; left: 12px; top: 9px; width: 96px; font-size: .74em; color: var(--tvcv-muted); text-transform: uppercase; letter-spacing: .05em; }
	.tvcv-row-actions > * { display: inline-block; margin: 0 14px 4px 0; }
}