:root{
    --blue:#0d5378;
    --blue-dark:#084663;
    --blue-light:#34aee8;
    --green:#36b36b;
    --gray-bg:#f4f6f8;
    --gray-border:#e3e7eb;
    --gray-text:#5c6570;
    --text:#333842;
    --danger:#d84b4b;
    --warning:#f0ad4e;
    --info:#6d7f91;
    --muted:#9aa3ad;
    --white:#fff;
    --shadow:0 10px 24px rgba(12,39,60,.06);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--gray-bg);color:var(--text);font-size:14px}
a{text-decoration:none;color:inherit}.app-shell{min-height:100vh}.topbar{height:58px;background:var(--blue);color:white;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:30;box-shadow:0 1px 0 rgba(0,0,0,.05)}
.topbar-logo{width:180px;padding:0 16px;font-size:25px;font-weight:700;display:flex;align-items:center;gap:7px}.logo-icon{font-size:24px}.menu-toggle{background:transparent;border:0;color:white;font-size:22px;cursor:pointer;display:none}.topbar-actions{margin-left:auto;display:flex;align-items:center;height:100%;gap:4px;padding-right:24px}.topbar-icon,.topbar-link,.topbar-user{height:100%;display:flex;align-items:center;padding:0 14px;border-left:1px solid rgba(255,255,255,.12);position:relative}.topbar-icon{font-size:17px}.notification-dot{position:absolute;top:13px;right:7px;background:#e44;color:white;border-radius:999px;font-size:9px;line-height:1;padding:2px 4px}.topbar-user{font-weight:500}.sidebar{position:fixed;top:58px;left:0;bottom:0;width:180px;background:var(--blue-dark);color:#d7ebf6;overflow:auto;z-index:20;padding-bottom:30px}.sidebar-section-title{font-size:12px;font-weight:700;color:#9bc3d8;letter-spacing:.4px;padding:24px 16px 10px}.sidebar-nav a{display:flex;align-items:center;gap:9px;padding:11px 16px;color:#eaf6fb;transition:.15s}.sidebar-nav a span{width:20px;text-align:center;opacity:.95}.sidebar-nav a:hover,.sidebar-nav a.active{background:var(--blue-light);color:white}.sidebar-sub{display:none;background:rgba(0,0,0,.08)}.sidebar-group:hover .sidebar-sub{display:block}.sidebar-sub a{padding-left:40px;font-size:13px}.main-content{margin-left:180px;padding:92px 32px 40px;min-height:100vh}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.page-title{font-size:27px;font-weight:300;color:#91989f;margin:0 0 4px}.page-subtitle{color:#9aa3ad}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--gray-border);background:#fff;color:#4e5965;padding:11px 18px;border-radius:3px;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:8px;min-height:38px}.btn:hover{filter:brightness(.98)}.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}.btn-secondary{background:#7d8b9b;color:white;border-color:#7d8b9b}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-light{background:#fff}.card{background:#fff;border:1px solid var(--gray-border);box-shadow:var(--shadow);margin-bottom:18px}.card-body{padding:24px}.card-title{font-size:18px;margin:0 0 22px;color:#174e68;font-weight:700}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:#fff;border:1px solid var(--gray-border);box-shadow:var(--shadow);padding:20px;border-radius:3px}.kpi-label{color:#87919d;font-size:13px}.kpi-value{font-size:31px;color:#154b67;font-weight:700;margin-top:8px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:#4e5965}.form-control,select,textarea,input[type="text"],input[type="email"],input[type="password"],input[type="date"],input[type="time"],input[type="number"]{width:100%;border:1px solid var(--gray-border);background:#fff;padding:11px 13px;border-radius:2px;font:inherit;outline:none;color:#3f4650}.form-control:focus,select:focus,textarea:focus,input:focus{border-color:#39aee6;box-shadow:0 0 0 2px rgba(52,174,232,.12)}textarea{min-height:110px;resize:vertical}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--gray-border);padding:22px 24px;margin-bottom:18px}.toolbar .form-group{margin:0;min-width:220px;flex:1}.table-wrap{background:#fff;border:1px solid var(--gray-border);box-shadow:var(--shadow);overflow:auto}.table{width:100%;border-collapse:collapse;min-width:860px}.table th,.table td{border-bottom:1px solid #edf0f2;border-right:1px solid #edf0f2;text-align:left;padding:13px 12px;vertical-align:top}.table th{background:#f2f4f6;color:#4c5662;font-weight:700}.table tr:hover td{background:#fafcfd}.table-actions{display:flex;gap:9px;justify-content:flex-end}.icon-action{color:#45515e;font-size:15px;border:0;background:transparent;cursor:pointer}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.badge-success{background:#e5f7ed;color:#188449}.badge-info{background:#e8f1fa;color:#28729f}.badge-muted{background:#edf0f2;color:#6c7682}.badge-warning{background:#fff2da;color:#a76b08}.badge-danger{background:#fde9e9;color:#b22c2c}.alert{padding:13px 16px;border-radius:3px;margin-bottom:16px;border:1px solid}.alert-success{background:#e9f8ef;border-color:#bce8cc;color:#1f7540}.alert-danger{background:#fff0f0;border-color:#f3c6c6;color:#a73d3d}.alert-info{background:#edf7fd;border-color:#c6e8f7;color:#216a91}.tabs{display:flex;gap:0;background:#7f8589;margin:-34px -32px 28px;overflow-x:auto}.tabs a{color:#fff;padding:12px 18px;white-space:nowrap}.tabs a.active{background:#6d7377;color:#ffe16b;font-weight:700}.process-ribbon{display:flex;gap:8px;margin-top:-18px;margin-bottom:26px}.ribbon-tag{background:#36aee2;color:white;padding:6px 9px;font-size:13px}.timeline{position:relative;margin:46px auto;max-width:920px}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;background:#398ee9;transform:translateX(-50%)}.timeline-item{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;margin-bottom:48px}.timeline-dot{width:31px;height:31px;border-radius:50%;background:#398ee9;margin:auto;z-index:1}.timeline-card{background:#fff;box-shadow:var(--shadow);padding:24px;border:1px solid var(--gray-border)}.timeline-date{text-align:center;color:#a1a8af}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#083d5b,#0d5378)}.login-card{width:410px;background:#fff;border-radius:7px;box-shadow:0 20px 45px rgba(0,0,0,.22);padding:34px}.login-card h1{color:var(--blue);margin:0 0 6px}.login-card p{color:#7a8590;margin-top:0;margin-bottom:25px}.empty-state{padding:40px;text-align:center;color:#8b95a1}.file-browser{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--gray-border);background:white;min-height:520px}.file-tree{border-right:1px solid var(--gray-border);padding:14px;background:#fafafa}.file-area{padding:18px}.file-grid{display:flex;flex-wrap:wrap;gap:28px}.file-item{text-align:center;color:#4e5965}.file-icon{font-size:38px;display:block;margin-bottom:8px}.chart-placeholder{height:260px;display:flex;align-items:center;justify-content:center;color:#8c95a0;background:linear-gradient(135deg,#fafafa,#f0f3f5);border:1px dashed #d3dbe2}.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:99}.modal{background:#fff;max-width:760px;width:92%;box-shadow:0 20px 50px rgba(0,0,0,.22)}.modal-head{padding:18px 26px;border-bottom:1px solid var(--gray-border);font-size:18px;font-weight:700}.modal-body{padding:26px}.modal-footer{padding:18px 26px;border-top:1px solid var(--gray-border);display:flex;justify-content:flex-end;gap:8px}.small{font-size:12px;color:#8b95a1}.text-right{text-align:right}.mt-2{margin-top:12px}.mt-3{margin-top:18px}.mb-0{margin-bottom:0}.nowrap{white-space:nowrap}
@media(max-width:980px){.topbar-logo{width:auto}.menu-toggle{display:block;margin-left:auto}.topbar-actions{display:none}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;padding:82px 16px 28px}.grid-2,.grid-3,.grid-4,.form-row{grid-template-columns:1fr}.page-head{display:block}.actions{margin-top:12px}.file-browser{grid-template-columns:1fr}.file-tree{border-right:0;border-bottom:1px solid var(--gray-border)}.timeline:before{left:14px}.timeline-item{grid-template-columns:40px 1fr}.timeline-date{grid-column:2;text-align:left;margin-bottom:8px}.timeline-card{grid-column:2}.timeline-dot{grid-column:1;grid-row:1/3}.tabs{margin-left:-16px;margin-right:-16px}}

