:root {
    --blue-950: #2b2d31;
    --blue-900: #3a3d42;
    --blue-700: #d96812;
    --blue-500: #f28c28;
    --blue-100: #fff3e8;
    --orange: #f28c28;
    --surface: #ffffff;
    --page: #f4f5f7;
    --text: #2c2f33;
    --muted: #6f747b;
    --border: #dde0e4;
    --shadow: 0 12px 35px rgba(30, 33, 36, .12);
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
    margin: 0;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    color: var(--text);
    background: var(--page);
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.login-page {
    min-height: 100%;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        linear-gradient(125deg, rgba(37,39,43,.97), rgba(86,88,93,.90)),
        radial-gradient(circle at 15% 20%, #f5b36f 0 2px, transparent 3px),
        #26282c;
    background-size: auto, 28px 28px, auto;
}

.login-card {
    width: min(920px, 100%);
    min-height: 520px;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    overflow: hidden;
    border-radius: 22px;
    background: var(--surface);
    box-shadow: 0 28px 70px rgba(0,0,0,.32);
}

.login-brand {
    position: relative;
    padding: 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    background: linear-gradient(145deg, #2c2f33, #55585e);
    overflow: hidden;
}

.login-brand::before,
.workspace-background::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    background-image:
        linear-gradient(90deg, transparent 49%, rgba(255,255,255,.16) 50%, transparent 51%),
        linear-gradient(transparent 49%, rgba(255,255,255,.13) 50%, transparent 51%);
    background-size: 62px 62px;
}

.login-brand::after {
    content: "Ft";
    position: absolute;
    right: 40px;
    bottom: -30px;
    font-size: 210px;
    line-height: 1;
    font-weight: 800;
    color: rgba(255,255,255,.08);
}

.brand-badge {
    position: relative;
    z-index: 1;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    margin-bottom: 24px;
    background: var(--orange);
    font-weight: 800;
    font-size: 24px;
}

.login-brand h1 {
    position: relative;
    z-index: 1;
    margin: 0 0 12px;
    font-size: clamp(32px, 4vw, 48px);
}

.login-brand p {
    position: relative;
    z-index: 1;
    max-width: 440px;
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
    color: rgba(255,255,255,.82);
}

.login-form-wrap {
    padding: 56px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-form-wrap h2 { margin: 0 0 8px; font-size: 30px; }
.login-form-wrap .lead { margin: 0 0 32px; color: var(--muted); }
.form-group { margin-bottom: 18px; }
.form-group label { display: block; margin-bottom: 7px; font-weight: 650; }
.form-control {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fbfdff;
    outline: none;
    transition: .2s;
}
.form-control:focus { border-color: var(--blue-500); box-shadow: 0 0 0 4px rgba(242,140,40,.16); }
.btn-primary {
    width: 100%;
    height: 50px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg, #d96812, #f28c28);
    font-weight: 750;
    box-shadow: 0 10px 24px rgba(217,104,18,.28);
}
.alert {
    padding: 12px 14px;
    border-radius: 9px;
    margin-bottom: 18px;
    background: #fff0f0;
    border: 1px solid #efc0c0;
    color: #9d2020;
}

.app-shell { min-height: 100%; padding-top: 116px; padding-bottom: 44px; }
.app-header {
    position: fixed;
    z-index: 1000;
    inset: 0 0 auto 0;
    height: 116px;
    color: #fff;
    background: var(--blue-950);
    box-shadow: 0 5px 20px rgba(0,0,0,.2);
}
.header-top {
    height: 66px;
    padding: 0 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.app-identity { display: flex; align-items: center; gap: 13px; }
.app-logo {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--orange);
    font-weight: 850;
}
.app-title strong { display: block; font-size: 19px; }
.app-title span { display: block; margin-top: 2px; font-size: 12px; color: rgba(255,255,255,.67); }
.user-box { display: flex; align-items: center; gap: 12px; }
.user-avatar {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    font-weight: 800;
}
.user-data { line-height: 1.2; text-align: right; }
.user-data strong { display: block; font-size: 14px; }
.user-data span { font-size: 11px; color: rgba(255,255,255,.64); }
.logout-link { padding: 8px 12px; border-radius: 7px; background: rgba(255,255,255,.1); font-size: 13px; }
.logout-link:hover { background: rgba(255,255,255,.18); }

.main-nav {
    height: 50px;
    display: flex;
    align-items: stretch;
    padding: 0 18px;
    overflow-x: auto;
    background: var(--blue-900);
}
.nav-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 18px;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
    color: rgba(255,255,255,.78);
    font-size: 14px;
    font-weight: 650;
}
.nav-link:hover, .nav-link.active { color: #fff; background: rgba(255,255,255,.07); border-bottom-color: var(--orange); }

.content-area {
    min-height: calc(100vh - 160px);
    padding: 24px;
}
.workspace-background {
    position: relative;
    min-height: calc(100vh - 208px);
    border-radius: 18px;
    overflow: hidden;
    display: grid;
    place-items: center;
    padding: 40px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,244,232,.90)),
        linear-gradient(135deg, #eceff2, #fff8f1);
    box-shadow: var(--shadow);
}
.workspace-background::before { opacity: .55; background-size: 80px 80px; }
.business-visual {
    position: absolute;
    inset: auto 8% 8% auto;
    width: min(510px, 48vw);
    height: 310px;
    opacity: .12;
    background:
        linear-gradient(to top, var(--blue-700) 0 45%, transparent 45%) 0 100% / 14% 45% no-repeat,
        linear-gradient(to top, var(--blue-700) 0 65%, transparent 65%) 22% 100% / 14% 65% no-repeat,
        linear-gradient(to top, var(--blue-700) 0 82%, transparent 82%) 44% 100% / 14% 82% no-repeat,
        linear-gradient(to top, var(--orange) 0 100%, transparent 100%) 66% 100% / 14% 100% no-repeat;
    border-bottom: 6px solid var(--blue-900);
}
.business-visual::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 32px;
    height: 5px;
    transform: rotate(-14deg);
    transform-origin: left center;
    background: var(--orange);
    box-shadow: 390px -48px 0 0 var(--orange);
}
.welcome-panel {
    position: relative;
    z-index: 2;
    width: min(760px, 100%);
    padding: 40px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(8px);
    box-shadow: 0 18px 50px rgba(52,54,58,.12);
}
.welcome-panel .eyebrow { color: var(--blue-700); font-weight: 800; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; }
.welcome-panel h1 { margin: 10px 0 14px; font-size: clamp(30px, 4vw, 48px); color: var(--blue-950); }
.welcome-panel p { margin: 0; max-width: 650px; color: var(--muted); line-height: 1.7; font-size: 17px; }
.quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 30px; }
.quick-card { padding: 16px; border-radius: 12px; background: #fff; border: 1px solid var(--border); }
.quick-card strong { display: block; color: var(--blue-900); }
.quick-card span { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; }

.module-card {
    min-height: calc(100vh - 208px);
    padding: 28px;
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow);
}
.module-card h1 { margin-top: 0; }
.empty-state { margin-top: 30px; padding: 45px; border: 2px dashed var(--border); border-radius: 14px; text-align: center; color: var(--muted); }

