:root{--bg:#f6f7fb;--card:#fff;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;--primary:#2563eb;--danger:#dc2626}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}.nav{background:#111827;color:white;display:flex;justify-content:space-between;align-items:center;padding:14px 22px}.nav a{color:white;text-decoration:none;margin-left:16px}.navlinks{display:flex;gap:10px;align-items:center}.container{max-width:1250px;margin:24px auto;padding:0 16px}.header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.muted{color:var(--muted)}.login-card{max-width:380px;margin:80px auto;background:var(--card);padding:28px;border-radius:18px;box-shadow:0 10px 30px #0001}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:white}.login-card label,.form-grid label{display:block;margin-top:12px;font-weight:600}.btn{display:inline-block;border:1px solid var(--line);background:white;color:var(--text);padding:10px 14px;border-radius:10px;text-decoration:none;cursor:pointer;font-size:14px}.btn.primary{background:var(--primary);border-color:var(--primary);color:white}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}.card{background:var(--card);padding:18px;border-radius:16px;box-shadow:0 5px 18px #0000000d}.card span{display:block;color:var(--muted);font-size:14px}.card b{font-size:28px}.filters{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr auto auto;gap:10px;background:var(--card);padding:14px;border-radius:16px;margin:14px 0}.actions{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}.table-wrap{overflow:auto;background:var(--card);border-radius:16px;box-shadow:0 5px 18px #0000000d}table{width:100%;border-collapse:collapse;min-width:1000px}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{background:#f9fafb;font-weight:700}.pill{background:#eef2ff;color:#3730a3;border-radius:999px;padding:4px 8px;white-space:nowrap}.nowrap{white-space:nowrap}.inline{display:inline}.link{background:none;border:0;padding:0;margin-left:8px;color:var(--primary);cursor:pointer}.link.danger{color:var(--danger)}.alert{padding:12px 14px;border-radius:12px;margin-bottom:12px;background:#e0f2fe}.alert.success{background:#dcfce7}.alert.danger{background:#fee2e2}.alert.warning{background:#fef3c7}.form-grid{background:var(--card);padding:20px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px;box-shadow:0 5px 18px #0000000d}.form-grid label{margin:0}.form-grid textarea,.span{grid-column:1/-1}.empty{text-align:center;color:var(--muted);padding:24px}.hint{font-size:13px;color:var(--muted)}@media(max-width:900px){.cards,.filters,.form-grid{grid-template-columns:1fr}.header,.nav{flex-direction:column;align-items:flex-start}.navlinks{flex-wrap:wrap}.container{margin:12px auto}}
.clickable-row{cursor:pointer}.clickable-row:hover{background:#f8fafc}.actions-cell a{font-weight:600}.detail-card{background:var(--card);border-radius:18px;padding:22px;box-shadow:0 5px 18px #0000000d}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.detail-title h2{margin:0}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.detail-grid div,.observacoes{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fcfcfd}.detail-grid span,.observacoes span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}.detail-grid b{font-size:15px}.observacoes{margin-top:14px}.observacoes p{white-space:pre-wrap;margin:0;line-height:1.5}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.detail-title{align-items:flex-start;flex-direction:column}}
.cards{grid-template-columns:repeat(7,1fr)}
.filters{grid-template-columns:2fr 1.2fr 1fr 1fr 1fr auto auto}
.pill.status{font-weight:700;border:1px solid transparent}
.status-em-uso{background:#dcfce7;color:#166534;border-color:#86efac}
.status-estoque{background:#fef9c3;color:#854d0e;border-color:#fde047}
.status-manutencao{background:#ffedd5;color:#9a3412;border-color:#fdba74}
.status-baixado{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.card-status{border-left:6px solid transparent}
.card-status.uso{border-left-color:#22c55e;background:#f0fdf4}
.card-status.estoque{border-left-color:#eab308;background:#fefce8}
.card-status.manutencao{border-left-color:#f97316;background:#fff7ed}
.card-status.baixado{border-left-color:#ef4444;background:#fef2f2}
.card-status.uso span,.card-status.uso b{color:#166534}
.card-status.estoque span,.card-status.estoque b{color:#854d0e}
.card-status.manutencao span,.card-status.manutencao b{color:#9a3412}
.card-status.baixado span,.card-status.baixado b{color:#991b1b}
.detail-card + .detail-card{margin-top:16px}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.cards,.filters{grid-template-columns:1fr}}
.brand{display:flex;align-items:center;gap:10px}.logo{max-height:42px;max-width:150px;object-fit:contain}.sort{color:inherit;text-decoration:none}.sort:hover{text-decoration:underline}.status-em-uso{background:var(--status-em-uso)!important;color:#fff!important}.status-estoque{background:var(--status-estoque)!important;color:#111827!important}.status-manutencao{background:var(--status-manutencao)!important;color:#111827!important}.status-baixado{background:var(--status-baixado)!important;color:#fff!important}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card-form{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px}.logo-preview{display:flex;align-items:center;gap:18px;margin:10px 0 16px}.logo-preview img{max-height:90px;max-width:260px;border:1px solid #e5e7eb;border-radius:10px;padding:8px;background:#fff}input[type=color]{height:44px;padding:4px;cursor:pointer}@media(max-width:700px){.grid-2{grid-template-columns:1fr}.nav{gap:10px}.navlinks{flex-wrap:wrap}.brand{width:100%}}
.check{display:flex;align-items:center;gap:6px;font-size:14px;color:#374151}.inactive{opacity:.6;background:#f9fafb}.navlinks{flex-wrap:wrap}.detail-card h2{margin-top:0}

.link.success{color:#16a34a;font-weight:700}
.danger-btn{background:#fee2e2;color:#111827;border-color:#fecaca}
.success-btn{background:#16a34a;color:white;border-color:#16a34a}
.danger-pill{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
input:required:invalid, textarea:required:invalid, select:required:invalid { border-color: #dc2626; background: #fff7f7; }
input:required:valid { border-color: #16a34a33; }
.licenca-ok{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}.licenca-atencao{background:#fef9c3!important;color:#854d0e!important;border-color:#fde047!important}.licenca-critico{background:#ffedd5!important;color:#9a3412!important;border-color:#fdba74!important}.licenca-vencido{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important}.licenca-neutro{background:#f3f4f6!important;color:#374151!important;border-color:#d1d5db!important}.licenca-card{border-left:6px solid #e5e7eb}.licenca-card.licenca-atencao{border-left-color:#eab308}.licenca-card.licenca-critico{border-left-color:#f97316}.licenca-card.licenca-vencido{border-left-color:#dc2626}.alerta-licencas{border-left:6px solid #f97316;margin-bottom:16px}
.badge{display:inline-block;border-radius:999px;padding:2px 7px;font-size:11px;margin-left:4px}.badge.danger{background:#dc2626;color:#fff}.alerta-critico{border-left:6px solid #dc2626}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.licenca-vencido{background:#7f1d1d!important;color:#fff!important}.licenca-critico{background:#fee2e2!important;color:#991b1b!important}.licenca-atencao{background:#fef3c7!important;color:#92400e!important}.licenca-ok{background:#dcfce7!important;color:#166534!important}.licenca-neutro{background:#f3f4f6!important;color:#374151!important}@media(max-width:900px){.grid-2{grid-template-columns:1fr}.nav{flex-wrap:wrap}.navlinks{flex-wrap:wrap}}

/* v25 - dashboard interativo, busca global, timeline e anexos */
.nav{gap:14px;align-items:center}.global-search{display:flex;gap:6px;align-items:center}.global-search input{height:34px;border:1px solid #d1d5db;border-radius:8px;padding:0 10px;min-width:220px}.global-search button{height:34px;border:0;border-radius:8px;padding:0 10px;background:#1f2937;color:white}.link-card{text-decoration:none;color:inherit;transition:.15s transform,.15s box-shadow}.link-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.10)}.link-card small{display:block;color:#64748b;margin-top:4px}.big-search{margin-bottom:18px}.big-search input{min-width:380px;max-width:680px}.timeline{position:relative;padding-left:8px}.timeline-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #eef2f7}.timeline-dot{width:13px;height:13px;border-radius:50%;background:#64748b;margin-top:5px;flex:0 0 13px}.timeline-item.success .timeline-dot{background:#16a34a}.timeline-item.warning .timeline-dot{background:#f97316}.timeline-item.danger .timeline-dot{background:#dc2626}.timeline-item.info .timeline-dot{background:#2563eb}.timeline-item.muted .timeline-dot{background:#94a3b8}.timeline-item span{display:block;font-size:12px;color:#64748b;margin:2px 0}.timeline-item p{margin:0;color:#334155}.anexos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:14px}.anexo-card{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:6px}.anexo-card img{width:100%;height:150px;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb}.file-icon{font-size:42px;text-align:center;padding:28px;background:#f8fafc;border-radius:10px}.compact-form{border:1px solid #e5e7eb;padding:12px;border-radius:12px;background:#f8fafc;margin-bottom:14px}


/* v26 - ajustes de proporção, centralização e responsividade */
body{min-width:0;overflow-x:hidden}.container{width:min(100% - 32px,1400px);max-width:1400px;margin:24px auto;padding:0}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;box-shadow:0 2px 10px rgba(0,0,0,.08)}.brand{flex:0 0 auto}.navlinks{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.navlinks a,.navlinks span{font-size:14px}.global-search{flex:1 1 320px;max-width:520px;justify-content:center}.global-search input{width:100%;min-width:160px}.header{align-items:flex-start}.header h1{margin:0 0 4px}.actions{justify-content:flex-start}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.cards.dashboard{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch}.card{min-width:0;height:100%;display:flex;flex-direction:column;justify-content:center}.card b{line-height:1.1;margin-top:4px}.detail-card{width:100%;margin-bottom:18px}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.dashboard-section .cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.table-wrap{width:100%;overflow-x:auto}table{min-width:850px}.filters{grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) auto auto;align-items:end}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.anexos-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.big-search .global-search,.big-search{width:100%}.big-search input{width:min(100%,680px);min-width:0}.dashboard-alerts table{min-width:760px}@media(max-width:1180px){.nav{align-items:flex-start}.global-search{order:3;flex-basis:100%;max-width:none;justify-content:flex-start}.grid-2{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr 1fr}.cards.dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.container{width:min(100% - 20px,1400px);margin:14px auto}.nav{padding:12px;position:static}.brand,.global-search,.navlinks{width:100%}.navlinks{justify-content:flex-start}.header{display:block}.header .actions{margin-top:12px}.cards,.cards.dashboard,.dashboard-section .cards,.filters,.form-grid,.detail-grid,.grid-2{grid-template-columns:1fr}.table-wrap{border-radius:12px}.btn{width:auto}.global-search{display:grid;grid-template-columns:1fr auto}.global-search input{min-width:0}table{min-width:720px}th,td{font-size:13px;padding:10px}.detail-card{padding:16px}.login-card{margin:40px auto}}


/* v28 - configurações profissionais do termo, uploads e anexos */
.settings-header{margin-bottom:18px}.settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.settings-sidebar{position:sticky;top:76px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px;box-shadow:0 6px 20px rgba(15,23,42,.06)}.settings-sidebar a{display:block;text-decoration:none;color:#334155;padding:10px 12px;border-radius:10px;font-size:14px}.settings-sidebar a:hover,.settings-sidebar a.active{background:#eff6ff;color:#1d4ed8;font-weight:700}.settings-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:8px 10px 6px}.settings-main{min-width:0}.settings-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 6px 20px rgba(15,23,42,.05)}.settings-section h2{margin:0 0 3px;font-size:22px}.settings-section h3{margin:18px 0 10px;font-size:16px}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.section-title p{margin:0;color:#64748b}.settings-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.settings-section label{font-weight:700;color:#0f172a}.settings-section input[type=text],.settings-section input[type=number],.settings-section select,.settings-section textarea{width:100%;padding:11px 12px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;margin-top:6px}.upload-panel{border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#fcfdff}.dropzone{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-height:140px;border:1.5px dashed #cbd5e1;border-radius:14px;background:#f8fafc;cursor:pointer;margin-top:10px}.dropzone input{display:none}.dropzone span{font-size:15px;color:#1d4ed8}.dropzone small{color:#64748b;font-weight:400;max-width:340px}.logo-preview-card{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:10px 0}.logo-preview-card img{max-height:90px;max-width:260px;border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff}.editor-card{border:1px solid #dbe3ef;border-radius:14px;overflow:hidden;background:#fff}.editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:10px}.editor-toolbar button{border:1px solid #dbe3ef;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}.editor-toolbar button:hover{background:#eff6ff;color:#1d4ed8}#termoEditor{border:0;border-radius:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55;min-height:430px;resize:vertical;padding:18px;width:100%;margin:0}.editor-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:13px;color:#64748b}.variable-help{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.variable-help code{background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;border-radius:999px;padding:5px 8px;font-size:12px}.checks .check{font-weight:500}.settings-actions-sticky{position:sticky;bottom:0;background:rgba(246,247,251,.92);backdrop-filter:blur(6px);border:1px solid #e5e7eb;border-radius:14px;padding:14px;display:flex;justify-content:flex-end;gap:10px;z-index:10}input[type=color]{width:80px!important;height:46px;padding:4px!important}.hint{font-size:13px;color:#64748b}@media(max-width:1050px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static;display:flex;overflow:auto;gap:6px}.settings-sidebar a{white-space:nowrap}.settings-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.settings-grid-2,.settings-grid-4{grid-template-columns:1fr}.section-title{display:block}.section-title .btn{margin-top:10px}#termoEditor{min-height:360px}.editor-footer{display:block}.settings-actions-sticky{justify-content:stretch}.settings-actions-sticky .btn{flex:1;text-align:center}}


/* v29 - layout global moderno com sidebar */
:root{--sidebar:#0f172a;--sidebar2:#111d33;--topbar:#ffffff;--appbg:#f3f6fb;--blue:#2563eb;--blue2:#1d4ed8;--softline:#dbe3ef;--radius:18px}
body{background:var(--appbg);font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;color:#0f172a}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:var(--appbg)}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#0f172a 0%,#10223d 100%);color:#e5e7eb;display:flex;flex-direction:column;padding:18px 14px;box-shadow:8px 0 28px rgba(15,23,42,.18);z-index:50}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 6px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand strong{display:block;color:#fff;font-size:16px;line-height:1.15}.sidebar-brand small{display:block;color:#93a4bc;font-size:12px;margin-top:3px}.sidebar-logo{width:46px;height:46px;object-fit:contain;border-radius:12px;background:rgba(255,255,255,.06);padding:4px}.sidebar-mark{width:42px;height:42px;border-radius:14px;background:#2563eb;display:grid;place-items:center;color:#fff;font-weight:800}.sidebar-nav{display:flex;flex-direction:column;gap:6px;padding:18px 0;flex:1}.sidebar-nav a{position:relative;text-decoration:none;color:#cbd5e1;padding:12px 12px;border-radius:12px;font-size:14px;display:flex;align-items:center;gap:9px}.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-nav a.active{background:linear-gradient(90deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.28)}.side-badge{margin-left:auto;background:#ef4444;color:#fff;min-width:22px;height:22px;border-radius:999px;font-size:12px;display:inline-grid;place-items:center;font-weight:700}.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:14px;display:grid;gap:12px}.storage-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px}.storage-box span{display:block;color:#93a4bc;font-size:12px}.storage-box b{display:block;color:#e5e7eb;font-size:13px;margin-top:4px}.user-box{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border-radius:14px;padding:10px}.avatar{width:38px;height:38px;border-radius:999px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:800}.user-box strong{display:block;color:#fff;font-size:14px}.user-box small{display:block;color:#93a4bc;font-size:12px}.logout-link{color:#e5e7eb;text-decoration:none;padding:10px 12px;border-radius:12px}.logout-link:hover{background:rgba(255,255,255,.08)}.app-panel{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;height:64px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px}.top-search{flex:1;max-width:760px;display:flex;gap:8px}.top-search input{width:100%;height:42px;border:1px solid var(--softline);border-radius:12px;padding:0 14px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}.top-search button{height:42px;border:0;border-radius:12px;background:#0f172a;color:#fff;padding:0 16px;cursor:pointer}.top-actions{display:flex;align-items:center;gap:14px}.notification{position:relative;text-decoration:none;font-size:20px}.notification span{position:absolute;top:-8px;right:-9px;background:#ef4444;color:#fff;border-radius:999px;min-width:18px;height:18px;font-size:11px;display:grid;place-items:center}.top-user{font-weight:700;color:#0f172a}.top-user small{display:block;font-weight:500;color:#64748b;font-size:12px}.app-container{width:min(100% - 48px,1500px);max-width:1500px;margin:28px auto;padding:0}.app-container>.header:first-child{margin-top:0}.header{background:transparent}.header h1{font-size:30px;letter-spacing:-.03em}.muted{color:#64748b}.card,.detail-card,.table-wrap,.settings-section,.settings-sidebar,.upload-panel,.card-form,.login-card{border:1px solid #e5e7eb;box-shadow:0 10px 28px rgba(15,23,42,.06);border-radius:var(--radius)}.cards{gap:18px}.card{padding:20px}.card span{font-size:13px;color:#64748b}.card b{font-size:30px;color:#0f172a}.btn{border-color:#dbe3ef;border-radius:12px;padding:10px 15px;background:#fff}.btn:hover{background:#f8fafc}.btn.primary{background:#2563eb;border-color:#2563eb;box-shadow:0 8px 18px rgba(37,99,235,.22)}.filters{border:1px solid #e5e7eb;box-shadow:0 10px 26px rgba(15,23,42,.05)}input,select,textarea{font-family:inherit}.table-wrap table th{background:#f8fafc;color:#0f172a}.table-wrap table tr:hover td{background:#fbfdff}.settings-layout{grid-template-columns:260px minmax(0,1fr)}.settings-sidebar{background:#fff;padding:18px}.settings-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:18px}.settings-section{margin-bottom:0}.settings-section#termo{grid-column:1/2}.settings-section#uploads{grid-column:2/3;grid-row:1/2}.settings-section#logos{grid-column:1/2}.settings-section#cores,.settings-section#regras,.settings-section#softwares-config{grid-column:1/-1}.editor-card{border-radius:16px}.editor-toolbar{position:sticky;top:64px;z-index:3}.settings-actions-sticky{grid-column:1/-1;border-radius:16px;box-shadow:0 -8px 22px rgba(15,23,42,.06)}#termoEditor{min-height:520px}.dropzone{transition:.15s}.dropzone:hover{border-color:#2563eb;background:#eff6ff}.alert{border:1px solid transparent;box-shadow:0 6px 18px rgba(15,23,42,.06)}@media(max-width:1280px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.settings-main{grid-template-columns:1fr}.settings-section#uploads,.settings-section#termo,.settings-section#logos{grid-column:auto;grid-row:auto}}@media(max-width:900px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topbar{position:relative;height:auto;align-items:stretch;flex-direction:column;padding:14px}.top-search{max-width:none;width:100%}.app-container{width:min(100% - 24px,1500px);margin:18px auto}.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static}.settings-sidebar{display:block}.sidebar-footer{display:none}}@media(max-width:620px){.sidebar-nav{grid-template-columns:1fr}.top-search{display:grid;grid-template-columns:1fr auto}.header h1{font-size:25px}.settings-grid-2,.settings-grid-4{grid-template-columns:1fr}.settings-actions-sticky{display:grid}.settings-actions-sticky .btn{width:100%}}

/* v30 - dashboard configurável */
.dashboard.dashboard-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.dashboard.dashboard-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.dashboard.dashboard-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.dashboard-compacto .card{padding:14px 16px}.dashboard-compacto .card b{font-size:24px}.dashboard-compacto .card small{display:none}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.dashboard-wide{grid-column:1/-1}.dashboard-mini{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:10px 0 0}.dashboard-mini .card{padding:16px}.dashboard-mini .card b{font-size:24px}
@media(max-width:1100px){.dashboard.dashboard-cols-3,.dashboard.dashboard-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:700px){.dashboard.dashboard-cols-2,.dashboard.dashboard-cols-3,.dashboard.dashboard-cols-4,.dashboard-mini{grid-template-columns:1fr!important}}

/* V31 - Dashboard executivo sem repetição */
.dashboard-grid-balanced{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.kpi-card{min-height:110px}.alert-list{display:grid;gap:10px}.alert-item{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;border:1px solid #e5e7eb;text-decoration:none;color:#0f172a;background:#fff}.alert-item:hover{box-shadow:0 10px 25px rgba(15,23,42,.08);transform:translateY(-1px)}.alert-item.critica,.alert-item.vencida{border-color:#fecaca;background:#fff1f2}.alert-item.atencao{border-color:#fde68a;background:#fffbeb}.alert-item.manutencao{border-color:#fed7aa;background:#fff7ed}.alert-item.neutro{border-color:#dbeafe;background:#eff6ff}.alert-item span{color:#475569;font-size:.92rem}.license-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 16px}.license-summary div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:14px}.license-summary span{display:block;color:#64748b;font-size:.86rem}.license-summary b{font-size:1.6rem;color:#0f172a}.status-bars{display:grid;gap:14px}.status-bars a{text-decoration:none;color:#0f172a;display:grid;gap:6px}.status-bars span{display:flex;justify-content:space-between;font-size:.92rem}.status-bars i{display:block;height:10px;min-width:3px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.activity-list{display:grid;gap:10px}.activity-item{border-left:3px solid #2563eb;background:#f8fafc;border-radius:12px;padding:12px 14px;display:grid;gap:3px}.activity-item strong{color:#0f172a}.activity-item span{color:#475569;font-size:.9rem}.activity-item small{color:#64748b}.settings-backup-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-backup-box p{margin:4px 0 0;color:#64748b}@media(max-width:1000px){.dashboard-grid-balanced{grid-template-columns:1fr}.license-summary{grid-template-columns:1fr}}

.anexo-card a,
.anexo-card button,
.anexo-card .btn {
    color: #1e3a8a !important;
    background: #ffffff !important;
    border: 1px solid #d1d5db !important;
}

.anexo-card a:hover,
.anexo-card button:hover,
.anexo-card .btn:hover {
    color: #dc2626 !important;
    background: #fee2e2 !important;
    border-color: #ef4444 !important;
}

.anexo-card {
    overflow: hidden;
}

.anexo-card p,
.anexo-card div,
.anexo-card .filename,
.anexo-card a {
    max-width: 100%;
}

.anexo-card {
    word-break: break-word;
    overflow-wrap: anywhere;
}

/* V31.2 - Ajuste visual seguro do dashboard atual */
body{
    background:#f3f6fb;
}

.header{
    margin-bottom:22px;
}

.header h1{
    font-size:32px;
    letter-spacing:-.03em;
}

.cards.dashboard{
    gap:18px;
    margin-bottom:22px;
}

.cards.dashboard .kpi-card{
    min-height:170px;
    border-radius:20px;
    padding:24px;
    background:#ffffff;
    border:1px solid #e5e7eb;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    transition:.15s;
}

.cards.dashboard .kpi-card:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(15,23,42,.10);
}

.cards.dashboard .kpi-card span{
    font-size:14px;
    font-weight:800;
    color:#2563eb;
}

.cards.dashboard .kpi-card b{
    display:block;
    font-size:42px;
    line-height:1;
    margin:12px 0 10px;
    color:#0f172a;
    letter-spacing:-.04em;
}

.cards.dashboard .kpi-card small{
    font-size:15px;
    color:#64748b;
}

.cards.dashboard .kpi-card:nth-child(1){
    border-top:5px solid #2563eb;
}

.cards.dashboard .kpi-card:nth-child(2){
    border-top:5px solid #7c3aed;
}

.cards.dashboard .kpi-card:nth-child(2) span{
    color:#7c3aed;
}

.cards.dashboard .kpi-card:nth-child(3){
    border-top:5px solid #16a34a;
}

.cards.dashboard .kpi-card:nth-child(3) span{
    color:#16a34a;
}

.cards.dashboard .kpi-card:nth-child(4){
    border-top:5px solid #dc2626;
}

.cards.dashboard .kpi-card:nth-child(4) span{
    color:#dc2626;
}

.dashboard-grid-balanced{
    gap:22px;
}

.dashboard-section,
.detail-card.dashboard-section{
    border-radius:20px;
    border:1px solid #e5e7eb;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    background:#ffffff;
}

.dashboard-section h2{
    font-size:21px;
    letter-spacing:-.02em;
}

.alert-item{
    border-radius:16px;
    padding:16px 18px;
    box-shadow:0 4px 12px rgba(15,23,42,.04);
}

.license-summary div{
    border-radius:16px;
    background:#f8fafc;
}

.status-bars{
    gap:16px;
}

.status-bars a{
    padding:10px 0;
}

.status-bars i{
    height:12px;
}

.activity-list{
    gap:12px;
}

.activity-item{
    border-left:4px solid #2563eb;
    background:#ffffff;
    border-radius:16px;
    padding:16px 18px;
    display:grid;
    gap:5px;
    box-shadow:0 4px 12px rgba(15,23,42,.04);
    border-top:1px solid #f1f5f9;
    border-right:1px solid #f1f5f9;
    border-bottom:1px solid #f1f5f9;
}

.activity-item strong{
    font-size:15px;
}

.activity-item span{
    color:#475569;
}

.activity-item small{
    color:#64748b;
}

.table-wrap{
    border:1px solid #e5e7eb;
    box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.table-wrap th{
    background:#f8fafc;
}

@media(max-width:900px){
    .cards.dashboard .kpi-card{
        min-height:140px;
    }
}

/* V31.3 - Tela Patrimônios moderna */
.page-modern-header{
    margin-bottom:24px;
}

.patrimonio-kpis{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.pat-kpi{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
    min-height:132px;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    overflow:hidden;
}

.pat-kpi i{
    position:absolute;
    right:16px;
    top:16px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-style:normal;
    background:#f1f5f9;
}

.pat-kpi span{
    font-size:13px;
    font-weight:800;
    margin-bottom:8px;
}

.pat-kpi b{
    font-size:34px;
    line-height:1;
    margin-bottom:8px;
    color:#0f172a;
}

.pat-kpi small{
    color:#64748b;
    font-size:12px;
}

.pat-kpi.kpi-blue{border-top:4px solid #2563eb}.pat-kpi.kpi-blue span{color:#2563eb}.pat-kpi.kpi-blue i{background:#dbeafe}
.pat-kpi.kpi-slate{border-top:4px solid #64748b}.pat-kpi.kpi-slate span{color:#475569}.pat-kpi.kpi-slate i{background:#f1f5f9}
.pat-kpi.kpi-purple{border-top:4px solid #7c3aed}.pat-kpi.kpi-purple span{color:#7c3aed}.pat-kpi.kpi-purple i{background:#ede9fe}
.pat-kpi.kpi-green{border-top:4px solid #16a34a}.pat-kpi.kpi-green span{color:#16a34a}.pat-kpi.kpi-green i{background:#dcfce7}
.pat-kpi.kpi-yellow{border-top:4px solid #eab308}.pat-kpi.kpi-yellow span{color:#854d0e}.pat-kpi.kpi-yellow i{background:#fef9c3}
.pat-kpi.kpi-orange{border-top:4px solid #f97316}.pat-kpi.kpi-orange span{color:#c2410c}.pat-kpi.kpi-orange i{background:#ffedd5}
.pat-kpi.kpi-red{border-top:4px solid #dc2626}.pat-kpi.kpi-red span{color:#dc2626}.pat-kpi.kpi-red i{background:#fee2e2}

.filter-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:18px;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    margin-bottom:14px;
}

.filter-title h2{
    margin:0;
    font-size:20px;
}

.filter-title p{
    margin:4px 0 14px;
    color:#64748b;
}

.patrimonio-filters{
    box-shadow:none!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    grid-template-columns:2fr 1.3fr 1fr 1fr 1fr 1fr 1fr auto auto!important;
}

.patrimonio-actions{
    margin:14px 0;
}

.patrimonio-table{
    border-radius:18px;
}

.patrimonio-table th{
    font-size:13px;
    text-transform:none;
}

.patrimonio-table td{
    vertical-align:middle;
}

.patrimonio-code{
    color:#0f172a;
    white-space:nowrap;
}

.pill.status{
    padding:6px 11px;
    font-weight:800;
}

.icon-actions{
    display:flex;
    align-items:center;
    gap:7px;
}

.icon-actions a,
.icon-link{
    width:30px;
    height:30px;
    border-radius:9px;
    display:inline-grid;
    place-items:center;
    text-decoration:none;
    border:1px solid #dbe3ef;
    background:#fff;
    cursor:pointer;
    font-size:14px;
}

.icon-actions a:hover{
    background:#eff6ff;
    border-color:#93c5fd;
}

.icon-link{
    padding:0;
    margin:0;
}

.icon-link.danger:hover{
    background:#fee2e2;
    border-color:#fca5a5;
}

.icon-link.success:hover{
    background:#dcfce7;
    border-color:#86efac;
}

@media(max-width:1300px){
    .patrimonio-kpis{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .patrimonio-filters{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}

@media(max-width:760px){
    .patrimonio-kpis{
        grid-template-columns:1fr;
    }
    .patrimonio-filters{
        grid-template-columns:1fr!important;
    }
}

/* FIX FINAL V31 */

.patrimonio-kpis{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    gap:14px !important;
    margin:20px 0 !important;
}

.pat-kpi{
    min-height:120px !important;
}

.patrimonio-filters{
    display:grid !important;
    grid-template-columns:2fr 1.2fr 1fr 1fr 1fr 1fr 1fr auto auto !important;
    gap:10px !important;
}

.filter-card{
    padding:22px !important;
}

.patrimonio-table{
    border-radius:18px !important;
    overflow:hidden !important;
}

@media(max-width:1400px){
    .patrimonio-kpis{
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    }
}

@media(max-width:900px){
    .patrimonio-kpis{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .patrimonio-filters{
        grid-template-columns:1fr !important;
    }
}


/* V31.2 - Dashboard executivo moderno */
.dash-modern-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}
.dash-modern-header h1{margin:0 0 6px;font-size:30px;letter-spacing:-.03em}
.dash-modern-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.dash-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}
.dash-kpi{min-height:172px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;display:flex;justify-content:space-between;gap:16px;text-decoration:none;color:#0f172a;box-shadow:0 10px 28px rgba(15,23,42,.06);transition:.15s}
.dash-kpi:hover,.dash-row:hover,.dash-warning-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.10)}
.dash-kpi span{display:block;font-weight:800;margin-bottom:10px}
.dash-kpi strong{display:block;font-size:38px;line-height:1;margin-bottom:10px;letter-spacing:-.04em}
.dash-kpi small{display:block;color:#64748b;font-size:15px}
.dash-kpi em{display:block;margin-top:22px;font-style:normal;font-weight:800;color:#2563eb}
.dash-kpi i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:26px;flex:0 0 auto}
.kpi-blue span{color:#2563eb}.kpi-blue i{background:#dbeafe}
.kpi-purple span{color:#7c3aed}.kpi-purple i{background:#ede9fe}
.kpi-green span{color:#16a34a}.kpi-green i{background:#dcfce7}
.kpi-red span{color:#dc2626}.kpi-red i{background:#fee2e2}
.dash-middle-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.9fr);gap:18px;margin-bottom:18px}
.dash-warning-card{min-height:210px;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:26px;display:flex;justify-content:space-between;text-decoration:none;color:#0f172a;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.dash-warning-card span{display:block;color:#c2410c;font-weight:900;margin-bottom:12px}
.dash-warning-card strong{display:block;font-size:42px;color:#ea580c;line-height:1;margin-bottom:12px}
.dash-warning-card small{display:block;color:#64748b;font-size:15px}
.dash-warning-card em{display:inline-block;margin-top:24px;padding:10px 14px;background:#ffedd5;border:1px solid #fed7aa;border-radius:10px;color:#ea580c;font-style:normal;font-weight:800}
.dash-warning-card i{width:70px;height:70px;background:#fed7aa;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:34px}
.dash-category-card,.dash-panel{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.dash-category-card h2,.dash-panel h2{margin:0;font-size:21px;letter-spacing:-.02em}
.dash-category-content{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:26px;margin-top:18px}
.donut{width:150px;height:150px;border-radius:50%;position:relative;margin:auto}
.donut:after{content:"";position:absolute;inset:36px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #e5e7eb}
.category-list{display:grid;gap:8px}
.category-list a{display:grid;grid-template-columns:minmax(0,1fr) 70px 60px;gap:12px;align-items:center;text-decoration:none;color:#0f172a}
.category-list span{display:flex;align-items:center;gap:10px;min-width:0}
.category-list b{text-align:right}.category-list small{text-align:right;color:#64748b}
.cat-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:0 0 auto}
.cat-1{background:#2563eb}.cat-2{background:#22c55e}.cat-3{background:#f59e0b}.cat-4{background:#8b5cf6}.cat-5{background:#64748b}
.category-more{margin-top:8px;color:#2563eb!important;font-weight:800;display:block!important;text-align:right}
.dash-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.dash-panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.dash-panel-title a{text-decoration:none;color:#2563eb;font-weight:800}
.dash-list{display:grid;gap:0;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}
.dash-row{min-height:70px;display:grid;grid-template-columns:46px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:12px 14px;background:#fff;border-bottom:1px solid #e5e7eb;text-decoration:none;color:#0f172a;transition:.15s}
.dash-row:last-child{border-bottom:0}
.dash-row i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal}
.dash-row strong{display:block;font-size:14px;margin-bottom:3px}.dash-row span{display:block;color:#475569;font-size:13px}
.dash-row small{color:#64748b;white-space:nowrap}.dash-row em{color:#64748b;font-style:normal;font-size:22px}
.ico-green{background:#dcfce7;color:#16a34a}.ico-yellow{background:#fef3c7;color:#d97706}.ico-orange{background:#ffedd5;color:#ea580c}.ico-red{background:#fee2e2;color:#dc2626}.ico-blue{background:#dbeafe;color:#2563eb}.ico-purple{background:#ede9fe;color:#7c3aed}
.dash-software-panel{margin-bottom:22px}.dash-table{box-shadow:none;border:1px solid #e5e7eb}.dash-table table{min-width:800px}.dash-table th{background:#f8fafc}.dash-table td,.dash-table th{font-size:14px}
@media(max-width:1200px){.dash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-middle-grid,.dash-activity-grid{grid-template-columns:1fr}}
@media(max-width:700px){.dash-modern-header{display:block}.dash-modern-actions{justify-content:flex-start;margin-top:14px}.dash-kpi-grid{grid-template-columns:1fr}.dash-category-content{grid-template-columns:1fr}.dash-row{grid-template-columns:40px minmax(0,1fr)}.dash-row small,.dash-row em{display:none}}

/* V31.3 - Tela Colaboradores moderna */
.colab-kpis{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    margin:20px 0;
}

.colab-kpi{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
    min-height:132px;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    overflow:hidden;
}

.colab-kpi i{
    position:absolute;
    right:16px;
    top:16px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-style:normal;
    background:#f1f5f9;
}

.colab-kpi span{
    font-size:13px;
    font-weight:800;
    margin-bottom:8px;
}

.colab-kpi b{
    font-size:34px;
    line-height:1;
    margin-bottom:8px;
    color:#0f172a;
}

.colab-kpi small{
    color:#64748b;
    font-size:12px;
}

.colab-kpi.kpi-blue{border-top:4px solid #2563eb}.colab-kpi.kpi-blue span{color:#2563eb}.colab-kpi.kpi-blue i{background:#dbeafe}
.colab-kpi.kpi-green{border-top:4px solid #16a34a}.colab-kpi.kpi-green span{color:#16a34a}.colab-kpi.kpi-green i{background:#dcfce7}
.colab-kpi.kpi-red{border-top:4px solid #dc2626}.colab-kpi.kpi-red span{color:#dc2626}.colab-kpi.kpi-red i{background:#fee2e2}
.colab-kpi.kpi-purple{border-top:4px solid #7c3aed}.colab-kpi.kpi-purple span{color:#7c3aed}.colab-kpi.kpi-purple i{background:#ede9fe}
.colab-kpi.kpi-orange{border-top:4px solid #f97316}.colab-kpi.kpi-orange span{color:#c2410c}.colab-kpi.kpi-orange i{background:#ffedd5}

.colab-filter-card{
    margin-bottom:14px;
}

.colab-filters{
    display:grid!important;
    grid-template-columns:minmax(260px,1fr) auto auto auto!important;
    gap:10px!important;
    align-items:center!important;
    box-shadow:none!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
}

.colab-check{
    white-space:nowrap;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:10px 12px;
}

.colab-actions{
    margin:14px 0;
}

.colab-table{
    border-radius:18px;
    overflow:hidden;
}

.colab-table td{
    vertical-align:middle;
}

.colab-name{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#0f172a;
}

.colab-name:hover{
    color:#2563eb;
}

.colab-avatar{
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#dbeafe;
    color:#1d4ed8;
    font-weight:800;
    font-size:12px;
    flex:0 0 auto;
}

.colab-status{
    font-weight:800;
    padding:6px 11px;
}

.colab-status.ativo{
    background:#dcfce7!important;
    color:#166534!important;
    border:1px solid #86efac;
}

.colab-status.inativo{
    background:#fee2e2!important;
    color:#991b1b!important;
    border:1px solid #fca5a5;
}

@media(max-width:1200px){
    .colab-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .colab-kpis{
        grid-template-columns:1fr;
    }

    .colab-filters{
        grid-template-columns:1fr!important;
    }
}

/* V32 - KPIs Softwares */
.software-kpis{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
    margin:20px 0;
}

.software-kpi{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
    min-height:130px;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    position:relative;
}

.software-kpi i{
    position:absolute;
    top:16px;
    right:16px;
    width:42px;
    height:42px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-style:normal;
}

.software-kpi span{
    display:block;
    font-size:13px;
    font-weight:800;
    margin-bottom:10px;
}

.software-kpi b{
    display:block;
    font-size:34px;
    line-height:1;
    margin-bottom:8px;
}

.software-kpi small{
    color:#64748b;
}

.software-kpi.kpi-blue{border-top:4px solid #2563eb}.software-kpi.kpi-blue span{color:#2563eb}.software-kpi.kpi-blue i{background:#dbeafe}
.software-kpi.kpi-green{border-top:4px solid #16a34a}.software-kpi.kpi-green span{color:#16a34a}.software-kpi.kpi-green i{background:#dcfce7}
.software-kpi.kpi-purple{border-top:4px solid #7c3aed}.software-kpi.kpi-purple span{color:#7c3aed}.software-kpi.kpi-purple i{background:#ede9fe}
.software-kpi.kpi-orange{border-top:4px solid #f97316}.software-kpi.kpi-orange span{color:#c2410c}.software-kpi.kpi-orange i{background:#ffedd5}
.software-kpi.kpi-red{border-top:4px solid #dc2626}.software-kpi.kpi-red span{color:#dc2626}.software-kpi.kpi-red i{background:#fee2e2}
.software-kpi.kpi-slate{border-top:4px solid #64748b}.software-kpi.kpi-slate span{color:#475569}.software-kpi.kpi-slate i{background:#f1f5f9}

@media(max-width:1300px){
    .software-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .software-kpis{
        grid-template-columns:1fr;
    }
}

/* V32.1 - Barra de utilização de licenças */

.licenca-progress{
    min-width:220px;
}

.licenca-progress .bar{
    height:12px;
    background:#e5e7eb;
    border-radius:999px;
    overflow:hidden;
    margin:6px 0;
}

.licenca-progress .fill{
    height:100%;
    border-radius:999px;
}

.licenca-progress.baixa .fill{
    background:#16a34a;
}

.licenca-progress.media .fill{
    background:#eab308;
}

.licenca-progress.alta .fill{
    background:#dc2626;
}

.licenca-progress small{
    display:block;
    color:#64748b;
    margin-top:4px;
}


/* V32.2 - Contas de acesso */
.soft-section-title{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    margin-bottom:18px;
}

.soft-section-title h2{
    margin:0 0 4px;
}

.software-accounts-table td{
    vertical-align:middle;
}

.account-email{
    font-weight:800;
    color:#0f172a;
}

.account-users{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.user-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 9px;
    border-radius:999px;
    background:#eef2ff;
    color:#3730a3;
    font-weight:700;
    font-size:12px;
}

.user-chip button{
    border:0;
    background:transparent;
    color:#dc2626;
    cursor:pointer;
    font-weight:900;
    font-size:14px;
}

.account-usage{
    min-width:150px;
}

.account-usage strong{
    display:inline-block;
    margin-bottom:3px;
}

.account-usage span{
    font-weight:800;
    margin-left:8px;
}

.account-usage .bar{
    height:9px;
    background:#e5e7eb;
    border-radius:999px;
    overflow:hidden;
    margin-top:6px;
}

.account-usage .fill{
    height:100%;
    border-radius:999px;
}

.account-usage.livre strong{color:#16a34a}
.account-usage.livre .fill{background:#16a34a}

.account-usage.parcial strong{color:#ca8a04}
.account-usage.parcial .fill{background:#eab308}

.account-usage.lotada strong{color:#dc2626}
.account-usage.lotada .fill{background:#dc2626}

.status-dot{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-weight:800;
}

.status-dot:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    display:inline-block;
}

.active-dot:before{
    background:#16a34a;
}

.inactive-dot:before{
    background:#dc2626;
}

/* V32.3 - Logo de software */
.software-logo-preview{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
}

.software-logo-preview img{
    width:42px;
    height:42px;
    object-fit:contain;
    border:1px solid #e5e7eb;
    border-radius:10px;
    background:#fff;
    padding:4px;
}

/* V32.4 - Logo na listagem de softwares */
.software-name-cell{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#0f172a;
}

.software-name-cell:hover{
    color:#2563eb;
}

.software-name-cell small{
    display:block;
    color:#64748b;
    font-weight:500;
    margin-top:2px;
}

.software-logo-mini,
.software-logo-fallback{
    width:38px;
    height:38px;
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#ffffff;
    display:grid;
    place-items:center;
    object-fit:contain;
    padding:5px;
    flex:0 0 auto;
}

.software-logo-fallback{
    background:#eff6ff;
    font-size:18px;
}

/* V32.5 - Biblioteca de logos */
.logo-library{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
    gap:10px;
    margin:8px 0 10px;
}

.logo-option{
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:10px;
    background:#fff;
    display:grid;
    place-items:center;
    gap:6px;
    cursor:pointer;
    min-height:100px;
    text-align:center;
}

.logo-option:hover{
    border-color:#93c5fd;
    background:#eff6ff;
}

.logo-option input{
    display:none;
}

.logo-option img{
    width:42px;
    height:42px;
    object-fit:contain;
}

.logo-option small{
    color:#64748b;
    font-size:11px;
    word-break:break-word;
}

.logo-option:has(input:checked),
.logo-option.selected{
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

/* V32.6 - Seletor pesquisável de colaboradores em contas de software */
.selected-users{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 14px;
}
.selected-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--border);
  background:#f8fafc;
  border-radius:999px;
  padding:8px 10px;
  box-shadow:0 6px 14px rgba(15,23,42,.06);
}
.selected-chip strong{
  font-size:13px;
}
.selected-chip small{
  color:var(--muted);
  font-size:12px;
}
.selected-chip button{
  border:0;
  background:#fee2e2;
  color:#991b1b;
  border-radius:999px;
  padding:5px 9px;
  cursor:pointer;
  font-weight:700;
}
.search-results{
  display:none;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  margin-top:8px;
  max-height:260px;
  overflow:auto;
  box-shadow:0 12px 30px rgba(15,23,42,.10);
}
.search-results.active{
  display:block;
}
.search-option{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:0;
  background:#fff;
  padding:12px 14px;
  cursor:pointer;
  text-align:left;
  border-bottom:1px solid var(--border);
}
.search-option:hover{
  background:#f1f5f9;
}
.search-option span{
  font-weight:700;
}
.search-option small{
  color:var(--muted);
}
@media (max-width: 900px){
  .selected-chip{
    width:100%;
    justify-content:space-between;
    border-radius:14px;
  }
  .search-option{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* V32.7 - Botões de filtro no módulo de software */
.status-filter-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:12px;
}
.status-filter-buttons .btn{
  min-width:140px;
  justify-content:center;
}
@media (max-width: 700px){
  .status-filter-buttons .btn{
    width:100%;
  }
}

/* V32.8 - Notebook layout otimizado */

/* Notebook HD / Full HD com escala */
@media (max-width: 1600px){

  /* KPIs: 4 + 3 */
  .patrimonio-kpis{
    display:grid;
    grid-template-columns:repeat(4, minmax(220px,1fr));
    gap:16px;
  }

  /* Filtros em duas linhas organizadas */
  .patrimonio-filters{
    display:grid;
    grid-template-columns:
      minmax(220px,2fr)
      minmax(180px,1fr)
      minmax(160px,1fr)
      minmax(160px,1fr);
    gap:12px;
  }

  .patrimonio-filters select,
  .patrimonio-filters input{
    width:100%;
  }
}

/* Notebook menor */
@media (max-width: 1366px){

  .patrimonio-kpis{
    grid-template-columns:repeat(3, minmax(220px,1fr));
  }

  .patrimonio-filters{
    grid-template-columns:
      repeat(3, minmax(180px,1fr));
  }
}

/* Segurança para tabela */
.patrimonio-table{
  overflow-x:auto;
}

/* V33.0 - Configurações otimizada para notebook */
@media (max-width: 1600px){

  .settings-layout{
    display:block;
  }

  .settings-sidebar{
    position:sticky;
    top:72px;
    z-index:20;
    display:flex;
    align-items:center;
    gap:8px;
    overflow-x:auto;
    padding:10px;
    margin-bottom:18px;
    border-radius:16px;
    white-space:nowrap;
  }

  .settings-group-title{
    display:none;
  }

  .settings-sidebar a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius:12px;
    font-size:14px;
    flex:0 0 auto;
  }

  .settings-main{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
  }

  .settings-section,
  .settings-section#termo,
  .settings-section#uploads,
  .settings-section#logos,
  .settings-section#cores,
  .settings-section#regras,
  .settings-section#softwares-config{
    grid-column:auto!important;
    grid-row:auto!important;
  }

  .settings-grid-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #termoEditor{
    min-height:420px;
  }
}

@media (max-width: 1100px){
  .settings-grid-2,
  .settings-grid-4{
    grid-template-columns:1fr;
  }

  .settings-sidebar{
    top:0;
    position:relative;
  }

  .settings-actions-sticky{
    display:flex;
    flex-wrap:wrap;
  }
}

/* V33.1 - Menu de configurações fixo e ativo automático */
@media (max-width: 1600px){
  .settings-sidebar{
    position:sticky;
    top:64px;
    z-index:35;
    display:flex;
    flex-wrap:wrap;
    overflow-x:visible;
    gap:8px;
  }

  .settings-sidebar a.active{
    background:#eff6ff;
    color:#1d4ed8;
    font-weight:800;
    box-shadow:inset 0 -2px 0 #2563eb;
  }
}

/* V33.2 - Correção dos ícones dos KPIs de patrimônio no notebook */
@media (max-width: 1500px){
  .pat-kpi{
    position:relative;
    padding-right:64px;
    min-width:0;
  }

  .pat-kpi i{
    width:42px;
    height:42px;
    min-width:42px;
    font-size:18px;
    right:16px;
    top:18px;
  }

  .pat-kpi span{
    display:block;
    max-width:calc(100% - 8px);
    font-size:13px;
    line-height:1.2;
    white-space:normal;
  }
}

@media (max-width: 1366px){
  .pat-kpi{
    padding-right:54px;
  }

  .pat-kpi i{
    width:36px;
    height:36px;
    min-width:36px;
    font-size:16px;
    right:14px;
    top:16px;
  }

  .pat-kpi span{
    font-size:12px;
  }
}

/* Layout moderno da tela de detalhes do patrimônio */
.asset-summary-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:20px;
  padding:22px;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  display:grid;
  grid-template-columns:minmax(260px,.9fr) 1.6fr;
  gap:24px;
  align-items:center;
  margin-bottom:18px;
}
.asset-main{
  display:flex;
  align-items:center;
  gap:16px;
}
.asset-icon{
  width:56px;
  height:56px;
  border-radius:16px;
  background:#f8fafc;
  display:grid;
  place-items:center;
  font-size:30px;
}
.asset-main h2{
  margin:0;
  font-size:28px;
  letter-spacing:-.03em;
}
.asset-main p{
  margin:4px 0;
  color:#334155;
  font-size:16px;
}
.asset-main small{
  display:inline-block;
  background:#f1f5f9;
  padding:4px 8px;
  border-radius:8px;
  color:#0f172a;
  font-weight:700;
}
.asset-summary-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.asset-summary-meta div{
  border-left:1px solid #e5e7eb;
  padding-left:18px;
}
.asset-summary-meta span{
  display:block;
  color:#64748b;
  font-size:13px;
  margin-bottom:6px;
}
.asset-summary-meta b{
  color:#0f172a;
  font-size:15px;
}
.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:18px;
  align-items:start;
}
.detail-main{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.detail-main .detail-card:first-child{
  grid-row:span 2;
}
.info-list{
  display:grid;
  gap:0;
}
.info-list div{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:14px;
  padding:11px 0;
  border-bottom:1px solid #e5e7eb;
}
.info-list div:last-child{
  border-bottom:0;
}
.info-list span{
  color:#64748b;
  font-size:13px;
}
.info-list b{
  color:#0f172a;
  font-size:14px;
}
.detail-side{
  display:grid;
  gap:18px;
}
.quick-actions{
  display:grid;
  gap:10px;
}
.quick-actions .btn,
.quick-actions form,
.quick-actions button{
  width:100%;
  text-align:left;
}
@media(max-width:1180px){
  .asset-summary-card,
  .detail-layout{
    grid-template-columns:1fr;
  }
  .asset-summary-meta{
    grid-template-columns:1fr 1fr;
  }
  .detail-main{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .asset-summary-meta{
    grid-template-columns:1fr;
  }
  .asset-summary-meta div{
    border-left:0;
    border-top:1px solid #e5e7eb;
    padding-left:0;
    padding-top:12px;
  }
  .info-list div{
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* Accordions na tela de detalhes */
.details-accordion{
  margin-top:18px;
  display:grid;
  gap:14px;
}
.details-accordion details{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  overflow:hidden;
}
.details-accordion summary{
  cursor:pointer;
  list-style:none;
  padding:18px 22px;
  font-weight:800;
  font-size:20px;
  color:#0f172a;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.details-accordion summary::-webkit-details-marker{
  display:none;
}
.details-accordion summary::after{
  content:"＋";
  font-size:20px;
  color:#64748b;
}
.details-accordion details[open] summary::after{
  content:"－";
}
.details-accordion .accordion-body{
  padding:0 22px 22px;
}
.details-accordion .detail-card{
  box-shadow:none;
  border:0;
  padding:0;
  margin:0;
}
.details-accordion .detail-card h2{
  display:none;
}

/* Card lateral de anexos na tela de detalhes */
.side-upload-form{
  display:grid;
  gap:10px;
  margin-bottom:14px;
}
.side-upload-form input,
.side-upload-form select{
  width:100%;
  padding:10px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
}
.side-attachments{
  display:grid;
  gap:10px;
}
.side-attachment-item{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#f8fafc;
}
.side-attachment-item img{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#fff;
}
.side-file-icon{
  width:54px;
  height:54px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #e5e7eb;
  font-size:24px;
}
.side-attachment-item b{
  display:block;
  font-size:13px;
  color:#0f172a;
}
.side-attachment-item span{
  display:block;
  font-size:12px;
  color:#475569;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.side-attachment-item small{
  display:block;
  font-size:11px;
  color:#64748b;
  margin-top:2px;
}

.side-attachment-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:6px;
}
.side-attachment-actions a,
.side-attachment-actions button{
  border:1px solid #dbe3ef;
  background:#fff;
  color:#0f172a;
  border-radius:8px;
  padding:5px 7px;
  font-size:11px;
  text-decoration:none;
  cursor:pointer;
}
.side-attachment-actions button:hover,
.side-attachment-actions a:hover{
  background:#f8fafc;
}

/* V31 - Faixa discreta de alertas de licenças */
.software-alert-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:14px 0 16px;
  padding:12px 16px;
  border:1px solid rgba(37,99,235,.18);
  border-radius:14px;
  background:rgba(37,99,235,.045);
  color:#334155;
  font-size:.92rem;
}
.software-alert-strip a{
  color:#2563eb;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.software-alert-strip a:hover{
  text-decoration:underline;
}
@media(max-width:700px){
  .software-alert-strip{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* V31 - Toolbar do catálogo de softwares */
.catalogo-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

@media(max-width:900px){
  .catalogo-toolbar{
    justify-content:flex-start;
    width:100%;
  }
}

/* V31 - Ajuste visual da tabela de categorias */
.categorias-table-wrap{
  overflow-x: visible !important;
}

.categorias-table{
  width:100%;
  min-width:0 !important;
  table-layout:auto;
}

.categorias-table th,
.categorias-table td{
  white-space:normal;
}

.categorias-table th:nth-child(1),
.categorias-table td:nth-child(1){
  width:60%;
}

.categorias-table th:nth-child(2),
.categorias-table td:nth-child(2){
  width:20%;
  text-align:center;
}

.categorias-table th:nth-child(3),
.categorias-table td:nth-child(3){
  width:20%;
  text-align:right;
}

/* V31 - Rolagem vertical limitada nas categorias */
.categorias-table-wrap{
  max-height:350px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

.categorias-table thead th{
  position:sticky;
  top:0;
  background:#fff;
  z-index:2;
}
