/* Tessera — interface PEREL (même charte que Legatus, couleur Tessera bleue) */
:root{
  --tes-bg:#f6f9ff;
  --tes-ink:#1f2a3d;
  --tes-muted:#6c7488;
  --tes-blue:#1f6fd1;
  --tes-blue-2:#0b4fb3;
  --tes-border:#e7ebf5;
  --tes-shadow:0 16px 42px rgba(28,36,70,.08);
  --tes-shadow-soft:0 8px 24px rgba(28,36,70,.06);
}
body .tessera-wrap{max-width:min(1180px,calc(100vw - 340px));width:100%;margin:0 auto;box-sizing:border-box;min-width:0;overflow:hidden;background:linear-gradient(180deg,#fbfcff 0%,#f6f9ff 100%);padding:6px 4px 28px;border-radius:24px;font-family:"Roboto","Arial","Helvetica",sans-serif;color:var(--tes-ink);}
.tessera-wrap input,.tessera-wrap select,.tessera-wrap textarea,.tessera-wrap button{font-family:inherit;}

/* En-têtes */
.tessera-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 0 28px;padding:28px 30px;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#eef5ff 100%);box-shadow:var(--tes-shadow-soft);}
.tessera-hero-left{display:flex;align-items:center;gap:20px;min-width:0;}
.tessera-hero-logo,.tessera-page-logo{border-radius:24px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 12px 30px rgba(34,48,92,.10);overflow:hidden;flex:0 0 auto;}
.tessera-hero-logo{width:72px;height:72px;}
.tessera-hero-logo img{width:56px;height:56px;object-fit:contain;}
.tessera-hero h1{font-size:34px;line-height:1.1;margin:0;color:var(--tes-ink);font-weight:800;letter-spacing:-.02em;}
.tessera-hero p{margin:8px 0 0;color:var(--tes-muted);font-size:16px;}
.tessera-page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:6px 0 22px;padding:18px 22px;border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f1f7ff 100%);box-shadow:var(--tes-shadow-soft);border:1px solid #edf0f8;}
.tessera-page-header-main{display:flex;align-items:center;gap:16px;min-width:0;}
.tessera-page-logo{width:58px;height:58px;border-radius:20px;}
.tessera-page-logo img{width:44px;height:44px;object-fit:contain;}
.tessera-page-module{font-size:12px;font-weight:850;color:var(--tes-blue);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;}
.tessera-page-header h1{font-size:24px!important;line-height:1.15;margin:0!important;color:var(--tes-ink);font-weight:850;letter-spacing:-.01em;}
.tessera-page-header p{font-size:14px;color:var(--tes-muted);margin:5px 0 0!important;}
.tessera-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}

