*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f4f6fa;color:#182230}.app{display:flex;min-height:100vh}aside{width:250px;background:#172033;color:#fff;padding:24px 16px;flex:0 0 250px}.brand{font-size:22px;font-weight:800;line-height:1.05;margin:4px 8px 30px}.brand span{font-size:11px;letter-spacing:2px;opacity:.55}nav button{display:block;width:100%;border:0;background:transparent;color:#d9e1ee;text-align:left;padding:12px 14px;margin:4px 0;border-radius:9px;font-size:14px;cursor:pointer}nav button:hover,nav button.active{background:#2d6eea;color:#fff}main{flex:1;padding:30px 36px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}h1{margin:0;font-size:28px}header p{margin:6px 0 0;color:#758195}.primary{border:0;background:#2d6eea;color:#fff;padding:11px 18px;border-radius:9px;font-weight:600;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.card,.panel{background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 12px #14213d0b}.card{border-left:5px solid #dbeafe}.card.danger{border-left-color:#ef4444}.card.warning{border-left-color:#f59e0b}.card.success{border-left-color:#22c55e}.label{color:#778399;font-size:13px}.num{font-size:31px;font-weight:750;margin-top:8px}.grow{flex:1}.panel h2{margin:0 0 16px;font-size:18px}.panel h3{margin-top:18px}table{width:100%;border-collapse:collapse}th,td{padding:11px 8px;text-align:left;border-bottom:1px solid #edf0f4;font-size:14px}.badge{border-radius:20px;padding:5px 9px;font-size:12px;font-weight:700}.red{background:#fee2e2;color:#b91c1c}.orange{background:#ffedd5;color:#c2410c}.green{background:#dcfce7;color:#15803d}.blue{background:#dbeafe;color:#1d4ed8}.empty{padding:35px;text-align:center;color:#7a8699}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-size:13px;color:#68758a;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #dbe1ea;border-radius:8px}.field textarea{min-height:90px}.field.full{grid-column:1/-1}.toolbar{display:flex;gap:10px;margin-bottom:15px;align-items:center}.toolbar input{padding:10px;border:1px solid #dbe1ea;border-radius:8px;flex:1}.toolbar button,.smallBtn{border:1px solid #dbe1ea;background:#fff;padding:9px 13px;border-radius:8px;cursor:pointer}.smallBtn{padding:7px 10px;font-size:12px}.notice{padding:13px;border-radius:9px;background:#fff7ed;color:#9a3412;margin-bottom:12px}.dangerNotice{background:#fee2e2;color:#991b1b}.checks{display:flex;flex-wrap:wrap;gap:10px}.check{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #e2e7ef;border-radius:8px;background:#fff}.check input{width:16px;height:16px}.modalish{position:fixed;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);width:min(850px,92vw);max-height:92vh;overflow:auto;box-shadow:0 20px 60px #0003}.modalish:before{content:'';position:fixed;inset:-100vh;z-index:-1;background:#0005}.sub{color:#758195}.selectCol{width:42px;text-align:center}.selectCol input{width:17px;height:17px;cursor:pointer}.exportHint{margin:8px 0 12px;padding:10px 12px;border-radius:8px;background:#eef5ff;color:#375a7f;font-size:13px}.inline{display:flex;gap:8px;align-items:center}.inline>*:first-child{flex:1}.hidden{display:none}.fileRow{padding:7px 0;border-bottom:1px solid #edf0f4}.linkBtn{border:0;background:none;color:#2563eb;cursor:pointer;padding:0}.checkLine{padding:7px 0}.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settingsGrid>div{border:1px solid #e7ebf2;border-radius:12px;padding:16px}.settingsGrid .full{grid-column:1/-1}.login{max-width:460px}.toolbar .primary{background:#2d6eea;color:#fff;border:0}@media(max-width:900px){aside{width:210px;flex-basis:210px}.cards{grid-template-columns:1fr 1fr}.form,.settingsGrid{grid-template-columns:1fr}.field.full,.settingsGrid .full{grid-column:auto}}

