* { box-sizing: border-box; }
    body { margin:0; font-family: Arial, sans-serif; background:#f3f4f6; color:#111827; }
    header { background:#111827; color:white; padding:16px 20px; }
    h1 { margin:0; font-size:24px; }
    main { padding:20px; overflow-x:auto; }
    .top, .filters { display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; align-items:end; }
    .filters, .column-filter, .summary { background:white; padding:14px; border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,.12); margin-bottom:14px; }
    .filter-box label { display:block; font-size:12px; color:#374151; margin-bottom:4px; font-weight:bold; }
    a.button, button { background:#2563eb; color:white; border:none; padding:9px 13px; border-radius:7px; cursor:pointer; text-decoration:none; font-size:14px; margin:2px; }
    button.save { background:#16a34a; }
    button.finish { background:#dc2626; }
    button.finalize { background:#7c3aed; }
    button.reopen { background:#ca8a04; }
    button.delete { background:#991b1b; }
    button.gray { background:#4b5563; }
    table { width:100%; min-width:1450px; border-collapse:collapse; background:white; box-shadow:0 1px 4px rgba(0,0,0,.12); }
    th, td { border:1px solid #e5e7eb; padding:8px; font-size:13px; vertical-align:top; }
    th { background:#f9fafb; text-align:left; }
    input, select, textarea { width:100%; box-sizing:border-box; padding:6px; border:1px solid #d1d5db; border-radius:5px; font-size:13px; }
    textarea { min-height:42px; }
    .small { color:#6b7280; font-size:12px; }
    .status-open { color:#16a34a; font-weight:bold; }
    .status-draft { color:#ca8a04; font-weight:bold; }
    .status-final { color:#2563eb; font-weight:bold; }
    .actions { display:flex; flex-direction:column; gap:6px; min-width:120px; }
    .actions button, .actions a.button { width:100%; text-align:center; margin:0; display:block; white-space:nowrap; }
    .locked { background:#f3f4f6; color:#6b7280; }
    .column-filter-title { font-weight:bold; margin-bottom:10px; }
    .column-filter-grid { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; }
    .column-filter label { font-size:13px; white-space:nowrap; display:flex; gap:6px; align-items:center; }
    .column-filter input[type="checkbox"] { width:auto; }
    .column-actions { margin-top:12px; }
    .vehicle-moving { color:#16a34a; font-weight:800; }
    .vehicle-parked { color:#facc15; font-weight:800; }
    .vehicle-offline { color:#dc2626; font-weight:800; }
    .pagination { display:flex; justify-content:center; align-items:center; gap:12px; margin:18px 0 4px; }
    .pagination span { min-width:220px; text-align:center; font-weight:700; }
    .pagination button:disabled { opacity:.45; cursor:not-allowed; }
    .hidden { display:none!important; }
    button.purpose-save { margin-top:6px; padding:7px 12px; }
    @media (max-width:700px) {
      main { padding:10px; }
      table { min-width:1100px; }
      input, select, textarea { font-size:16px; }
      a.button, button { font-size:15px; min-height:42px; }
      .pagination { align-items:stretch; flex-direction:column; }
      .pagination span { min-width:0; padding:4px; }
    }
    @media print {
      header,.top,.filters,.column-filter,.summary,.pagination { display:none!important; }
      main { padding:0; overflow:visible; }
      table { min-width:auto; width:100%; box-shadow:none; }
      th,td,input,select,textarea { font-size:10px; }
      .actions,td.action-cell,th.action-head { display:none!important; }
    }