/* Boutons */
.tessera-btn,.tessera-wrap a.butAction,.tessera-wrap .button,.tessera-wrap input.button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;border-radius:14px!important;border:1px solid transparent!important;padding:11px 18px!important;background:#fff!important;color:var(--tes-blue-2)!important;font-weight:750!important;text-transform:none!important;letter-spacing:0!important;box-shadow:0 8px 18px rgba(33,43,84,.07)!important;text-decoration:none!important;transition:.16s ease!important;cursor:pointer;margin:0!important;}
.tessera-btn-primary,.tessera-wrap a.butAction,.tessera-wrap .button-save,.tessera-wrap input[type=submit].button-save{background:linear-gradient(135deg,var(--tes-blue),var(--tes-blue-2))!important;color:#fff!important;box-shadow:0 12px 26px rgba(31,111,209,.24)!important;}
.tessera-btn:hover,.tessera-wrap a.butAction:hover,.tessera-wrap .button:hover{transform:translateY(-1px);}
.tessera-btn-danger,.tessera-wrap .button-delete{color:#e5484d!important;background:#fff!important;border-color:#ffe1e4!important;box-shadow:0 8px 18px rgba(229,72,77,.08)!important;}
.tessera-btn-soft{background:#f3f6fb!important;box-shadow:none!important;color:#596175!important;}
.tessera-icon-action{display:inline-flex;align-items:center;justify-content:center;width:26px;height:28px;color:var(--tes-blue);font-size:15px;margin-left:2px;text-decoration:none!important;border:0;background:transparent;cursor:pointer;transition:transform .16s ease,color .16s ease;}
.tessera-icon-action:hover{transform:scale(1.1);color:var(--tes-blue-2);}
.tessera-icon-action.red{color:#e5484d}.tessera-icon-action.orange{color:#e4883c}.tessera-icon-action.green{color:#13a866}

/* Indicateurs */
.tessera-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0 0 28px;}
.tessera-kpi-card{background:#fff;border:1px solid var(--tes-border);border-radius:24px;padding:22px 24px;box-shadow:var(--tes-shadow-soft);display:flex;align-items:center;gap:18px;min-height:92px;text-decoration:none!important;color:inherit!important;}
a.tessera-kpi-card:hover{box-shadow:var(--tes-shadow);}
.tessera-kpi-icon{width:58px;height:58px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:23px;flex:0 0 auto;}
.tessera-kpi-number{font-size:30px;font-weight:850;line-height:1;margin-bottom:6px;}
.tessera-kpi-label{color:var(--tes-muted);font-size:14px;line-height:1.35;}

/* Panneaux, barre d'outils, tableaux */
.tessera-panel{min-width:0;max-width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--tes-border);border-radius:28px;box-shadow:var(--tes-shadow);padding:26px;margin:0 0 28px;}
.tessera-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
.tessera-search{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tessera-search input[type=search],.tessera-search select{height:42px;border:1px solid var(--tes-border)!important;border-radius:14px!important;padding:0 14px!important;background:#fff;color:var(--tes-ink);min-width:170px;}
.tessera-search input[type=search]{min-width:260px;}
.tessera-table-wrap{overflow-x:auto;max-width:100%;border-radius:22px;border:1px solid #eef1f8;background:#fff;}
.tessera-table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff;}
.tessera-table th{background:#f8f9fd;color:#31364a;text-transform:uppercase;font-size:12px;letter-spacing:.035em;font-weight:850;padding:16px 14px;border-bottom:1px solid #eef1f8;white-space:nowrap;text-align:left;}
.tessera-table td{padding:16px 14px;border-bottom:1px solid #f1f3f8;vertical-align:middle;}
.tessera-table tr:last-child td{border-bottom:none;}
.tessera-table tr:hover td{background:#fbfcff;}
.tessera-table .right{text-align:right}.tessera-table .center{text-align:center}
.tessera-title-link{color:var(--tes-blue-2)!important;font-weight:800;text-decoration:none!important;}
.tessera-sub{display:block;color:var(--tes-muted);font-size:12.5px;margin-top:3px;}
.tessera-empty{padding:44px 20px;text-align:center;color:var(--tes-muted);font-size:15px;}
.tessera-empty .fas{font-size:30px;opacity:.5;margin-bottom:8px;}
.tessera-count{text-align:center;color:var(--tes-muted);padding-top:18px;}

/* Pastilles */
.tessera-pill,.tessera-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 11px;font-weight:800;font-size:12.5px;white-space:nowrap;}
.tessera-pill.blue,.tessera-badge.blue{background:#eef5ff;color:#1f6fd1}
.tessera-pill.green,.tessera-badge.green{background:#eafaf1;color:#13a866}
.tessera-pill.orange,.tessera-badge.orange{background:#fff3e6;color:#d0731f}
.tessera-pill.red,.tessera-badge.red{background:#fff0f1;color:#e5484d}
.tessera-pill.gray,.tessera-badge.gray{background:#f1f3f8;color:#687086}
.tessera-pill.violet,.tessera-badge.violet{background:#f3effa;color:#7c6791}

/* Sections colorées : un bloc = une couleur, appliquée à tout son contenu */
.tessera-section{--c:#1f6fd1;--c-soft:#eef5ff;--c-line:#dbe8fb;background:#fff;border:1px solid var(--tes-border);border-top:4px solid var(--c);border-radius:24px;box-shadow:var(--tes-shadow-soft);margin:0 0 24px;overflow:hidden;}
.tessera-section.tes-green{--c:#13a866;--c-soft:#eafaf1;--c-line:#cdeedc}
.tessera-section.tes-orange{--c:#e4883c;--c-soft:#fff3e6;--c-line:#f6dcc2}
.tessera-section.tes-violet{--c:#7c6791;--c-soft:#f3effa;--c-line:#e3dcee}
.tessera-section.tes-teal{--c:#0f8b8d;--c-soft:#e8f6f6;--c-line:#cbe9e9}
.tessera-section.tes-red{--c:#e5484d;--c-soft:#fff0f1;--c-line:#f8d3d5}
.tessera-section-head{display:flex;align-items:center;gap:14px;padding:18px 22px;background:linear-gradient(135deg,#fff 0%,var(--c-soft) 100%);border-bottom:1px solid var(--c-line);}
.tessera-section-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--c-soft);color:var(--c);font-size:18px;flex:0 0 auto;}
.tessera-section-title{font-size:17px;font-weight:850;color:var(--c);margin:0;}
.tessera-section-title .classfortooltip,.tessera-section-title .fa-info-circle{color:var(--c)!important;opacity:.7;}
.tessera-section-body{padding:6px 22px 14px;}
.tessera-row{display:grid;grid-template-columns:minmax(220px,32%) 1fr;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #f1f3f8;}
.tessera-row:last-child{border-bottom:0;}
.tessera-row>label,.tessera-row>.tessera-label{font-weight:700;color:#2c3448;}
.tessera-row>label .fa-info-circle,.tessera-row .classfortooltip{color:var(--c)!important;}
.tessera-row.required>label::after{content:" *";color:var(--c);}
.tessera-section .tessera-pill{background:var(--c-soft);color:var(--c);}
.tessera-section a:not(.tessera-btn):not(.button){color:var(--c);}
.tessera-wrap .tessera-section input[type=text],.tessera-wrap .tessera-section input[type=email],.tessera-wrap .tessera-section input[type=url],.tessera-wrap .tessera-section input[type=number],.tessera-wrap .tessera-section input[type=password],.tessera-wrap .tessera-section select,.tessera-wrap .tessera-section textarea{border:1px solid #dfe5f2!important;border-radius:12px!important;padding:9px 12px!important;background:#fff!important;box-shadow:none!important;}
.tessera-wrap .tessera-section input:focus,.tessera-wrap .tessera-section select:focus,.tessera-wrap .tessera-section textarea:focus{border-color:var(--c)!important;outline:2px solid var(--c-soft);}
.tessera-wrap .select2-container--default .select2-selection--single{border-radius:12px!important;border-color:#dfe5f2!important;height:40px!important;}
.tessera-wrap .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:38px!important;}
.tessera-switch{display:inline-flex;align-items:center;gap:10px;font-weight:700;cursor:pointer;}
.tessera-switch input{width:18px;height:18px;accent-color:var(--c);}
.tessera-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;background:var(--c-soft);color:var(--c);padding:6px 10px;border-radius:10px;word-break:break-all;}
.tessera-savebar{display:flex;justify-content:center;gap:12px;margin:8px 0 6px;}

/* Moyens de paiement détectés */
.tessera-chips{display:flex;gap:10px;flex-wrap:wrap;}
.tessera-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:14px;border:1px solid #e7ebf5;font-weight:750;background:#fff;}
.tessera-chip.on{border-color:#cdeedc;background:#f3fcf7;color:#13a866}
.tessera-chip.off{color:#8a91a3;background:#f8f9fb}

/* Infos et aperçu */
.tessera-info-card{display:flex;align-items:flex-start;gap:12px;background:#f8fbff;border:1px solid #dfe8f6;border-radius:18px;padding:14px 18px;margin:0 0 20px;color:#283348;}
.tessera-info-card .fas{color:var(--tes-blue);margin-top:3px;}
.tessera-info-card.warning{background:#fffaf3;border-color:#f6dcc2;}
.tessera-info-card.warning .fas{color:#e4883c;}
.tessera-preview-btn{display:inline-block;padding:14px 26px;border-radius:12px;color:#fff!important;font:600 16px/1.2 system-ui,Arial,sans-serif;text-decoration:none!important;}

/* Onglets (modèles d'e-mails) */
.tessera-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;}
.tessera-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid #e7ebf5;border-radius:16px;background:#fff;color:#5d6578!important;padding:12px 16px;font-weight:850;text-decoration:none!important;box-shadow:0 8px 18px rgba(33,43,84,.05);}
.tessera-tab.active{background:#eef5ff;color:var(--tes-blue)!important;border-color:#dbe8fb;}
.tessera-tab.orange.active{background:#fff3e6;color:#d0731f!important;border-color:#f6dcc2;}
.tessera-vars{margin-top:8px;color:#667;font-size:12px}
.tessera-vars summary{cursor:pointer;color:var(--c);font-weight:700;display:inline-block}
.tessera-vars div{margin-top:6px;padding:8px 10px;background:#f7fafc;border:1px solid #e3edf2;border-radius:8px;line-height:1.7;font-family:ui-monospace,Menlo,Consolas,monospace}

@media (max-width:1100px){.tessera-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){.tessera-kpi-grid{grid-template-columns:1fr;}.tessera-hero{flex-direction:column;align-items:flex-start;}.tessera-row{grid-template-columns:1fr;gap:8px;}.tessera-page-header{flex-direction:column;align-items:flex-start;}}
.tessera-mail-preview{width:100%;height:760px;border:1px solid #e7ebf5;border-radius:18px;background:#f3f7fa;margin:14px 0 6px;}
.tessera-savebar form{display:inline;}
.tessera-section .tessera-pill.red{background:#fff0f1;color:#e5484d;white-space:normal;}
.tessera-table td.tdoverflowmax200,.tessera-table td.tdoverflowmax250{max-width:150px;overflow:hidden;text-overflow:ellipsis;}
.tessera-table td{padding:14px 8px;}.tessera-table th{padding:14px 8px;}.tessera-panel{padding:22px;}
@media (max-width:760px){body .tessera-wrap{max-width:100%;}}