.secondary{border:0;background:#64748b;color:#fff;padding:11px 18px;border-radius:9px;font-weight:600;cursor:pointer}.secondary:hover{filter:brightness(.94)}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.modalHeader h2{margin:0}.modalClose{border:0;background:#fee2e2;color:#991b1b;width:38px;height:38px;border-radius:50%;font-size:25px;line-height:1;cursor:pointer;font-weight:700}.modalClose:hover{background:#fecaca}.modalActions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.styledSelect{border:1px solid #dbe1ea;background:#fff;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:600;color:#182230}.editableCheck{cursor:pointer;user-select:none}.editableCheck input{cursor:pointer;pointer-events:auto}.detailChecklist{display:grid;gap:8px}.uploadBox{margin-top:15px;padding:14px;border:1px dashed #cbd5e1;border-radius:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.uploadBox label{font-weight:600;width:100%}.uploadBox input{flex:1}.formBox .secondary{margin-left:2px}.backupOk{display:inline-block;margin-top:8px;padding:10px 12px;border-radius:8px;background:#e8f7ee;color:#17663a}.backupErr{display:inline-block;margin-top:8px;padding:10px 12px;border-radius:8px;background:#fdecec;color:#9b1c1c}

.costTotalBox{padding:12px 14px;border:1px solid #d9dee7;border-radius:10px;background:#f7f8fa;font-size:16px}.costTotalBox strong{font-size:18px}.sectionTitle{margin:4px 0 10px}

.finalView{padding:4px 2px 8px}.finalGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.finalGrid p{margin:0;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}.readonlyChecklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checkRow{padding:9px 10px;border:1px solid #e5e7eb;border-radius:8px}.checkRow.checked{background:#f0fdf4}.checkRow.unchecked{background:#fafafa}.finalText{padding:10px;border:1px solid #e5e7eb;border-radius:8px;margin:7px 0;white-space:pre-wrap}.costSummary{display:flex;flex-wrap:wrap;gap:10px}.costSummary span{padding:9px 12px;border-radius:8px;background:#f3f4f6}.signaturePreview img{max-width:420px;max-height:120px;border:1px solid #ddd;border-radius:8px;background:white}.issueRow{padding:10px;border:1px solid #e5e7eb;border-radius:8px;margin:7px 0}@media(max-width:900px){.finalGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.readonlyChecklist{grid-template-columns:1fr}}


/* v2.9 — configurator export compact */
.exportConfigurator{margin:12px 0 14px;padding:16px;border:1px solid #e3e8f0;border-radius:12px;background:#fbfcfe}
.exportConfigHeader{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.exportConfigHeader>b,.exportConfigHeader div:first-child>b{font-size:15px}
.exportCount{font-weight:700;padding:6px 10px;border-radius:999px;background:#eef5ff;color:#2d5f9e;white-space:nowrap}
.exportPresets{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e8ecf2}
.presetLabel{font-size:13px;color:#68758a;font-weight:600;margin-right:2px}
.exportGroupGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.exportGroup{border:1px solid #e1e6ee;border-radius:10px;background:#fff;overflow:hidden}
.exportGroup summary{list-style:none;cursor:pointer;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;font-weight:650;user-select:none}
.exportGroup summary::-webkit-details-marker{display:none}
.exportGroup summary:after{content:'＋';font-size:16px;color:#8290a4}
.exportGroup[open] summary:after{content:'−'}
.groupCount{font-size:11px;font-weight:700;color:#64748b;margin-left:auto;margin-right:8px}
.exportGroupItems{padding:0 10px 10px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.exportOption{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:7px;background:#f8fafc;font-size:13px;cursor:pointer}
.exportOption:hover{background:#f1f5f9}
.exportOption input{width:16px;height:16px;cursor:pointer;flex:0 0 auto}
.exportConfigFooter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #e8ecf2}
.exportConfigFooter .sub{margin-left:auto;font-size:12px}
.exportActions{justify-content:flex-end}
@media(max-width:1100px){.exportGroupGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.exportGroupGrid{grid-template-columns:1fr}.exportGroupItems{grid-template-columns:1fr}.exportConfigFooter .sub{width:100%;margin-left:0}}

.settingsTabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid #ddd;padding-bottom:10px}.settingsTab{border:1px solid #d5dbe3;background:#fff;padding:9px 13px;border-radius:8px;cursor:pointer}.settingsTab.active{font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.12)}

.auditTag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:650;border:1px solid #e2e8f0}
.auditAction{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent}
.auditAction-create{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.auditAction-update{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
.auditAction-delete{background:#fee2e2;color:#b91c1c;border-color:#fecaca}
.auditAction-complete{background:#ecfccb;color:#3f6212;border-color:#d9f99d}
.auditAction-export{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}
.auditAction-login{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}
.auditAction-settings{background:#fef3c7;color:#92400e;border-color:#fde68a}
.auditAction-other{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.exportConfigToggle{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;user-select:none}
.exportConfigToggle::-webkit-details-marker{display:none}
.exportConfigToggle:hover{background:#f1f5f9}
.exportChevron{display:inline-block;width:20px;font-size:18px;transition:transform .15s ease}
.exportConfigurator[open] .exportChevron{transform:rotate(90deg)}
.exportToggleHint{margin-left:10px;font-size:12px}
.exportConfigBody{padding-top:6px}
.exportConfigurator:not([open]){padding:8px 10px}
.styledSelect{min-width:190px;appearance:auto;border:1px solid #cbd5e1;background:#fff;padding:10px 34px 10px 12px;border-radius:10px;cursor:pointer;font-weight:650;color:#182230;box-shadow:0 1px 2px #0f172a0a}
.styledSelect:hover{border-color:#94a3b8;background:#f8fafc}
.styledSelect:focus{outline:2px solid #bfdbfe;outline-offset:1px}

/* v2.9.1 — editable maintenance checklist + operation details */
.checklistEditHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.checklistEditItem{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;margin:6px 0;border:1px solid #e2e8f0;border-radius:9px;background:#fff;cursor:pointer}
.checklistEditItem:hover{background:#f8fafc}
.checklistEditItem input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;cursor:pointer}
.auditDetailMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin-bottom:16px}
.auditDetailMeta p{margin:3px 0}
.auditDiffTable{width:100%;border-collapse:collapse}
.auditDiffTable th,.auditDiffTable td{border:1px solid #e2e8f0;padding:9px;text-align:left;vertical-align:top}
.auditDiffTable th{background:#f8fafc}
@media(max-width:700px){.auditDetailMeta{grid-template-columns:1fr}}

.maintenanceTemplatePicker{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid #dbe1ea;border-radius:10px;background:#fafbfc}
.templatePick{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #dbe1ea;border-radius:9px;background:#fff;cursor:pointer;font-weight:600}
.templatePick:hover{background:#f8fafc}
.templatePick input{width:17px;height:17px;cursor:pointer}
.checklistGroup{margin:10px 0;padding:12px;border:1px solid #dbe1ea;border-radius:10px;background:#fafbfc}


/* v2.9.1 - checklisturi multiple compacte / acordeon */
.templatePick {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.templatePickCount {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  background: #eef2f7;
  color: #667085;
}
.templatePickCount.hasChecks {
  background: #dbeafe;
  color: #1d4ed8;
}
.checklistAccordion {
  border: 1px solid #dbe3ef;
  border-radius: 12px;
  margin: 10px 0;
  overflow: hidden;
  background: #fff;
}
.checklistAccordion > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.checklistAccordion > summary::-webkit-details-marker {
  display: none;
}
.checklistEditHeader {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 15px;
}
.checklistEditHeader::before {
  content: "▸";
  margin-right: 8px;
  color: #667085;
  transition: transform .15s ease;
}
.checklistAccordion[open] .checklistEditHeader::before {
  transform: rotate(90deg);
}
.checklistTitle {
  flex: 1;
  font-weight: 700;
}
.checklistSummaryCount {
  color: #667085;
  white-space: nowrap;
}
.checklistAccordionBody {
  padding: 0 14px 14px;
  border-top: 1px solid #eef2f7;
}
.checklistAccordion:not([open]) .checklistAccordionBody {
  display: none;
}


/* Istoric Operațiuni - pagină albă completă și diferențe lizibile */
body.auditModalOpen{overflow:hidden}
.auditDetailOverlay{
  position:fixed;
  inset:0;
  z-index:1000;
  background:#fff;
  overflow:auto;
}
.auditDetailPage{
  min-height:100vh;
  width:100%;
  background:#fff;
  padding:24px 28px 40px;
  color:#182230;
}
.auditDetailHeader{
  position:sticky;
  top:0;
  z-index:2;
  background:#fff;
  padding:0 0 16px;
  border-bottom:1px solid #e7ebf2;
  margin-bottom:18px;
}
.auditDetailMeta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 24px;
  margin-bottom:20px;
  max-width:1200px;
}
.auditDetailMeta p{margin:2px 0}
.auditDetailMeta .auditDescription{grid-column:1/-1;max-width:1000px;line-height:1.5}
.auditDiffWrap{width:100%;overflow-x:auto}
.auditDiffTable{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  background:#fff;
}
.auditDiffTable th,.auditDiffTable td{
  border:1px solid #dbe1ea;
  padding:11px 12px;
  text-align:left;
  vertical-align:top;
  background:#fff;
}
.auditDiffTable th{
  background:#f8fafc;
  position:sticky;
  top:75px;
  z-index:1;
}
.auditDiffTable tr:nth-child(even) td{background:#fbfcfe}
.auditTaskName{
  margin-top:4px;
  font-weight:400;
  color:#475467;
}
.auditSystemRow td{
  background:#f5f8ff !important;
}
@media(max-width:700px){
  .auditDetailPage{padding:16px}
  .auditDetailMeta{grid-template-columns:1fr}
  .auditDetailMeta .auditDescription{grid-column:auto}
}

.moduleTabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e4e9f1;padding-bottom:12px;margin-bottom:18px}.moduleTab{background:#fff;border:1px solid #d7deea;border-radius:10px;padding:10px 16px;font-weight:650;cursor:pointer}.moduleTab.active{background:#eef5ff;border-color:#9fc3ff;color:#155eef}.successBtn{margin-left:8px;background:#168a4b;color:#fff;border:0;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer}.completionExtras{margin-top:12px;padding-top:12px;border-top:1px solid #e5eaf1}

/* v2.9.3 - vizualizare mentenanță albă pe tot ecranul */
body.maintenanceDetailOpen{overflow:hidden}
.maintenanceDetailOverlay{position:fixed;inset:0;z-index:950;background:#fff;overflow:auto}
.maintenanceDetailPage{min-height:100vh;width:100%;background:#fff;padding:24px 28px 44px;color:#182230}
.maintenanceDetailHeader{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid #e6eaf0;padding-bottom:14px;margin-bottom:18px}
.maintenanceDetailOverlay .finalView{max-width:1280px;margin:0 auto;background:#fff}
.maintenanceDetailOverlay .finalGrid,.maintenanceDetailOverlay .finalText,.maintenanceDetailOverlay .detailChecklist,.maintenanceDetailOverlay .issueRow,.maintenanceDetailOverlay .costSummary{background:#fff}
.compactTabs{margin-bottom:14px}

/* v2.9.4 - vizualizare si editor mentenanta pe pagina alba completa */
body.maintenanceDetailOpen,body.maintenanceEditOpen{overflow:hidden}
.maintenanceDetailOverlay,.maintenanceEditOverlay{position:fixed;inset:0;z-index:1000;background:#fff;overflow:auto}
.maintenanceDetailPage,.maintenanceEditPage{min-height:100vh;width:100%;background:#fff;padding:22px 28px 40px;color:#182230}
.maintenanceDetailHeader{position:sticky;top:0;z-index:3;background:#fff;padding:0 0 14px;border-bottom:1px solid #e6eaf0;margin-bottom:18px}
.maintenanceEditPage>.formBox{max-width:1180px;margin:0 auto;background:#fff;box-shadow:none;border:0}
.maintenanceEditPage .modalHeader{position:sticky;top:0;z-index:4;background:#fff;padding:8px 0 14px;border-bottom:1px solid #e6eaf0}
.maintenanceEditPage .form{max-width:1180px}
.maintenanceDetailOverlay .finalGrid p,.maintenanceDetailOverlay .checkRow.unchecked,.maintenanceDetailOverlay .costSummary span{background:#fff}
@media(max-width:800px){.maintenanceDetailPage,.maintenanceEditPage{padding:14px}.maintenanceDetailOverlay .finalGrid{grid-template-columns:1fr 1fr}}

.contractCard{font-family:inherit;text-align:left;cursor:pointer;width:auto}
.contractCard:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(16,24,40,.08)}
.contractFilterLabel{padding:8px 10px;border-radius:9px;background:#f2f4f7;color:#344054;font-weight:650}
.contractSection{border-top:1px solid #e4e7ec;margin-top:6px;padding-top:10px}
.contractSection h3{margin:0}

.statusFilter{min-width:190px}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0 4px;border-top:1px solid #eaecf0;margin-top:8px}
.pagerInfo{color:#667085;font-size:14px}.pagerNav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pageBtn{background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:7px 10px;cursor:pointer}
.pageBtn.active{background:#2f6fed;color:#fff;border-color:#2f6fed;font-weight:700}.pageBtn:disabled{opacity:.45;cursor:not-allowed}
.pageSize{border:1px solid #d0d5dd;border-radius:8px;padding:7px 9px;background:#fff}
.linkBtn{border:0;background:transparent;color:#175cd3;text-decoration:underline;cursor:pointer;font-weight:650}

/* v2.9.6.1 - Istoric Operațiuni și filtru contracte */
.auditDiffTable thead th{
  position:static !important;
  top:auto !important;
  background:#f5f7fa;
  color:#182230;
  font-weight:750;
}
.auditDiffTable tbody td{
  background:#fff;
}
.auditDiffTable tbody tr:nth-child(even) td{
  background:#fafbfc;
}

.contractFilterBox{
  min-width:235px;
  height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #cfd7e6;
  border-radius:11px;
  background:#fff;
  padding:5px 10px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.contractFilterBox:hover{
  border-color:#8fb2f0;
  box-shadow:0 0 0 3px rgba(47,111,237,.08);
}
.contractFilterIcon{
  width:30px;
  height:30px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef4ff;
  flex:0 0 auto;
}
.contractFilterText{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.contractFilterCaption{
  font-size:10px;
  line-height:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#7b8798;
  font-weight:750;
}
.contractFilterBox .statusFilter{
  min-width:0;
  width:100%;
  height:auto;
  padding:0 24px 0 0;
  border:0;
  outline:0;
  box-shadow:none;
  background-color:transparent;
  color:#182230;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
.contractFilterBox .statusFilter:focus{
  outline:none;
  box-shadow:none;
}

.maintenanceEditPage{position:relative}.maintenanceOverlayClose{position:fixed;top:18px;right:24px;z-index:10020;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#fee4e2;color:#b42318;font-size:30px;line-height:1;font-weight:800;cursor:pointer;box-shadow:0 2px 8px rgba(16,24,40,.08)}.maintenanceOverlayClose:hover{background:#fecdca;color:#912018}

/* v2.9.7 - stabilitate, căutare, filtre, draft, stare sistem */
header{gap:20px;align-items:flex-start}
.globalSearchWrap{position:relative;width:min(460px,42vw);margin-left:auto}
.globalSearchWrap input{width:100%;height:42px;border:1px solid #d0d5dd;border-radius:11px;padding:0 14px;background:#fff}
.globalSearchResults{display:none;position:absolute;top:48px;left:0;right:0;z-index:12000;background:#fff;border:1px solid #d0d5dd;border-radius:12px;box-shadow:0 12px 30px rgba(16,24,40,.14);overflow:hidden;max-height:420px;overflow-y:auto}
.globalSearchResults.open{display:block}
.globalResult{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 13px;border:0;border-bottom:1px solid #f0f2f5;background:#fff;cursor:pointer;text-align:left}
.globalResult:hover{background:#f7f9fc}.globalResult span,.globalEmpty{font-size:12px;color:#667085}.globalEmpty{padding:14px}
.draftBanner{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff8e6;border:1px solid #f6d58d;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.draftStatus{font-size:11px;color:#667085;margin-top:10px;text-align:right}
.advancedFilters{margin:8px 0 12px;border:1px solid #e1e6ee;border-radius:12px;background:#fafbfc}
.advancedFilters summary{cursor:pointer;padding:10px 12px;font-weight:700;display:flex;justify-content:space-between}
.filterGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 12px 12px}.filterActions{display:flex;align-items:flex-end}
.alertStrip{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#f4f7fb;color:#344054}.alertStrip.hasAlerts{background:#fff4e5;border:1px solid #fedf89}.alertStrip span{padding:4px 8px;border-radius:999px;background:#fff}
.dashMaintCard{cursor:pointer;text-align:left;border:0}.dashMaintCard:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(16,24,40,.08)}
.healthGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.healthCard{padding:16px;border-radius:12px;border:1px solid #d0d5dd;font-weight:700}.healthCard div{font-size:12px;font-weight:500;margin-top:6px;word-break:break-word}.healthCard.ok{background:#ecfdf3;border-color:#abefc6}.healthCard.bad{background:#fef3f2;border-color:#fecdca}.healthCard.warn{background:#fffaeb;border-color:#fedf89}.healthCard.neutral{background:#f8fafc}
@media(max-width:900px){.globalSearchWrap{width:100%;max-width:none}.filterGrid{grid-template-columns:1fr 1fr}.healthGrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.filterGrid,.healthGrid{grid-template-columns:1fr}.draftBanner{align-items:flex-start;flex-direction:column}}

/* v2.9.8 - Taskuri */
.taskDescription{max-width:520px;margin-top:4px;white-space:normal}
.successTask{background:#ecfdf3;border-color:#abefc6;color:#067647;font-weight:700}
.successTask:hover{background:#dcfae6}
.taskEditPage .formBox{max-width:950px;margin:24px auto}

/* v2.9.8.2 - Dosar client */
.clientDossierPage{max-width:1500px;margin:0 auto;padding:18px 24px 40px}
.dossierHeader h2{margin:0 0 12px}
.dossierMeta{display:flex;gap:20px;flex-wrap:wrap;color:#475467}
.clientDossierPage .panel{margin-bottom:16px}
.clientDossierPage h3{margin-top:0}

/* v2.9.8.4 - Obiectiv condițional la Taskuri */
.taskSiteField{
  animation:taskSiteIn .14s ease-out;
}
@keyframes taskSiteIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

/* v2.9.8.5 - dialog intern pentru a evita blocarea focusului Electron */
.appConfirmOverlay{
  position:fixed;inset:0;z-index:30000;background:rgba(15,23,42,.42);
  display:flex;align-items:center;justify-content:center;padding:20px;pointer-events:auto
}
.appConfirmBox{
  width:min(460px,100%);background:#fff;border-radius:14px;padding:22px;
  box-shadow:0 24px 70px rgba(15,23,42,.25)
}
.appConfirmBox h3{margin:0 0 10px}.appConfirmBox p{margin:0;color:#475467;line-height:1.5}
.appConfirmActions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.taskEditOverlay,.taskEditOverlay *{pointer-events:auto}
.claimTask{background:#eef4ff;border-color:#b2ccff;color:#175cd3;font-weight:700}
.releaseTask{background:#fff7ed;border-color:#fed7aa;color:#c2410c;font-weight:700}
.taskAssignee{display:inline-block;padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#344054;font-weight:650;font-size:12px}


/* ==========================================================================
   v3.0.0 — module CRM
   ========================================================================== */
aside{overflow-y:auto}
nav{padding-bottom:18px}
.crmDialogOpen{overflow:hidden}
.crmDialog{
  width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 40px);padding:0;border:0;
  border-radius:16px;background:#fff;box-shadow:0 30px 90px rgba(15,23,42,.28);color:#182230
}
.crmDialog.crmDialogWide{width:min(1050px,calc(100vw - 40px))}
.crmDialog::backdrop{background:rgba(15,23,42,.48)}
.crmDialogShell{min-height:120px}
.crmDialogHeader{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #eaecf0;background:#fff}
.crmDialogHeader h2{margin:0;font-size:20px}
.crmDialogClose{width:38px;height:38px;border:0!important;border-radius:10px;background:#f2f4f7!important;color:#344054!important;font-size:25px;line-height:1;cursor:pointer}
.crmDialogBody{padding:20px 22px 24px;overflow:auto}
.crmDialogActions,.editorActions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.crmConfirmMessage{margin:2px 0 18px;line-height:1.55;color:#475467;font-size:15px}
.crmFormMessage{min-height:20px;margin:10px 0 0}
.crmFormMessage.error{color:#b42318}
.crmFormMessage.success{color:#067647}
.dangerBtn{background:#b42318!important;color:#fff!important;border-color:#b42318!important}

.moduleHint{padding:10px 12px;margin:0 0 14px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:10px;color:#475467}
.crmEditorPage{max-width:1050px;margin:0 auto}
.editorHeader,.sectionHeader,.recordHeader,.siteGroupHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.editorHeader{margin-bottom:20px}
.editorHeader h2,.sectionHeader h3{margin:0}
.sectionHeader{margin-bottom:14px}
.moduleSection{display:grid;gap:14px}
.crmRecordCard,.crmInfoBox,.crmSiteGroup,.systemCard{border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.crmRecordCard{padding:16px}
.recordMeta{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0;color:#475467}
.recordActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.serviceList{display:grid;gap:8px;margin-top:12px}
.serviceRow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;border:1px solid #eaecf0;border-radius:10px;background:#f9fafb}
.emptyState{padding:22px;border:1px dashed #d0d5dd;border-radius:12px;text-align:center;color:#667085;background:#fcfcfd}

.client360{display:grid;gap:16px}
.client360Header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:#fff;border:1px solid #e4e7ec;border-radius:14px}
.client360Header h2{margin:12px 0 4px;font-size:25px}
.client360Tabs{display:flex;gap:6px;flex-wrap:wrap;padding:7px;background:#f2f4f7;border-radius:12px}
.client360Tabs button{background:transparent;color:#475467;border:0;border-radius:8px;padding:9px 12px;font-weight:650}
.client360Tabs button.active{background:#fff;color:#101828;box-shadow:0 1px 3px rgba(16,24,40,.10)}
.client360Content{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:18px}
.dossierOverview{display:grid;gap:16px}
.overviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.crmInfoBox{padding:16px}
.crmInfoBox h3{margin:0 0 12px}
.crmInfoBox p{margin:7px 0}
.crmTimelineMini{border:1px solid #e4e7ec;border-radius:12px;padding:16px}
.crmTimelineMini h3{margin-top:0}
.timelineRow{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:9px 0;border-top:1px solid #f0f2f5}
.timelineRow:first-of-type{border-top:0}

.crmSiteGroup{overflow:hidden}
.siteGroupHeader{padding:14px 16px;background:#f9fafb;border-bottom:1px solid #e4e7ec}
.systemCard{margin:12px;border-radius:10px;padding:12px}
.siteNoSystems{padding:14px 16px}
.compactTable{margin-top:10px}
.compactTable th,.compactTable td{padding:8px 10px;font-size:13px}
.alertText{color:#b42318;font-weight:700}
.taskAssignee{display:inline-block;padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#344054;font-weight:650;font-size:12px}
.crmDashNav{cursor:pointer}

@media(max-width:1100px){
  .overviewGrid{grid-template-columns:1fr}
  .client360Tabs{overflow-x:auto;flex-wrap:nowrap}
  .client360Tabs button{white-space:nowrap}
}


/* v3.0.1 */
.datePickerRow{display:flex;gap:8px;align-items:center}
.datePickerRow input[type="date"]{flex:1;cursor:pointer;pointer-events:auto}
.dateQuickActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.contractFinancialSummary{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0;padding:11px 13px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:10px}
.recordNotes,.serviceNotes{margin-top:9px;padding:9px 11px;border-radius:8px;background:#fffbeb;color:#694c00;white-space:pre-wrap}
.serviceRowDetailed{align-items:flex-start}
.serviceMain{min-width:0;flex:1}
.serviceMoney{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.serviceButtons{display:flex;gap:5px;margin-top:4px}
.contractCreateService{margin-top:8px;padding:16px;border:1px solid #dbe7fb;background:#f8fbff;border-radius:12px}
.contractCreateService h3{margin:0 0 4px}
.nestedForm{margin-top:12px}
.financialPreview{padding:9px 11px;border-radius:8px;background:#eef4ff;color:#1849a9;font-weight:650;margin-top:7px}
.documentRow{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #eaecf0}
.documentRow:last-child{border-bottom:0}

/* v3.0.2 */
nav button.navSub{margin-left:18px;width:calc(100% - 18px);font-size:13px;padding-top:9px;padding-bottom:9px;color:#b9c6dc}
nav button.navSub.active{color:#fff}
.dangerOutline{border:1px solid #fda29b!important;background:#fff!important;color:#b42318!important;padding:9px 13px;border-radius:8px;font-weight:700;cursor:pointer}
.dangerOutline:hover{background:#fff1f0!important}
.rejectOffer{border-color:#fda29b!important;color:#b42318!important;background:#fff!important;font-weight:700}
.contractTypeBadge{display:inline-block;margin:2px 3px 2px 0}
.contractUnifiedForm{align-items:start}
.offerAttachmentField{border-top:1px solid #eaecf0;padding-top:14px}

/* v3.0.3 - copiere text + UI */
body,#content,.panel,table,td,th,p,.sub,.moduleSection,.crmRecordCard,.timelineRow{
  -webkit-user-select:text;
  user-select:text;
}
button,nav,summary,label{
  -webkit-user-select:none;
  user-select:none;
}
.offerValidityButtons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.offerValidityButtons .active{background:#2f6fed;color:#fff;border-color:#2f6fed}

/* v3.0.4 */
.clientExportButton{
  background:#64748b!important;
  color:#fff!important;
  border-color:#64748b!important;
  min-width:190px;
  white-space:nowrap;
  font-weight:700!important;
}
.clientExportButton:hover{filter:brightness(.94)}

.dashboardCompact{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.dashboardGroup{
  background:#fff;
  border:1px solid #e5eaf2;
  border-radius:13px;
  padding:12px;
  box-shadow:0 2px 8px rgba(15,23,42,.035);
}
.dashboardGroupTitle{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:9px;
  font-size:15px;
}
.miniCards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.miniCard{
  border:1px solid #e1e7ef;
  border-radius:10px;
  padding:9px 8px;
  background:#f8fafc;
  text-align:left;
  min-height:66px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:4px;
}
.miniCard span{font-size:11px;color:#667085;line-height:1.2}
.miniCard b{font-size:19px;color:#101828}
.miniCard.danger{background:#fff5f5;border-color:#fecaca}
.miniCard.warning{background:#fffbeb;border-color:#fde68a}
.miniCard.info{background:#eff6ff;border-color:#bfdbfe}
.miniCard.success{background:#f0fdf4;border-color:#bbf7d0}
.miniCard.finance{background:#f5f3ff;border-color:#ddd6fe}
.dashboardLowerGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.compactPanel{padding:15px!important;margin:0!important;overflow:auto}
.compactPanel .toolbar{margin-bottom:8px}
.compactPanel h3{margin:0;font-size:15px}
.compactPanel table{font-size:12px}
.compactPanel th,.compactPanel td{padding:8px}

.financialPage{display:flex;flex-direction:column;gap:14px}
.financialIntro{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;align-items:center}
.financialIntro h2{margin:0 0 5px}
.financeNotice{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px;color:#684d00;line-height:1.45}
.financeCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.financeCard{background:#fff;border:1px solid #e5eaf2;border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:8px}
.financeCard span{font-size:12px;color:#667085}
.financeCard b{font-size:22px}
.financeCard.highlight{background:#eef4ff;border-color:#b2ccff}
.financeGrid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}
.financeLine{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eaecf0}
.financeLine:last-of-type{border-bottom:0}

@media(max-width:1300px){
  .dashboardCompact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboardLowerGrid{grid-template-columns:1fr}
  .financeCards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .dashboardCompact,.financeGrid,.financialIntro{grid-template-columns:1fr}
  .miniCards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .financeCards{grid-template-columns:1fr}
}

/* v3.0.5 */
.financialIntroWithFilter{
  grid-template-columns:1fr auto 1.35fr;
}
.financialMonthFilterBox{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:190px;
  padding:10px 12px;
  border:1px solid #d8e0eb;
  border-radius:10px;
  background:#fff;
}
.financialMonthFilterBox label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#667085;
  font-weight:700;
}
.financialMonthFilterBox input[type="month"]{
  min-height:38px;
  cursor:pointer;
}
.financialMonthFilterBox b{
  font-size:12px;
  color:#344054;
}
.financeTotalCard{
  background:#ecfdf3!important;
  border-color:#86efac!important;
}
.financeTotalCard b{
  font-size:24px;
  color:#067647;
}
.financeTotalRow td{
  border-top:2px solid #98a2b3!important;
  background:#f8fafc;
}
.objectiveInfoBadge{
  display:inline-block;
  margin:2px 3px 2px 0;
  white-space:nowrap;
}

@media(max-width:1300px){
  .financialIntroWithFilter{grid-template-columns:1fr 1fr}
  .financialIntroWithFilter .financeNotice{grid-column:1/-1}
}
@media(max-width:850px){
  .financialIntroWithFilter{grid-template-columns:1fr}
  .financialIntroWithFilter .financeNotice{grid-column:auto}
}

/* v3.1.0 - documente tehnice / semnături */
.documentBtn{
  background:#f8fafc!important;
  border-color:#cbd5e1!important;
  color:#344054!important;
  font-weight:700;
  margin-top:3px;
}
.documentCheckGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 14px;
  padding:10px;
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#f8fafc;
}
.fspfForm textarea{font-family:inherit}
.signatureCanvas{
  width:100%;
  max-width:760px;
  background:#fff;
  border:1px solid #98a2b3;
  border-radius:8px;
  touch-action:none;
}
@media(max-width:800px){
  .documentCheckGrid{grid-template-columns:1fr}
}

/* v3.1.1 */
.formErrorNotice{
  display:block;
  margin-top:14px;
  padding:13px 15px;
  border:2px solid #f04438;
  border-radius:10px;
  background:#fef3f2;
  color:#b42318;
  font-size:15px;
  line-height:1.45;
  font-weight:600;
  box-shadow:0 3px 12px rgba(180,35,24,.12);
}
.mediaUploadGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.mediaUploadBox{
  padding:12px;
  border:1px solid #d8e0eb;
  border-radius:10px;
  background:#f8fafc;
}
.mediaUploadBox label{display:block;font-weight:700;margin-bottom:8px}
.mediaUploadBox input[type="file"]{width:100%}
.interventionCosts{margin-top:8px}
.installationComponentsSection,.workSessionsSection,.fspfStructuredSection{
  padding:13px;
  border:1px solid #d8e0eb;
  border-radius:11px;
  background:#fbfcfe;
}
.compactSectionHeader{align-items:center;margin-bottom:10px}
.installationComponentRow{
  display:grid;
  grid-template-columns:1.25fr 90px 1.5fr 44px;
  gap:8px;
  align-items:center;
  margin-bottom:7px;
}
.workSessionRow{
  display:grid;
  grid-template-columns:150px 110px 24px 110px 75px 44px;
  gap:8px;
  align-items:center;
  margin-bottom:7px;
}
.workSessionHours{font-weight:700;text-align:right}
.workHoursTotal{
  margin-top:10px;
  padding:10px 12px;
  border-radius:8px;
  background:#eef4ff;
  color:#1849a9;
  font-size:15px;
}
.fspfTableHeader,.fspfZoneRow,.fspfUserRow{
  display:grid;
  gap:6px;
  align-items:center;
}
.fspfTableHeader{
  font-size:11px;
  font-weight:700;
  color:#667085;
  text-transform:uppercase;
  margin-bottom:5px;
}
.zoneHeader,.fspfZoneRow{grid-template-columns:90px 70px 1.15fr 1.3fr 1.3fr 44px}
.userHeader,.fspfUserRow{grid-template-columns:80px 65px 100px 1fr 1fr 125px 44px}
.fspfZoneRow,.fspfUserRow,.fspfPersonRow{margin-bottom:7px}
.fspfPersonRow{
  display:grid;
  grid-template-columns:1.5fr 1fr 44px;
  gap:8px;
  align-items:center;
}
@media(max-width:900px){
  .mediaUploadGrid{grid-template-columns:1fr}
  .installationComponentRow{grid-template-columns:1fr 80px;}.installationComponentRow .inComponentModel{grid-column:1/-1}
  .workSessionRow{grid-template-columns:1fr 1fr 24px 1fr 70px 44px}
  .zoneHeader,.fspfZoneRow,.userHeader,.fspfUserRow{grid-template-columns:1fr 1fr}
  .fspfTableHeader{display:none}
}

/* v3.2.0 */
.dashboardViewAll{
  background:#fff!important;
  color:#344054!important;
  border-color:#cfd8e5!important;
  font-weight:700!important;
  min-width:108px;
}
.dashboardViewAll:hover{background:#f8fafc!important;color:#101828!important}

.draftRestoreBtn{
  border:1px solid #2f6fed;
  background:#2f6fed;
  color:#fff;
  border-radius:8px;
  padding:9px 13px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.draftRestoreBtn:hover{filter:brightness(.95)}
.draftBanner>div:last-child{display:flex;gap:8px;align-items:center}

.todayWorkCard{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  gap:14px;
  align-items:center;
  margin-bottom:12px;
  padding:12px 16px;
  border:1px solid #b2ccff;
  border-radius:13px;
  background:#eef4ff;
  color:#102a56;
  text-align:left;
  cursor:pointer;
}
.todayWorkIcon{font-size:22px}
.todayWorkText{display:flex;flex-direction:column;gap:2px}
.todayWorkText b{font-size:16px}
.todayWorkText small{color:#526581}
.todayWorkCount{
  min-width:38px;height:38px;border-radius:20px;background:#2f6fed;color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px
}
.todayWorkLink{font-weight:700;color:#1849a9}

.installationSystemBadges{min-height:42px;padding:9px;border:1px solid #d8e0eb;border-radius:9px;background:#f8fafc}
.installationSystemBadges .badge{margin:2px 4px 2px 0}

.fspfSketchSection{padding:12px;border:1px solid #d8e0eb;border-radius:10px;background:#f8fafc}
.sketchToolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.sketchToolbar .sketchMode.active{background:#2f6fed!important;color:#fff!important;border-color:#2f6fed!important}
.fspfSketchCanvas{
  width:100%;max-width:1000px;aspect-ratio:1000/560;background:#fff;
  border:2px solid #98a2b3;border-radius:8px;touch-action:none;cursor:crosshair
}

.documentCenter .toolbar{align-items:center;flex-wrap:wrap}
.documentCenter .toolbar input[type="date"]{max-width:160px}

.incompleteCards{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px
}
.incompleteCard{
  padding:12px;border:1px solid #fedf89;background:#fffaeb;border-radius:10px;
  display:flex;justify-content:space-between;align-items:center;gap:10px
}
.incompleteCard span{font-size:12px;color:#7a5d00}
.incompleteCard b{font-size:22px;color:#b54708}

.siteDossierV2{max-width:1500px!important;max-height:94vh!important;overflow:auto!important}
.siteDossierCards{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.siteTimelineTable td{vertical-align:top}

@media(max-width:1100px){
  .todayWorkCard{grid-template-columns:auto 1fr auto}.todayWorkLink{display:none}
  .incompleteCards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .siteDossierCards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .incompleteCards{grid-template-columns:1fr}
}

/* v3.2.1 */
.todayBackBtn{
  border:1px solid #475467!important;
  background:#64748b!important;
  color:#fff!important;
  padding:10px 15px!important;
  border-radius:9px!important;
  font-weight:700!important;
  cursor:pointer!important;
  min-width:185px;
  white-space:nowrap;
}
.todayBackBtn:hover{background:#475569!important;color:#fff!important}

.objectiveEquipmentHint{
  margin:4px 0 14px;
  padding:10px 12px;
  border:1px solid #dbe7ff;
  background:#f5f8ff;
  color:#344054;
  border-radius:9px;
  font-size:13px;
}

/* v3.2.2 */
.siteEditOverlay{
  position:fixed;
  inset:0;
  z-index:110;
  background:#f3f6fb;
  overflow:auto;
  padding:18px;
}
.siteEditPage{
  position:relative;
  max-width:1450px;
  min-height:calc(100vh - 36px);
  margin:0 auto;
  background:#fff;
  border-radius:16px;
  box-shadow:0 14px 45px #1018281f;
  padding:26px;
}
body.siteEditOpen{overflow:hidden}

.dateWithQuickActions{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto auto;
  gap:8px;
  align-items:center;
}
.dateWithQuickActions input{min-width:0}
.warrantyQuick,.replacementWarrantyQuick{
  white-space:nowrap;
  font-weight:700;
}

.replacementPicker{
  display:grid;
  grid-template-columns:minmax(200px,1fr) auto;
  gap:8px;
  align-items:center;
}
.replacementNewBox{
  border:1px solid #b2ccff;
  background:#f5f8ff;
  border-radius:10px;
  padding:12px;
}
.replacementNewHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.maintenanceFinalizeEntry{
  background:#ecfdf3!important;
  border-color:#75e0a7!important;
  color:#087443!important;
  font-weight:700!important;
}

.financialMonthFilterStyled{
  display:grid!important;
  grid-template-columns:auto minmax(170px,1fr) auto;
  gap:12px!important;
  align-items:center!important;
  min-width:min(100%,520px);
  padding:12px 14px!important;
  border:1px solid #b2ccff!important;
  background:linear-gradient(180deg,#f8fbff,#eef4ff)!important;
  border-radius:12px!important;
}
.financialMonthIcon{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#dbeafe;
  font-size:20px;
}
.financialMonthControl{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.financialMonthControl label{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#475467;
}
.financialMonthControl input[type="month"]{
  border:1px solid #b9c7dc;
  background:#fff;
  border-radius:9px;
  padding:9px 11px;
  font-weight:700;
  color:#101828;
}
.financialMonthCurrent{
  padding:8px 11px;
  border-radius:9px;
  background:#fff;
  border:1px solid #d0d5dd;
  font-weight:800;
  color:#1849a9;
  white-space:nowrap;
}

@media(max-width:760px){
  .dateWithQuickActions,.replacementPicker{grid-template-columns:1fr}
  .financialMonthFilterStyled{grid-template-columns:auto 1fr}
  .financialMonthCurrent{grid-column:1/-1}
}

/* v3.2.3 */
.equipmentArchive{
  margin-top:12px;
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#fcfcfd;
  overflow:hidden;
}
.equipmentArchive summary{
  cursor:pointer;
  padding:11px 13px;
  font-weight:800;
  color:#475467;
  user-select:none;
}
.equipmentArchive summary span{
  display:inline-flex;
  min-width:24px;
  height:24px;
  margin-left:7px;
  padding:0 7px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f2f4f7;
  color:#344054;
  font-size:12px;
}
.equipmentHistoryTable{
  margin:0 12px 12px;
  width:calc(100% - 24px);
  background:#fff;
}
.financialMonthFilterStyled{
  grid-template-columns:auto minmax(190px,1fr)!important;
  max-width:470px;
}
@media(max-width:760px){
  .financialMonthFilterStyled{grid-template-columns:auto 1fr!important}
}

/* v3.2.4 */
.replacementTemplateBox{
  border:1px solid #b2ccff;
  background:#f8fbff;
  border-radius:12px;
  padding:14px;
}
.replacementTemplateBox h3{margin:0 0 4px}
.equipmentHistoryDialog h3{margin:0 0 10px}
.equipmentHistoryDialog table+ h3{margin-top:20px}

.sketchSensorControls{
  align-items:center;
}
.sketchSensorControls select{
  width:250px;
  min-width:220px;
  max-width:280px;
  padding:8px 10px;
}
.sketchToolbar{
  align-items:center;
}
.sketchToolbar .sketchMode[data-sketch-mode="move"].active{
  background:#eef4ff!important;
  color:#1849a9!important;
  border-color:#84adff!important;
}
.sketchToolbar .sketchMode[data-sketch-mode="delete"].active{
  background:#fef3f2!important;
  color:#b42318!important;
  border-color:#fda29b!important;
}
@media(max-width:760px){
  .sketchSensorControls{width:100%}
  .sketchSensorControls select{width:100%;min-width:0;max-width:none}
}

/* v3.2.5 */
.sketchToolbar .sketchMode[data-sketch-mode="rotate"].active{
  background:#fff7ed!important;
  color:#b54708!important;
  border-color:#fdba74!important;
}

/* v3.2.6 — șabloane echipamente */
.templateSettingsHub .templateSettingsTabs{
  margin-bottom:14px;
}
.equipmentTemplateSystemGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.equipmentTemplateSystemCard{
  border:1px solid #dce3ed;
  border-radius:12px;
  background:#fff;
  padding:14px;
  min-width:0;
}
.equipmentTemplateSystemCard .recordHeader{
  margin-bottom:10px;
}
.equipmentTemplateOrder{
  white-space:nowrap;
}
.equipmentTemplateOrder .iconBtn{
  width:34px;
  height:34px;
  padding:0;
  margin-right:4px;
  border:1px solid #d0d5dd;
  border-radius:8px;
  background:#fff;
  font-weight:900;
  cursor:pointer;
}
.equipmentTemplateOrder .iconBtn:disabled{
  opacity:.3;
  cursor:default;
}
.installationTemplateButtons{
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media(max-width:1050px){
  .equipmentTemplateSystemGrid{grid-template-columns:1fr}
}

/* v3.2.7 — rol Tehnician / View as */
.viewAsWrap{
  display:flex;
  align-items:center;
  gap:7px;
  padding:6px 8px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  white-space:nowrap;
}
.viewAsWrap label{
  font-size:11px;
  font-weight:800;
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.viewAsWrap select{
  border:0;
  outline:0;
  background:#f8fafc;
  color:#101828;
  font-weight:800;
  border-radius:7px;
  padding:7px 9px;
}

.viewAsBanner{
  margin:0 18px 10px;
  padding:9px 13px;
  border:1px solid #84adff;
  border-radius:10px;
  background:#eef4ff;
  color:#1849a9;
  font-size:13px;
  transition:.15s ease;
}
.viewAsBannerPulse{
  transform:scale(1.005);
  box-shadow:0 0 0 4px rgba(47,111,237,.12);
}

.technicianDashboardIntro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.technicianDashboardIntro h2{margin:0 0 3px}
.technicianDashboardGroups{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.technicianQuickLinks{
  margin-top:12px;
}
.quickLinkGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.quickRoleLink{
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:flex-start;
  text-align:left;
  min-height:72px;
  padding:12px 14px;
  border:1px solid #dce3ed;
  border-radius:11px;
  background:#fff;
  color:#101828;
  font-weight:800;
  cursor:pointer;
}
.quickRoleLink span{
  font-size:12px;
  color:#667085;
  font-weight:500;
}

body.technicianView nav button[data-page="documents"]{
  border-left:3px solid #84adff;
}

@media(max-width:1000px){
  .technicianDashboardGroups{grid-template-columns:1fr}
  .quickLinkGrid{grid-template-columns:1fr}
  .viewAsWrap{width:100%;justify-content:space-between}
}

/* v3.2.8 — Dashboard semantic + Dispecerat */

/* Culorile indică mereu semnificația, indiferent dacă valoarea este 0. */
.miniCard.danger{
  background:#fff1f2!important;
  border-color:#fda4af!important;
  box-shadow:inset 4px 0 0 #e11d48;
}
.miniCard.danger span{color:#9f1239!important}
.miniCard.danger b{color:#9f1239!important}

.miniCard.warning{
  background:#fffbeb!important;
  border-color:#fbbf24!important;
  box-shadow:inset 4px 0 0 #f59e0b;
}
.miniCard.warning span{color:#92400e!important}
.miniCard.warning b{color:#92400e!important}

.miniCard.info{
  background:#eff6ff!important;
  border-color:#93c5fd!important;
  box-shadow:inset 4px 0 0 #3b82f6;
}
.miniCard.info span{color:#1e40af!important}
.miniCard.info b{color:#1e3a8a!important}

.miniCard.success{
  background:#f0fdf4!important;
  border-color:#86efac!important;
  box-shadow:inset 4px 0 0 #22c55e;
}
.miniCard.success span{color:#166534!important}
.miniCard.success b{color:#14532d!important}

.dispatchPage{overflow:visible!important}
.dispatchToolbar{
  align-items:flex-start!important;
  flex-wrap:wrap;
}
.dispatchToolbar input{
  min-width:330px;
  flex:0 1 440px;
}
.dispatchCards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.dispatchCard{
  border:1px solid #dbe3ef;
  border-radius:14px;
  background:#fff;
  padding:15px;
  box-shadow:0 4px 16px rgba(16,24,40,.05);
}
.dispatchCardHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:11px;
  border-bottom:1px solid #eef1f5;
}
.dispatchCardHeader h3{margin:0 0 3px}
.dispatchQuickGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}
.dispatchQuickGrid>div,
.dispatchDetailGrid>div{
  border:1px solid #e4e7ec;
  border-radius:9px;
  padding:9px 10px;
  background:#f9fafb;
  min-width:0;
}
.dispatchQuickGrid span,
.dispatchDetailGrid span{
  display:block;
  color:#667085;
  font-size:11px;
  margin-bottom:3px;
}
.dispatchQuickGrid b,
.dispatchDetailGrid b{
  display:block;
  overflow-wrap:anywhere;
}
.dispatchAddress{
  margin-top:10px;
  padding:9px 11px;
  border-radius:9px;
  background:#eef4ff;
  color:#344054;
}

.dispatchView{
  display:flex;
  flex-direction:column;
  gap:13px;
}
.dispatchPhotoWrap{
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:8px;
  background:#f8fafc;
}
.dispatchPhoto{
  display:block;
  width:100%;
  max-height:330px;
  object-fit:contain;
  border-radius:8px;
}
.dispatchDetailGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.dispatchMapLink{display:flex;justify-content:flex-start}
.dispatchTextBlock{
  border:1px solid #e4e7ec;
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.dispatchTextBlock h3{margin:0 0 7px}
.dispatchTextBlock pre{
  margin:0;
  white-space:pre-wrap;
  font:inherit;
  line-height:1.5;
}

.dispatchEditForm textarea{min-height:110px}
.dispatchFormTools{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 0;
  padding-top:10px;
  border-top:1px solid #eef1f5;
}
.siteDispatchImport{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0 0;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#eff6ff;
}

@media(max-width:1050px){
  .dispatchCards{grid-template-columns:1fr}
  .dispatchQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .dispatchToolbar input{min-width:0;width:100%}
  .dispatchQuickGrid,.dispatchDetailGrid{grid-template-columns:1fr}
}

/* v3.2.9 — Dispecerat compact pentru sute de obiective */
.dispatchCompactPage{padding:14px!important}
.compactDispatchToolbar{margin-bottom:8px!important}
.compactDispatchToolbar .dispatchHeading h2{margin:0 0 2px}
.dispatchFilterBar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 190px 165px 135px;
  gap:8px;
  align-items:center;
  margin:8px 0 10px;
}
.dispatchFilterBar input,
.dispatchFilterBar select{width:100%;min-width:0}
.dispatchTableWrap{
  width:100%;
  overflow:auto;
  border:1px solid #e4e7ec;
  border-radius:10px;
}
.dispatchCompactTable{
  width:100%;
  min-width:1100px;
  margin:0!important;
  font-size:12px;
}
.dispatchCompactTable th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f8fafc;
  padding:8px 9px!important;
  white-space:nowrap;
}
.dispatchCompactTable td{
  padding:7px 9px!important;
  vertical-align:middle;
}
.dispatchCompactTable tbody tr:hover{background:#f8fbff}
.dispatchAccount{
  font-size:13px;
  font-variant-numeric:tabular-nums;
}
.dispatchRowAddress{
  max-width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dispatchRowActions{
  white-space:nowrap;
}
.dispatchRowActions .smallBtn{
  padding:6px 8px;
  min-height:32px;
}
.dispatchShareBtn{
  border-color:#93c5fd!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-weight:800;
}
.dispatchPager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  color:#667085;
  font-size:12px;
}
.dispatchPullTop{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#eff6ff;
}
.dispatchPullTop .primary{white-space:nowrap}
@media(max-width:1050px){
  .dispatchFilterBar{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .dispatchFilterBar{grid-template-columns:1fr}
  .dispatchPager{align-items:flex-start;flex-direction:column}
}

/* v3.2.10 — Dispecerat Share card */
.dispatchCompactTable{
  min-width:900px!important;
}
.dispatchRowActions{
  min-width:245px;
}

/* v3.2.12 — Share WhatsApp */
.dispatchRowActions{min-width:170px!important}


/* CRM Stefan Security Web */
body.loginMode{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 20%,rgba(45,110,234,.12),transparent 34%),
    radial-gradient(circle at 85% 80%,rgba(15,23,42,.09),transparent 32%),
    #f4f7fb;
}
body.loginMode aside,
body.loginMode main>header,
body.loginMode #viewAsBanner{
  display:none!important;
}
body.loginMode .app{
  display:block;
  min-height:100vh;
}
body.loginMode main{
  width:100%;
  min-height:100vh;
  padding:0;
  display:grid;
  place-items:center;
}
body.loginMode #content{
  width:100%;
  min-height:100vh;
}
.webLoginScreen{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px 18px;
}
.webLoginCard{
  width:min(440px,100%);
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:20px;
  padding:34px;
  box-shadow:0 24px 70px rgba(15,23,42,.12);
}
.webLoginBrand{
  font-size:31px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  color:#172033;
  margin-bottom:10px;
}
.webLoginBrand span{
  display:block;
  font-size:17px;
  letter-spacing:.02em;
  color:#2d6eea;
  margin-top:7px;
}
.webLoginSubtitle{
  color:#64748b;
  line-height:1.45;
  margin:0 0 22px;
}
.webLoginLock{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #bfdbfe;
  color:#1d4ed8;
  background:#eff6ff;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  margin-bottom:20px;
}
.webLoginCard .field{margin-bottom:15px}
.webLoginCard .field input{
  padding:13px 14px;
  font-size:15px;
  border-radius:10px;
}
.webLoginButton{
  width:100%;
  min-height:46px;
  font-size:15px;
  margin-top:3px;
}
.webLoginButton:disabled{opacity:.65;cursor:wait}
.webLoginMsg{
  min-height:20px;
  color:#b42318;
  font-size:13px;
  margin:12px 0 0;
}
.webLoginSecurity{
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px solid #eef2f6;
  color:#94a3b8;
  font-size:11px;
  text-align:center;
  line-height:1.45;
}
body:not(.loginMode) .brand{
  font-size:24px;
}
body:not(.loginMode) .brand span{
  color:#93c5fd;
  opacity:1;
  font-size:10px;
}
@media(max-width:720px){
  .webLoginCard{padding:26px 22px;border-radius:16px}
}


/* Web v1.1 — creare cont tehnician */
.technicianAccountCreate{
  border:1px solid #bfdbfe;
  background:#eff6ff;
  border-radius:12px;
  padding:12px 14px;
}
.technicianCreateLoginCheck{
  border:0;
  padding:0;
  background:transparent;
  color:#1e3a8a;
  font-weight:800;
}
.technicianPasswordField input{
  border-color:#93c5fd!important;
}
