:root{
      --bg:#f7fafc;--card:#fff;--text:#0f172a;--muted:#475569;
      --brand:#2c7be5;--brand-2:#29c08a;--brand-3:#ffd166;
      --border:#e6edf5;--border-strong:#cfd8e3;--danger:#e53e3e;--ok:#2f855a;
      --ring:rgba(44,123,229,.25);--ring-width:3px;
      --radius:16px;--radius-input:12px;--shadow:0 12px 28px rgba(2,6,23,.10);
      --chip:#f1f5f9;--chip-text:#334155;--table-head:#f8fafc;--row-alt:#fbfdff;--row-hover:#f1f5f9;

      --sev-low:#dcfce7; --sev-low-border:#86efac; --sev-low-text:#14532d;
      --sev-med:#fff7ed; --sev-med-border:#fdba74; --sev-med-text:#7c2d12;
      --sev-high:#fee2e2; --sev-high-border:#fca5a5; --sev-high-text:#7f1d1d;
      --sev-crit:#ffe4e6; --sev-crit-border:#fda4af; --sev-crit-text:#881337;

      --st-nova:#e2e8f0; --st-nova-text:#334155;
      --st-analise:#fef9c3; --st-analise-text:#713f12;
      --st-pendente:#f0f9ff; --st-pendente-text:#0c4a6e;
      --st-resol:#dcfce7; --st-resol-text:#14532d;
      --st-decl:#fee2e2; --st-decl-text:#7f1d1d;
      --st-arquivada:#e0e7ff; --st-arquivada-text:#3730a3;

      --input-height:50px; --input-padding-x:16px; --input-padding-y:12px;
    }
    td.actions .selStatus { display: none !important; }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:linear-gradient(180deg,#fff,var(--bg));color:var(--text)}
    header{position:sticky;top:0;z-index:20;backdrop-filter:saturate(160%) blur(6px);background:rgba(255,255,255,.85);border-bottom:1px solid var(--border)}
    .nav{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}
    .brand{display:flex;gap:12px;align-items:center;font-weight:700}
    .logo{width:34px;height:34px;border-radius:10px;background:conic-gradient(from 210deg,var(--brand) 0 40%,var(--brand-2) 40% 75%,var(--brand-3) 75% 100%);box-shadow:var(--shadow)}
    .brand span{font-size:18px}
    .nav-actions{display:flex;gap:10px;align-items:center}
    .user-badge{font-weight:800; color:var(--text); max-width:240px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-right:2px}
    .btn{appearance:none;border:1px solid var(--border);background:linear-gradient(#fff,#f8fafc);color:var(--text);padding:12px 16px;border-radius:12px;cursor:pointer;font-weight:600;transition:border-color .15s ease, box-shadow .2s ease, transform .04s ease}
    .btn:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-0.5px)}
    .btn:focus-visible{outline:0;box-shadow:0 0 0 var(--ring-width) var(--ring)}
    .btn.brand{border:none;background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
    .btn.brand:focus-visible{box-shadow:0 0 0 var(--ring-width) var(--ring), inset 0 0 0 1px rgba(255,255,255,.18)}
    .btn.tiny{padding:6px 10px;border-radius:10px;font-size:12px}
    .btn.loading{pointer-events:none;opacity:.75}
    .btn.success{animation:pulse 1s ease 1}
    @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(41,192,138,.4)}100%{box-shadow:0 0 0 12px rgba(41,192,138,0)}}
    main{max-width:1100px;margin:26px auto;padding:0 20px 40px}
    .grid{display:grid;grid-template-columns:1fr;gap:22px}
    .card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
    h1{font-size:28px;margin:14px 0 6px}
    h2{font-size:20px;margin:8px 0 10px;color:var(--muted)}
    h3{font-size:16px;margin:8px 0 6px;color:var(--muted)}
    p.lead{color:var(--muted);margin-top:0}
    .field{display:grid;gap:8px;margin-bottom:14px}
    .field label{margin-bottom:2px;font-weight:700;color:var(--muted)}
    input[type=text], input[type=email], input[type=password], input[type=number], input[type=tel], input[type=url], textarea{
      width:100%; padding:var(--input-padding-y) var(--input-padding-x);
      border:1px solid var(--border); border-radius:var(--radius-input);
      background:#fff; outline:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
      transition:border-color .15s ease, box-shadow .15s ease; line-height:1.2;
      min-height: var(--input-height);
    }
    input[type=text]:hover, input[type=email]:hover, input[type=password]:hover, input[type=number]:hover, input[type=tel]:hover, input[type=url]:hover, textarea:hover{border-color:var(--border-strong)}
    input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, input[type=number]:focus, input[type=tel]:focus, input[type=url]:focus, textarea:focus{border-color:var(--brand);box-shadow:0 0 0 var(--ring-width) var(--ring), inset 0 1px 0 rgba(255,255,255,.6)}
    textarea{min-height:110px;resize:vertical;padding:14px var(--input-padding-x)}
    input::placeholder,textarea::placeholder{color:#94a3b8}
    select{
      width:100%; min-height: var(--input-height);
      padding: var(--input-padding-y) 45px var(--input-padding-y) var(--input-padding-x);
      border:1px solid var(--border); border-radius: var(--radius-input);
      background:#ffffff; font-family: inherit; font-size:14px; font-weight:400; color:#334155;
      cursor:pointer; transition: all .2s ease; -webkit-appearance:none; -moz-appearance:none; appearance:none;
      background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%2394a3b8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>');
      background-repeat:no-repeat; background-position:right 14px center; background-size:16px; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
    }
    select:hover{border-color:#cbd5e1;background-color:#f8fafc}
    select:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 var(--ring-width) var(--ring), inset 0 1px 0 rgba(255,255,255,.6)}
    select::-ms-expand{display:none}
    select option{white-space:normal; line-height:1.5; padding:8px 12px; font-size:14px; color:#334155; background:#fff;}
    select option[value=""]{color:#94a3b8; font-style:italic;}
    select:disabled{background-color:#f1f5f9;color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0}
    select:disabled option{color:#94a3b8}
    input[type=file]{display:block;width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-input);background:#fff;outline:0;transition:border-color .15s ease, box-shadow .15s ease}
    input[type=file]:hover{border-color:var(--border-strong)}
    input[type=file]:focus{border-color:var(--brand);box-shadow:0 0 0 var(--ring-width) var(--ring)}
    input[type=file]::file-selector-button,
    input[type=file]::-webkit-file-upload-button{
      margin-right:12px;border:1px solid var(--border);background:linear-gradient(#fff,#f8fafc);
      color:var(--text);padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600;
      transition:border-color .15s ease, box-shadow .2s ease, transform .04s ease;
    }
    input[type=file]::file-selector-button:hover,
    input[type=file]::-webkit-file-upload-button:hover{
      border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-0.5px);
    }
    input[type=file]::file-selector-button:focus-visible,
    input[type=file]::-webkit-file-upload-button:focus-visible{
      outline:0;box-shadow:0 0 0 var(--ring-width) var(--ring);
    }
    .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    @media(max-width:600px){.row{grid-template-columns:1fr}}
    .toggle{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);padding:8px;border-radius:999px;box-shadow:var(--shadow)}
    .toggle button{border:0;padding:8px 12px;border-radius:999px;cursor:pointer;background:transparent;font-weight:700;color:var(--muted)}
    .toggle button.active{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff}
    .separator{height:1px;background:var(--border);margin:14px 0}
    .hidden{display:none!important}
    table{width:100%;border-collapse:separate;border-spacing:0}
    thead th{position:sticky;top:0;background:var(--table-head);z-index:1;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;box-shadow:0 2px 0 rgba(15,23,42,.03)}
    th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}
    tbody tr:nth-child(odd){background:var(--row-alt)}
    tbody tr:hover{background:var(--row-hover)}
    td.actions{white-space:nowrap}
    td.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
    .pill{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid;font-size:12px;font-weight:700}
    .sev-baixa{background:var(--sev-low);border-color:var(--sev-low-border);color:var(--sev-low-text)}
    .sev-media{background:var(--sev-med);border-color:var(--sev-med-border);color:var(--sev-med-text)}
    .sev-alta{background:var(--sev-high);border-color:var(--sev-high-border);color:var(--sev-high-text)}
    .sev-critica{background:var(--sev-crit);border-color:var(--sev-crit-border);color:var(--sev-crit-text)}
    .st-nova{background:var(--st-nova);border-color:#cbd5e1;color:var(--st-nova-text)}
    .st-analise{background:var(--st-analise);border-color:#fde68a;color:var(--st-analise-text)}
    .st-pendente{background:var(--st-pendente);border-color:#bae6fd;color:var(--st-pendente-text)}
    .st-resolvida{background:var(--st-resol);border-color:#86efac;color:#14532d}
    .st-declinada{background:var(--st-decl);border-color:#fecaca;color:#7f1d1d}
    .st-arquivada{background:#e0e7ff;border-color:#c7d2fe;color:#3730a3}
    .mode-pill{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}
    .filters{display:grid;gap:10px;margin:8px 0 12px}
    /* ATUALIZADO: +1 coluna para o novo filtro de Dia */
    .filters-row{display:grid;grid-template-columns: repeat(7, minmax(120px, 1fr)) minmax(220px, 2fr) auto;gap:10px;align-items:end}
    @media (max-width: 1100px){.filters-row{ grid-template-columns: repeat(3, minmax(120px,1fr)); }}
    @media (max-width: 900px){.filters-row{ grid-template-columns: 1fr 1fr; }}
    .filters .field{margin:0}
    .filter-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
    .chip{display:inline-flex;align-items:center;gap:8px;background:var(--chip);color:var(--chip-text);padding:6px 10px;border-radius:999px;border:1px solid var(--border)}
    .chip button{border:0;background:transparent;cursor:pointer;font-weight:800}
    body.admin-mode #intro, body.admin-mode #formCard{display:none!important}
    body.admin-mode .nav, body.admin-mode main{max-width:1680px}
    .charts{display:grid;grid-template-columns: repeat(2, minmax(520px, 1fr)); gap:16px}
    @media(max-width:900px){.charts{grid-template-columns:1fr} canvas{height:200px}}
    canvas{width:100%;height:260px;border:1px solid var(--border);border-radius:12px;background:#fff}
    dialog::backdrop{ background: rgba(15,23,42,.35); backdrop-filter: blur(1.5px); }
    dialog{ border: none; padding: 0; border-radius: var(--radius); overflow: hidden; background: transparent; }
    dialog .modal-body{ border-radius: 0; background: #fff; box-shadow: 0 0 0 1px var(--border), var(--shadow); padding: 22px 24px 20px; max-height: 80vh; overflow: auto; }
    .attachments{ display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start }
    #dlgConsulta .thumb, #dlgDetalhe .thumb{ width:140px; height:100px; object-fit:cover; border:1px solid var(--border); border-radius:8px; display:block }
    .id-pill{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:12px;background:#fafcff}
    code{background:#f8fafc;padding:.2em .35em;border-radius:6px}
    .hint{color:#64748b;font-size:13px}
    .progress-wrap{display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:520px}
    .progress-bar{height:12px;background:#eef2ff;border-radius:999px;border:1px solid #c7d2fe;overflow:hidden}
    .progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .15s ease}
    .pager{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--border);flex-wrap:wrap}
    .pager .left,.pager .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
    .pager .range{color:var(--muted);font-size:13px}
    .btn-page{padding:6px 10px;border-radius:10px;font-size:12px}
    #dlgLogin .field label{ font-size: 13px; font-weight: 600; }
    #btnChangePwd{ display:none; }
    #dlgChangePwd .field small{ color:#64748b }