body{font-size:16px}button,input,select{font:inherit}label{font-size:14px}.data-table td,.data-table th{font-size:14px}.data-table input,.data-table select{min-width:110px;max-width:260px;padding:8px}.data-table .mapping{min-width:220px}.table-wrap{overflow:auto}.runtime-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.runtime-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.runtime-form label{display:grid;gap:5px}.runtime-form input,.runtime-form select,.runtime-form textarea{width:100%;padding:10px;border:1px solid #d2d4de;border-radius:8px}.runtime-form .full{grid-column:1/-1}.runtime-muted{color:#66677d}.runtime-login{max-width:480px;margin:5vh auto}.runtime-line{display:grid;grid-template-columns:auto 2fr 1fr 1fr auto;gap:8px;margin:8px 0;align-items:center}.runtime-line input,.runtime-line select{width:100%;min-width:0;padding:8px}#error{margin:12px 20px}#identity{font-size:14px}.sidebar .btn{color:white}.runtime-warning-list{max-height:260px;overflow:auto}.runtime-detail{white-space:normal;min-width:220px}.runtime-print-only{display:none}@media(max-width:700px){.runtime-form{grid-template-columns:1fr}.runtime-line{grid-template-columns:1fr 1fr}.runtime-line select{grid-column:1/-1}.runtime-actions .btn{min-height:44px}#identity{max-width:140px}.topbar{flex-wrap:wrap}.content{padding:14px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.sidebar,.topbar,#error,button,.runtime-actions{display:none!important}.app-shell,.main,.content{display:block!important;margin:0!important;padding:0!important}.modal{position:static!important;display:block!important}.modal.hidden{display:none!important}.modal-backdrop,.modal-close{display:none!important}.modal-card{box-shadow:none;max-height:none;max-width:none;width:100%;overflow:visible}.table-wrap{overflow:visible}.data-table{font-size:11px}body:has(.modal:not(.hidden)) .app-shell{display:none!important}.runtime-print-only{display:block}}
.sidebar .btn{background:transparent;border-color:#ffffff66;color:white}
.sidebar-close,.sidebar-backdrop{display:none}
@media(max-width:860px){
  body.menu-open{overflow:hidden}
  .sidebar{left:0;bottom:0;width:min(86vw,320px);height:100vh;height:100dvh;max-height:100dvh;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .2s ease;z-index:40;overflow:hidden;box-shadow:18px 0 48px rgba(16,11,36,.28)}
  .sidebar.open{left:0;transform:translateX(0)}
  .sidebar .brand{padding-right:42px;flex:0 0 auto}
  .sidebar .nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .sidebar .side-bottom{flex:0 0 auto}
  .sidebar-close{display:grid;place-items:center;position:absolute;top:max(12px,env(safe-area-inset-top));right:10px;z-index:2;width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:28px;line-height:1}
  .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(22,17,42,.48);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:35}
  .sidebar-backdrop.open{opacity:1;pointer-events:auto}
}
.brand-logo{width:82px;height:54px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.runtime-footer{text-align:center;color:#777b8c;font-size:11px;letter-spacing:.05em;padding:18px}.table-tools{display:flex;justify-content:flex-end;margin:8px 0}.table-tools input{width:min(360px,100%);padding:9px 11px;border:1px solid #d2d4de;border-radius:8px;background:#fff}.table-sort{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;white-space:nowrap;cursor:pointer}.document-head{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid #159e9d;padding-bottom:12px;margin-bottom:18px}.document-head img{width:150px;max-height:72px;object-fit:contain}.document-head h2,.document-head p{margin:2px 0}.receipt-line{grid-template-columns:2fr 1fr 2fr auto}.data-table details{min-width:180px}.data-table pre{white-space:pre-wrap;max-width:420px;font-size:11px}@media print{.runtime-footer{display:none}.document-head{break-after:avoid}.data-table thead{display:table-header-group}.data-table tr{break-inside:avoid}.table-tools{display:none!important}.document-head img{width:170px}}
.btn[href]{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.guide-hero{display:flex;align-items:center;gap:24px;margin-bottom:16px}.guide-hero>img{width:170px;max-height:100px;object-fit:contain}.guide-hero h2{margin:3px 0 8px}.guide-hero p{max-width:850px;line-height:1.55}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.guide-grid h3{margin-top:0}.guide-grid p{line-height:1.55;margin-bottom:0}.guide-document-preview{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center;padding:24px}.guide-document-preview>img{width:100%;border:1px solid #e3e4eb;box-shadow:0 16px 36px #241a4b1c}.guide-document-preview h3{margin-top:0}.guide-document-preview li{margin:10px 0;line-height:1.4}@media(max-width:800px){.guide-hero{align-items:flex-start;flex-direction:column}.guide-grid,.guide-document-preview{grid-template-columns:1fr}.guide-document-preview>img{max-width:260px;margin:auto}}
.th-inner{display:flex;align-items:center;justify-content:space-between;gap:4px}.th-filter-btn{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:2px 5px;border-radius:5px;line-height:1;opacity:.55;font-size:11px}.th-filter-btn:hover{opacity:1;background:#eceefc}.th-filter-btn.active{opacity:1;color:var(--teal2);background:#e3f7f6}.table-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;width:100%}.table-filter-chips:empty{display:none;margin:0}.filter-chip{display:inline-flex;align-items:center;gap:6px;background:#eef0fb;color:var(--navy);border-radius:999px;padding:4px 6px 4px 10px;font-size:11px;font-weight:600}.filter-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:2px 4px}.filter-chip.clear-all{background:var(--navy);color:#fff;padding:0}.filter-chip.clear-all button{color:#fff;padding:4px 10px;font-size:11px;font-weight:600}.col-filter-popover{position:absolute;z-index:150;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:12px;width:260px;max-width:90vw}.col-filter-popover h4{margin:0 0 8px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.col-filter-popover .cf-search{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:7px;margin-bottom:8px;box-sizing:border-box}.col-filter-popover .cf-values{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.col-filter-popover .cf-values label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:400}.col-filter-popover .cf-values label[hidden]{display:none}.col-filter-popover .cf-range{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.col-filter-popover .cf-range label{display:grid;gap:4px;font-size:11px;color:var(--muted)}.col-filter-popover .cf-range input{padding:7px 8px;border:1px solid var(--line);border-radius:7px;box-sizing:border-box;width:100%}.col-filter-popover .cf-presets{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-bottom:8px}.col-filter-popover .cf-presets label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:400}.col-filter-popover .cf-actions{display:flex;justify-content:space-between;gap:8px}.col-filter-popover .cf-actions .btn{flex:1;padding:7px 8px;font-size:12px}.col-filter-popover .cf-empty{color:var(--muted);font-size:12px;margin:0}.price-lines-scroll .table-wrap{max-height:56vh;overflow:auto}.price-lines-scroll .data-table th{position:sticky;top:0;z-index:1}
@media(max-width:700px){.col-filter-popover{width:min(300px,92vw)}}
@media print{.th-filter-btn,.table-filter-chips,.col-filter-popover{display:none!important}}
.table-tools{flex-wrap:wrap}
.table-tools{gap:8px;align-items:center}.table-export-btn{white-space:nowrap;padding:8px 12px}
.runtime-line{grid-template-columns:auto 2fr 1fr 1fr 1fr auto}.runtime-line-head{display:grid;grid-template-columns:auto 2fr 1fr 1fr 1fr auto;gap:8px;margin:10px 0 -2px;font-size:11px;font-weight:700;color:#77717f}
@media(max-width:700px){.runtime-line-head{display:none}}
.runtime-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px;margin-top:6px}.runtime-check{display:flex!important;align-items:center;gap:7px;font-size:13px;font-weight:400!important}