.app-footer {
    position: fixed;
    z-index: 1000;
    inset: auto 0 0 0;
    height: 44px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: #fff;
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-size: 12px;
}
.status-online::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #25a867; }

@media (max-width: 760px) {
    .login-card { grid-template-columns: 1fr; }
    .login-brand { display: none; }
    .login-form-wrap { padding: 42px 28px; }
    .header-top { padding: 0 14px; }
    .app-title span, .user-data, .logout-link { display: none; }
    .content-area { padding: 12px; }
    .workspace-background { padding: 18px; }
    .welcome-panel { padding: 26px 22px; }
    .quick-grid { grid-template-columns: 1fr; }
    .business-visual { width: 75vw; opacity: .07; }
    .app-footer { padding: 0 12px; }
}

/* Partnertörzs */
.eyebrow { color: var(--blue-700); font-weight: 800; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; }
.module-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.module-heading h1 { margin: 7px 0 8px; font-size: 32px; }
.module-heading p { margin: 0; color: var(--muted); }
.record-count { min-width: 92px; padding: 12px 16px; border: 1px solid #f2d4b9; border-radius: 12px; background: var(--blue-100); text-align: center; }
.record-count strong, .record-count span { display: block; }
.record-count strong { font-size: 22px; color: var(--blue-700); }
.record-count span { margin-top: 2px; font-size: 12px; color: var(--muted); }
.list-toolbar { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 20px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: #fafafa; }
.search-field { flex: 1; }
.search-field span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: var(--muted); }
.search-field input { width: 100%; height: 43px; padding: 0 13px; border: 1px solid var(--border); border-radius: 9px; outline: none; background: #fff; }
.search-field input:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(242,140,40,.13); }
.toolbar-button, .toolbar-link { height: 43px; display: inline-flex; align-items: center; justify-content: center; padding: 0 17px; border-radius: 9px; font-weight: 700; font-size: 13px; }
.toolbar-button { border: 0; cursor: pointer; color: #fff; background: var(--blue-700); }
.toolbar-button:hover { background: #c45c0d; }
.toolbar-link { border: 1px solid var(--border); background: #fff; color: var(--muted); }
.partner-table-wrap { overflow-x: hidden; border: 1px solid var(--border); border-radius: 13px; }
.partner-table { width: 100%; border-collapse: collapse; table-layout: auto; }
.partner-table th { padding: 13px 15px; text-align: left; background: #f3f4f6; color: #555a61; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--border); }
.partner-table td { padding: 15px; border-bottom: 1px solid #eceef0; vertical-align: middle; font-size: 14px; }
.partner-table tbody tr:last-child td { border-bottom: 0; }
.partner-row { cursor: pointer; transition: transform .16s ease, background .16s ease, box-shadow .16s ease; outline: none; }
.partner-row:hover, .partner-row:focus { position: relative; z-index: 2; background: #fff8f1; transform: translateY(-2px) scale(1.002); box-shadow: 0 8px 22px rgba(54,46,39,.13); }
.partner-name-cell strong, .partner-name-cell span, .contact-line { display: block; }
.partner-name-cell strong { color: var(--blue-950); font-size: 15px; }
.partner-name-cell span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.contact-line + .contact-line { margin-top: 4px; }
.muted { color: var(--muted); }
.type-badge, .status-badge { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 750; white-space: nowrap; }
.type-badge { color: #6b4c32; background: #fff0e1; border: 1px solid #f2d1b2; }
.invoice-appearance-paper { color:#475467; background:#f2f4f7; border-color:#d0d5dd; }
.invoice-appearance-electronic { color:#175cd3; background:#eff8ff; border-color:#b2ddff; }
.invoice-appearance-bar { display:flex; align-items:center; gap:12px; min-height:42px; padding:8px 12px; margin-bottom:12px; border:1px solid #e4e7ec; border-radius:10px; background:#fff; }
.appearance-bar-label { color:#344054; font-size:13px; font-weight:750; white-space:nowrap; }
.appearance-toggle { display:inline-flex; padding:3px; border:1px solid #d0d5dd; border-radius:9px; background:#f2f4f7; }
.appearance-toggle label { cursor:pointer; }
.appearance-toggle input { position:absolute; opacity:0; pointer-events:none; }
.appearance-toggle span { display:block; min-width:72px; padding:6px 12px; border-radius:6px; color:#667085; font-size:12px; font-weight:750; text-align:center; transition:background .15s,color .15s,box-shadow .15s; }
.appearance-toggle input:checked + span { color:#fff; background:#ef7d00; box-shadow:0 1px 3px rgba(16,24,40,.18); }
.appearance-toggle input:focus-visible + span { outline:2px solid #ef7d00; outline-offset:2px; }
.appearance-bar-help { color:#667085; font-size:12px; }
.electronic-invoice-note { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:-4px 0 12px; padding:9px 12px; border:1px solid #b2ddff; border-radius:9px; background:#eff8ff; color:#175cd3; font-size:12px; }
.electronic-invoice-note label { display:flex; align-items:center; gap:7px; color:#344054; font-weight:700; cursor:pointer; }
.electronic-invoice-note input { width:16px; height:16px; accent-color:#ef7d00; }
@media (max-width:760px) { .invoice-appearance-bar { flex-wrap:wrap; } .appearance-bar-help { flex-basis:100%; } .electronic-invoice-note { align-items:flex-start; flex-direction:column; gap:8px; } }
.status-badge.active { color: #1b764a; background: #e9f8f0; border: 1px solid #bee7d1; }
.status-badge.inactive { color: #8a3c3c; background: #fff0f0; border: 1px solid #edc3c3; }
.row-arrow { width: 28px; color: var(--orange); font-size: 26px !important; font-weight: 300; text-align: right; }

/* Partner részletes adatlap */
.detail-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.back-link { display: inline-flex; align-items: center; color: var(--blue-700); font-weight: 750; }
.back-link:hover { color: #b9520b; }
.partner-hero { display: flex; align-items: center; gap: 18px; padding: 22px; margin-bottom: 22px; border-radius: 15px; background: linear-gradient(135deg, #fff7ef, #fff); border: 1px solid #f0d8c2; }
.partner-monogram { width: 68px; height: 68px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 17px; color: #fff; background: linear-gradient(135deg, #d96812, #f28c28); font-size: 30px; font-weight: 850; box-shadow: 0 12px 25px rgba(217,104,18,.22); }
.partner-hero h1 { margin: 5px 0 8px; font-size: 31px; }
.partner-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--muted); font-size: 13px; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.detail-card { padding: 21px; border: 1px solid var(--border); border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(38,40,44,.055); }
.detail-card h2 { margin: 0 0 17px; padding-bottom: 11px; border-bottom: 2px solid #f5e2d1; font-size: 17px; }
.detail-list { margin: 0; }
.detail-list > div { display: grid; grid-template-columns: minmax(145px, .8fr) minmax(0, 1.2fr); gap: 14px; padding: 10px 0; border-bottom: 1px solid #eef0f2; }
.detail-list > div:last-child { border-bottom: 0; }
.detail-list dt { color: var(--muted); font-size: 13px; }
.detail-list dd { margin: 0; text-align: right; font-weight: 650; overflow-wrap: anywhere; }
.note-text { margin: 0; line-height: 1.65; color: #4e5258; }
.audit-line { margin-top: 18px; padding-top: 13px; border-top: 1px solid #eef0f2; color: var(--muted); font-size: 11px; }

@media (max-width: 900px) {
    .detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .module-heading { flex-direction: column; }
    .record-count { align-self: stretch; }
    .list-toolbar { align-items: stretch; flex-direction: column; }
    .toolbar-button, .toolbar-link { width: 100%; }
    .partner-hero { align-items: flex-start; }
    .partner-hero h1 { font-size: 25px; }
    .detail-list > div { grid-template-columns: 1fr; gap: 4px; }
    .detail-list dd { text-align: left; }
    .detail-topbar { align-items: flex-start; flex-direction: column; }
}

/* Terméktörzs */
.product-table { width: 100%; }
.product-table th, .product-table td { padding-left: 10px; padding-right: 10px; font-size: 12px; }
.partner-table td, .partner-table th { overflow-wrap: anywhere; }
.price-cell { font-weight: 800; color: var(--blue-950); white-space: nowrap; }
.product-hero { background: linear-gradient(135deg, #fff5e9, #fff); }
.product-monogram { font-size: 28px; }


.primary-action, .secondary-action {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
    padding: 0 18px; border: 0; border-radius: 10px; cursor: pointer; font-weight: 750;
}
.primary-action { color: #fff; background: linear-gradient(135deg, #d96812, #f28c28); box-shadow: 0 8px 20px rgba(217,104,18,.22); }
.secondary-action { color: var(--text); background: #eef0f2; border: 1px solid var(--border); }
.invoice-form { display: grid; gap: 18px; }
.form-section { padding: 22px; border: 1px solid var(--border); border-radius: 14px; background: #fafbfc; }
.form-section h2 { margin: 0 0 18px; font-size: 18px; }
.form-section label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; color: var(--muted); }
.form-section input, .form-section select, .form-section textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--text); }
.form-section textarea { min-height: 90px; resize: vertical; }
.form-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.product-select-grid { grid-template-columns: minmax(0,3fr) minmax(140px,1fr); }
.invoice-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 18px; }
.invoice-summary > div, .invoice-totals > div { padding: 15px; border-radius: 10px; background: #fff; border: 1px solid var(--border); }
.invoice-summary span, .invoice-totals span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 5px; }
.invoice-summary strong, .invoice-totals strong { font-size: 17px; }
.invoice-summary .gross, .invoice-totals .gross { background: var(--blue-100); border-color: #f5c89f; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.invoice-document { max-width: 1180px; margin: 0 auto; }
.invoice-head { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 24px; border-bottom: 2px solid var(--orange); }
.invoice-head h1 { margin: 7px 0 12px; }
.invoice-dates { display: grid; gap: 7px; text-align: right; color: var(--muted); }
.invoice-partner { display: grid; gap: 4px; width: min(460px,100%); margin: 24px 0; padding: 18px; border-radius: 12px; background: #f7f8fa; }
.invoice-partner h2 { margin: 0 0 8px; font-size: 15px; color: var(--muted); }
.invoice-items tr { cursor: default; }
.invoice-totals { width: min(430px,100%); margin: 22px 0 0 auto; display: grid; gap: 9px; }
.invoice-totals > div { display: flex; justify-content: space-between; align-items: center; }
.invoice-note { margin-top: 22px; padding: 18px; border-left: 4px solid var(--orange); background: #faf6f1; }
.invoice-note p { margin-bottom: 0; }
@media (max-width: 900px) { .form-grid, .invoice-summary { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .form-grid, .product-select-grid, .invoice-summary { grid-template-columns: 1fr; } .invoice-head { flex-direction: column; } .invoice-dates { text-align: left; } }

.section-title-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.section-title-row h2 { margin:0; }
.add-item-button { border:1px solid var(--border); cursor:pointer; font:inherit; }
.invoice-item-list { display:grid; gap:12px; }
.invoice-item-row { display:grid; grid-template-columns:minmax(240px,2.3fr) minmax(105px,.65fr) repeat(4,minmax(125px,1fr)) 38px; gap:10px; align-items:end; padding:14px; border:1px solid var(--border); border-radius:12px; background:#fff; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
.invoice-item-row:hover { border-color:#f2b57f; box-shadow:0 8px 22px rgba(48,58,76,.09); transform:translateY(-1px); }
.item-calculated { min-height:44px; padding:8px 10px; border:1px solid var(--border); border-radius:9px; background:#fafbfc; }
.item-calculated span { display:block; color:var(--muted); font-size:11px; margin-bottom:3px; }
.item-calculated strong { display:block; font-size:13px; white-space:nowrap; }
.remove-item-button { width:38px; height:44px; border:1px solid #efc7c7; border-radius:9px; background:#fff5f5; color:#b42318; font-size:22px; cursor:pointer; }
.remove-item-button:hover:not(:disabled) { background:#ffe5e5; }
.remove-item-button:disabled { opacity:.3; cursor:not-allowed; }
@media (max-width: 1250px) { .invoice-item-row { grid-template-columns:minmax(220px,2fr) minmax(110px,1fr) repeat(2,minmax(140px,1fr)) 38px; } .item-calculated:nth-of-type(3), .item-calculated:nth-of-type(4) { margin-top:0; } }
@media (max-width: 850px) { .invoice-item-row { grid-template-columns:1fr 1fr; } .remove-item-button { width:100%; } }
@media (max-width: 560px) { .section-title-row { align-items:stretch; flex-direction:column; } .invoice-item-row { grid-template-columns:1fr; } }

.heading-actions,.detail-actions,.form-actions,.checkbox-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-action,.edit-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:11px 16px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font:inherit}.primary-action,.edit-action{background:#ef7d00;color:#fff}.primary-action:hover,.edit-action:hover{background:#d86f00}.secondary-action{background:#eef1f4;color:#344054}.partner-edit-form{display:grid;gap:18px}.partner-edit-form .form-section{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:20px}.partner-edit-form .form-section h2{margin:0 0 16px;font-size:18px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#475467}.form-grid label.wide{grid-column:span 2}.form-grid input,.form-grid select,.form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:9px;padding:10px 11px;font:inherit;color:#101828;background:#fff}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid rgba(239,125,0,.2);border-color:#ef7d00}.checkbox-row{margin-top:18px}.checkbox-row label{font-weight:700;color:#344054}.form-alert{padding:13px 15px;border-radius:10px;margin-bottom:16px}.form-alert.error{background:#fff1f0;border:1px solid #fecdca;color:#b42318}.section-help{margin:-8px 0 15px;color:#667085;font-size:13px}.form-actions{justify-content:flex-end}.partner-form-module{max-width:1180px;margin:0 auto}
@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}.form-grid label.wide{grid-column:span 2}}@media(max-width:620px){.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:span 1}.heading-actions{align-items:stretch;flex-direction:column}.heading-actions .primary-action{width:100%}}

/* Készletkezelés és bevételezés */
.stock-cell { font-weight: 800; white-space: nowrap; color: #175cd3; }
.stock-cell.negative { color: #b42318; }
.stock-cell.positive { color: #067647; }
.form-alert.success { background: #ecfdf3; border: 1px solid #abefc6; color: #067647; }

/* Többraktáras készletkezelés */
.warehouse-switcher { margin: 0; }
.warehouse-switcher label { display: flex; align-items: center; gap: 9px; }
.warehouse-switcher label > span { color: rgba(255,255,255,.72); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.warehouse-switcher select { min-width: 175px; height: 34px; padding: 0 32px 0 10px; border: 1px solid rgba(255,255,255,.24); border-radius: 8px; outline: none; color: #fff; background: rgba(255,255,255,.1); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.warehouse-switcher select:hover, .warehouse-switcher select:focus { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.17); }
.warehouse-switcher option { color: #1f2937; background: #fff; }
.warehouse-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.warehouse-card { display: flex; flex-direction: column; gap: 16px; }
.warehouse-card-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.warehouse-card-heading h2, .warehouse-card > h2 { margin: 0; }
.warehouse-fields { display: grid; grid-template-columns: 1fr 2fr; gap: 13px; }
.warehouse-fields label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 750; }
.warehouse-fields label.wide { grid-column: 1 / -1; }
.warehouse-fields input { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fff; font: inherit; }
.warehouse-fields input:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px rgba(242,140,40,.13); }
.warehouse-meta { display: flex; gap: 8px 18px; flex-wrap: wrap; color: var(--muted); font-size: 12px; }
.new-warehouse-card { border-style: dashed; background: #fffaf5; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 20px; }
.pagination a, .pagination span, .pagination strong { display: inline-flex; min-height: 39px; align-items: center; justify-content: center; padding: 8px 14px; border-radius: 9px; font-size: 13px; }
.pagination a { border: 1px solid var(--border); background: #fff; color: var(--blue-700); font-weight: 750; }
.pagination a:hover { border-color: var(--orange); color: #b9520b; }
.pagination strong { color: var(--text); background: #f3f4f6; }
.pagination .disabled { color: #a1a7b0; background: #f7f7f8; }

@media (max-width: 980px) {
    .warehouse-grid { grid-template-columns: 1fr; }
    .warehouse-switcher select { min-width: 140px; }
}

@media (max-width: 760px) {
    .header-top { flex-wrap: wrap; }
    .warehouse-switcher { order: 3; width: 100%; }
    .warehouse-switcher label { width: 100%; }
    .warehouse-switcher select { width: 100%; min-width: 0; flex: 1; }
    .warehouse-fields { grid-template-columns: 1fr; }
    .warehouse-fields label.wide { grid-column: auto; }
}
.receipt-module { max-width: 1280px; margin: 0 auto; }
.receipt-form { margin-bottom: 28px; }
.stock-history-title { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--border); }
.stock-table { min-width: 980px; }

/* Beszerzés több tétellel */
.purchase-item-list { display:grid; gap:12px; }
.purchase-item-row { display:grid; grid-template-columns:minmax(280px,2.4fr) minmax(120px,.8fr) minmax(180px,1.1fr) minmax(150px,1fr) 38px; gap:12px; align-items:end; padding:14px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.purchase-summary { margin:18px 0 0 auto; width:min(390px,100%); display:flex; justify-content:space-between; align-items:center; padding:16px; border:1px solid #f5c89f; border-radius:10px; background:var(--blue-100); }
.purchase-summary span { color:var(--muted); font-size:13px; }
.purchase-summary strong { font-size:19px; }
@media(max-width:950px){.purchase-item-row{grid-template-columns:1fr 1fr}.purchase-item-row .purchase-remove{width:100%}}
@media(max-width:620px){.purchase-item-row{grid-template-columns:1fr}}

/* V1.8 számlanyomtatás */
.detail-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
@media(max-width:620px){ .detail-actions{width:100%}.detail-actions .primary-action{width:100%} }

/* Terméktörzs karbantartás */
.product-form-module { max-width: 1180px; margin: 0 auto; }
.product-edit-form .disabled-field { opacity: .55; }
.product-edit-form .disabled-field input { background: #f2f4f7; cursor: not-allowed; }

/* NewSzla 1.10 - számlabesorolás */
.tax-selection-grid { align-items: end; }
.tax-rule-note {
    margin-top: 14px;
    padding: 12px 14px;
    border-left: 4px solid #ef7d00;
    border-radius: 6px;
    background: #fff8ef;
    color: #73410c;
    line-height: 1.45;
}
.conditional-field { display: none; }
.invoice-classifications {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 14px 0;
    padding: 11px 14px;
    border: 1px solid #e1e6eb;
    border-radius: 8px;
    background: #f8fafb;
    font-size: 13px;
}
.invoice-classifications span { color: #4b5563; }
.invoice-classifications strong { color: #1f2937; }

.danger-action {
    background: #b42318 !important;
    border-color: #b42318 !important;
    color: #fff !important;
}
.danger-action:hover { background: #8f1c13 !important; }
.form-alert.warning {
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid #f1c27d;
    border-radius: 10px;
    background: #fff7e8;
    color: #704600;
}

/* Product stock history */
.product-stock-section { margin-top: 28px; }
.stock-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 14px 0 26px; }
.stock-summary-card { min-width: 0; padding: 16px; border: 1px solid #e6e9ee; border-radius: 14px; background: #fff; display: flex; flex-direction: column; gap: 8px; }
.stock-summary-card.emphasis { border-color: #f4b36f; background: #fff8f0; }
.stock-summary-card span { color: #6b7280; font-size: .82rem; }
.stock-summary-card strong { color: #20242a; font-size: 1rem; overflow-wrap: anywhere; }
.stock-summary-card strong.negative, .stock-after-cell.negative { color: #b42318; }
.product-stock-table-wrap { width: 100%; overflow-x: auto; border-radius: 14px; border: 1px solid #e6e9ee; }
.product-stock-table { min-width: 980px; margin: 0; }
.product-stock-table th, .product-stock-table td { white-space: normal; }
.product-stock-table td:nth-child(1), .product-stock-table td:nth-child(5), .product-stock-table td:nth-child(6), .product-stock-table td:nth-child(7) { white-space: nowrap; }
.document-link { color: #c65f00; font-weight: 700; text-decoration: none; }
.document-link:hover { text-decoration: underline; }
.record-limit-note { color: #6b7280; font-size: .85rem; }
.empty-state.compact { margin-top: 12px; padding: 22px; }
.partner-card-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-sales-section .stock-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-sales-table { min-width: 1120px; margin: 0; }
.partner-table tr.overdue-invoice-row > td { background:#fff1f0; color:#b42318; border-bottom-color:#fecdca; }
.partner-table tr.overdue-invoice-row:hover > td { background:#ffe4e1; }
.partner-table tr.overdue-invoice-row a { color:#b42318; }
.paid-action { background:#e9f8f0; color:#18794e; }
.paid-action:hover { background:#d1f0df; }
@media (max-width: 1100px) { .stock-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .stock-summary-grid { grid-template-columns: 1fr; } }

/* Brutto eladasi ar */
.gross-price-cell {
    font-size: 1.02rem;
    color: var(--orange-700, #c55a11);
}
.price-detail-card .gross-price-highlight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 16px;
    padding: 16px 18px;
    border: 1px solid #f2c49d;
    border-radius: 14px;
    background: #fff7ef;
}
.price-detail-card .gross-price-highlight span {
    color: #7b4a23;
    font-weight: 700;
}
.price-detail-card .gross-price-highlight strong {
    color: var(--orange-700, #c55a11);
    font-size: 1.35rem;
    white-space: nowrap;
}

.nav-status-bekuldott {
    background: #e8f7ee;
    color: #18794e;
    border-color: #b9e4ca;
}

.nav-status-nem-bekuldott {
    background: #fff3e8;
    color: #a84b00;
    border-color: #f2c89f;
}
.nav-status-processing { color:#854a0e; background:#fffaeb; border-color:#fedf89; }
.nav-status-error { color:#b42318; background:#fef3f2; border-color:#fecdca; }

.nav-error-text {
    display: block;
    margin-top: 6px;
    max-width: 380px;
    color: #b42318;
    white-space: normal;
}

.inline-action-form {
    display: inline;
    margin: 0;
}

.compact-action {
    padding: 7px 11px;
    min-height: auto;
    font-size: 0.84rem;
}


/* Settings dashboard */
.settings-menu-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}
.settings-menu-card {
    min-height: 150px;
    display: grid;
    grid-template-columns: 54px 1fr 24px;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border: 1px solid #e4e8ed;
    border-radius: 16px;
    background: #fff;
    color: #20242a;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(20, 28, 40, .06);
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.settings-menu-card:hover {
    transform: translateY(-3px);
    border-color: #ef9b50;
    box-shadow: 0 14px 30px rgba(20, 28, 40, .1);
}
.settings-menu-icon { font-size: 2rem; text-align: center; }
.settings-menu-content { display: flex; flex-direction: column; gap: 8px; }
.settings-menu-content strong { font-size: 1.08rem; color: #20242a; }
.settings-menu-content small { color: #667085; line-height: 1.45; }
.settings-menu-arrow { color: #df6f0b; font-size: 2rem; line-height: 1; }
.standalone-settings-page { min-height: 100vh; margin: 0; background: #f4f6f8; color: #20242a; }
.standalone-settings-shell { width: min(980px, calc(100% - 40px)); margin: 36px auto; }
.standalone-settings-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.standalone-settings-header h1 { margin: 4px 0 8px; }
.standalone-settings-header p { margin: 0; color: #667085; }
.settings-form-card { padding: 26px; }
.settings-form-card .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.settings-form-card .full-width { grid-column: 1 / -1; }
.settings-form-card .form-field { display: flex; flex-direction: column; gap: 7px; }
.settings-form-card input { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #ccd3db; border-radius: 9px; }
.settings-form-card small { color: #667085; }
.settings-warning-card { margin-top: 18px; }
.form-alert.error { background: #fdecec; color: #9f1f17; border: 1px solid #f1b7b3; }
.form-alert.success { background: #eaf7ef; color: #16653b; border: 1px solid #b9dec8; }
@media (max-width: 900px) { .settings-menu-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) {
    .standalone-settings-header { flex-direction: column; }
    .settings-form-card .form-grid { grid-template-columns: 1fr; }
    .settings-form-card .full-width { grid-column: auto; }
}
.cash-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 24px}.summary-card{background:#fff;border:1px solid #e2e6ec;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}.summary-card span{font-size:12px;color:#6a7483}.summary-card strong{font-size:20px}.summary-card.emphasis{border-color:#ef8c22;background:#fff8ef}.cash-in{background:#e7f8ed;color:#14733b}.cash-out{background:#fdeaea;color:#a12d2d}.positive-value{color:#14733b}.negative-value{color:#a12d2d}.wide-card{grid-column:1/-1}.no-horizontal-scroll{overflow-x:visible}@media(max-width:1000px){.cash-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cash-summary-grid{grid-template-columns:1fr}}
.user-create-panel{margin-bottom:24px;padding:20px;border:1px solid #e4e8ec;border-radius:14px;background:#f8fafc}.user-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.user-management-card{padding:20px;border:1px solid #e3e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(30,45,60,.06)}.user-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.user-card-head>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.user-card-head strong{font-size:18px}.user-card-head span:not(.status-badge){color:#6d7780;font-size:14px}.user-card-head .status-badge{margin-left:auto}.user-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.user-card-fields label{font-weight:700;font-size:13px}.user-card-fields input,.user-card-fields select{width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #ccd3d9;border-radius:8px;background:#fff}.user-card-meta{margin:16px 0;color:#6d7780;font-size:13px}.user-card-actions{display:flex;align-items:center;gap:10px;border-top:1px solid #edf0f2;padding-top:15px}.user-card-actions form{margin:0}.user-active-check{margin-right:auto;font-weight:700;font-size:14px}.user-active-check input{margin-right:6px}.user-management-card .partner-monogram{width:44px;height:44px;min-width:44px;font-size:18px}@media(max-width:600px){.user-management-grid{grid-template-columns:1fr}.user-card-fields{grid-template-columns:1fr}.user-card-actions{flex-wrap:wrap}}
