/* CRM LPT v3.33 - Design System */
:root{
  --lpt-font-xs:12px;
  --lpt-font-sm:13px;
  --lpt-font-md:14px;
  --lpt-font-lg:16px;
  --lpt-font-xl:18px;
  --lpt-title-modal:26px;
  --lpt-radius-sm:8px;
  --lpt-radius-md:10px;
  --lpt-radius-lg:14px;
  --lpt-space-1:6px;
  --lpt-space-2:10px;
  --lpt-space-3:14px;
  --lpt-space-4:18px;
  --lpt-space-5:24px;
  --lpt-control-h:42px;
  --lpt-border:#dbe4ef;
  --lpt-surface:#f8fafc;
  --lpt-text:#17263b;
  --lpt-muted:#64748b;
  --lpt-blue:#2563d9;
}

/* Tipografia e componentes comuns em modais administrativos */
.modal .modal-head h2{font-size:var(--lpt-title-modal);line-height:1.15;letter-spacing:-.015em}
.modal .modal-head p{font-size:var(--lpt-font-xs);letter-spacing:.12em;font-weight:800}
.modal .modal-head span{font-size:var(--lpt-font-sm);line-height:1.5}
.modal h3{font-size:var(--lpt-font-lg);line-height:1.3}
.modal h4{font-size:var(--lpt-font-md)}
.modal label{font-size:var(--lpt-font-sm);line-height:1.35}
.modal input,.modal select,.modal textarea{font-size:var(--lpt-font-md);line-height:1.4;border-radius:var(--lpt-radius-sm)}
.modal input:not([type=checkbox]):not([type=radio]):not([type=range]),.modal select{min-height:var(--lpt-control-h)}
.modal button{font-size:var(--lpt-font-sm);min-height:36px;border-radius:var(--lpt-radius-sm)}
.modal .primary{font-weight:800}
.modal small{font-size:var(--lpt-font-xs);line-height:1.45}

/* Administração: clientes */
.client-modal{width:min(1180px,96vw)}
.client-layout{grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:var(--lpt-space-5)}
.management-card{padding:20px;background:var(--lpt-surface);border-color:var(--lpt-border);border-radius:var(--lpt-radius-lg)}
.management-card h3,.client-layout>div>h3{font-size:var(--lpt-font-lg);margin-bottom:16px}
.management-row{padding:14px 16px;border-color:var(--lpt-border);border-radius:var(--lpt-radius-md);gap:14px}
.management-row strong{font-size:var(--lpt-font-md)}
.management-row small{font-size:var(--lpt-font-xs);line-height:1.4}
.management-row button,.environment-actions button{font-size:var(--lpt-font-xs);padding:8px 11px;min-height:34px}

/* Administração: propostas */
.proposal-layout{gap:var(--lpt-space-5)}
.proposal-form{padding:20px;border-color:var(--lpt-border);border-radius:var(--lpt-radius-lg)}
.proposal-form h3,.proposal-layout>div>h3{font-size:var(--lpt-font-lg)}
.proposal-form textarea{min-height:86px}
.proposal-item{grid-template-columns:minmax(130px,1fr) minmax(180px,1.5fr) 72px 110px 112px 36px;gap:8px}
.proposal-item input,.proposal-item select{font-size:var(--lpt-font-sm);min-height:38px;padding:8px 10px}
.proposal-row{padding:15px 16px;border-radius:var(--lpt-radius-md)}
.proposal-row strong{font-size:var(--lpt-font-md)}
.proposal-row small{font-size:var(--lpt-font-xs);line-height:1.45}
.proposal-row button{font-size:var(--lpt-font-xs);padding:8px 10px;min-height:34px}
.proposal-status{font-size:11px;padding:5px 8px}

/* Colaboradores: reforça legibilidade e consistência */
.users-modal .user-row strong{font-size:var(--lpt-font-md)}
.users-modal .user-row small{font-size:var(--lpt-font-xs)}
.users-modal .user-row button{font-size:var(--lpt-font-xs);min-height:34px}
.users-modal .users-toolbar strong{font-size:var(--lpt-font-md)}
.users-modal .users-toolbar small{font-size:var(--lpt-font-xs)}

