@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f7fb;--card:#fff;--line:#e6eaf2;--text:#172033;--muted:#667085;--primary:#2454e6;--soft:#eef3ff;--radius:22px;--shadow:0 20px 50px rgba(28,39,76,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Manrope,system-ui,sans-serif;color:var(--text)}.app-shell{display:flex;min-height:100vh}.sidebar{width:280px;background:#fff;border-right:1px solid var(--line);padding:26px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}.brand-icon{width:46px;height:46px;border-radius:16px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:22px}.brand strong{display:block;font-size:20px}.brand span{font-size:12px;color:var(--muted)}.sidebar nav{display:grid;gap:8px}.sidebar a{color:#485066;text-decoration:none;padding:13px 14px;border-radius:14px;font-weight:700;display:flex;gap:10px;align-items:center}.sidebar a.active,.sidebar a:hover{background:var(--soft);color:var(--primary)}.main{flex:1;padding:28px;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{font-size:30px;font-weight:800;margin:0}.topbar small,.muted{color:var(--muted)}.hero-card,.panel,.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:34px;margin-bottom:20px;background:linear-gradient(135deg,#fff,#eef3ff)}.hero-card h2{font-size:30px;max-width:780px;font-weight:800}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--primary)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{padding:22px}.stat-card span{color:var(--muted);font-weight:700}.stat-card strong{display:block;font-size:28px;margin-top:8px}.panel{padding:24px}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel h3{font-size:19px;font-weight:800;margin-bottom:16px}.btn{border-radius:12px;font-weight:800}.form-control,.form-select{border-radius:13px;border-color:#d9deea;padding:11px 13px}.kanban-board{display:flex;gap:16px;overflow:auto;padding-bottom:20px}.kanban-column{min-width:310px;width:310px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow)}.kanban-header{display:flex;gap:10px;align-items:center;padding:8px 4px 14px}.kanban-header span{width:12px;height:12px;border-radius:50%}.kanban-dropzone{min-height:60vh;display:grid;align-content:start;gap:12px}.kanban-dropzone.drag-over{outline:2px dashed var(--primary);outline-offset:4px;border-radius:18px}.case-card{background:#fbfcff;border:1px solid #e9edf5;border-radius:18px;padding:15px;cursor:grab;transition:.2s}.case-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(28,39,76,.09)}.case-card h4{font-size:15px;font-weight:800;margin:8px 0}.case-card p{font-size:13px;color:var(--muted);margin:0 0 8px}.case-card small{display:block;color:#667085;margin-top:5px}.case-top{display:flex;justify-content:space-between;align-items:center}.priority{font-size:11px;background:#eef3ff;color:#2444a5;padding:5px 9px;border-radius:99px;font-weight:800}.template-list{display:grid;gap:12px}.template-item{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fbfcff}.timeline{border-left:2px solid #e5eaf4;padding-left:18px}.timeline-item{margin-bottom:16px;position:relative}.timeline-item:before{content:'';position:absolute;left:-25px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--primary)}@media(max-width:900px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:relative}.sidebar nav{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:1fr 1fr}.main{padding:18px}.topbar{align-items:flex-start;gap:10px;flex-direction:column}}@media(max-width:560px){.stats-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.kanban-column{min-width:86vw}}
.calendar-panel{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:20px;box-shadow:0 14px 35px rgba(15,23,42,.06)}
.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-header h3{margin:0;font-size:1.15rem;font-weight:800}
.case-calendar{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:8px}.cal-weekday{font-weight:800;color:#64748b;text-align:center;font-size:.82rem;padding:6px}.cal-day{min-height:92px;text-align:left;border:1px solid #e5e7eb;background:#f8fafc;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:5px;transition:.2s}.cal-day:hover{background:#eef6ff;border-color:#93c5fd;transform:translateY(-1px)}.muted-day{background:transparent;border:0}.cal-event{display:block;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-more{font-size:.72rem;color:#64748b}.appointment-box{background:#f8fafc;border:1px solid #dbe4f0;border-radius:18px;padding:16px;margin-top:16px}.appointment-box h4,.appointment-list h4{font-size:1rem;font-weight:800}.appointment-list{display:grid;gap:10px}.appointment-item{border:1px solid #e5e7eb;border-radius:16px;padding:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:#fff}.appointment-item p{margin:.25rem 0}.appointment-item small{color:#64748b}@media(max-width:900px){.case-calendar{grid-template-columns:repeat(2,1fr)}.cal-weekday{display:none}.cal-day{min-height:75px}}
.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;place-items:center;position:relative;color:var(--text)}.notification-btn span{position:absolute;top:-5px;right:-4px;min-width:20px;height:20px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}.notification-menu{width:360px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px}.notification-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line)}.notification-item{width:100%;border:0;background:#fff;text-align:left;display:flex;gap:10px;padding:12px;border-radius:14px;color:var(--text)}.notification-item:hover{background:var(--soft)}.notification-item i{color:var(--primary);font-size:18px}.notification-item span{display:grid}.notification-item small{color:var(--muted);font-size:12px}.empty-notifications{padding:14px;margin:0;color:var(--muted)}.user-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:800}.user-pill a{font-size:12px;text-decoration:none;color:var(--primary)}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f8fbff,#eef3ff)}.login-card{width:min(440px,92vw);background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:34px}.login-card h1{font-size:28px;font-weight:800;text-align:center}.login-card p{text-align:center;color:var(--muted)}.stat-card:nth-child(5){grid-column:auto}.pulse{animation:pulseBell .7s ease-in-out 2}@keyframes pulseBell{0%{transform:scale(1)}50%{transform:scale(1.18)}100%{transform:scale(1)}}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* Contratos - editor interno */
.contracts-page .contract-table th{font-size:.78rem;text-transform:uppercase;color:#667085;letter-spacing:.06em}.signed-upload-form{display:flex;gap:6px;min-width:190px}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:#eef2ff;color:#2444a5;font-size:.76rem;font-weight:800}.status-assinado{background:#dcfce7;color:#166534}.status-validado{background:#ecfdf5;color:#047857}.status-enviado{background:#e0f2fe;color:#075985}.status-em-edição{background:#fff7ed;color:#9a3412}.status-avulso{background:#f1f5f9;color:#334155}.template-vars{max-width:430px;text-align:right}.editor-shell{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}.editor-sidebar{position:sticky;top:22px}.contract-meta{border:1px solid var(--line);border-radius:16px;background:#fbfcff;padding:13px 14px;margin-bottom:10px}.contract-meta span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:#667085;font-weight:800}.contract-meta strong{display:block;margin-top:3px}.editor-help{background:#eef3ff;border-radius:18px;padding:16px;color:#26365f}.editor-help ol{margin:10px 0 0;padding-left:20px}.editor-main{padding:0;overflow:hidden}.editor-top{display:flex;align-items:flex-end;gap:16px;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff,#f7f9ff)}.editor-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.editor-toolbar{position:sticky;top:0;z-index:5;display:flex;gap:6px;padding:12px 22px;border-bottom:1px solid var(--line);background:#fff}.editor-toolbar button{width:36px;height:36px;border:1px solid #d9deea;background:#fff;border-radius:10px;color:#172033}.editor-toolbar button:hover{background:#eef3ff;color:var(--primary)}.contract-paper{width:min(100%,850px);min-height:920px;margin:26px auto;background:#fff;border:1px solid #dfe4ee;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.12);padding:70px 76px;outline:none;line-height:1.58;font-family:Georgia,'Times New Roman',serif;font-size:15.5px;color:#111827}.contract-paper:focus{box-shadow:0 24px 70px rgba(36,84,230,.18);border-color:#b8c7ff}.contract-paper p{margin:0 0 12px}.contract-paper table{width:100%;border-collapse:collapse;margin:14px 0}.contract-paper td,.contract-paper th{border:1px solid #cbd5e1;padding:8px;vertical-align:top}.signature-box{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--line);padding:22px;background:#fbfcff}.contract-editor-page .alert{box-shadow:var(--shadow)}
@media(max-width:1100px){.editor-shell{grid-template-columns:1fr}.editor-sidebar{position:relative;top:auto}.editor-top,.signature-box{flex-direction:column;align-items:stretch}.editor-actions{justify-content:flex-start}.contract-paper{padding:42px 28px;min-height:700px}}
.docx-preserve-notice{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:14px;padding:12px 14px;margin-bottom:22px;font-size:.86rem;line-height:1.45}.contract-paper [data-lex-block]{min-height:1.1em;outline:1px solid transparent;border-radius:4px}.contract-paper [data-lex-block]:focus{outline:1px dashed #9bb3ff;background:#f8faff}.contract-paper [data-lex-block]:hover{background:#fbfcff}.editor-toolbar .preserve-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #d9deea;background:#f8fafc;border-radius:999px;padding:8px 12px;font-weight:700;color:#344054;font-size:.82rem}

/* Variáveis de contratos */
.variable-fill-card{
  border:1px solid rgba(148,163,184,.28);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.04);
}
.variable-style-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  font-size:.84rem;
  color:var(--muted, #64748b);
}
.variable-style-options .style-label{font-weight:700;color:var(--text, #0f172a);margin-right:2px;}
.variable-style-options label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  cursor:pointer;
}
.variable-style-options input{accent-color:#2563eb;}
.payment-stage-box{border-top:1px solid var(--line);background:#fbfcff}.payment-form-grid fieldset{border:0;padding:0;margin:0}.payment-list{display:grid;gap:12px}.payment-item{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px}.payment-item small{display:block;color:#667085}.payment-item code{white-space:normal;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:8px;color:#0f172a}@media(max-width:900px){.payment-item{flex-direction:column}.payment-item>div:last-child{justify-content:flex-start!important}}

/* Central de boletos */
.boleto-center-panel .table { margin-bottom: 0; }
.boleto-table th { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; border-bottom-color: rgba(148,163,184,.18); }
.boleto-table td { border-color: rgba(148,163,184,.12); vertical-align: middle; }
.line-code { display:block; max-width: 360px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-radius: 12px; padding: .4rem .6rem; background: rgba(15,23,42,.06); }
.boleto-status-select { min-width: 150px; }
.status-pago { background: rgba(22, 163, 74, .12); color: #15803d; }
.status-emitido { background: rgba(37, 99, 235, .12); color: #1d4ed8; }
.status-aguardando-pagamento { background: rgba(245, 158, 11, .14); color: #b45309; }
.status-cancelado, .status-erro { background: rgba(239, 68, 68, .12); color: #b91c1c; }
.empty-state { min-height: 240px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; color: var(--muted); text-align:center; border:1px dashed rgba(148,163,184,.35); border-radius: 24px; }
.empty-state i { font-size: 2rem; }
.search-table-form{min-width:min(520px,100%)}.pix-details summary{cursor:pointer;font-weight:800;color:var(--primary)}.pix-details textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.boleto-center-panel .input-group-text{border-radius:13px 0 0 13px}.status-pago{background:#dcfce7!important;color:#166534!important}.status-emitido,.status-aguardando-pagamento{background:#eef3ff!important;color:#2454e6!important}.status-erro,.status-cancelado{background:#fee2e2!important;color:#991b1b!important}

/* Financeiro v25 */
.finance-filter-form .form-control{min-width:150px}.finance-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.finance-table td{vertical-align:middle}.status-aberta{background:#eef3ff;color:#2454e6}.status-atrasada{background:#fee2e2;color:#991b1b}.status-paga{background:#dcfce7;color:#166534}.status-cancelada{background:#f1f5f9;color:#475569}.contract-file-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap}.contract-file-actions .btn{white-space:nowrap}.quick-assets{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.quick-asset{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);border:1px solid #e5e7eb;border-radius:14px;padding:10px 11px;margin-top:8px;background:#f8fafc;transition:.15s}.quick-asset:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.quick-asset i{color:#2563eb}.editor-sidebar{max-height:calc(100vh - 28px);overflow:auto}.editor-sidebar::-webkit-scrollbar{width:8px}.editor-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}#financeChart,#payablesChart{width:100%;max-width:100%;display:block}.recurrence-end-wrap.opacity-50 input{pointer-events:none}.signed-upload-form{align-items:center}.signed-upload-form .form-control{min-width:260px}.contract-table td{vertical-align:middle}.contract-table th:nth-child(4),.contract-table td:nth-child(4){min-width:310px}@media(max-width:1200px){.contract-file-actions{flex-wrap:wrap}.signed-upload-form .form-control{min-width:180px}.editor-sidebar{max-height:none}}
.manual-contract-box {
  padding: 24px;
  background: linear-gradient(180deg, rgba(15, 98, 254, .04), rgba(22, 163, 74, .04));
  border-bottom: 1px solid var(--border);
}

/* Tarefas estilo Trello/Kanban */
.task-kanban-board .task-column{min-width:330px;width:330px}.task-card-meta{display:flex;gap:8px;align-items:center}.task-card-meta span{font-size:.76rem;font-weight:800;color:#475569;border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:4px 8px}.task-comment{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:11px;margin-bottom:9px}.task-comment p{margin:.25rem 0;color:#334155}.task-comment small,.quick-asset small{display:block;color:#64748b;font-size:.74rem}.task-comments{max-height:360px;overflow:auto;padding-right:4px}.task-kanban-board .kanban-dropzone{min-height:62vh}.task-card h4{line-height:1.25}.task-card p{min-height:34px}.modal-xl .quick-asset span{min-width:0}.modal-xl .quick-asset strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.settings-nav .list-group-item{border-radius:12px;margin-bottom:6px;border:1px solid #e5e7eb}.settings-form .card-soft{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;box-shadow:0 8px 25px rgba(15,23,42,.05)}.settings-form .form-label{font-size:.88rem;color:#0f172a}.settings-form small.text-muted{font-size:.75rem}.secret-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
/* Depuração de integrações */
.debug-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:18px;align-items:start}.debug-list-panel,.debug-detail-panel{min-height:540px}.debug-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.debug-table td{vertical-align:middle}.debug-detail-panel{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto}.debug-meta{display:grid;gap:8px}.debug-meta div{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:10px}.debug-meta strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.debug-meta span{display:block;word-break:break-word;font-weight:700}.debug-block{border:1px solid #e5e7eb;border-radius:16px;background:#fff;margin-bottom:10px;overflow:hidden}.debug-block summary{cursor:pointer;font-weight:800;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.debug-block pre{margin:0;max-height:320px;overflow:auto;padding:14px;background:#0f172a;color:#e5e7eb;font-size:.78rem;border-radius:0}.debug-filter-form .form-label{font-size:.82rem;color:#475569}@media(max-width:1200px){.debug-grid{grid-template-columns:1fr}.debug-detail-panel{position:relative;top:auto;max-height:none}}
