.filterbar{margin-bottom:18px;padding:20px 22px}.fb-grid{align-items:end;display:grid;gap:14px;grid-template-columns:1.05fr 1.05fr 1.05fr 1.05fr 1.3fr}.fb-actions{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.fb-actions .btn{min-width:104px;white-space:nowrap}.fb-actions .btn-green{min-width:116px}.summary-bar{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.sum{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);flex:1;min-width:150px;padding:16px 18px}.sum .n{font-size:1.45rem;font-weight:800}.sum .l{color:var(--muted);font-size:.74rem;margin-top:2px}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;font-size:.86rem;min-width:980px;width:100%}thead th{background:#f8f9fd;border-bottom:1px solid var(--border);color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:13px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}td.num,th.num{text-align:right}tbody td{border-bottom:1px solid var(--border);padding:13px 16px}tbody tr:hover{background:#fafbff}tbody tr:last-child td{border-bottom:none}.empty{color:#9ca3af;padding:30px 0!important;text-align:center}.pager{align-items:center;border-top:1px solid var(--border);display:flex;gap:12px;padding:14px 16px}.pginfo{color:var(--muted);font-size:.82rem}.row-actions{display:flex;gap:8px;justify-content:flex-end;min-width:118px}.mini-btn{border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.76rem;font-weight:800;padding:7px 10px}.mini-edit{background:#eef4ff;color:#0052cc}.mini-delete{background:#fee2e2;color:#b91c1c}.col-popover{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px #0f172a2e;padding:12px;position:absolute;right:0;top:calc(100% + 6px);width:240px;z-index:200}.col-popover-title{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.05em;padding:2px 4px 8px;text-transform:uppercase}.col-popover label{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:.84rem;gap:8px;padding:6px 4px}.col-popover label:hover{background:#f8f9fd}.col-popover input{width:auto}.col-popover-foot{border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:8px;padding-top:8px}.col-popover-foot button{background:none;border:none;color:#0052cc;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:700;padding:4px}.modal-backdrop{align-items:center;background:rgba(15,23,42,.48);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 70px #0f172a40;max-height:90vh;overflow:auto;width:min(960px,100%)}.modal-head{align-items:center;border-bottom:1px solid var(--border);display:flex;font-weight:800;justify-content:space-between;padding:18px 22px}.modal-body{display:flex;flex-direction:column;gap:20px;padding:20px 22px}.modal-body label{color:var(--muted);display:block;font-size:.76rem;font-weight:700;margin-bottom:4px}.modal-body input,.modal-body textarea{border:1px solid var(--border);border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.86rem;padding:8px 10px;width:100%}.modal-body textarea{resize:vertical}.modal-grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.modal-section-title{color:#3a4060;font-size:.78rem;font-weight:800;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.modal-section{border-top:1px solid #eef1f7;padding-top:16px}.modal-section:first-child{border-top:none;padding-top:0}.items-tbl-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.items-tbl{border-collapse:collapse;font-size:.8rem;min-width:760px;width:100%}.items-tbl th{background:#f8f9fd;color:var(--muted);font-size:.68rem;padding:8px;text-align:left;text-transform:uppercase;white-space:nowrap}.items-tbl td,.items-tbl th{border-bottom:1px solid var(--border)}.items-tbl td{padding:6px 8px}.items-tbl input{font-size:.8rem;padding:6px 8px}.items-tbl tr:last-child td{border-bottom:none}.modal-foot{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 22px}@media (max-width:1100px){.fb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.fb-grid{grid-template-columns:1fr}.fb-actions{flex-wrap:wrap;justify-content:stretch}.fb-actions .btn{flex:1 1 140px}.modal-grid{grid-template-columns:1fr}}
