:root{--brand:#f2a900;--brand-dark:#c98600;--ink:#17191d;--sidebar:#16191e;--muted:#707783;--bg:#f4f5f7;--card:#fff;--border:#e2e5e9;--success:#238451;--danger:#b42318;--info:#2367a8;--radius:14px;--shadow:0 10px 32px rgba(23,25,29,.08)}*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-body{background:#fff}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,42%) 1fr}.auth-visual{position:relative;overflow:hidden;padding:54px 64px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(242,169,0,.2),transparent 28%),linear-gradient(135deg,#13161a,#20242a)}.auth-logo{width:min(390px,80%);height:auto}.auth-copy{position:relative;z-index:2;margin-top:18vh;max-width:470px}.eyebrow{display:block;margin-bottom:8px;color:var(--brand-dark);font-size:.76rem;font-weight:800;letter-spacing:.12em}.auth-copy .eyebrow{color:var(--brand)}.auth-copy h1{margin:0 0 16px;font-size:clamp(2.1rem,4vw,4rem);line-height:1.05}.auth-copy p{color:#c9cdd3;font-size:1.08rem;line-height:1.7}.auth-mark{position:absolute;right:-11%;bottom:4%;width:65%;opacity:.12}.auth-footer{position:absolute;bottom:28px;color:#979da5;font-size:.85rem}.auth-form-panel{display:grid;place-items:center;padding:40px;background:linear-gradient(135deg,#fff,#f7f7f8)}.auth-card{width:min(560px,100%);padding:48px;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.login-heading{display:flex;gap:18px;align-items:center;margin-bottom:28px}.login-heading h2{margin:0 0 5px;font-size:2rem}.login-heading p{margin:0;color:var(--muted)}.icon-tile{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:#fff5d9;color:var(--brand-dark);font-size:1.65rem}.form-stack{display:grid;gap:18px}.field{display:grid;gap:7px}.field>span{font-size:.88rem;font-weight:750}.field small,.muted{color:var(--muted);font-size:.8rem}.field input,.field select,.field textarea,.filter-row input,.filter-row select,.material-row input{width:100%;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid #cfd4da;border-radius:9px;outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus,.filter-row input:focus,.filter-row select:focus,.material-row input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,169,0,.14)}.check-row{display:flex;align-items:center;gap:9px;color:#4e5560;font-size:.92rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 17px;border:1px solid transparent;border-radius:9px;font-weight:750;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-1px)}.button-primary{color:#17191d;background:var(--brand);border-color:var(--brand)}.button-primary:hover{background:#ffbd22}.button-secondary{color:#fff;background:#343941}.button-ghost{background:#fff;border-color:#d3d7dc}.button-block{width:100%;min-height:51px}.button-small{min-height:34px;padding:6px 10px;font-size:.82rem}.security-note{margin-top:24px;padding-top:20px;text-align:center;color:var(--muted);border-top:1px solid var(--border);font-size:.84rem}.alert{margin-bottom:20px;padding:13px 16px;border-radius:9px;border:1px solid}.alert ul{margin:8px 0 0;padding-left:20px}.alert-success{color:#17653f;background:#edf9f2;border-color:#bde6cc}.alert-danger{color:#8f1d16;background:#fff0ef;border-color:#f1c4c0}.alert-info{color:#1b588e;background:#eef7ff;border-color:#c6dff5}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:26px 16px;color:#fff;background:linear-gradient(180deg,#1b1f24,#111418)}.brand{display:block;padding:0 12px 27px;border-bottom:1px solid rgba(255,255,255,.1)}.brand img{width:190px;max-width:100%}.nav{display:grid;gap:7px;margin-top:26px}.nav-link{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:9px;color:#e5e7ea;font-weight:650}.nav-link:hover{background:rgba(255,255,255,.06)}.nav-link.active{color:#17191d;background:var(--brand)}.nav-section{margin:22px 12px 4px;color:#7f8791;font-size:.67rem;font-weight:800;letter-spacing:.12em}.sidebar-user{margin-top:auto;display:flex;gap:11px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{margin-top:3px;color:#aeb4bc;font-size:.73rem}.avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;color:#17191d;background:var(--brand);font-weight:850}.main-column{min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;min-height:72px;padding:12px 28px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}.topbar-title{flex:1;font-weight:800}.menu-button{display:none;padding:8px;border:0;background:transparent;font-size:1.4rem}.content{padding:30px;max-width:1700px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-heading h1{margin:0;font-size:2rem}.page-heading p{margin:7px 0 0;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.metric-card{display:grid;gap:5px;padding:23px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 5px 18px rgba(23,25,29,.045)}.metric-card span{color:#5d6470;font-weight:700}.metric-card strong{font-size:2.2rem}.metric-card small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 5px 20px rgba(23,25,29,.045)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;border-bottom:1px solid var(--border)}.panel-header h2{margin:0;font-size:1.08rem}.panel-header a{color:var(--brand-dark);font-size:.86rem;font-weight:750}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 16px;text-align:left;border-bottom:1px solid #eceef1;font-size:.88rem}th{color:#68707b;background:#fafafa;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}tr:last-child td{border-bottom:0}.table-link{font-weight:800}.table-sub{display:block;margin-top:3px;color:var(--muted)}.empty-state{padding:36px!important;text-align:center;color:var(--muted)}.quick-actions{display:grid;padding:10px 18px 18px}.quick-actions>a{display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid var(--border)}.quick-actions>a:last-child{border-bottom:0}.quick-actions span{flex:1}.quick-actions strong,.quick-actions small{display:block}.quick-actions small{margin-top:3px;color:var(--muted)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800}.badge-large{padding:9px 14px}.badge-success{color:#17653f;background:#daf3e4}.badge-muted{color:#616873;background:#edf0f2}.badge-info{color:#1c5d95;background:#dceefe}.badge-dark{color:#fff;background:#343941}.filter-row{display:flex;gap:10px;padding:18px}.filter-row input{flex:1}.filter-row select{width:auto;min-width:180px}.form-page{display:grid;gap:18px}.form-section{padding-bottom:22px}.form-grid{display:grid;gap:16px;padding:22px}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:10px}.sticky-actions{position:sticky;bottom:12px;z-index:10;padding:14px;background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.step-badge{padding:5px 9px;color:#745000;background:#fff1c4;border-radius:999px;font-size:.73rem;font-weight:800}.choice-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 22px 22px}.choice-columns h3{margin:0 0 10px;font-size:.9rem}.check-card{display:flex;align-items:center;gap:9px;padding:9px 10px;margin-bottom:7px;border:1px solid var(--border);border-radius:8px}.check-card:has(input:checked){border-color:var(--brand);background:#fff8e5}.section-gap{margin-top:18px}.materials-table{padding:22px 22px 0}.material-row{display:grid;grid-template-columns:minmax(220px,2fr) 120px 90px 140px 38px;gap:8px;margin-bottom:8px}.material-head{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.icon-button{border:0;border-radius:8px;background:#fff0ef;color:var(--danger);font-size:1.25rem;cursor:pointer}.signature-wrap{padding:0 22px}.signature-wrap canvas{width:100%;height:190px;background:#fff;border:1px dashed #aeb5bd;border-radius:10px;touch-action:none}.document-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.document-sheet{padding:35px;background:#fff;border:1px solid #cfd3d8;box-shadow:var(--shadow)}.document-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:20px;border-bottom:3px solid var(--ink)}.document-header img{width:210px}.document-header h2{margin:0 0 8px;font-size:1.25rem}.document-info-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #bbc0c6;border-top:1px solid #bbc0c6}.document-info-grid>div{padding:12px;border-right:1px solid #bbc0c6;border-bottom:1px solid #bbc0c6}.document-info-grid span,.document-info-grid strong{display:block}.document-info-grid span{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase}.document-info-grid strong{margin-top:5px;font-size:.9rem}.document-two-col{display:grid;grid-template-columns:1fr 1fr}.document-two-col section,.document-section{padding:18px;border:1px solid #bbc0c6;border-top:0}.document-two-col section+section{border-left:0}.document-sheet h3{margin:0 0 8px;font-size:.8rem;text-transform:uppercase}.document-sheet p{margin:0;line-height:1.55}.preline{white-space:pre-line}.document-signatures{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}.document-signatures>div{min-height:150px;padding:18px;text-align:center;border:1px solid #bbc0c6}.document-signatures>div+div{border-left:0}.document-signatures img{max-width:250px;max-height:90px}.document-summary{position:sticky;top:92px;padding:22px}.document-summary h2{margin-top:0}.document-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px}.document-summary dt{color:var(--muted)}.document-summary dd{margin:0;text-align:right;font-weight:750}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.document-grid{grid-template-columns:1fr}.document-summary{position:static}.form-grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-panel{padding:20px}.auth-card{padding:28px}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;z-index:50;width:260px;transition:.25s}.sidebar-open .sidebar{left:0}.menu-button{display:block}.content{padding:20px}.page-heading{align-items:flex-start;flex-direction:column}.metric-grid,.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4,.choice-columns,.document-info-grid,.document-two-col{grid-template-columns:1fr}.span-2{grid-column:auto}.material-head{display:none}.material-row{grid-template-columns:1fr 1fr}.material-row input:first-child{grid-column:span 2}.document-header{align-items:flex-start;flex-direction:column}.document-signatures{grid-template-columns:1fr}.document-signatures>div+div{border-left:1px solid #bbc0c6;border-top:0}.filter-row{flex-direction:column}.filter-row select{width:100%}}

/* TEPÓ Office v0.2 */
.clickable-row{cursor:pointer;transition:background .15s}.clickable-row:hover,.clickable-row:focus{background:#fff9e9;outline:none}.table-actions{white-space:nowrap}.table-actions a{display:inline-block;margin-right:12px;color:var(--brand-dark);font-weight:750}.page-heading-actions{align-items:center}.heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.summary-actions{display:grid;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.signature-help{display:block;margin-top:8px;color:var(--muted)}
@media(max-width:820px){.page-heading-actions .heading-actions{width:100%;justify-content:flex-start}.heading-actions .button{flex:1}.table-actions{min-width:160px}}

/* TEPÓ Office v0.3 */
.filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(160px,1fr)) auto;gap:14px;align-items:end;padding:20px;border-bottom:1px solid var(--border)}
.filter-grid-workorders{grid-template-columns:minmax(280px,2fr) repeat(3,minmax(150px,1fr));}
.filter-grid-workorders .filter-actions{grid-column:4/5}.filter-grid-activity{grid-template-columns:minmax(260px,2fr) repeat(4,minmax(140px,1fr))}.filter-grid-activity .filter-actions{grid-column:5/6}.filter-actions{display:flex;gap:8px;justify-content:flex-end}.field-check{align-self:end;min-height:44px}.check-line{display:flex;align-items:center;gap:10px;font-weight:700}.check-line input{width:18px;height:18px}.section-gap{margin-top:20px}.profile-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.detail-list{display:grid;grid-template-columns:180px 1fr;gap:13px 20px;margin:0}.detail-list dt{color:var(--muted);font-weight:700}.detail-list dd{margin:0}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-metrics div{padding:16px;border:1px solid var(--border);border-radius:12px;background:#fafafa;text-align:center}.mini-metrics strong{display:block;font-size:28px}.mini-metrics span{color:var(--muted);font-size:13px}.card-list{display:grid;gap:12px;padding:18px}.record-card{display:flex;justify-content:space-between;gap:24px;padding:18px;border:1px solid var(--border);border-radius:13px;background:#fff}.record-card h3,.record-card p{margin:0 0 6px}.record-card small{color:var(--muted)}.record-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.inline-form{display:inline}.link-button{border:0;background:transparent;padding:0;color:var(--brand-dark);font:inherit;font-weight:750;cursor:pointer}.danger-link{color:#bd2f2f}.activity-list{padding:6px 22px 22px}.activity-item{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--border)}.activity-dot{width:10px;height:10px;margin-top:7px;border-radius:50%;background:var(--brand)}.activity-title{display:flex;justify-content:space-between;gap:20px}.activity-title span,.activity-body small{color:var(--muted)}.activity-body p{margin:5px 0}.attachment-upload{display:grid;grid-template-columns:minmax(280px,2fr) minmax(220px,1fr) auto;gap:14px;align-items:end;padding:18px;border-bottom:1px solid var(--border);background:#fffaf0}.attachment-list{display:grid}.attachment-item{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--border)}.attachment-item:last-child{border-bottom:0}.file-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#fff0c8;color:#8f6100;font-size:12px;font-weight:900}.attachment-main strong,.attachment-main small{display:block}.attachment-main small{margin-top:4px;color:var(--muted)}.attachment-main p{margin:6px 0 0}.attachment-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.attachment-actions a{font-weight:750}.badge-large{padding:8px 12px}
@media(max-width:1200px){.filter-grid,.filter-grid-workorders,.filter-grid-activity{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid-workorders .filter-actions,.filter-grid-activity .filter-actions{grid-column:auto}.profile-grid{grid-template-columns:1fr}.attachment-upload{grid-template-columns:1fr 1fr}.attachment-upload .button{grid-column:1/-1}}
@media(max-width:820px){.filter-grid,.filter-grid-workorders,.filter-grid-activity{grid-template-columns:1fr}.filter-actions{justify-content:stretch}.filter-actions .button{flex:1}.detail-list{grid-template-columns:1fr}.detail-list dd{margin-top:-8px}.mini-metrics{grid-template-columns:1fr}.record-card{flex-direction:column}.record-meta{justify-content:flex-start}.attachment-upload{grid-template-columns:1fr}.attachment-item{grid-template-columns:48px 1fr}.attachment-actions{grid-column:1/-1;padding-left:62px}.activity-title{flex-direction:column;gap:4px}}

/* TEPÓ Office v0.4 */
.switch-bar{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:24px -22px 0;padding:20px 22px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fbfbfc}.toggle-field{display:flex;align-items:center;gap:10px;cursor:pointer;color:#3d434c;font-size:.9rem}.toggle-field input{position:absolute;opacity:0;pointer-events:none}.toggle-ui{position:relative;width:42px;height:24px;border-radius:999px;background:#cbd1d8;transition:.2s}.toggle-ui:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.toggle-field input:checked+.toggle-ui{background:var(--brand)}.toggle-field input:checked+.toggle-ui:after{transform:translateX(18px)}.toggle-field.align-end{align-self:end;min-height:46px}.password-section{display:grid;gap:20px;padding-top:24px}.password-section h2{margin:0 0 5px;font-size:1.08rem}.password-section p{margin:0}.password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.input-action .button{white-space:nowrap}.attendee-list{display:grid;gap:18px;padding:20px}.attendee-card{padding:18px;border:1px solid var(--border);border-radius:12px;background:#fbfbfc}.attendee-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.signature-wrap-compact{margin-top:14px;padding:10px}.signature-wrap-compact canvas{width:100%;height:110px;border:1px dashed #b7bdc5;border-radius:8px;background:#fff;touch-action:none}.signature-image-small{display:block;max-width:150px;max-height:48px}.secret-list{display:grid;gap:14px;padding:18px}.secret-card{padding:15px;border:1px solid var(--border);border-radius:10px;background:#fbfbfc}.secret-card>span{display:block;margin-bottom:8px;color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.secret-card pre{min-height:42px;margin:0 0 10px;padding:11px;white-space:pre-wrap;word-break:break-word;background:#17191d;color:#fff;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.secret-card>div{display:flex;gap:8px}.copy-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.record-card small{display:block;margin-top:5px;color:var(--muted)}.form-section>.panel-header{margin:-22px -22px 20px}.form-section>.attendee-list{margin:0 -22px -22px}.span-3{grid-column:span 3}.badge-warning{background:#fff2cc;color:#8a5d00}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.password-grid{grid-template-columns:1fr}.switch-bar{align-items:flex-start;flex-direction:column;gap:16px}.input-action{grid-template-columns:1fr}.input-action .button{justify-self:start}.attendee-card .cols-4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.attendee-card .cols-4{grid-template-columns:1fr}.secret-card>div{flex-wrap:wrap}}

/* TEPÓ Office v0.4.1 – teljes felületigazítás */
.main-column,.content,.panel,.form-section,.form-grid>*{min-width:0}
.panel,.form-section{overflow:hidden}
.panel-header{flex-wrap:wrap}
.form-section{padding-bottom:0}
.form-section>.panel-header{margin:0}
.form-section>.attendee-list{margin:0}
.form-section>.detail-list,.form-section>.mini-metrics{margin:0;padding:22px}
.form-section>.alert{margin:0 22px 22px}
.form-section>.signature-wrap{padding:0 22px 22px}
.form-section>.field{margin:0 22px 18px}
.form-section>.button.section-gap{margin:0 22px 18px}
.form-section>.section-body{display:grid;gap:18px;padding:0 22px 22px}
.form-section>.section-body>.section-gap{margin-top:0}
.form-section>.form-grid.section-gap{margin-top:0;padding-top:22px;border-top:1px solid var(--border)}
.form-section>.choice-columns{padding-top:0}
.form-section>.materials-table{padding:22px 22px 0}
.form-section>.materials-table+.section-body{padding-top:18px}
.switch-bar{width:100%;margin:0;padding:18px 22px;border-left:0;border-right:0}
.password-section{padding:22px}
.password-grid{align-items:start}
.password-grid>.field{min-width:0;align-content:start}
.input-action{align-items:stretch}
.input-action input,.password-grid>.field>input{min-width:0;min-height:46px}
.input-action .button{min-height:46px}
.field input,.field select,.field textarea,.filter-row input,.filter-row select,.material-row input{min-width:0}
textarea{resize:vertical}
.form-actions{flex-wrap:wrap;padding-bottom:2px}
.sticky-actions{margin-top:0}
.material-row{align-items:end}
.material-row input,.material-row .icon-button{min-height:44px}
.icon-button{display:grid;place-items:center;width:38px;height:44px;padding:0}
.signature-wrap canvas{display:block}
.signature-wrap .button{margin-top:10px}
.attendee-card{overflow:hidden}
.attendee-card .form-grid{padding:0}
.secret-card,.record-card,.attachment-item{min-width:0}
.secret-card pre{overflow:auto}
.detail-list{line-height:1.45}
.mini-metrics{margin:0}

@media(max-width:1100px){
  .form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid.cols-3 .span-2{grid-column:span 2}
}
@media(max-width:820px){
  .form-grid.cols-3{grid-template-columns:1fr}
  .form-grid.cols-3 .span-2{grid-column:auto}
  .switch-bar{align-items:flex-start}
  .password-section{padding:18px}
  .form-section>.detail-list,.form-section>.mini-metrics{padding:18px}
  .form-section>.alert{margin:0 18px 18px}
  .form-section>.signature-wrap{padding:0 18px 18px}
  .form-section>.field{margin:0 18px 16px}
  .form-section>.button.section-gap{margin:0 18px 16px}
  .form-section>.section-body{padding:0 18px 18px}
  .form-section>.materials-table{padding:18px 18px 0}
  .material-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .material-row input:first-child{grid-column:1/-1}
  .material-row .icon-button{width:100%}
  .sticky-actions{position:static}
}
@media(max-width:520px){
  .content{padding:14px}
  .panel-header{padding:16px}
  .form-grid{padding:16px}
  .switch-bar{padding:16px}
  .password-section{padding:16px}
  .form-section>.detail-list,.form-section>.mini-metrics{padding:16px}
  .form-section>.alert{margin:0 16px 16px}
  .form-section>.signature-wrap{padding:0 16px 16px}
  .form-section>.field{margin:0 16px 16px}
  .form-section>.button.section-gap{margin:0 16px 16px}
  .form-section>.section-body{padding:0 16px 16px}
  .form-section>.materials-table{padding:16px 16px 0}
  .form-actions .button,.sticky-actions .button{width:100%}
}

/* TEPÓ Office v0.5 – árajánlatok */
.badge-danger{color:#8f1d16;background:#ffe0dd}
.metric-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.filter-grid-quotations{display:grid;grid-template-columns:minmax(280px,2fr) repeat(4,minmax(150px,1fr));gap:14px;padding:18px}
.filter-grid-quotations .filter-actions{grid-column:5/6}
.quotation-items-table{overflow-x:auto;padding:22px 22px 0}
.quote-item-row{display:grid;grid-template-columns:100px minmax(300px,2.4fr) 100px 80px 135px 105px 85px 145px 42px;gap:8px;align-items:end;min-width:1180px;margin-bottom:9px}
.quote-item-head{align-items:end;margin-bottom:7px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.quote-item-row input,.quote-item-row textarea{width:100%;min-width:0;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid #cfd4da;border-radius:9px;outline:none;transition:.2s}
.quote-item-row input:focus,.quote-item-row textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,169,0,.14)}
.quote-item-row textarea{resize:vertical}
.quote-description-cell{display:grid;gap:7px;min-width:0}
.quote-line-total{display:flex;align-items:center;justify-content:flex-end;min-height:44px;padding:9px 10px;border-radius:8px;background:#fff8e5;text-align:right;white-space:nowrap}
.quote-items-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:14px 22px 22px}
.quote-live-totals{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 15px;border:1px solid var(--border);border-radius:10px;background:#fafafa}
.quote-live-totals span{color:var(--muted);font-size:.85rem}
.quote-live-totals strong{margin-left:5px;color:var(--ink)}
.quote-live-totals span:last-child{color:#7b5400}
.quote-live-totals span:last-child strong{font-size:1.08rem}
.quotation-title-block{display:grid;gap:5px;text-align:right}
.quotation-title-block>strong{font-size:1.35rem}
.quotation-title-block>span:not(.badge){font-weight:750}
.quotation-title-block .badge{justify-self:end}
.quotation-items-document{padding-left:0;padding-right:0}
.quotation-items-document>h2{padding:0 18px}
.quotation-table th,.quotation-table td{white-space:normal}
.quotation-total-box{display:grid;width:min(480px,100%);margin:14px 18px 0 auto;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.quotation-total-box>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 13px;border-bottom:1px solid var(--border)}
.quotation-total-box>div:last-child{border-bottom:0}
.quotation-grand-total{background:#fff2c9;font-size:1.08rem}
.quotation-sidebar{display:grid;gap:17px}
.quotation-sidebar>h2{margin-bottom:-7px}
.quotation-status-form{display:grid;gap:12px;padding:15px;border:1px solid var(--border);border-radius:11px;background:#fafafa}
.quotation-internal-note{padding:13px;border-left:4px solid var(--brand);border-radius:8px;background:#fff9e9}
.quotation-internal-note p{margin:7px 0 0}
.quotation-version-list .record-card{align-items:center}
.quotation-version-list .current-version{border-color:var(--brand);background:#fffaf0}
.quotation-version-list .record-card:hover{border-color:#d4a02d;transform:translateY(-1px)}
.quote-review-panel .alert{margin-bottom:0}

@media(max-width:1450px){
  .metric-grid-five{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filter-grid-quotations{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filter-grid-quotations .filter-wide{grid-column:span 2}
  .filter-grid-quotations .filter-actions{grid-column:auto}
}
@media(max-width:1000px){
  .metric-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-grid-quotations{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-grid-quotations .filter-wide{grid-column:1/-1}
  .quotation-document-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .metric-grid-five,.filter-grid-quotations{grid-template-columns:1fr}
  .filter-grid-quotations .filter-wide{grid-column:auto}
  .filter-grid-quotations .filter-actions{justify-content:stretch}
  .filter-grid-quotations .filter-actions .button{flex:1}
  .quote-items-footer{align-items:stretch;flex-direction:column}
  .quote-items-footer .button{width:100%}
  .quote-live-totals{display:grid;width:100%}
  .quotation-title-block{text-align:left}
  .quotation-title-block .badge{justify-self:start}
  .quotation-total-box{margin-right:0}
  .quotation-version-list .record-meta{align-items:flex-start;flex-direction:column}
}

/* TEPÓ Office v0.6 – dokumentumközpont, autocomplete és egységes űrlapok */
.form-grid{align-items:start}
.form-grid>.field{align-self:start}
.document-date-grid{align-items:start}
.document-date-grid .field{height:100%;align-content:start}
.validity-field{display:grid;grid-template-rows:auto minmax(46px,auto) auto auto;gap:7px}
.date-shortcuts{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:32px}
.date-shortcut{min-height:30px;padding:5px 10px;border:1px solid #e0b64d;border-radius:999px;color:#7a5400;background:#fff8df;font-size:.76rem;font-weight:800;cursor:pointer}
.date-shortcut:hover,.date-shortcut.active{color:#17191d;background:var(--brand);border-color:var(--brand)}
.partner-picker-grid{align-items:start}
.partner-save-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 22px 22px}
.check-card-inline{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:9px 12px;margin:0;border:1px solid var(--border);border-radius:9px;background:#fafafa;font-weight:700}
.check-card-inline:has(input:checked){border-color:var(--brand);background:#fff8e5}
.document-items-editor{overflow-x:auto;padding:22px 22px 0}
.simple-item-row{display:grid;grid-template-columns:130px minmax(330px,2fr) 105px 90px minmax(180px,1fr) 42px;gap:9px;align-items:end;min-width:980px;margin-bottom:9px}
.performance-item-row{display:grid;grid-template-columns:minmax(360px,2fr) 105px 90px 150px 150px 42px;gap:9px;align-items:end;min-width:950px;margin-bottom:9px}
.simple-item-row input,.performance-item-row input{width:100%;min-width:0;min-height:44px;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid #cfd4da;border-radius:9px;outline:none}
.simple-item-row input:focus,.performance-item-row input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,169,0,.14)}
.simple-item-head{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.item-description-stack{display:grid;gap:7px;min-width:0}
.performance-item-row>strong{display:flex;align-items:center;justify-content:flex-end;min-height:44px;padding:10px;border-radius:8px;background:#fff8e5;white-space:nowrap}
.inline-field{display:grid;grid-template-columns:auto 90px;align-items:center;gap:8px;margin:0}
.inline-field>span{white-space:nowrap}
.inline-field input{min-height:38px;padding:8px 10px}
.alert-warning{color:#7a5200;background:#fff7db;border-color:#ecd071}
.reopen-box{margin-top:15px;border:1px solid #e0b64d;border-radius:10px;background:#fffaf0;overflow:hidden}
.reopen-box summary{padding:12px 14px;font-weight:800;cursor:pointer}
.reopen-box form{display:grid;gap:12px;padding:0 14px 14px}
.result-count{color:var(--muted);font-size:.86rem;font-weight:750}
.document-type-pill{display:inline-flex;padding:5px 8px;border-radius:7px;color:#3f4650;background:#edf0f2;font-size:.75rem;font-weight:800;white-space:nowrap}
.document-search-grid{display:grid;grid-template-columns:minmax(330px,2fr) repeat(3,minmax(170px,1fr));gap:14px;padding:20px;align-items:end}
.document-search-grid .search-field-main{grid-column:span 2}
.document-search-grid .search-actions{grid-column:span 2;justify-content:flex-end}
.topbar-search{display:flex;align-items:center;gap:8px;flex:0 1 560px;min-width:220px;padding:0 13px;border:1px solid #d7dbe0;border-radius:10px;background:#f8f9fa}
.topbar-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,169,0,.12);background:#fff}
.topbar-search span{color:#606873;font-size:1.1rem}
.topbar-search input{width:100%;min-width:0;height:42px;padding:0;border:0;outline:0;background:transparent}
.topbar-logout{flex:none}

/* A hosszú dokumentumnevek és űrlapmezők ne feszítsék szét a kártyákat. */
.panel-header h2,.page-heading h1,.table-wrap td,.record-card,.detail-list dd{overflow-wrap:anywhere}
.form-grid input,.form-grid select,.form-grid textarea{max-width:100%}

@media(max-width:1300px){
  .document-search-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .document-search-grid .search-field-main{grid-column:span 2}
  .document-search-grid .search-actions{grid-column:auto}
  .topbar-search{flex-basis:420px}
}
@media(max-width:980px){
  .document-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .document-search-grid .search-field-main{grid-column:1/-1}
  .document-search-grid .search-actions{grid-column:1/-1}
  .topbar-title{display:none}
  .topbar-search{flex:1}
}
@media(max-width:760px){
  .document-search-grid{grid-template-columns:1fr;padding:16px}
  .document-search-grid .search-field-main,.document-search-grid .search-actions{grid-column:auto}
  .document-search-grid .search-actions{display:grid;grid-template-columns:1fr 1fr}
  .partner-save-options{padding:0 16px 16px}
  .check-card-inline{width:100%}
  .topbar{gap:10px;padding:10px 14px}
  .topbar-search{min-width:0}
  .topbar-search input{font-size:.88rem}
  .topbar-logout .button{padding-left:10px;padding-right:10px}
}
@media(max-width:520px){
  .date-shortcuts{display:grid;grid-template-columns:repeat(2,1fr)}
  .date-shortcut{width:100%}
  .document-search-grid .search-actions{grid-template-columns:1fr}
  .topbar-logout{display:none}
}

/* TEPÓ Office v0.7 – járműnyilvántartás */
.button-danger{color:#8f1d16;background:#fff0ef;border-color:#f1c4c0}
.inline-link{color:var(--brand-dark);font-weight:800}
.text-warning-strong{color:#8a5b00;font-weight:800}
.metric-grid-four,.vehicle-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.vehicle-filter-grid{display:grid;grid-template-columns:minmax(320px,2fr) repeat(3,minmax(170px,1fr));gap:14px;padding:20px;align-items:end}
.vehicle-filter-search{grid-column:span 2}
.vehicle-filter-grid .filter-actions{display:flex;justify-content:flex-end;gap:9px}
.vehicle-alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.vehicle-alert-grid .alert{display:grid;gap:4px;margin:0}
.vehicle-alert-grid .alert span{font-size:.85rem}
.document-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
.document-sidebar{position:sticky;top:92px;display:grid;gap:12px;padding:20px}
.document-sidebar h2{margin:0 0 4px;font-size:1.08rem}
.sidebar-note{display:grid;gap:5px;margin-top:8px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#fafafa}
.sidebar-note span,.sidebar-note small{color:var(--muted)}
.document-sheet{padding:0;overflow:hidden}
.document-sheet>.document-header{padding:24px}
.document-number{display:grid;gap:4px;text-align:right}
.document-number strong{font-size:1.2rem}
.detail-grid{display:grid;border-top:1px solid var(--border);border-left:1px solid var(--border)}
.detail-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.detail-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.detail-grid dl{min-width:0;margin:0;padding:14px 16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.detail-grid dt{margin-bottom:5px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}
.detail-grid dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.inner-panel-header{margin-top:0;background:#fafafa}
.document-sheet>.document-section{padding:18px 20px;border:0;border-bottom:1px solid var(--border)}
.document-sheet>.document-section h2{margin:0 0 9px;font-size:1rem}
.vehicle-service-header{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;padding:22px}
.vehicle-service-fields{padding:0}
.vehicle-identity-card{display:grid;align-content:start;gap:6px;padding:18px;border:1px solid #e0b64d;border-radius:12px;background:#fff8df}
.vehicle-identity-card strong{font-size:1.35rem}
.vehicle-identity-card span{font-weight:750}
.vehicle-identity-card small{color:var(--muted);overflow-wrap:anywhere}
.vehicle-upload-form{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(170px,.8fr) 160px 160px minmax(220px,1fr) auto;gap:12px;align-items:end;padding:18px 22px;border-bottom:1px solid var(--border);background:#fafafa}
.vehicle-upload-form .button{margin-bottom:1px}
.vehicle-file-grid{display:grid;gap:10px;padding:18px 22px 22px}
.vehicle-file-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:10px}
.vehicle-file-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;color:#7a5400;background:#fff3cd;font-size:1.25rem}
.vehicle-file-content{display:grid;gap:3px;min-width:0}
.vehicle-file-content strong{overflow-wrap:anywhere}
.vehicle-file-content span,.vehicle-file-content small{color:var(--muted)}
.vehicle-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.vehicle-file-actions form{margin:0}

@media(max-width:1350px){
  .vehicle-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vehicle-filter-search{grid-column:span 2}
  .vehicle-upload-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vehicle-upload-notes{grid-column:span 2}
}
@media(max-width:1100px){
  .metric-grid-four,.vehicle-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .document-layout{grid-template-columns:1fr}
  .document-sidebar{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}
  .document-sidebar h2,.document-sidebar .sidebar-note{grid-column:1/-1}
  .detail-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-service-header{grid-template-columns:1fr}
}
@media(max-width:780px){
  .vehicle-filter-grid{grid-template-columns:1fr;padding:16px}
  .vehicle-filter-search{grid-column:auto}
  .vehicle-filter-grid .filter-actions{justify-content:stretch}
  .vehicle-filter-grid .filter-actions .button{flex:1}
  .vehicle-alert-grid{grid-template-columns:1fr}
  .detail-grid-3,.detail-grid-4{grid-template-columns:1fr}
  .vehicle-upload-form{grid-template-columns:1fr;padding:16px}
  .vehicle-upload-notes{grid-column:auto}
  .vehicle-file-card{grid-template-columns:42px minmax(0,1fr)}
  .vehicle-file-actions{grid-column:1/-1;justify-content:flex-start}
  .document-sidebar{grid-template-columns:1fr}
  .document-sidebar h2,.document-sidebar .sidebar-note{grid-column:auto}
}
@media(max-width:560px){
  .metric-grid-four,.vehicle-metric-grid{grid-template-columns:1fr}
  .vehicle-file-actions .button,.vehicle-file-actions form{width:100%}
  .vehicle-file-actions form .button{width:100%}
}
.vehicle-file-thumb{width:42px;height:42px;object-fit:cover;border-radius:9px;border:1px solid var(--border);background:#f5f5f5}

/* TEPÓ Office v0.8 – partnerimport, telephelyi kapcsolattartók, meghívás */
.form-help-card,
.invitation-info {
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid #ead48a;
    border-radius: 10px;
    background: #fff9e6;
}
.form-help-card p,
.invitation-info p {
    margin: 6px 0 0;
    color: var(--muted, #68707d);
    line-height: 1.55;
}
.site-record-card {
    align-items: flex-start;
}
.site-main {
    min-width: 0;
    flex: 1;
}
.site-contact-list {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--border, #e1e4e8);
}
.site-contact-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
}
.site-contact-row {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) minmax(220px, 1.5fr) auto auto;
    gap: 14px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px dashed var(--border, #e1e4e8);
}
.site-contact-row:first-of-type {
    border-top: 0;
}
.site-contact-row > div {
    min-width: 0;
}
.site-contact-row span,
.site-contact-row a {
    display: block;
}
.site-contact-row > div:last-of-type a + a {
    margin-top: 3px;
}
.compact-empty {
    margin: 8px 0 0;
}
.csv-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.csv-columns code {
    padding: 6px 9px;
    border: 1px solid var(--border, #e1e4e8);
    border-radius: 7px;
    background: #f7f8fa;
    font-size: 12px;
}
.import-summary {
    margin-bottom: 20px;
}
.section-gap-small {
    margin-top: 14px;
}
.switch-bar-wrap {
    flex-wrap: wrap;
}
.password-section[hidden],
.invitation-info[hidden] {
    display: none !important;
}
.alert-warning {
    background: #fff7da;
    border-color: #edc84d;
    color: #5d4700;
}

@media (max-width: 980px) {
    .site-contact-row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .site-contact-heading,
    .site-contact-row {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .site-contact-row {
        gap: 7px;
    }
}

/* TEPÓ Office v0.9 – flotta analitika */
.vehicle-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff;position:sticky;top:72px;z-index:8}
.vehicle-tabs a{white-space:nowrap;padding:9px 13px;border-radius:8px;color:var(--text);font-weight:700;text-decoration:none}
.vehicle-tabs a:hover{background:#fff3cd;color:#7a5400}
.vehicle-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.vehicle-summary-grid .metric-card strong{font-size:1.55rem}
.analytics-layout{display:grid;grid-template-columns:minmax(320px,1.2fr) 220px minmax(260px,1fr);gap:26px;align-items:center;padding:22px}
.analytics-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.analytics-cards article{display:grid;gap:5px;padding:16px;border:1px solid var(--border);border-radius:11px;background:#fafafa}
.analytics-cards span{color:var(--muted);font-size:.86rem}.analytics-cards strong{font-size:1.25rem}
.cost-pie{width:210px;aspect-ratio:1;border-radius:50%;margin:auto;box-shadow:inset 0 0 0 38px #fff,0 4px 16px rgba(0,0,0,.08)}
.cost-legend{display:grid;gap:8px}.cost-legend>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center}.legend-dot{width:11px;height:11px;border-radius:50%}
.inline-entry-form{display:grid;grid-template-columns:170px 190px minmax(220px,1fr) auto;gap:12px;align-items:end;padding:18px 22px;border-bottom:1px solid var(--border);background:#fafafa}
.inline-entry-wide{grid-template-columns:repeat(5,minmax(140px,1fr)) auto}.inline-grow{min-width:0}.inline-entry-form .button{margin-bottom:1px}
.vehicle-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 22px}
.vehicle-subcard{display:grid;gap:14px;padding:17px;border:1px solid var(--border);border-radius:12px;background:#fff}.vehicle-subcard>div:first-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vehicle-subcard p{width:100%;margin:0;color:var(--muted)}
.vehicle-subcard dl{display:grid;grid-template-columns:110px 1fr;gap:7px 12px;margin:0}.vehicle-subcard dt{color:var(--muted);font-weight:700}.vehicle-subcard dd{margin:0}
.badge-danger{background:#fde2e2;color:#9b1c1c}.form-hint{margin:0;padding:0 22px 20px;color:var(--muted)}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.span-all{grid-column:1/-1}.span-2{grid-column:span 2}
@media(max-width:1250px){.vehicle-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-layout{grid-template-columns:1fr 200px}.cost-legend{grid-column:1/-1}.inline-entry-wide{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.vehicle-tabs{top:60px}.analytics-layout{grid-template-columns:1fr}.vehicle-card-grid{grid-template-columns:1fr}.inline-entry-form,.inline-entry-wide{grid-template-columns:1fr}.vehicle-summary-grid{grid-template-columns:1fr 1fr}.span-2{grid-column:auto}}
@media(max-width:560px){.vehicle-summary-grid,.analytics-cards{grid-template-columns:1fr}.vehicle-tabs{position:static}.cost-pie{width:180px}}

/* TEPÓ Office v0.10 – stabil oldalsáv, dokumentum-életciklus és törlési műveletek */
html,body{min-height:100%;background:var(--bg)}
.app-shell{min-height:100dvh;align-items:start}
.sidebar{isolation:isolate;background:linear-gradient(180deg,#1b1f24 0%,#111418 100%);overflow:hidden;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
.sidebar .brand{flex:0 0 auto}
.sidebar .nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.sidebar .nav::-webkit-scrollbar{width:6px}.sidebar .nav::-webkit-scrollbar-track{background:transparent}.sidebar .nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:999px}
.sidebar-user{flex:0 0 auto;margin-top:10px;background:#111418;box-shadow:0 -10px 20px rgba(17,20,24,.75)}
.main-column{min-height:100dvh;width:100%}
.page-actions form,.heading-actions form,.vehicle-subcard-actions form{margin:0}
.vehicle-subcard-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.lifecycle-panel{overflow:hidden}
.lifecycle-header>div{min-width:0}.lifecycle-header .muted{display:block;margin-top:4px}
.lifecycle-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--border);background:#fafafa}
.lifecycle-actions form{margin:0}.lifecycle-delete{margin-left:auto!important}
.lifecycle-reopen{position:relative}.lifecycle-reopen>summary{list-style:none;cursor:pointer}.lifecycle-reopen>summary::-webkit-details-marker{display:none}
.lifecycle-reopen[open]{width:min(520px,100%)}.lifecycle-reopen[open]>summary{margin-bottom:10px}
.lifecycle-reopen form{display:grid;gap:12px;padding:15px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow)}
.lifecycle-history{display:grid;gap:10px;padding:18px 22px 22px}.lifecycle-history h3{margin:0 0 4px;font-size:1rem}
.lifecycle-history-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:13px;border:1px solid var(--border);border-radius:10px;background:#fff}
.lifecycle-history-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#7a5400;background:#fff2cc;font-size:1.1rem;font-weight:800}
.lifecycle-history-row strong,.lifecycle-history-row span{display:block}.lifecycle-history-row span{margin-top:3px;color:var(--muted);font-size:.8rem}.lifecycle-history-row p{margin:7px 0 0;white-space:pre-wrap;line-height:1.5}

@media(min-width:821px){
  .app-shell{grid-template-columns:260px minmax(0,1fr)}
  .sidebar{position:fixed;inset:0 auto 0 0;width:260px;height:100dvh;min-height:100vh;z-index:40}
  .main-column{grid-column:2}
}
@media(max-width:820px){
  .sidebar{height:100dvh;min-height:100vh;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .sidebar .nav{overscroll-behavior:contain}
  .sidebar-user{margin-bottom:0}
  .lifecycle-actions{align-items:stretch;flex-direction:column}
  .lifecycle-actions>form,.lifecycle-actions>.lifecycle-reopen,.lifecycle-actions .button{width:100%}
  .lifecycle-delete{margin-left:0!important}
}

/* TEPÓ Office v0.11 – teljesítésigazolás sablon és egyedi kapcsolattartók */
.performance-form-section .subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px 0}.performance-form-section .subsection-heading h3{margin:0 0 4px;font-size:1rem}.performance-form-section .subsection-heading p{margin:0;color:var(--muted);font-size:.82rem}.performance-form-section .subsection-heading>strong{white-space:nowrap}.performance-amount-grid,.performance-settlement-grid{align-items:end}.calculated-field{display:grid;gap:7px}.calculated-field>span{font-size:.88rem;font-weight:750}.calculated-field>strong{display:flex;align-items:center;min-height:44px;padding:12px 14px;border:1px solid #f2d78a;border-radius:9px;background:#fff8e5}.performance-schedule-row{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(150px,.55fr) minmax(250px,1fr) 42px;gap:9px;align-items:center;min-width:820px;margin-bottom:9px}.performance-schedule-row input{width:100%;min-width:0;min-height:44px;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid #cfd4da;border-radius:9px;outline:none}.performance-schedule-row input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,169,0,.14)}.performance-schedule-head{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}.items-toolbar{padding:0 22px 22px}.performance-live-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 22px 22px}.performance-live-summary>div{display:grid;gap:6px;padding:15px;border:1px solid var(--border);border-radius:11px;background:#fafafa}.performance-live-summary span{color:var(--muted);font-size:.78rem;font-weight:750}.performance-live-summary strong{font-size:1.15rem}.performance-live-summary .summary-primary{border-color:#edc655;background:#fff7d7}.performance-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid #bbc0c6;border-top:1px solid #bbc0c6}.performance-party-grid>div{display:grid;gap:5px;padding:13px;border-right:1px solid #bbc0c6;border-bottom:1px solid #bbc0c6}.performance-party-grid .span-full{grid-column:1/-1}.performance-party-grid span{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase}.performance-party-grid small{color:var(--muted)}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-title-row>span{color:var(--muted);font-size:.82rem}.compact-financial-table{max-width:760px;margin-left:auto}.compact-financial-table th{width:68%;text-transform:none;font-size:.82rem;letter-spacing:0}.compact-financial-table td{text-align:right;white-space:nowrap}.strong-row th,.strong-row td{font-weight:850;background:#f5f6f7}.grand-total-row th,.grand-total-row td{font-weight:850;background:#fff1c4;font-size:.96rem}.numeric{text-align:right}.performance-declaration{text-align:center}.contact-site-list{display:flex;gap:6px;flex-wrap:wrap}.contact-site-list span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f1f3f5;color:#4f5661;font-size:.75rem;font-weight:700}.contact-line{display:block;margin-bottom:3px}.contact-edit-menu{position:relative}.contact-edit-menu>summary{list-style:none;cursor:pointer;color:var(--brand-dark);font-weight:750}.contact-edit-menu>summary::-webkit-details-marker{display:none}.contact-edit-menu>div{position:absolute;right:0;z-index:15;display:grid;min-width:210px;margin-top:6px;padding:7px;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow)}.contact-edit-menu>div a{display:block;margin:0;padding:8px 10px;border-radius:6px}.contact-edit-menu>div a:hover{background:#fff8e5}
@media(max-width:1100px){.performance-live-summary{grid-template-columns:1fr}.performance-party-grid{grid-template-columns:1fr}.performance-party-grid .span-full{grid-column:auto}.compact-financial-table{max-width:none;margin-left:0}}
@media(max-width:820px){.performance-form-section .subsection-heading{align-items:flex-start;flex-direction:column}.performance-live-summary{padding:0 16px 16px}.items-toolbar{padding:0 16px 16px}.contact-edit-menu>div{position:static;box-shadow:none}}

/* TEPÓ Office v0.12 – elfelejtett jelszó */
.login-options{display:flex;align-items:center;justify-content:space-between;gap:18px}.auth-link{color:var(--brand-dark);font-size:.9rem;font-weight:800;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-bottom-link{margin-top:22px;text-align:center}.auth-card .alert ul{margin-top:0;margin-bottom:0}.auth-card input[readonly]{color:#5f6670;background:#f5f6f7;cursor:not-allowed}@media(max-width:520px){.login-options{align-items:flex-start;flex-direction:column;gap:12px}}

/* TEPÓ Office v0.15 – Google Drive-integráció */
.integration-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.integration-panel-body{display:grid;gap:18px;padding:22px}.integration-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.integration-steps>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:14px;border:1px solid var(--border);border-radius:11px;background:#fafafa}.integration-steps strong{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#7a5400;background:#fff2cc}.integration-steps span{line-height:1.5}.integration-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--border);border-left:1px solid var(--border)}.integration-detail-grid dl{display:grid;gap:6px;margin:0;padding:18px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.integration-detail-grid dt{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.integration-detail-grid dd{margin:0;font-weight:750}.integration-detail-grid a{color:var(--brand-dark)}.integration-error{color:#a31d1d!important;white-space:pre-wrap}.integration-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:18px 22px}.integration-actions form{margin:0}.integration-disconnect{margin-left:auto!important}.code-block{overflow:auto;padding:12px 14px;border:1px solid #d9dde3;border-radius:9px;background:#171a1f;color:#f7f7f7}.storage-location{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#eceff3;color:#59616d;font-size:.72rem;font-weight:800}.storage-location-drive{background:#e3f2fd;color:#155c92}.button[disabled]{cursor:not-allowed;opacity:.55}
@media(max-width:1200px){.integration-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.integration-summary-grid,.integration-steps,.integration-detail-grid{grid-template-columns:1fr}.integration-actions{align-items:stretch;flex-direction:column}.integration-actions>*{width:100%}.integration-actions .button{width:100%}.integration-disconnect{margin-left:0!important}}

/* TEPÓ Office v0.16 – késleltetett Drive-átvitel és kötelező szerviz kezelés */
.storage-location-pending{background:#fff2cc;color:#7a5400}
.storage-location-error{background:#fde2e2;color:#9b1c1c}
.integration-retention-form{display:grid;grid-template-columns:minmax(220px,320px) auto;gap:12px;align-items:end;max-width:560px}
.integration-retention-form .button{margin-bottom:1px}
.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.table-actions form{margin:0}
@media(max-width:640px){.integration-retention-form{grid-template-columns:1fr}.integration-retention-form .button{width:100%}}

/* v0.18 – dokumentumarchívum és naplók */
.form-grid{display:grid;gap:16px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.stack-form{display:grid;gap:20px}.toggle-row{display:flex;flex-wrap:wrap;gap:18px;padding:14px 0}.switch-label{display:inline-flex;align-items:center;gap:10px;font-weight:700}.switch-label input{width:auto}.document-storage-panel .panel-header{align-items:center}.storage-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:18px;align-items:center;padding:20px}.storage-status-grid>div>span{display:block;color:var(--muted,#6b7280);font-size:.78rem;text-transform:uppercase;font-weight:700;margin-bottom:5px}.storage-actions{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap}.storage-history{border-top:1px solid var(--line,#dde2e8);padding:16px 20px}.storage-history summary{cursor:pointer;font-weight:700}.email-preview{padding:20px}.email-preview iframe{width:100%;min-height:520px;border:1px solid var(--line,#dde2e8);border-radius:12px;background:#fff}.email-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;border-radius:12px;background:#f7f8fa}.text-danger{color:#b42318!important}.filter-form{padding:20px}.document-storage-panel .empty-state{margin:20px}
@media(max-width:1100px){.form-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-actions{justify-content:flex-start}}
@media(max-width:760px){.form-grid-3,.form-grid-5,.storage-status-grid{grid-template-columns:1fr}.toggle-row{display:grid}.storage-actions{justify-content:flex-start}}

/* TEPÓ Office v0.18.1 – globális felület- és feltöltőűrlap-stabilizálás */

/* A rácsok gyermekei ne tudják a szülőoszlopot a tartalmuknál szélesebbre feszíteni. */
.field,
.form-grid > *,
.filter-grid > *,
.filter-row > *,
.document-search-grid > *,
.vehicle-filter-grid > *,
.storage-status-grid > *,
.analytics-layout > *,
.page-heading > *,
.panel-header > * {
    min-width: 0;
}

/* Egységes mező- és gombmagasság minden űrlapon. */
.field > span,
.calculated-field > span {
    line-height: 1.25;
}
.field input,
.field select,
.filter-row input,
.filter-row select,
.material-row input,
.performance-schedule-row input {
    min-height: 46px;
}
.field textarea {
    min-height: 112px;
    resize: vertical;
}
.button {
    max-width: 100%;
    line-height: 1.2;
    white-space: nowrap;
}
.form-actions,
.heading-actions,
.page-actions,
.table-actions,
.storage-actions {
    min-width: 0;
    flex-wrap: wrap;
}

/* A natív fájlválasztó minden támogatott böngészőben azonos magasságú legyen. */
.field input[type="file"] {
    min-height: 46px;
    padding: 6px;
    overflow: hidden;
    color: #4c535d;
    background: #fff;
}
.field input[type="file"]::file-selector-button {
    min-height: 32px;
    margin: 0 10px 0 0;
    padding: 7px 12px;
    color: var(--ink);
    background: #f7f8fa;
    border: 1px solid #c8cdd3;
    border-radius: 7px;
    font-weight: 700;
    cursor: pointer;
}
.field input[type="file"]::file-selector-button:hover {
    background: #fff4d3;
    border-color: var(--brand);
}

/* Feltöltési panelek: a fejléc, az űrlap és az üres állapot ne csússzon ki a kártyából. */
.attachments-panel {
    overflow: hidden;
}
.upload-form {
    width: 100%;
    align-items: start;
}
.upload-field {
    grid-template-rows: auto 46px minmax(16px, auto);
    align-content: start;
}
.upload-field small {
    display: block;
    min-height: 16px;
    margin: 0;
    line-height: 1.3;
}
.upload-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    min-width: 0;
    padding-top: 24px;
}
.upload-actions .button {
    min-height: 46px;
}

/* Munkalap mellékletek. */
.attachment-upload.upload-form {
    grid-template-columns: minmax(320px, 2fr) minmax(260px, 1fr) auto;
    gap: 14px;
    padding: 18px 22px;
}

/* Jármű-, szerviz- és káresemény-feltöltések. */
.vehicle-upload-form.upload-form {
    grid-template-columns: minmax(280px, 1.45fr) minmax(170px, .75fr) minmax(175px, .75fr) minmax(240px, 1fr) auto;
    gap: 14px;
    padding: 18px 22px;
}
.vehicle-upload-form.upload-form-service {
    grid-template-columns: minmax(320px, 1.5fr) minmax(190px, .75fr) minmax(260px, 1fr) auto;
}

/* A fájllista műveletei ne nyomják össze a fájlnevet. */
.attachment-item,
.vehicle-file-card {
    min-width: 0;
}
.attachment-main,
.vehicle-file-content {
    min-width: 0;
}
.attachment-main strong,
.vehicle-file-content strong,
.attachment-main p,
.vehicle-file-content small {
    overflow-wrap: anywhere;
}
.attachment-actions form,
.vehicle-file-actions form {
    margin: 0;
}

/* Általános kártya- és táblázatstabilizálás. */
.panel-header {
    min-height: 62px;
}
.table-wrap {
    max-width: 100%;
    overscroll-behavior-x: contain;
}
.table-wrap th,
.table-wrap td {
    vertical-align: middle;
}
.page-heading-actions {
    align-items: center;
    flex-wrap: wrap;
}
.page-heading-actions .heading-actions {
    justify-content: flex-end;
}

@media (max-width: 1380px) {
    .vehicle-upload-form.upload-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .vehicle-upload-form.upload-form .upload-field-file,
    .vehicle-upload-form.upload-form .vehicle-upload-notes {
        grid-column: span 2;
    }
    .vehicle-upload-form.upload-form .upload-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-top: 0;
    }
    .vehicle-upload-form.upload-form-service {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .attachment-upload.upload-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .attachment-upload.upload-form .upload-field-file {
        grid-column: 1 / -1;
    }
    .attachment-upload.upload-form .upload-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-top: 0;
    }
    .page-heading-actions .heading-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 700px) {
    .attachment-upload.upload-form,
    .vehicle-upload-form.upload-form,
    .vehicle-upload-form.upload-form-service {
        grid-template-columns: 1fr;
        padding: 16px;
    }
    .attachment-upload.upload-form .upload-field-file,
    .vehicle-upload-form.upload-form .upload-field-file,
    .vehicle-upload-form.upload-form .vehicle-upload-notes,
    .attachment-upload.upload-form .upload-actions,
    .vehicle-upload-form.upload-form .upload-actions {
        grid-column: auto;
    }
    .upload-actions {
        justify-content: stretch;
        padding-top: 0;
    }
    .upload-actions .button {
        width: 100%;
    }
    .attachment-item {
        grid-template-columns: 48px minmax(0, 1fr);
    }
    .attachment-actions {
        grid-column: 1 / -1;
        padding-left: 62px;
    }
}

@media (max-width: 520px) {
    .attachment-actions {
        padding-left: 0;
    }
    .attachment-actions a,
    .attachment-actions form,
    .attachment-actions .button,
    .vehicle-file-actions a,
    .vehicle-file-actions form,
    .vehicle-file-actions .button {
        width: 100%;
    }
    .field input[type="file"]::file-selector-button {
        max-width: 48%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* TEPÓ Office v0.21 – személyre szabott dashboard, súgó és rendszerállapot */
.metric-card-link { color: inherit; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.metric-card-link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(18, 22, 27, .10); }
.panel-subtitle { margin: .2rem 0 0; color: var(--muted, #6d7279); font-size: .9rem; }
.vehicle-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; }
.vehicle-dashboard-card { border: 1px solid #e4e6e9; border-radius: 14px; padding: 1rem; background: #fff; min-width: 0; }
.vehicle-card-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.vehicle-card-heading strong { display: block; font-size: 1.05rem; }
.vehicle-card-heading small { display: block; margin-top: .2rem; color: #73777e; }
.vehicle-mini-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: 1rem 0; }
.vehicle-mini-metrics div { padding: .75rem; border-radius: 10px; background: #f5f6f7; min-width: 0; }
.vehicle-mini-metrics span { display: block; color: #747981; font-size: .76rem; margin-bottom: .25rem; }
.vehicle-mini-metrics strong { display: block; overflow-wrap: anywhere; font-size: .92rem; }
.dashboard-odometer-form { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(140px, 1fr) auto; gap: .7rem; align-items: end; }
.dashboard-odometer-form .field { margin: 0; }
.text-link { display: inline-block; margin-top: .85rem; font-weight: 700; text-decoration: none; }
.release-note-card { display: grid; gap: .8rem; }
.release-note-card > div { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.release-note-card p { margin: 0; color: #555b63; }
.timeline-list { display: grid; gap: .9rem; }
.timeline-item { display: grid; grid-template-columns: 12px 1fr; gap: .7rem; align-items: start; }
.timeline-dot { width: 10px; height: 10px; border-radius: 999px; background: #f4c700; margin-top: .38rem; box-shadow: 0 0 0 4px rgba(244,199,0,.16); }
.timeline-item p { margin: .15rem 0; color: #565c64; }
.timeline-item small { color: #858a91; }
.system-health-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; }
.health-card { border: 1px solid #e1e4e8; border-left-width: 4px; border-radius: 10px; padding: .85rem; display: grid; gap: .2rem; }
.health-card span, .health-card small { color: #717780; }
.health-ok { border-left-color: #2a9d60; }
.health-warning { border-left-color: #d99d00; }
.health-error { border-left-color: #d44848; }
.section-gap-small { margin-top: .8rem; }
.field-action { justify-content: flex-end; }
.release-notes-list { display: grid; gap: 1rem; }
.release-note-entry { padding: 1.2rem; }
.release-note-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.release-note-head h2 { margin: .55rem 0 0; font-size: 1.25rem; }
.release-note-meta { display: flex; flex-direction: column; align-items: flex-end; gap: .45rem; color: #777d85; font-size: .85rem; }
.release-note-items { margin: .8rem 0 0; padding-left: 1.3rem; display: grid; gap: .35rem; }
.lead-text { font-size: 1rem; color: #4e545b; }
.help-module-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.help-module-card { display: block; color: inherit; text-decoration: none; padding: 1.15rem; transition: transform .16s ease, box-shadow .16s ease; }
.help-module-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(18,22,27,.10); }
.help-module-card h2 { margin: 0 0 .45rem; font-size: 1.05rem; }
.help-module-card p { color: #666c73; min-height: 3.5rem; }
.help-module-card span { font-weight: 700; }
.help-steps, .help-tips { display: grid; gap: .55rem; padding-left: 1.3rem; }
.button-help { white-space: nowrap; background: #f4c700; color: #181a1f; border-color: #f4c700; }
.help-drawer { position: fixed; z-index: 1005; top: 0; right: 0; width: min(440px, 92vw); height: 100dvh; background: #fff; box-shadow: -20px 0 50px rgba(0,0,0,.18); padding: 1.35rem; transform: translateX(105%); transition: transform .2s ease; overflow-y: auto; }
.help-drawer.is-open { transform: translateX(0); }
.help-drawer-header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; border-bottom: 1px solid #e5e7ea; padding-bottom: 1rem; margin-bottom: 1rem; }
.help-drawer-header h2 { margin: .25rem 0 0; }
.help-drawer h3 { margin-top: 1.4rem; font-size: 1rem; }
.help-drawer p { color: #575d65; line-height: 1.55; }
.help-full-link { width: 100%; margin-top: 1rem; }
.help-backdrop { position: fixed; z-index: 1004; inset: 0; background: rgba(17,20,24,.42); opacity: 0; transition: opacity .18s ease; }
.help-backdrop.is-visible { opacity: 1; }
.help-open { overflow: hidden; }
.icon-button { border: 0; background: #f0f1f3; width: 38px; height: 38px; border-radius: 999px; font-size: 1.5rem; cursor: pointer; }
.nav-badge { margin-left: auto; background: #f4c700; color: #191b20; min-width: 22px; height: 22px; border-radius: 999px; display: inline-grid; place-items: center; font-size: .72rem; font-weight: 800; }
.task-action-grid { display: flex; flex-wrap: wrap; gap: .7rem; }
.code-block { background: #17191e; color: #f3f4f5; padding: 1rem; border-radius: 10px; overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 1000px) {
    .system-health-grid { grid-template-columns: 1fr; }
    .vehicle-mini-metrics { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    .dashboard-odometer-form { grid-template-columns: 1fr; }
    .vehicle-mini-metrics { grid-template-columns: 1fr; }
    .release-note-head { flex-direction: column; }
    .release-note-meta { align-items: flex-start; }
    .button-help { padding-inline: .7rem; }
    .topbar .button-help { font-size: 0; }
    .topbar .button-help::after { content: '?'; font-size: 1rem; }
}
.auth-form-panel { position: relative; }
.auth-help-button { position: absolute; top: 1rem; right: 1rem; z-index: 2; }
@media (max-width: 760px) { .auth-help-button { top: .75rem; right: .75rem; } }

/* TEPÓ Office v0.21.1 – dashboard- és rendszerfeladat-elrendezés stabilizálása */
.dashboard-grid {
    align-items: start;
}
.dashboard-grid > .panel {
    align-self: start;
    width: 100%;
}

/* Járműkártyák: az eltérő hosszúságú nevek ne tolják el az adatokat és a gombokat. */
.vehicle-dashboard-grid {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    align-items: stretch;
}
.vehicle-dashboard-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}
.vehicle-card-heading {
    min-height: 66px;
    align-items: flex-start;
}
.vehicle-card-title {
    display: grid;
    grid-template-rows: minmax(2.55em, auto) auto;
    flex: 1 1 auto;
    min-width: 0;
}
.vehicle-card-title strong {
    min-width: 0;
    line-height: 1.28;
    overflow-wrap: anywhere;
}
.vehicle-card-title small {
    align-self: end;
}
.vehicle-reading-badge {
    flex: 0 0 auto;
    width: min(150px, 42%);
    min-height: 27px;
    justify-content: center;
    text-align: center;
    white-space: normal;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.vehicle-mini-metrics {
    align-items: stretch;
}
.vehicle-mini-metrics > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.dashboard-odometer-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}
.dashboard-odometer-form .field,
.dashboard-odometer-form input,
.dashboard-odometer-form .button {
    width: 100%;
    min-width: 0;
}
.dashboard-odometer-form .button {
    grid-column: 1 / -1;
    min-height: 46px;
}
.vehicle-dashboard-card .text-link {
    margin-top: auto;
    padding-top: .9rem;
    overflow-wrap: anywhere;
}

/* A rövidebb jobb oldali dashboard-panel ne nyúljon a hosszú eseménylista magasságára. */
.system-health-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    padding: 16px 18px 18px;
}
.health-card {
    min-width: 0;
    height: 100%;
}
.health-card span,
.health-card strong,
.health-card small {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
}
.panel > .system-health-grid + .alert {
    margin: 0 18px 18px;
}

/* Eseménylista: hosszú partner-, telephely- és dokumentumnevek tördelése. */
.panel > .timeline-list {
    padding: 16px 22px 22px;
}
.timeline-item {
    grid-template-columns: 12px minmax(0, 1fr);
    min-width: 0;
}
.timeline-content,
.timeline-item > div {
    min-width: 0;
}
.timeline-item strong,
.timeline-item p,
.timeline-item small {
    display: block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.timeline-item p {
    line-height: 1.4;
}

/* Rendszerfeladatok: egységes belső térköz és reszponzív műveleti gombok. */
.panel-body {
    min-width: 0;
    padding: 20px 22px 22px;
}
.panel-body-compact {
    padding: 16px 22px 22px;
}
.task-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    align-items: stretch;
}
.task-action-grid form {
    display: flex;
    min-width: 0;
    margin: 0;
}
.task-action-grid .button {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    height: 100%;
    padding: 10px 14px;
    line-height: 1.25;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
}
.scheduler-alert {
    display: grid;
    gap: 6px;
}
.scheduler-alert code {
    display: block;
    max-width: 100%;
    padding: 8px 10px;
    border-radius: 7px;
    background: rgba(255, 255, 255, .55);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.system-tasks-table {
    min-width: 900px;
}
.system-tasks-table th,
.system-tasks-table td {
    vertical-align: top;
}
.system-task-message {
    min-width: 240px;
    max-width: 420px;
    white-space: normal;
    overflow-wrap: anywhere;
}
.system-task-instructions > :first-child {
    margin-top: 0;
}
.system-task-instructions > :last-child {
    margin-bottom: 0;
}

/* További v0.21-es kártyák hosszú szövegeinek védelme. */
.quick-actions > a,
.quick-actions > a > span,
.release-note-card,
.release-note-entry,
.help-module-card,
.metric-card-link {
    min-width: 0;
}
.quick-actions small,
.release-note-card p,
.release-note-head h2,
.help-module-card p,
.metric-card-link small {
    overflow-wrap: anywhere;
}

@media (max-width: 1250px) {
    .vehicle-dashboard-grid {
        grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    }
}

@media (max-width: 820px) {
    .vehicle-dashboard-grid {
        grid-template-columns: 1fr;
    }
    .vehicle-card-heading {
        min-height: 0;
    }
    .vehicle-card-title {
        grid-template-rows: auto auto;
    }
    .dashboard-odometer-form {
        grid-template-columns: 1fr;
    }
    .dashboard-odometer-form .button {
        grid-column: auto;
    }
    .panel > .timeline-list,
    .panel-body,
    .panel-body-compact {
        padding: 16px;
    }
    .system-health-grid {
        grid-template-columns: 1fr;
        padding: 16px;
    }
    .panel > .system-health-grid + .alert {
        margin: 0 16px 16px;
    }
    .task-action-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .vehicle-card-heading {
        flex-direction: column;
    }
    .vehicle-reading-badge {
        width: auto;
        max-width: 100%;
        align-self: flex-start;
    }
    .vehicle-mini-metrics {
        grid-template-columns: 1fr;
    }
}

/* A jobb oldali rendszerállapot-panel saját szélessége alapján váltson oszlopot. */
@supports (container-type: inline-size) {
    .dashboard-grid > .panel {
        container-type: inline-size;
    }
    @container (max-width: 560px) {
        .system-health-grid {
            grid-template-columns: 1fr;
        }
    }
}

/* TEPÓ Office v0.21.2 – teljes felületvizsgálat és egységes elrendezés */

/* Alapvető tördelési védelem minden oldalon. */
html {
    line-height: 1.45;
}
body {
    min-width: 320px;
    overflow-x: hidden;
}
img,
video,
canvas,
svg,
iframe {
    max-width: 100%;
}
button,
input,
select,
textarea,
pre,
code {
    min-width: 0;
}
.main-column,
.content,
.panel,
.panel-header,
.panel-body,
.page-heading,
.heading-actions,
.quick-actions,
.release-note-card,
.timeline-content,
.document-sheet,
.document-summary {
    min-width: 0;
}

/* Fejlécek: hosszú címek és műveletek ne csússzanak egymásra. */
.page-heading {
    align-items: flex-start;
    flex-wrap: wrap;
}
.page-heading > div:first-child {
    flex: 1 1 380px;
    min-width: 0;
}
.page-heading h1,
.page-heading p,
.panel-header h2,
.panel-header p,
.panel-header a {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.heading-actions {
    flex: 0 1 auto;
    justify-content: flex-end;
    align-items: center;
}
.panel-header {
    align-items: flex-start;
    flex-wrap: wrap;
}
.panel-header > div {
    flex: 1 1 220px;
    min-width: 0;
}
.panel-header > a,
.panel-header > .button,
.panel-header > form {
    flex: 0 1 auto;
    margin-left: auto;
}

/* Gombok: a hosszú magyar feliratok is maradjanak a rendelkezésre álló helyen. */
.button {
    min-width: 0;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
}
.button-small {
    line-height: 1.2;
}
.heading-actions form,
.form-actions form,
.table-actions form,
.summary-actions form {
    min-width: 0;
    margin: 0;
}

/* Egységes panelbelső és szöveges tartalom. */
.panel-body {
    padding: 20px 22px 22px;
}
.panel-body > :first-child,
.panel-copy > :first-child {
    margin-top: 0;
}
.panel-body > :last-child,
.panel-copy > :last-child {
    margin-bottom: 0;
}
.panel-copy p {
    margin: 0;
    color: #4f5660;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

/* Dashboard – az összes kártya és panel azonos belső margóval működjön. */
.dashboard-vehicle-panel-body {
    margin: 0;
}
.release-note-card {
    align-content: start;
    line-height: 1.45;
}
.release-note-card > div {
    min-width: 0;
}
.release-note-card strong {
    min-width: 0;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.release-note-card p {
    line-height: 1.5;
}
.release-note-card > small {
    display: block;
    padding-bottom: 1px;
    color: var(--muted);
    line-height: 1.4;
}
.metric-card,
.health-card,
.vehicle-mini-metrics > div {
    min-width: 0;
}
.metric-card span,
.metric-card strong,
.metric-card small,
.health-card span,
.health-card strong,
.health-card small {
    overflow-wrap: anywhere;
}
.quick-actions > a {
    align-items: flex-start;
}
.quick-actions > a > span:first-child {
    min-width: 0;
}

/* Szűrők: megszűnik a dupla belső margó és a különálló gomb elcsúszása. */
.filter-form {
    padding: 0;
}
.filter-form > .form-grid {
    padding-bottom: 12px;
}
.filter-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 22px 22px;
}
.filter-form-actions .button {
    min-width: 120px;
}
.filter-grid,
.document-search-grid,
.vehicle-filter-grid {
    align-items: end;
}
.filter-actions {
    min-width: 0;
    flex-wrap: wrap;
}
.filter-actions .button {
    min-width: 0;
}

/* Checkboxos kapcsolók, amelyek korábban külön formázás nélkül jelentek meg. */
.switch-row {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #d8dce1;
    border-radius: 9px;
    background: #fafbfc;
    color: #3f4650;
    font-weight: 700;
    cursor: pointer;
}
.switch-row:hover {
    border-color: #d4a02d;
    background: #fffaf0;
}
.switch-row input[type="hidden"] {
    display: none;
}
.switch-row input[type="checkbox"] {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
    margin: 0;
    accent-color: var(--brand);
}
.switch-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Partner-, import- és súgópanelek. */
.partner-picker {
    width: 100%;
    min-width: 0;
}
.partner-save-options > * {
    min-width: 0;
}
.csv-panel-body .csv-columns {
    margin: 0 0 14px;
}
.csv-panel-body p {
    margin: 0;
    line-height: 1.55;
}
.import-summary > .alert {
    margin: 0 22px 22px;
}
.help-steps.panel-body {
    margin: 0;
    padding: 20px 22px 22px 44px;
}
.help-steps li,
.help-tips li {
    padding-left: 3px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.help-module-card p {
    min-height: 0;
    line-height: 1.5;
}

/* Táblázatok és hosszú adatértékek. */
.table-wrap {
    width: 100%;
    min-width: 0;
}
.table-wrap table {
    max-width: 100%;
}
.table-wrap th,
.table-wrap td {
    max-width: 360px;
    vertical-align: top;
    overflow-wrap: anywhere;
    word-break: normal;
}
.table-wrap td .button,
.table-wrap td .badge {
    max-width: 100%;
}
.table-actions {
    align-items: flex-start;
}

/* Egységes, TEPÓ-stílusú lapozó minden listához. */
.pagination-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
    margin-top: 18px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(23,25,29,.04);
}
.panel > .pagination-wrap {
    margin: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0 0 var(--radius) var(--radius);
    box-shadow: none;
}
.pagination-summary {
    min-width: 0;
    color: var(--muted);
    font-size: .84rem;
    overflow-wrap: anywhere;
}
.pagination-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    flex-wrap: wrap;
}
.pagination-link,
.pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid #d7dbe0;
    border-radius: 8px;
    background: #fff;
    font-size: .84rem;
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
}
a.pagination-link:hover {
    border-color: var(--brand);
    background: #fff7dc;
}
.pagination-link.is-current {
    color: #17191d;
    background: var(--brand);
    border-color: var(--brand);
}
.pagination-link.is-disabled {
    color: #9aa0a8;
    background: #f4f5f6;
    cursor: not-allowed;
}
.pagination-ellipsis {
    min-width: 28px;
    padding-inline: 5px;
    border-color: transparent;
    background: transparent;
}
.pagination-wrap-simple {
    justify-content: flex-end;
}

/* Dokumentum-előnézetek és összegző oldalsávok. */
.document-header > *,
.document-info-grid > *,
.document-two-col > *,
.document-section,
.document-summary,
.performance-party-grid > * {
    min-width: 0;
}
.document-header strong,
.document-header span,
.document-info-grid strong,
.document-section,
.document-summary dt,
.document-summary dd,
.performance-party-grid strong,
.performance-party-grid small {
    overflow-wrap: anywhere;
}
.document-summary dl {
    min-width: 0;
}
.document-summary dd {
    min-width: 0;
}
.section-title-row {
    align-items: flex-start;
    flex-wrap: wrap;
}
.compact-financial-table {
    width: 100%;
}

/* Fájl-, esemény- és rekordlisták. */
.attachment-item,
.vehicle-file-card,
.record-card,
.activity-item,
.timeline-item {
    min-width: 0;
}
.vehicle-file-content,
.attachment-main,
.activity-body,
.timeline-content,
.record-card > * {
    min-width: 0;
}
.vehicle-file-content strong,
.vehicle-file-content span,
.vehicle-file-content small,
.attachment-main strong,
.attachment-main small,
.activity-title,
.activity-body p,
.timeline-content strong,
.timeline-content p,
.timeline-content small {
    overflow-wrap: anywhere;
}
.activity-title {
    align-items: flex-start;
    flex-wrap: wrap;
}

/* Navigáció és felső sáv hosszabb feliratokkal. */
.nav-link {
    min-width: 0;
}
.nav-link > span:not(.nav-badge) {
    min-width: 0;
    overflow-wrap: anywhere;
}
.sidebar-user > div:last-child {
    min-width: 0;
}
.sidebar-user strong,
.sidebar-user small {
    overflow-wrap: anywhere;
}
.topbar {
    min-width: 0;
}
.topbar-search {
    min-width: 180px;
}

@media (max-width: 1100px) {
    .heading-actions {
        justify-content: flex-start;
    }
    .dashboard-vehicle-panel-body {
        padding: 18px;
    }
    .document-sheet {
        padding: 26px;
    }
}

@media (max-width: 820px) {
    .content {
        width: 100%;
        padding: 18px;
    }
    .page-heading > div:first-child {
        flex-basis: auto;
        width: 100%;
    }
    .heading-actions {
        width: 100%;
    }
    .heading-actions .button,
    .heading-actions form {
        flex: 1 1 180px;
    }
    .panel-header > a,
    .panel-header > .button,
    .panel-header > form {
        margin-left: 0;
    }
    .panel-body,
    .dashboard-vehicle-panel-body {
        padding: 16px;
    }
    .filter-form-actions {
        padding: 0 16px 16px;
    }
    .filter-form-actions .button {
        width: 100%;
    }
    .import-summary > .alert {
        margin: 0 16px 16px;
    }
    .help-steps.panel-body {
        padding: 16px 16px 16px 36px;
    }
    .pagination-wrap {
        align-items: stretch;
        flex-direction: column;
    }
    .pagination-links {
        justify-content: flex-start;
    }
    .document-sheet {
        padding: 20px;
    }
    .document-summary dl {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .document-summary dd {
        margin: 0 0 10px;
        text-align: left;
    }
    .topbar {
        gap: 10px;
        padding-inline: 16px;
    }
    .topbar-search {
        min-width: 0;
    }
}

@media (max-width: 560px) {
    .content {
        padding: 14px;
    }
    .page-heading h1 {
        font-size: 1.65rem;
    }
    .heading-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .heading-actions .button,
    .heading-actions form,
    .heading-actions form .button {
        width: 100%;
    }
    .panel-header {
        padding: 16px;
    }
    .panel-header > a,
    .panel-header > .button,
    .panel-header > form {
        width: 100%;
        text-align: left;
    }
    .panel-header > form .button {
        width: 100%;
    }
    .form-grid,
    .filter-grid,
    .document-search-grid,
    .vehicle-filter-grid {
        padding: 16px;
    }
    .form-actions:not(.sticky-actions) {
        display: grid;
        grid-template-columns: 1fr;
    }
    .form-actions:not(.sticky-actions) .button,
    .form-actions:not(.sticky-actions) form,
    .form-actions:not(.sticky-actions) form .button {
        width: 100%;
    }
    .pagination-link.pagination-number {
        display: none;
    }
    .pagination-summary {
        text-align: center;
    }
    .pagination-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
    .pagination-ellipsis {
        display: none;
    }
    .document-sheet {
        padding: 16px;
    }
    .document-header img {
        width: 170px;
    }
    .document-info-grid,
    .document-two-col,
    .performance-party-grid {
        grid-template-columns: 1fr;
    }
    .document-two-col section + section {
        border-top: 0;
        border-left: 1px solid #bbc0c6;
    }
    .topbar-title,
    .topbar-logout {
        display: none;
    }
}

/* Google Drive beállítási kapcsolók. */
.switch-label {
    position: relative;
    min-width: 0;
}
.switch-label input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.switch-label .switch {
    position: relative;
    flex: 0 0 auto;
    width: 42px;
    height: 24px;
    border-radius: 999px;
    background: #cbd1d8;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
    transition: background .18s ease;
}
.switch-label .switch::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.22);
    transition: transform .18s ease;
}
.switch-label input[type="checkbox"]:checked + .switch {
    background: var(--brand);
}
.switch-label input[type="checkbox"]:checked + .switch::after {
    transform: translateX(18px);
}
.switch-label input[type="checkbox"]:focus-visible + .switch {
    outline: 3px solid rgba(242,169,0,.24);
    outline-offset: 2px;
}
.switch-label b {
    min-width: 0;
    overflow-wrap: anywhere;
}
.system-tasks-table-wrap {
    max-width: 100%;
    overflow-x: auto;
}