/* Demanda: gestão compacta e sem grandes vazios */
#demand-detail-modal .modal{width:min(1100px,96vw);max-height:94vh;overflow:auto}
.demand-management{grid-template-columns:minmax(250px,.8fr) minmax(0,1.7fr);gap:14px;padding:14px;background:#f8fafc;border-color:var(--lpt-border);border-radius:var(--lpt-radius-lg)}
.demand-management>div{align-items:stretch;gap:10px}
.demand-management>div>b{display:block;width:100%;font-size:var(--lpt-font-md);color:var(--lpt-text);margin-bottom:2px}
.demand-management label{font-size:var(--lpt-font-sm);color:#334155}
.demand-management select{font-size:var(--lpt-font-md);min-height:42px;padding:8px 10px}
.supporter-picker{grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px;max-height:190px;overflow:auto;padding:2px}
.supporter-picker label{display:flex;align-items:center;gap:9px;margin:0!important;padding:9px 10px;border:1px solid #dbe4ef;border-radius:9px;background:#fff;color:#334155;font-size:var(--lpt-font-sm);font-weight:700;cursor:pointer;min-width:0}
.supporter-picker label:hover{border-color:#a9c3eb;background:#f4f8ff}
.supporter-picker label:has(input:checked){border-color:#79a5e6;background:#edf5ff;box-shadow:inset 0 0 0 1px #b8d2f5}
.supporter-picker input{width:16px!important;height:16px!important;margin:0!important;flex:none;accent-color:var(--lpt-blue)}
.supporter-avatar{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:50%;background:#e8f1ff;color:#245cc0;font-size:11px;font-weight:900}
.supporter-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#dm-support-save,#dm-transfer-btn{align-self:flex-end;min-height:40px;padding:8px 14px}
.demand-detail-grid{padding:14px;border-radius:var(--lpt-radius-lg)}
.demand-detail-grid small{font-size:var(--lpt-font-xs);font-weight:800;color:#52637a}
.progress-editor{gap:12px}.progress-editor b{min-width:42px;font-size:var(--lpt-font-md)}
.demand-detail-actions{gap:9px}.demand-detail-actions button{font-size:var(--lpt-font-sm);padding:8px 12px}
.demand-comment textarea{font-size:var(--lpt-font-md);padding:12px 14px}
.demand-event{font-size:var(--lpt-font-md);line-height:1.45}.demand-event small{font-size:var(--lpt-font-xs)}

@media(max-width:900px){
  .client-layout,.demand-management{grid-template-columns:1fr}
  .supporter-picker{grid-template-columns:1fr 1fr}
  .proposal-item{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .supporter-picker{grid-template-columns:1fr}
  .proposal-item{grid-template-columns:1fr}
  .modal .modal-head h2{font-size:23px}
}

/* v3.41 - Clientes 360 e SLA */
.client-management-row.inactive{background:#f8fafc;opacity:.78;border-style:dashed}
.client-management-info{min-width:0;flex:1}.client-management-info small{color:#66758b}
.client-management-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.client-management-actions .client-deactivate{color:#9a6700;border-color:#f0d9a1;background:#fffaf0}
.client-management-actions .client-activate{color:#087a55;border-color:#b9e6d4;background:#f0fff8}
.client-management-actions .danger{color:#b42318;border-color:#f2b8b5;background:#fff5f5}
@media(max-width:820px){.client-management-row{align-items:flex-start;flex-direction:column}.client-management-actions{width:100%;justify-content:flex-start}}

/* v3.42 - Clientes 360 */
.client-modal{width:min(1320px,97vw)}
.client-360-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(220px,300px);gap:14px;align-items:end;padding:14px 16px;margin-bottom:16px;background:#f8fafc;border:1px solid #dbe4ef;border-radius:14px}
.client-360-toolbar>div{display:flex;flex-direction:column;gap:3px}.client-360-toolbar strong{font-size:16px;color:#17233b}.client-360-toolbar small{font-size:12px;color:#66758b}
.client-360-toolbar label{margin:0;color:#34445d;font-weight:800}.client-360-toolbar input,.client-360-toolbar select{background:#fff;color:#17233b;border:1px solid #cfd9e6}
.client-360-layout{grid-template-columns:300px minmax(0,1fr);align-items:start}.client-360-list{display:grid;gap:10px}
.client-360-row{background:#fff;align-items:center;padding:16px 18px;box-shadow:0 4px 14px rgba(22,35,59,.035)}.client-360-row.inactive{opacity:.86;background:#f8fafc}
.client-360-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.client-360-name strong{font-size:16px;color:#10203a}.client-state{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:10px;line-height:1;font-weight:900;letter-spacing:.04em}.client-state.on{background:#dcfce7;color:#087a55}.client-state.off{background:#fee2e2;color:#b42318}
.client-mini-metrics{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.client-mini-metrics span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;background:#f5f8fc;border:1px solid #e2e8f0;border-radius:8px;color:#56667d;font-size:11px}.client-mini-metrics b{color:#17233b;font-size:12px}
.client-management-actions .client-view{background:#2563d8;color:#fff;border-color:#2563d8;font-weight:800}.client-management-actions .client-view:hover{background:#1d55bd}
.client-form-note{display:flex;flex-direction:column;gap:3px;margin-top:16px;padding:12px;background:#eff6ff;border:1px solid #cfe0ff;border-radius:10px}.client-form-note b{font-size:12px;color:#245cc0}.client-form-note span{font-size:11px;color:#586980;line-height:1.45}
.client-360-modal{width:min(1280px,97vw);max-height:94vh;overflow:auto}.client-360-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:2px 0 14px}.client-360-summary article{padding:14px 16px;background:#f8fafc;border:1px solid #dbe4ef;border-radius:12px}.client-360-summary small{display:block;font-size:10px;font-weight:900;letter-spacing:.06em;color:#718096}.client-360-summary b{display:block;margin-top:4px;font-size:24px;color:#17233b}
.client-360-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #dbe4ef;margin-bottom:14px}.client-360-tabs button{border:0;background:transparent;padding:10px 12px;border-bottom:2px solid transparent;color:#52637a;font-weight:800}.client-360-tabs button.active{color:#2563d8;border-color:#2563d8}
.client-360-content{min-height:260px}.client-overview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.client-overview-grid article{display:flex;flex-direction:column;gap:5px;padding:16px;background:#fff;border:1px solid #dbe4ef;border-radius:12px}.client-overview-grid small{font-size:10px;font-weight:900;letter-spacing:.06em;color:#718096}.client-overview-grid strong{font-size:21px;color:#17233b}.client-overview-grid span{font-size:12px;color:#66758b;line-height:1.4}.ok-text{color:#087a55!important}.danger-text{color:#b42318!important}.muted-text{color:#7b8798!important}
.client-360-note{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:14px 16px;background:#fff9eb;border:1px solid #f1ddb0;border-radius:12px}.client-360-note b{color:#8a5a00}.client-360-note span{font-size:12px;color:#6c5a37;line-height:1.5}
.client-360-table{border:1px solid #dbe4ef;border-radius:12px;overflow:hidden}.client-360-tr{display:grid;grid-template-columns:1.25fr .65fr .9fr 1.3fr;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #e6ecf3;background:#fff;color:#34445d;font-size:12px}.client-360-tr:last-child{border-bottom:0}.client-360-tr.head{background:#f3f7fb;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#6d7c91}.client-360-tr span{min-width:0;overflow:hidden;text-overflow:ellipsis}.client-360-tr b,.client-360-tr small{display:block}.client-360-tr small{color:#7b8798;margin-top:3px}
.client-360-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-360-cards article{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 16px;background:#fff;border:1px solid #dbe4ef;border-radius:12px}.client-360-cards b{font-size:14px;color:#17233b}.client-360-cards span,.client-360-cards small{font-size:12px;color:#66758b}.client-demand-card span{display:flex;gap:5px;flex-wrap:wrap}.client-demand-card i{font-style:normal}
.client-history{display:grid;gap:10px}.client-history article{padding:14px 16px;border:1px solid #dbe4ef;border-radius:12px;background:#fff}.client-history b{display:block;color:#17233b;margin-bottom:4px}.client-history span{font-size:12px;color:#66758b}.client-360-empty{display:grid;place-items:center;min-height:220px;border:1px dashed #cfd9e6;border-radius:12px;background:#fafcff;color:#718096;font-size:13px}
@media(max-width:1050px){.client-360-toolbar{grid-template-columns:1fr 160px}.client-360-toolbar label:last-child{grid-column:1/-1}.client-360-layout{grid-template-columns:260px 1fr}.client-overview-grid{grid-template-columns:repeat(3,1fr)}.client-360-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.client-360-toolbar,.client-360-layout{grid-template-columns:1fr}.client-360-toolbar label:last-child{grid-column:auto}.client-360-summary{grid-template-columns:repeat(2,1fr)}.client-overview-grid,.client-360-cards{grid-template-columns:1fr}.client-360-tr{grid-template-columns:1fr}.client-360-tr.head{display:none}.client-management-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}}
.client-company-form{min-width:430px}.client-company-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.client-company-grid .full,.section-label{grid-column:1/-1}.section-label{font-weight:800;color:#17345f;border-top:1px solid #dce5f0;padding-top:10px}.idea-layout{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);gap:20px}.ideas-list{display:grid;gap:10px;max-height:68vh;overflow:auto}.idea-card{border:1px solid #dce5f0;border-radius:12px;padding:14px;background:#fff}.idea-card header,.idea-card footer{display:flex;justify-content:space-between;gap:10px;align-items:center}.idea-card p{margin:8px 0;color:#46566d}.idea-card small{color:#6b788b}.idea-status{padding:5px 9px;border-radius:999px;background:#edf3fb;font-size:12px;font-weight:800}.proposal-client-summary{padding:12px;border:1px solid #d8e3f0;background:#f5f8fc;border-radius:10px;color:#33445d;font-size:13px}.client-company-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.client-company-details article{border:1px solid #dce5f0;border-radius:10px;padding:12px}.client-company-details small,.client-company-details b{display:block}@media(max-width:900px){.client-company-form{min-width:0}.client-company-grid,.idea-layout,.client-company-details{grid-template-columns:1fr}}

/* v3.45 - clientes/ideias + alertas Proxmox Telegram */
.client-create-actions{display:flex;justify-content:flex-end;margin:0 0 12px}
.client-360-layout.client-form-collapsed{grid-template-columns:1fr}
.client-360-layout.client-form-collapsed>div{min-width:0}
#open-ideas{font-weight:700}
.idea-layout{align-items:start}
.idea-card header b{font-size:14px}.idea-card p{font-size:13px;line-height:1.45}.idea-card footer select,.idea-card footer button{min-height:36px}
@media(max-width:900px){.client-create-actions{justify-content:stretch}.client-create-actions button{width:100%}}