/* Ícones SVG — padrão visual do LexGestão */
.icon,.nav-icon,.logo-svg,.login-brand-icon,.action-icon,.file-svg{display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icon{width:20px;height:20px}.nav-icon{width:19px;height:19px;opacity:.95}.logo-svg{width:27px;height:27px}.login-brand-icon{width:34px;height:34px;margin-right:8px}.action-icon{width:17px;height:17px}.file-svg{width:42px;height:42px;margin-bottom:8px;color:#0d5378}.login-brand{display:flex;align-items:center;color:var(--blue);margin:0 0 6px}.topbar-icon{font-size:0}.topbar-icon .icon{width:19px;height:19px}.menu-toggle{font-size:0;padding:10px}.menu-toggle .icon{width:24px;height:24px}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;color:#45515e;font-size:0;border:0;background:transparent;cursor:pointer}.icon-action:hover{background:#eef5f8;color:var(--blue)}.icon-action .action-icon{pointer-events:none}.sidebar-nav a .nav-icon{margin-right:0}.sidebar-nav a span:not(.badge):not(.notification-dot):not(.caret){width:auto}.status-legend{display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.status-dot-success{background:#37a65a}.status-dot-info{background:#349fd9}.status-dot-muted{background:#8d98a3}.file-icon{font-size:0;display:block;margin-bottom:8px}.file-tree-row{display:flex;align-items:center;gap:8px;margin:7px 0}.file-tree-row .nav-icon{color:#0d5378}.caret{font-size:12px;margin-left:4px}

/* Processo completo */
.section-title{margin:38px 0 18px;color:#174e68;font-weight:600;font-size:22px;scroll-margin-top:92px}.process-tabs{position:sticky;top:58px;z-index:12}.process-kpis{margin-bottom:18px}.process-kpis .kpi-value{font-size:24px}.table-compact th{width:165px;background:#f7f9fb}.table-inside{box-shadow:none;border-radius:0}.table-inside .table{min-width:620px}.card-title .action-icon{margin-right:6px;color:#0d5378}.form-group input[type="file"]{width:100%;border:1px dashed var(--gray-border);padding:11px 13px;background:#fafafa}.process-ribbon{flex-wrap:wrap}.process-ribbon .ribbon-tag{border-radius:3px}.tabs a:hover{background:#6f777c}.table td svg.action-icon{margin-right:6px;color:#0d5378}
@media(max-width:980px){.process-tabs{top:58px}.table-inside .table{min-width:560px}.process-kpis .kpi-value{font-size:22px}}

/* Portal do Cliente */
.kpi-card{background:#fff;border:1px solid var(--gray-border);box-shadow:var(--shadow);padding:20px;border-radius:3px;display:flex;gap:14px;align-items:center}.kpi-icon{width:44px;height:44px;border-radius:10px;background:#eef7fb;color:var(--blue);display:flex;align-items:center;justify-content:center}.kpi-icon .icon{width:23px;height:23px}.small-kpi{font-size:15px!important;line-height:1.35;color:#174e68}.hint-box{border:1px dashed var(--gray-border);padding:11px 13px;background:#fafafa;color:#68727d;display:flex;align-items:center;gap:8px;border-radius:2px}.client-portal{background:#eef3f7}.client-shell{min-height:100vh}.client-topbar{height:64px;background:#0b4d6f;color:#fff;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:35;box-shadow:0 1px 0 rgba(0,0,0,.08)}.client-brand{width:270px;height:100%;display:flex;align-items:center;gap:9px;padding:0 28px;font-size:22px;font-weight:800;color:#fff}.client-menu-toggle{display:none}.client-top-actions{margin-left:auto;display:flex;align-items:center;gap:12px;padding-right:24px}.client-user{display:flex;align-items:center;gap:8px;border-right:1px solid rgba(255,255,255,.18);padding-right:16px}.client-sidebar{position:fixed;top:64px;left:0;bottom:0;width:270px;background:#083d5b;color:#d7ebf6;z-index:22;padding:22px 0;overflow:auto}.client-nav a{display:flex;align-items:center;gap:12px;padding:13px 28px;color:#eaf6fb}.client-nav a:hover,.client-nav a.active{background:#34aee8;color:#fff}.client-sidebar-note{margin:24px 18px 0;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);padding:14px;display:flex;gap:10px;align-items:flex-start;color:#c8dcea;font-size:13px;line-height:1.45}.client-content{margin-left:270px;padding:96px 32px 40px;min-height:100vh}.client-login-page{background:linear-gradient(135deg,#052f47,#0d5378)}.client-login-card{width:440px}.client-mini-timeline{max-width:100%;margin:10px 0}.client-mini-timeline:before{left:14px}.client-mini-timeline .timeline-item{grid-template-columns:76px 32px 1fr;margin-bottom:18px}.client-mini-timeline .timeline-date{text-align:right;font-size:12px}.client-mini-timeline .timeline-dot{width:18px;height:18px}.client-mini-timeline .timeline-card{padding:14px;box-shadow:none}.client-file-browser{min-height:430px}.file-card-link{display:block;width:160px;padding:12px;border:1px solid transparent;border-radius:6px}.file-card-link:hover{border-color:#d6e8f2;background:#f8fcfe}.chat-thread{display:flex;flex-direction:column;gap:16px}.chat-message{max-width:78%}.chat-message.from-client{align-self:flex-end}.chat-message.from-office{align-self:flex-start}.chat-meta{font-size:12px;color:#88939e;margin-bottom:5px}.chat-bubble{border:1px solid var(--gray-border);background:#f7f9fb;padding:13px 15px;border-radius:10px;line-height:1.55}.chat-message.from-client .chat-bubble{background:#eaf7ee;border-color:#c9ead4}.chat-message.from-office .chat-bubble{background:#eef7fd;border-color:#c9e8f6}
@media(max-width:980px){.client-brand{width:auto}.client-menu-toggle{display:block;margin-left:auto}.client-top-actions{display:none}.client-sidebar{transform:translateX(-100%);transition:.2s}.client-sidebar.open{transform:translateX(0)}.client-content{margin-left:0;padding:88px 16px 28px}.chat-message{max-width:100%}.client-mini-timeline .timeline-item{grid-template-columns:40px 1fr}.client-mini-timeline .timeline-date{grid-column:2;text-align:left}.client-mini-timeline .timeline-dot{grid-column:1;grid-row:1/3}.client-mini-timeline .timeline-card{grid-column:2}}
/* Controle de acesso do cliente */
.permission-list{display:grid;gap:10px}
.permission-list label{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--gray-border);background:#fafafa;border-radius:3px;color:#4e5965;font-weight:600}
.section-subtitle{font-size:16px;color:#174e68;margin:18px 0 12px;font-weight:700}

/* Agenda e tarefas */
.inline-form{display:inline-flex;margin:0}.danger-action{color:var(--danger)}.danger-action:hover{background:#fff0f0;color:var(--danger)}
.row-overdue td{background:#fff9f7}.row-overdue:hover td{background:#fff5f1}.task-description{max-width:480px;margin-top:5px;white-space:pre-line}.task-kpis{margin-bottom:18px}.checkbox-line{display:inline-flex;align-items:center;gap:8px;color:#4e5965;font-weight:600}
.calendar-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:20px}.calendar-title{font-size:21px;font-weight:600;color:#174e68;margin:0;text-align:center}.calendar-navigation{justify-content:flex-end}.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--gray-border);border-top:1px solid var(--gray-border)}.calendar-weekday{background:#f0f2f4;padding:10px;text-align:center;font-weight:700;border-right:1px solid var(--gray-border);border-bottom:1px solid var(--gray-border)}.calendar-day{min-height:132px;border-right:1px solid var(--gray-border);border-bottom:1px solid var(--gray-border);padding:8px;background:#fff;overflow:hidden}.calendar-day.is-empty{background:#fafafa}.calendar-day.is-today{background:#f0f9fd;box-shadow:inset 0 0 0 2px #39aee6}.calendar-day-number{text-align:right;font-weight:700;margin-bottom:5px}.calendar-day-number a{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;border-radius:50%}.calendar-day.is-today .calendar-day-number a{background:#349fd9;color:white}.calendar-event{display:block;background:#dff1fb;border-left:3px solid #349fd9;margin-top:5px;padding:5px 6px;font-size:12px;color:#245b77;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event:hover{background:#cfebf8}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));overflow:auto;border:1px solid var(--gray-border)}.calendar-week-column{min-height:430px;border-right:1px solid var(--gray-border);background:#fff}.calendar-week-column:last-child{border-right:0}.calendar-week-column.is-today{background:#f4fbfe}.calendar-week-column header{background:#f2f4f6;padding:12px;border-bottom:1px solid var(--gray-border);text-align:center}.calendar-week-column header a{display:flex;flex-direction:column;gap:3px;color:#174e68}.calendar-week-column header span{font-size:12px;color:#8b95a1}.calendar-week-events{padding:10px}.agenda-card-mini{border:1px solid #d7e6ee;border-left:3px solid #349fd9;padding:9px;margin-bottom:8px;background:#fff;font-size:12px}.agenda-card-mini a{display:inline-block;margin-top:6px;font-weight:700}.agenda-day-list{border-top:1px solid var(--gray-border)}.agenda-day-item{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:start;padding:20px 8px;border-bottom:1px solid var(--gray-border)}.agenda-day-time{font-size:18px;font-weight:700;color:#174e68}.agenda-day-title{font-size:17px;font-weight:700;margin-bottom:7px}.agenda-day-content p{margin:12px 0 0;white-space:normal}.calendar-list-wrap{box-shadow:none}.calendar-list-wrap .table{min-width:940px}
@media(max-width:1180px){.calendar-head{grid-template-columns:1fr}.calendar-title{order:-1}.calendar-modes,.calendar-navigation{justify-content:center}.calendar-month{min-width:850px}.card-body:has(.calendar-month){overflow:auto}}
@media(max-width:760px){.task-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-day-item{grid-template-columns:1fr}.agenda-day-time{font-size:15px}.calendar-week{grid-template-columns:1fr}.calendar-week-column{min-height:auto;border-right:0;border-bottom:1px solid var(--gray-border)}}

/* Relatórios e estatísticas */
.report-tabs{display:flex;gap:0;background:#fff;border:1px solid var(--gray-border);box-shadow:var(--shadow);margin-bottom:18px;overflow-x:auto}.report-tabs a{display:flex;align-items:center;gap:8px;padding:14px 20px;border-right:1px solid var(--gray-border);color:#5d6874;white-space:nowrap}.report-tabs a:hover{background:#f6fafc}.report-tabs a.active{background:var(--blue);color:#fff}.report-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.report-results,.report-filters{min-width:0}.report-filters{position:sticky;top:76px}.report-kpis{margin-bottom:18px}.kpi-money{font-size:23px}.kpi-detail{font-size:12px;color:#8b95a1;margin-top:7px}.text-danger{color:var(--danger)!important}.text-success{color:#188449!important}.report-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.report-table-wrap{box-shadow:none}.report-table{min-width:1050px}.report-link{color:var(--blue);font-weight:700}.report-link:hover{text-decoration:underline}.report-filter-actions{display:flex;gap:8px;flex-wrap:wrap}.report-filter-actions .btn{flex:1;justify-content:center}.report-date-row{grid-template-columns:1fr 1fr;gap:10px}.report-clamp{max-width:340px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.report-print-header{display:none}.compact-alert{padding:9px 12px;margin:14px 0 8px}.statistics-toolbar .form-group{min-width:210px;flex:0 1 250px}.statistics-kpis,.statistics-alerts,.statistics-grid{margin-bottom:18px}.risk-kpi{display:block;transition:transform .15s,box-shadow .15s}.risk-kpi:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(12,39,60,.1)}.statistics-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.chart-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12px;color:#687482}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.legend-process{background:#1f8fc4}.legend-client{background:#8a68c7}.legend-revenue{background:#36b36b}.legend-expense{background:#d84b4b}.monthly-columns{height:280px;display:flex;align-items:stretch;gap:8px;padding:18px 8px 0;border-left:1px solid #e8ecef;border-bottom:1px solid #dce2e6;overflow-x:auto}.monthly-column{min-width:42px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.monthly-bars{height:205px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}.monthly-bar{display:block;width:12px;min-height:2px;border-radius:2px 2px 0 0}.process-bar{background:#1f8fc4}.client-bar{background:#8a68c7}.monthly-values{font-size:10px;color:#65717e;margin-top:4px}.monthly-label{font-size:10px;color:#7b8793;margin:5px 0 8px;white-space:nowrap;transform:rotate(-38deg);transform-origin:center}.finance-chart{display:grid;gap:10px}.finance-chart-row{display:grid;grid-template-columns:52px minmax(70px,1fr) minmax(70px,1fr) 160px;gap:8px;align-items:center}.finance-month{font-size:12px;font-weight:700;color:#66727e}.finance-track{height:13px;background:#eef1f3;border-radius:999px;overflow:hidden}.finance-fill{display:block;height:100%;border-radius:999px;min-width:2px}.revenue-fill{background:#36b36b}.expense-fill{background:#d84b4b}.finance-values{display:flex;flex-direction:column;align-items:flex-end;font-size:10px;color:#66727e;line-height:1.35}.stats-bar-list{display:grid;gap:13px}.stats-bar-row{display:grid;gap:6px}.stats-bar-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#56616d}.stats-bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-bar-track{height:9px;background:#edf1f3;border-radius:999px;overflow:hidden}.stats-bar-fill{display:block;height:100%;min-width:2px;border-radius:999px;background:#278fc2}.secondary-fill{background:#8a68c7}.status-fill{background:#6d7f91}.status-ativo{background:#36b36b}.status-suspenso{background:#f0ad4e}.status-baixado{background:#9aa3ad}.atendimento-fill{background:#34aee8}.priority-summary{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px;padding-top:17px;border-top:1px solid var(--gray-border)}.statistics-table{box-shadow:none}.statistics-table .table{min-width:600px}.deadline-list{display:grid}.deadline-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f2}.deadline-item:last-child{border-bottom:0}.deadline-item:hover strong{color:var(--blue)}.deadline-item.is-overdue{background:#fffafa;margin:0 -10px;padding-left:10px;padding-right:10px}.deadline-date{display:flex;flex-direction:column;align-items:center;background:#eef6fa;color:#245b77;padding:7px 5px;border-radius:3px}.deadline-date strong{font-size:19px;line-height:1}.deadline-date span{font-size:10px;margin-top:3px}

@media(max-width:1180px){.report-layout{grid-template-columns:1fr}.report-filters{position:static;order:-1}.statistics-grid{grid-template-columns:1fr}.monthly-columns{min-width:720px}.card-body:has(.monthly-columns){overflow:auto}.finance-chart-row{grid-template-columns:50px 1fr 1fr 135px}}
@media(max-width:760px){.report-date-row{grid-template-columns:1fr}.statistics-card-head{display:block}.chart-legend{margin-top:10px}.finance-chart-row{grid-template-columns:45px 1fr 1fr}.finance-values{grid-column:2/4;flex-direction:row;justify-content:space-between;align-items:center}.deadline-item{grid-template-columns:48px 1fr}.deadline-item>.badge{grid-column:2;justify-self:start}.statistics-alerts{grid-template-columns:1fr}}

@media print{
    @page{size:A4 landscape;margin:10mm}
    body{background:#fff;font-size:10px;color:#222}.topbar,.sidebar,.no-print{display:none!important}.main-content{margin:0;padding:0}.card,.kpi,.table-wrap{box-shadow:none;border-color:#bbb;break-inside:avoid}.card-body{padding:12px}.report-layout,.statistics-grid{display:block}.report-results{border:0}.report-filters{display:none}.report-print-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #0d5378;padding-bottom:8px;margin-bottom:12px}.report-print-header div{display:flex;flex-direction:column;gap:2px}.report-print-header strong{font-size:16px;color:#0d5378}.report-kpis,.statistics-kpis,.statistics-alerts{grid-template-columns:repeat(4,1fr);gap:6px}.statistics-alerts{grid-template-columns:repeat(3,1fr)}.kpi{padding:9px}.kpi-value{font-size:17px;margin-top:4px}.kpi-money{font-size:14px}.kpi-detail{font-size:8px}.report-table{min-width:0;font-size:8px}.report-table th,.report-table td,.statistics-table .table th,.statistics-table .table td{padding:5px 4px}.badge{font-size:7px;padding:2px 4px}.small{font-size:7px}.statistics-grid>.card{margin-bottom:10px}.monthly-columns{height:190px;min-width:0;overflow:visible}.monthly-bars{height:130px}.monthly-label{font-size:7px}.monthly-values{font-size:7px}.finance-chart-row{grid-template-columns:38px 1fr 1fr 100px;gap:4px}.finance-values{font-size:7px}.card-title{font-size:13px;margin-bottom:10px}.deadline-item{padding:6px 0}.deadline-date strong{font-size:13px}a{color:#222}.report-link{text-decoration:none;color:#222}
}

/* Arquivos, modelos e documentos */
.file-kpis,.document-kpis,.document-detail-meta{margin-bottom:18px}.file-toolbar .form-group{min-width:150px}.file-toolbar .file-search{min-width:280px;flex:2}.file-toolbar .compact-date{min-width:145px;max-width:170px}.file-result-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:16px 0 10px;color:#66727e}.view-switch{display:flex;gap:5px}.view-switch .icon-action{border:1px solid var(--gray-border);background:#fff}.view-switch .icon-action.is-active{background:var(--blue);color:#fff;border-color:var(--blue)}.modern-file-browser{min-height:440px}.modern-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.file-card{position:relative;border:1px solid var(--gray-border);background:#fff;border-radius:5px;padding:15px;min-width:0;transition:.15s}.file-card:hover{border-color:#b9dce9;box-shadow:0 8px 20px rgba(12,39,60,.08);transform:translateY(-1px)}.file-card-open{display:block;text-align:center;min-width:0}.file-card-open strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#38505e}.file-card-meta{text-align:center;color:#8b95a1;font-size:11px;line-height:1.55;margin-top:8px;min-height:34px}.file-badges{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:9px;min-height:22px}.file-card-actions{display:flex;justify-content:center;gap:4px;border-top:1px solid #edf0f2;padding-top:9px;margin-top:9px}.file-card-actions form,.table-actions form,.document-secondary-actions form{margin:0}.storage-meter{margin-top:28px;padding-top:15px;border-top:1px solid var(--gray-border)}.storage-meter>span{display:block;height:8px;background:#e6ebee;border-radius:999px;overflow:hidden;margin-top:8px}.storage-meter i{display:block;height:100%;background:#34aee8;border-radius:999px}.file-table{min-width:1100px}.file-name-cell{display:flex;gap:10px;align-items:flex-start}.file-name-cell>.action-icon{width:23px;height:23px;color:var(--blue)}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin:18px 0}.pagination .is-disabled{pointer-events:none;opacity:.45}.form-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.readonly-file{border:1px solid var(--gray-border);background:#f8fafb;padding:11px 13px;min-height:42px;display:flex;align-items:center;gap:8px;color:#5a6671}.check-row{display:flex;gap:24px;flex-wrap:wrap;padding:12px 0}.check-row label{display:flex;align-items:center;gap:7px}.placeholder-box{border:1px dashed #cdd8df;background:#f8fbfc;padding:14px}.placeholder-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.placeholder-list code{background:#edf4f7;border:1px solid #d7e5eb;color:#245b77;padding:5px 7px;border-radius:3px;font-size:11px}.large-placeholder-list code{font-size:12px;padding:7px 9px}.document-source-editor{min-height:430px!important;font-family:Consolas,Monaco,monospace!important;font-size:13px;line-height:1.55}.document-builder-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px;align-items:start}.document-template-preview{border:1px solid var(--gray-border);background:#fff;padding:24px;min-height:330px;line-height:1.65;overflow:auto}.document-editor-layout{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(480px,1.1fr);gap:18px;align-items:start}.document-preview-card{position:sticky;top:76px}.document-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.document-sheet{width:100%;min-height:720px;background:#fff;border:1px solid #dfe4e7;box-shadow:0 7px 22px rgba(22,48,65,.08);padding:58px 52px;color:#151515;font-family:Arial,sans-serif;font-size:14px;line-height:1.65;overflow:auto}.document-sheet h1,.document-sheet h2,.document-sheet h3{text-align:center}.document-sheet table{width:100%;border-collapse:collapse}.document-sheet td,.document-sheet th{border:1px solid #777;padding:7px}.document-secondary-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--gray-border);padding-top:17px}.document-table{min-width:1030px}
@media(max-width:1180px){.document-builder-layout,.document-editor-layout{grid-template-columns:1fr}.document-preview-card{position:static}.document-sheet{min-height:560px}.file-toolbar .form-group{min-width:200px}}
@media(max-width:760px){.file-kpis,.document-kpis,.document-detail-meta{grid-template-columns:1fr}.modern-file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.file-result-head,.form-card-head{align-items:flex-start}.form-card-head{display:block}.form-card-head>.btn{margin-top:12px}.document-sheet{padding:28px 22px;min-height:420px}.document-source-editor{min-height:320px!important}.check-row,.document-secondary-actions{flex-direction:column;align-items:stretch}.document-secondary-actions .btn{width:100%;justify-content:center}}
@media(max-width:480px){.modern-file-grid{grid-template-columns:1fr}.file-toolbar .form-group{min-width:100%}.pagination{flex-wrap:wrap}.document-sheet{padding:20px 15px}}

/* Diário Oficial e andamentos */
.bulk-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--gray-border);border-bottom:0;padding:14px 18px}.bulk-bar .form-group{margin:0;min-width:230px}.row-unread td{background:#f4fbff}.row-unread:hover td{background:#edf8fd}.row-unread td:first-child{box-shadow:inset 4px 0 0 #34aee8}.row-internal td{background:#fbfbfc}.publication-excerpt{display:block;line-height:1.5;min-width:250px}.publication-excerpt:hover,.table-link:hover{color:var(--blue-light)}.keyword-line{display:flex;align-items:center;gap:4px;margin-top:5px}.keyword-line .action-icon{width:13px;height:13px}.publication-detail-head{margin-bottom:18px}.publication-detail-head .card-title{margin-bottom:4px}.publication-meta{display:flex;gap:18px;flex-wrap:wrap;padding:12px 14px;background:#f7f9fb;border:1px solid var(--gray-border);margin-bottom:18px}.publication-text,.andamento-text{line-height:1.7;white-space:normal}.publication-text{padding:18px;border-left:4px solid #34aee8;background:#fbfdfe}.andamento-text p,.internal-note p{margin:8px 0 0}.internal-note{margin-top:18px;padding:16px;border-left:4px solid #f0ad4e;background:#fffaf1}.keyword-list{border-top:1px solid var(--gray-border)}.keyword-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 4px;border-bottom:1px solid var(--gray-border)}.keyword-item .table-actions{margin:0}.attachment-list{margin-top:20px}.attachment-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.attachment-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #d8e8f0;background:#f8fcfe;color:#245b77;border-radius:4px}.attachment-chip:hover{border-color:#34aee8}.existing-attachments{border-top:1px solid var(--gray-border);padding-top:4px}.attachment-manage{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:#fafafa;border:1px solid var(--gray-border);margin-bottom:7px}.attachment-manage>a{display:flex;align-items:center;gap:7px;color:#245b77;word-break:break-word}.diario-table{min-width:1260px}.andamentos-table{min-width:1160px}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:38px}.section-title-row .section-title{margin-top:0}.section-title-row>.btn{margin-bottom:18px}
@media(max-width:760px){.bulk-bar{align-items:stretch}.bulk-bar .form-group{width:100%;min-width:0}.publication-meta{display:grid;gap:8px}.keyword-item{align-items:flex-start}.attachment-manage{align-items:flex-start}.section-title-row{display:block}.section-title-row>.btn{margin:0 0 18px}}

/* Atendimentos, mensagens e notificações */
.atendimento-kpis{margin-bottom:18px}.atendimento-kpis .kpi-card{color:inherit;transition:.15s}.atendimento-kpis .kpi-card:hover{transform:translateY(-1px);border-color:#b8dce9;box-shadow:0 8px 20px rgba(12,39,60,.08)}.atendimento-toolbar .form-group{min-width:150px}.atendimento-toolbar .atendimento-search{min-width:280px;flex:2}.atendimento-table{min-width:1180px}.ticket-needs-attention td{background:#f4fbff}.ticket-needs-attention:hover td{background:#edf8fd}.ticket-needs-attention td:first-child{box-shadow:inset 4px 0 0 #34aee8}.message-count{display:inline-block;margin-top:5px;font-size:11px;color:#5e7887}.priority-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.25px;white-space:nowrap}.priority-baixa{background:#edf0f2;color:#66727d}.priority-normal{background:#e8f1fa;color:#28729f}.priority-alta{background:#fff2da;color:#a76b08}.priority-urgente{background:#fde9e9;color:#b22c2c}.status-stack{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.atendimento-detail-head{margin-bottom:18px}.ticket-actions{display:flex;gap:8px;flex-wrap:wrap}.ticket-actions form{margin:0}.ticket-thread{background:#f8fafb;border:1px solid var(--gray-border);padding:22px;max-height:620px;overflow:auto}.ticket-thread .chat-bubble{box-shadow:0 2px 7px rgba(21,56,76,.04)}.reply-box{border-top:1px solid var(--gray-border);padding-top:20px}.reply-actions{display:flex;align-items:end;justify-content:space-between;gap:14px}.reply-actions .form-group{min-width:260px;margin:0}.ticket-settings{border-top:1px solid var(--gray-border);padding-top:14px}.ticket-settings summary{cursor:pointer;font-weight:700;color:#245b77}.ticket-form-footer{display:flex;justify-content:flex-end}.danger-zone{border-top:1px solid #f2d0d0;margin-top:18px;padding-top:18px;display:flex;justify-content:flex-end}.ticket-list{display:flex;flex-direction:column;gap:10px}.ticket-card{display:flex;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--gray-border);box-shadow:var(--shadow);padding:18px 20px;color:inherit;transition:.15s}.ticket-card:hover{border-color:#acd7e8;transform:translateY(-1px)}.ticket-card.ticket-awaiting-client{border-left:5px solid #34aee8;background:#fbfeff}.ticket-card-main{min-width:0;flex:1}.ticket-card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ticket-card-main p{color:#6f7a85;margin:8px 0 10px;line-height:1.5}.ticket-card-meta{display:flex;gap:17px;flex-wrap:wrap;color:#7b8792;font-size:12px}.ticket-card-meta span{display:flex;align-items:center;gap:5px}.ticket-card-meta .action-icon{width:14px;height:14px}.ticket-card-side{min-width:170px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.notification-label{display:inline-flex;padding:3px 8px;border-radius:999px;background:#34aee8;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.conversation-head,.card-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.card-title-row .card-title{margin-bottom:0}.notification-callout{display:flex;align-items:flex-start;gap:11px}.notification-callout .action-icon{flex:0 0 auto;margin-top:2px}.ticket-close-client{border-top:1px solid var(--gray-border);margin-top:18px;padding-top:18px}.client-notification-link{position:relative;color:#fff;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:50%}.client-notification-link:hover{background:rgba(255,255,255,.1)}.client-notification-link .notification-dot{top:-3px;right:-3px}.client-nav .nav-count{margin-left:auto;background:#e44;color:#fff;min-width:21px;height:21px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}.client-notification-kpi .kpi-icon{background:#e9f8ff;color:#1685b7}.dashboard-ticket-list{display:flex;flex-direction:column}.dashboard-ticket-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--gray-border);color:inherit}.dashboard-ticket-item:last-child{border-bottom:0}.dashboard-ticket-item:hover strong{color:var(--blue-light)}.dashboard-ticket-item>div:first-child{min-width:0}.dashboard-ticket-item strong,.dashboard-ticket-item span{display:block}.dashboard-ticket-item>div:first-child span{font-size:12px;color:#7f8a94;margin-top:4px}.dashboard-ticket-item>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:6px;text-align:right}.dashboard-ticket-item small{color:#8b95a1}.dashboard-ticket-item.needs-client-reply{background:#f4fbff;margin:0 -10px;padding:12px 10px;border-left:4px solid #34aee8}.compact-empty{padding:25px 10px}.notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.notification-tile{display:flex;align-items:center;gap:12px;border:1px solid var(--gray-border);background:#fafcfd;padding:16px;color:#52606b}.notification-tile .icon{width:24px;height:24px;color:#6d8796}.notification-tile span{font-size:12px;line-height:1.35}.notification-tile strong{display:block;font-size:24px;color:#174e68;line-height:1;margin-bottom:4px}.notification-tile.has-alert{border-color:#f0c8c8;background:#fff8f8}.notification-tile.has-alert .icon,.notification-tile.has-alert strong{color:#b22c2c}.notification-tile:hover{border-color:#a9d4e5}.client-dashboard-tickets .dashboard-ticket-item{padding-left:10px;padding-right:10px}
@media(max-width:900px){.atendimento-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.reply-actions{align-items:stretch;flex-direction:column}.reply-actions .form-group{width:100%;min-width:0}.reply-actions .btn{width:100%;justify-content:center}.ticket-card{flex-direction:column}.ticket-card-side{min-width:0;align-items:flex-start;text-align:left;flex-direction:row;flex-wrap:wrap}.dashboard-alert-grid{grid-template-columns:1fr}.notification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.atendimento-kpis{grid-template-columns:1fr}.ticket-thread{padding:14px}.ticket-card-meta{display:grid;gap:7px}.conversation-head,.card-title-row{align-items:flex-start}.dashboard-ticket-item{align-items:flex-start;flex-direction:column}.dashboard-ticket-item>div:last-child{align-items:flex-start;text-align:left;flex-direction:row;flex-wrap:wrap}.notification-grid{grid-template-columns:1fr}.client-notification-link{display:none}}

/* Configurações, backup e integrações */
.topbar-logo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-kpis{margin-bottom:18px}.config-kpi-value{font-size:18px;line-height:1.25;word-break:break-word}.config-nav{position:sticky;top:70px;z-index:8;display:flex;gap:4px;overflow:auto;background:#fff;border:1px solid var(--gray-border);box-shadow:var(--shadow);padding:8px;margin-bottom:18px}.config-nav a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;color:#315f78;font-weight:700;white-space:nowrap;border-radius:3px}.config-nav a:hover{background:#eef8fc;color:#1787ba}.config-section{scroll-margin-top:140px}.config-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.config-section-head .card-title{margin-bottom:5px}.config-section-head p{margin:0;color:#7d8994}.config-section-icon{width:34px;height:34px;color:#8ebed4;flex:0 0 auto}.config-location-row{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)}.config-switches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:6px 0 20px}.switch-card{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--gray-border);background:#fafcfd;padding:16px;cursor:pointer}.switch-card:hover{border-color:#acd7e8}.switch-card input{margin-top:3px}.switch-card strong,.switch-card small{display:block}.switch-card small{color:#7b8792;line-height:1.45;margin-top:5px}.form-actions{display:flex;justify-content:flex-end;margin-top:8px}.form-hint{font-size:12px;color:#83909a;line-height:1.45;margin-top:6px}.form-hint code{background:#eef3f5;border:1px solid #dde5e9;padding:1px 5px;border-radius:3px}.integration-box{border:1px solid var(--gray-border);background:#fbfcfd;padding:20px;margin-bottom:16px}.integration-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.integration-title>div{display:flex;align-items:center;gap:10px;color:#245b77}.integration-title .action-icon{width:22px;height:22px}.integration-title strong{font-size:16px}.integration-status{display:inline-flex;margin-left:9px;padding:3px 8px;border-radius:999px;background:#edf0f2;color:#68737e;font-size:10px;font-weight:800;text-transform:uppercase;vertical-align:2px}.integration-status.is-active{background:#e5f7ed;color:#188449}.config-smtp-grid{grid-template-columns:110px 180px minmax(190px,1fr) minmax(190px,1fr)}.check-inline{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#52606b}.integration-tests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;border-top:1px solid var(--gray-border);padding-top:20px;margin-top:20px}.test-form{display:flex;align-items:flex-end;gap:10px;border:1px dashed #cfdde4;background:#fafcfd;padding:14px}.test-form .form-group{margin:0;flex:1}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.backup-card{display:flex;gap:17px;border:1px solid var(--gray-border);background:#fafcfd;padding:22px}.backup-card h3{margin:0 0 7px;color:#245b77}.backup-card p{color:#74808b;line-height:1.5;margin:0 0 16px}.backup-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8f5fb;color:#1685b7;flex:0 0 auto}.backup-icon .icon{width:27px;height:27px}.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--gray-border);background:#fff}.diagnostic-grid>div{padding:15px 17px;border-right:1px solid var(--gray-border);border-bottom:1px solid var(--gray-border)}.diagnostic-grid>div:nth-child(3n){border-right:0}.diagnostic-grid>div:nth-last-child(-n+3){border-bottom:0}.diagnostic-grid span,.diagnostic-grid strong{display:block}.diagnostic-grid span{font-size:12px;color:#87919d;margin-bottom:6px}.diagnostic-grid strong{color:#315f78;word-break:break-word}.config-log-toolbar{padding:16px;margin:0 0 14px;box-shadow:none}.config-log-toolbar .form-group{min-width:130px}.config-log-toolbar .form-group:first-child{min-width:230px;flex:2}.log-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.log-actions form{margin:0}.inline-clean-form{display:flex;align-items:center;gap:8px}.inline-clean-form select{width:auto;min-width:155px}.config-log-table{min-width:1050px}.mb-0{margin-bottom:0!important}
@media(max-width:1100px){.config-switches,.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-smtp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-grid>div,.diagnostic-grid>div:nth-child(3n),.diagnostic-grid>div:nth-last-child(-n+3){border-right:1px solid var(--gray-border);border-bottom:1px solid var(--gray-border)}.diagnostic-grid>div:nth-child(2n){border-right:0}.diagnostic-grid>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:800px){.config-location-row{grid-template-columns:1fr 90px}.config-location-row .form-group:last-child{grid-column:1/-1}.config-switches,.backup-grid,.integration-tests{grid-template-columns:1fr}.config-smtp-grid{grid-template-columns:1fr 1fr}.test-form{align-items:stretch;flex-direction:column}.test-form .btn{justify-content:center}.log-actions{align-items:stretch;flex-direction:column}.log-actions form,.inline-clean-form{width:100%}.inline-clean-form select{flex:1}.inline-clean-form .btn{justify-content:center}}
@media(max-width:600px){.config-nav{top:58px;margin-left:-10px;margin-right:-10px}.config-section-head{align-items:flex-start}.config-section-icon{display:none}.config-location-row,.config-smtp-grid,.diagnostic-grid{grid-template-columns:1fr}.diagnostic-grid>div,.diagnostic-grid>div:nth-child(2n),.diagnostic-grid>div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--gray-border)}.diagnostic-grid>div:last-child{border-bottom:0}.backup-card{flex-direction:column}.inline-clean-form{align-items:stretch;flex-direction:column}.inline-clean-form select{width:100%}}


/* =========================================================
   RESPONSIVIDADE MOBILE 1.0 — Conexao
   Camada visual: não altera regras de negócio nem permissões.
   ========================================================= */
html,body{max-width:100%;}
body.mobile-nav-open{overflow:hidden;touch-action:none}
.mobile-nav-overlay{position:fixed;inset:58px 0 0;background:rgba(9,28,42,.48);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);z-index:39;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.mobile-nav-overlay.is-visible{opacity:1;visibility:visible}
.mobile-sidebar-extras{display:none}
.mobile-sidebar-extras-title{font-size:11px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;color:#9bc3d8;padding:22px 32px 8px}
.mobile-sidebar-extras a{display:flex;align-items:center;gap:12px;padding:12px 32px;color:#eaf6fb;border-top:1px solid rgba(255,255,255,.05)}
.mobile-sidebar-extras a:hover{background:rgba(255,255,255,.08)}
.mobile-sidebar-extras .icon,.mobile-sidebar-extras .action-icon{width:19px;height:19px}
.mobile-sidebar-user{padding:15px 22px;margin:15px 18px 0;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#d7ebf6;border-radius:6px;overflow-wrap:anywhere;font-size:12px;line-height:1.45}
.mobile-scroll-hint{display:none;font-size:11px;color:#75828d;background:#f7fafb;border-bottom:1px solid var(--gray-border);padding:7px 10px;text-align:right;position:sticky;left:0}
.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.table-wrap.is-horizontally-scrollable .mobile-scroll-hint{display:block}
.table td,.table th,.card,.page-subtitle,.form-hint,.hint-box{overflow-wrap:anywhere}

@media(max-width:980px){
    .topbar,.client-topbar{z-index:60}
    .topbar-logo{width:auto;min-width:0;max-width:calc(100% - 58px);padding:0 14px;font-size:20px;gap:8px}
    .topbar-logo span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .logo-svg{width:24px;height:24px}
    .menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;margin-left:auto;margin-right:8px;width:44px;height:44px;border-radius:7px;flex:0 0 44px}
    .menu-toggle:active{background:rgba(255,255,255,.12)}
    .topbar-actions{display:none!important}
    .sidebar{width:min(86vw,320px);z-index:50;box-shadow:14px 0 28px rgba(0,0,0,.2);transform:translateX(-105%);transition:transform .22s ease;overscroll-behavior:contain;padding-bottom:calc(28px + env(safe-area-inset-bottom))}
    .sidebar.open{transform:translateX(0)}
    .sidebar-section-title{padding:20px 22px 9px}
    .sidebar-nav a{padding:13px 22px;min-height:46px}
    .sidebar-group .sidebar-sub{display:block;background:rgba(0,0,0,.08)}
    .sidebar-sub a{padding:11px 22px 11px 54px;min-height:42px;font-size:13px}
    .mobile-sidebar-extras{display:block}
    .main-content{margin-left:0;padding:76px 14px 28px;width:100%;min-width:0}
    .page-head{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
    .page-title{font-size:24px;line-height:1.2}
    .page-subtitle{font-size:13px;line-height:1.5}
    .actions{width:100%;margin-top:0}
    .actions .btn{min-height:44px}
    .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
    .grid-2{grid-template-columns:1fr}
    .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
    .card{border-radius:6px;margin-bottom:14px}
    .card-body{padding:18px}
    .kpi,.kpi-card{padding:16px;min-width:0}
    .kpi-value{font-size:27px}
    .toolbar{padding:16px;align-items:stretch}
    .toolbar .form-group{min-width:calc(50% - 8px)}
    .toolbar .btn{min-height:44px;justify-content:center}
    .table-wrap{max-width:100%;border-radius:5px}
    .table{font-size:13px}
    .table th,.table td{padding:11px 10px}
    .table-actions{min-width:max-content}
    .icon-action{width:40px;height:40px}
    .btn{min-height:44px;padding:11px 15px}
    input,select,textarea,.form-control{font-size:16px!important;min-height:44px}
    textarea{min-height:118px}
    input[type="checkbox"],input[type="radio"]{min-height:auto;width:18px;height:18px}
    .tabs{margin:-18px -14px 20px;padding-left:6px;scrollbar-width:thin}
    .tabs a{padding:12px 14px;min-height:44px;display:flex;align-items:center}
    .file-browser{grid-template-columns:1fr;min-height:0}
    .file-tree{border-right:0;border-bottom:1px solid var(--gray-border);max-height:210px;overflow:auto}
    .file-area{padding:14px}
    .file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
    .file-card-link{width:100%;min-width:0}
    .modal-mask{padding:12px;align-items:center}
    .modal{width:100%;max-width:720px;max-height:90dvh;border-radius:7px;overflow:hidden;display:flex;flex-direction:column}
    .modal-head{padding:15px 18px;flex:0 0 auto}
    .modal-body{padding:18px;overflow:auto;-webkit-overflow-scrolling:touch}
    .modal-footer{padding:14px 18px;flex:0 0 auto;flex-wrap:wrap}
    .timeline{margin:24px 0}
    .process-tabs{top:58px}
    .process-ribbon{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
    .ribbon-tag{white-space:nowrap}
    .config-nav{scrollbar-width:thin}
    .integration-title,.config-section-head{flex-wrap:wrap}
    .log-actions{flex-wrap:wrap}

    /* Portal do Cliente */
    .client-brand{width:auto;min-width:0;max-width:calc(100% - 58px);padding:0 14px;font-size:18px;gap:8px}
    .client-brand span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .client-menu-toggle{display:inline-flex!important}
    .client-top-actions{display:none!important}
    .client-sidebar{width:min(86vw,320px);z-index:50;box-shadow:14px 0 28px rgba(0,0,0,.2);transform:translateX(-105%);transition:transform .22s ease;padding-bottom:calc(26px + env(safe-area-inset-bottom))}
    .client-sidebar.open{transform:translateX(0)}
    .client-nav a{padding:13px 22px;min-height:46px}
    .client-content{margin-left:0;padding:82px 14px 28px;width:100%;min-width:0}
    .client-sidebar-note{margin:18px 14px 0}
    .chat-message{max-width:94%}
    .chat-bubble{padding:12px 13px}
}

@media(max-width:700px){
    body{font-size:13px}
    .main-content,.client-content{padding-left:10px;padding-right:10px}
    .page-title{font-size:21px;font-weight:500}
    .grid-4,.grid-3,.grid-2,.form-row{grid-template-columns:1fr}
    .task-kpis,.atendimento-kpis,.notification-grid{grid-template-columns:1fr!important}
    .toolbar{flex-direction:column;gap:10px;padding:13px}
    .toolbar .form-group{width:100%;min-width:0!important;flex:none}
    .toolbar .btn{width:100%}
    .actions{display:grid;grid-template-columns:1fr;gap:8px}
    .actions .btn{width:100%;justify-content:center}
    .card-body{padding:14px}
    .card-title{font-size:17px;margin-bottom:16px}
    .kpi,.kpi-card{padding:14px}
    .kpi-value{font-size:24px}
    .kpi-card{align-items:flex-start}
    .kpi-icon{width:40px;height:40px;flex:0 0 40px}
    .table{min-width:720px}
    .table-inside .table{min-width:650px}
    .table-compact{min-width:560px!important}
    .table-wrap{box-shadow:none}
    .mobile-scroll-hint{display:block}
    .file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .file-item{min-width:0}
    .file-item,.file-card-link{overflow-wrap:anywhere}
    .modal-mask{align-items:flex-end;padding:0}
    .modal{max-height:92dvh;border-radius:12px 12px 0 0}
    .modal-footer{display:grid;grid-template-columns:1fr}
    .modal-footer .btn{width:100%;justify-content:center}
    .login-page,.client-login-page{align-items:flex-start;padding:22px 12px;min-height:100dvh}
    .login-card,.client-login-card{width:100%;max-width:440px;padding:24px 18px;margin:auto}
    .login-card h1{font-size:24px}
    .timeline:before{left:12px}
    .timeline-item{grid-template-columns:32px 1fr;column-gap:10px;margin-bottom:22px}
    .timeline-dot{width:22px;height:22px}
    .timeline-card{padding:14px}
    .calendar-head{gap:10px}
    .calendar-modes,.calendar-navigation{width:100%;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}
    .calendar-modes .btn,.calendar-navigation .btn{flex:1;justify-content:center;min-width:max-content}
    .calendar-title{text-align:left;font-size:18px}
    .calendar-month{min-width:760px}
    .calendar-day{min-height:112px}
    .agenda-day-item{padding:15px 4px}
    .dashboard-ticket-item{padding:12px 4px}
    .conversation-head,.card-title-row{flex-direction:column}
    .ticket-card-side{width:100%}
    .integration-box{padding:14px}
    .backup-card{padding:16px}
    .config-nav{margin-left:-10px;margin-right:-10px;border-left:0;border-right:0}
    .form-actions{display:grid;grid-template-columns:1fr;gap:8px}
    .form-actions .btn{width:100%;justify-content:center}
}

@media(max-width:430px){
    .topbar-logo{font-size:18px;padding-left:11px;padding-right:6px}
    .topbar-logo .logo-svg{width:21px;height:21px}
    .client-brand{font-size:16px;padding-left:11px;padding-right:6px}
    .client-brand .logo-svg{width:21px;height:21px}
    .menu-toggle{margin-right:4px}
    .sidebar,.client-sidebar{width:90vw;max-width:310px}
    .sidebar-nav a,.client-nav a{padding-left:18px;padding-right:18px}
    .sidebar-section-title{padding-left:18px;padding-right:18px}
    .sidebar-sub a{padding-left:48px}
    .mobile-sidebar-extras-title{padding-left:18px;padding-right:18px}
    .mobile-sidebar-extras a{padding-left:18px;padding-right:18px}
    .main-content,.client-content{padding-left:8px;padding-right:8px}
    .page-head{margin-bottom:14px}
    .card-body{padding:12px}
    .grid{gap:10px}
    .file-grid{grid-template-columns:1fr 1fr}
    .btn{width:100%;justify-content:center}
    .table-actions .btn,.table-actions .icon-action,.icon-action{width:40px;min-width:40px}
    .table-actions{justify-content:flex-start}
    .alert{padding:11px 12px;font-size:12px}
    .empty-state{padding:26px 12px}
    .process-ribbon{margin-top:-8px;margin-bottom:18px}
}

@media(hover:none) and (pointer:coarse){
    .btn,.icon-action,.sidebar-nav a,.client-nav a,.tabs a{touch-action:manipulation}
    .sidebar-nav a:hover,.client-nav a:hover{filter:none}
}

/* =========================================================
   MOBILE 2.0 — SEM ARRASTAR PARA O LADO
   Tabelas viram cartões e controles quebram em linhas.
   Desktop permanece inalterado.
   ========================================================= */
@media(max-width:700px){
    html,body{overflow-x:hidden!important;max-width:100%!important}
    .main-content,.client-content,.card,.card-body,.toolbar,.page-head{min-width:0!important;max-width:100%!important}

    /* Abas e faixas deixam de exigir gesto horizontal */
    .tabs,.report-tabs,.config-nav,.process-ribbon{
        overflow-x:visible!important;
        flex-wrap:wrap!important;
        white-space:normal!important;
    }
    .tabs a,.report-tabs a,.config-nav a,.process-ribbon .ribbon-tag{
        white-space:normal!important;
        flex:1 1 auto;
        min-width:0;
    }
    .report-tabs a{border-bottom:1px solid var(--gray-border)}

    /* Tabelas desktop -> cartões mobile. Labels são inseridos pelo app.js. */
    .table-wrap{
        overflow:visible!important;
        border:0!important;
        background:transparent!important;
        width:100%!important;
    }
    .table-wrap .mobile-scroll-hint{display:none!important}
    .table,
    .table-inside .table,
    .table-compact,
    .report-table,
    .statistics-table .table,
    .calendar-list-wrap .table{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        border-collapse:separate!important;
    }
    .table thead{display:none!important}
    .table tbody{display:grid!important;gap:10px!important;width:100%!important}
    .table tr{
        display:block!important;
        width:100%!important;
        background:#fff!important;
        border:1px solid var(--gray-border)!important;
        border-radius:8px!important;
        box-shadow:0 2px 8px rgba(22,45,62,.06)!important;
        overflow:hidden!important;
    }
    .table tr:hover td{background:transparent!important}
    .table td{
        display:grid!important;
        grid-template-columns:minmax(92px,38%) minmax(0,1fr)!important;
        align-items:start!important;
        gap:10px!important;
        width:100%!important;
        max-width:100%!important;
        padding:10px 12px!important;
        border-right:0!important;
        border-bottom:1px solid #edf0f2!important;
        text-align:left!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
    }
    .table td:last-child{border-bottom:0!important}
    .table td::before{
        content:attr(data-label);
        display:block;
        color:#6d7884;
        font-size:11px;
        line-height:1.35;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.2px;
        overflow-wrap:anywhere;
    }
    .table td[data-label=""]{grid-template-columns:1fr!important}
    .table td[data-label=""]::before{display:none!important}
    .table td[colspan]{grid-template-columns:1fr!important;text-align:center!important}
    .table td[colspan]::before{display:none!important}
    .table .text-right{text-align:left!important}
    .table .nowrap{white-space:normal!important}
    .table-actions{
        min-width:0!important;
        width:100%!important;
        display:flex!important;
        flex-wrap:wrap!important;
        justify-content:flex-start!important;
        gap:7px!important;
    }
    .table-actions .btn{
        width:auto!important;
        min-width:44px!important;
        flex:1 1 120px!important;
        justify-content:center!important;
    }
    .table-actions .icon-action{
        width:44px!important;
        min-width:44px!important;
        height:44px!important;
        flex:0 0 44px!important;
    }

    /* Formulários, filtros e ações sempre dentro da largura da tela */
    .form-row,.report-date-row,.config-location-row,.config-smtp-grid,.diagnostic-grid{
        grid-template-columns:1fr!important;
    }
    .report-filter-actions,.log-actions,.priority-summary,.calendar-modes,.calendar-navigation{
        width:100%!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .report-filter-actions .btn,.log-actions .btn,.calendar-modes .btn,.calendar-navigation .btn{
        width:100%!important;
        min-width:0!important;
        justify-content:center!important;
    }

    /* Calendário mensal continua visível, mas sem largura fixa/rolagem lateral */
    .calendar-month{
        min-width:0!important;
        width:100%!important;
        grid-template-columns:repeat(7,minmax(0,1fr))!important;
        overflow:hidden!important;
    }
    .calendar-weekday{padding:7px 2px!important;font-size:9px!important;overflow:hidden!important}
    .calendar-day{min-width:0!important;min-height:72px!important;padding:4px!important;overflow:hidden!important}
    .calendar-day-number{font-size:11px!important;margin-bottom:2px!important}
    .calendar-day-number a{width:22px!important;height:22px!important}
    .calendar-event{
        font-size:9px!important;
        line-height:1.2!important;
        padding:3px!important;
        margin-top:3px!important;
        white-space:normal!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        max-height:30px!important;
    }
    .card-body:has(.calendar-month){overflow:visible!important}

    /* Gráficos e blocos que antes carregavam largura mínima */
    .monthly-columns{min-width:0!important;width:100%!important;gap:3px!important;overflow:hidden!important;padding-left:2px!important;padding-right:2px!important}
    .monthly-column{min-width:0!important}
    .monthly-bars{gap:1px!important}
    .monthly-bar{width:6px!important}
    .monthly-values{font-size:8px!important}
    .monthly-label{font-size:8px!important;transform:rotate(-55deg)!important}
    .finance-chart-row{min-width:0!important}

    /* Conteúdo longo nunca aumenta a página */
    pre,code,.document-preview,.generated-document-content,.editor-preview{
        max-width:100%!important;
        white-space:pre-wrap!important;
        overflow-wrap:anywhere!important;
        word-break:break-word!important;
    }
    img,video,canvas,iframe{max-width:100%!important;height:auto}
}

@media(max-width:430px){
    .table td{grid-template-columns:minmax(82px,36%) minmax(0,1fr)!important;padding:9px 10px!important;gap:8px!important}
    .table td::before{font-size:10px!important}
    .calendar-weekday{font-size:8px!important}
    .calendar-day{min-height:64px!important;padding:3px!important}
    .calendar-event{font-size:8px!important;max-height:27px!important}
}

/* ConexaoJURI - identidade visual final */
.topbar-logo{height:58px}
.topbar-brand-image{display:block;width:164px;max-width:100%;height:44px;object-fit:contain;background:#fff;border-radius:8px;padding:5px 7px}
@media(max-width:980px){.topbar-brand-image{width:150px;height:40px}}
