.filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end;padding:16px 18px;border-top:1px solid #2c2c30;border-bottom:1px solid #2c2c30;background:#111113}.filters label{display:grid;gap:6px;font-size:.78rem;color:#c7c7cf}.filters input,.filters select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #34343a;border-radius:8px;background:#18181b;color:#fff}.filter-actions{display:flex;gap:8px}.file-link{color:#ff6a2a;font-weight:800;text-decoration:none}.file-link:hover,.file-link:focus{text-decoration:underline}.history-modal{width:min(840px,calc(100vw - 28px));max-height:85vh;overflow:auto;background:#151517;color:#fff}.history-modal header,.history-modal footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #303035}.history-modal footer{border-top:1px solid #303035;border-bottom:0}.history-modal header button{border:0;background:transparent;color:#fff;font-size:1.6rem}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.history-summary article{padding:16px;border:1px solid #303035;border-radius:10px;background:#1a1a1d}.history-summary span{display:block;color:#aaa;font-size:.75rem}.history-summary strong{display:block;margin-top:7px;font-size:1.15rem}.history-table{padding:0 20px 22px}.history-table h3{margin:0 0 12px}.history-table table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:10px;border-bottom:1px solid #303035;text-align:left;font-size:.82rem}
@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}.history-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.filters{grid-template-columns:1fr}.filter-actions{grid-column:auto}.filter-actions button{flex:1}.history-summary{grid-template-columns:1fr}.history-table{overflow-x:auto}.history-modal header,.history-modal footer{padding:15px}.history-summary,.history-table{padding-left:15px;padding-right:15px}}

.topbar-actions{display:flex;align-items:center;gap:10px}.qr-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid rgba(215,181,109,.38);border-radius:12px;background:rgba(215,181,109,.08);color:#d7b56d;text-decoration:none;font-weight:800}.qr-link:hover{background:rgba(215,181,109,.14)}@media(max-width:680px){.topbar-actions{gap:6px}.qr-link{font-size:0;padding:0;width:42px}.qr-link:after{content:"QR";font-size:12px}}

/* Gestão de usuários */
.user-form { padding: 20px; border-top: 1px solid var(--border, #2b2b2f); }
.user-form .form-actions { display: flex; justify-content: flex-end; margin-top: 18px; }
.field-title { display: block; margin-bottom: 10px; font-weight: 700; }
.permission-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.permission-check { display: flex !important; align-items: center; gap: 8px; min-height: 42px; padding: 10px 12px; border: 1px solid var(--border, #303035); border-radius: 10px; background: rgba(255,255,255,.02); }
.permission-check input { width: auto; margin: 0; }
.permission-check span { font-size: 13px; }
@media (max-width: 900px) { .permission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .permission-grid { grid-template-columns: 1fr; } }


/* Modais de usuários */
.user-modal { min-width: min(760px, 92vw); max-width: 900px; }
.user-modal-body { padding: 22px; }
.user-modal header, .user-modal footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; border-bottom:1px solid var(--line, #2b2b2f); }
.user-modal footer { border-top:1px solid var(--line, #2b2b2f); border-bottom:0; justify-content:flex-end; }
.user-modal header h2 { margin:0; }
.user-modal header button { width:42px; height:42px; border-radius:12px; }
.user-modal .permission-grid { margin-top:10px; }
.user-modal label > span { display:block; margin-bottom:8px; font-weight:700; }
@media (max-width: 700px) { .user-modal { min-width: 94vw; } .user-modal-body { padding:16px; } }
