/* ==========================================================
   SAV - CSS centralisé (mes_savs.css)
   - Scope user: .sav-page ...
   - Scope admin: .as_...
========================================================== */

/* =========================
   SCOPE: USER (.sav-page)
========================= */

.sav-page .sav-hidden{
  display:none !important;
}

.sav-page .livraisons-right.sav-bg{
  background-image:
    linear-gradient(to bottom, rgba(239, 247, 255, 0) 60%, #eff7ff 100%),
    url("https://www.stock-literie.fr/app_serta/img/fond-sav.png") !important;
  background-size:cover, contain;
  min-height:90vh;
}

.sav-page .sav-error-box{
  padding:12px;
  border:1px solid #f2c0c0;
  border-radius:8px;
  background:#fff5f5;
  color:#7a0000;
  font-weight:800;
}

.sav-page .sav-empty{
  padding:12px;
  border:1px solid #eee;
  border-radius:8px;
  background:#fff;
  color:#555;
}

.sav-page .sav-status-top{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.sav-page .sav-status-top-label{
  color:#666;
  font-weight:700;
}

.sav-page .sav-status{
  font-weight:800;
  padding:8px 12px;
  border-radius:999px;
}

.sav-page .sav-status-draft-plain{
  font-weight:900;
  color:#666;
}

.sav-page .status-ok{
  color:#1f7a1f;
  background:#e7f6e7;
}

.sav-page .status-review{
  color:#7a5a00;
  background:#fff3d6;
}

.sav-page .status-rejected{
  color:#9b1c1c;
  background:#fde8e8;
}

.sav-page .status-deposed,
.sav-page .status-deposited{
  color:#444;
  background:#f5f5f5;
  border:1px solid #e5e5e5;
}

.sav-page .sav-back-btn{
  display:block;
  width:100%;
  box-sizing:border-box;
  text-align:center;
  text-decoration:none;
  padding:14px 12px;
  border-radius:10px;
  font-weight:1000;
  background:#0b2a5b;
  border:1px solid #0b2a5b;
  color:#fff;
  transition:filter .12s ease, transform .12s ease;
}

.sav-page .sav-back-btn:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
}

.sav-page .sav-card{
  border:1px solid #eee;
  border-radius:8px;
  padding:14px 12px;
  margin-bottom:14px;
  background:#fff;
}

.sav-page .sav-card-title{
  font-weight:800;
  margin-bottom:10px;
  background:#f5f5f5;
  border:1px solid #ddd;
  border-radius:6px;
  padding:10px;
}

.sav-page .sav-grid-3{
  display:grid;
  grid-template-columns:1fr 1fr 1.3fr;
  gap:12px;
}

.sav-page .sav-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.sav-page .sav-field label{
  display:block;
  font-size:.85em;
  color:#666;
  margin-bottom:6px;
}

.sav-page .sav-field select,
.sav-page .sav-field textarea,
.sav-page .sav-field input[type="file"]{
  width:100%;
  box-sizing:border-box;
  height:44px;
  padding:8px 10px;
  border:1px solid #ccc;
  border-radius:6px;
  background:#fff;
}

.sav-page .sav-field textarea{
  height:auto;
  min-height:120px;
  resize:vertical;
}

.sav-page .sav-field select:disabled,
.sav-page .sav-field textarea:disabled,
.sav-page .sav-field input[type="file"]:disabled{
  opacity:.5;
  background:#f3f3f3;
  cursor:not-allowed;
}

.sav-page .sav-hint{
  margin-top:10px;
  font-size:.9em;
  color:#666;
}

.sav-page .sav-subhint{
  margin-top:6px;
  font-size:.82em;
  color:#777;
}

.sav-page .sav-actions{
  margin-top:10px;
}

.sav-page .sav-photo-preview{
  margin-top:10px;
  border:1px solid #eee;
  border-radius:8px;
  padding:10px;
  background:#fafafa;
}

.sav-page .sav-photo-preview-title{
  font-weight:700;
  margin-bottom:8px;
}

.sav-page .sav-photo-preview img{
  max-width:100%;
  height:auto;
  border-radius:6px;
  border:1px solid #e6e6e6;
}

.sav-page .sav-radio-title{
  font-weight:700;
  margin-bottom:8px;
}

.sav-page .sav-radio-inline{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}

.sav-page .sav-radio{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-size:.95em;
  color:#333;
}

.sav-page .sav-radio input[type="radio"]{
  width:18px;
  height:18px;
  transform:scale(1.2);
}

.sav-page .sav-req{
  color:#d11;
  font-weight:800;
  margin-left:4px;
}

.sav-page .sav-required-legend{
  margin-top:10px;
  font-size:.9em;
  color:#666;
  text-align:center;
}

.sav-page .sav-contremarque{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed #e8e8e8;
}

.sav-page .sav-checkbox{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  color:#333;
  margin:0;
}

.sav-page .sav-checkbox input[type="checkbox"]{
  width:18px;
  height:18px;
  transform:scale(1.15);
}

.sav-page .sav-contremarque-select{
  margin-top:10px;
}

.sav-page .sav-submit{
  transition:filter .12s ease, opacity .12s ease;
}

.sav-page .sav-submit:disabled{
  opacity:.45;
  filter:grayscale(1);
  cursor:not-allowed;
}

.sav-page .sav-submit:not(:disabled){
  background:#0b2a5b !important;
  border-color:#0b2a5b !important;
  color:#fff !important;
  opacity:1;
  filter:none;
  cursor:pointer;
}

.sav-page .sav-submit:not(:disabled):hover{
  filter:brightness(.95);
}

.sav-page .sav-loading{
  position:fixed;
  inset:0;
  background:rgba(255,255,255,.85);
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
}

.sav-page .sav-loading-box{
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:14px;
  padding:18px 16px;
  min-width:260px;
  box-shadow:0 12px 30px rgba(0,0,0,.10);
  text-align:center;
}

.sav-page .sav-loading-text{
  margin-top:10px;
  font-weight:900;
  color:#0b2a5b;
}

.sav-page .sav-spinner{
  width:34px;
  height:34px;
  border-radius:50%;
  border:4px solid #d7e0ee;
  border-top-color:#0b2a5b;
  margin:0 auto;
  animation:savspin .9s linear infinite;
}

@keyframes savspin{
  to{transform:rotate(360deg);}
}

.sav-page .sav-success-card{
  border:1px solid #bfe6c9;
  background:#eaf9ef;
  color:#155b2a;
  border-radius:12px;
  padding:16px 14px;
  font-weight:800;
}

.sav-page .sav-success-title{
  font-weight:1000;
  font-size:1.15em;
  margin-bottom:6px;
}

.sav-page .sav-success-text{
  line-height:1.35;
}

.sav-page .sav-success-sign{
  margin-top:10px;
  font-weight:1000;
}

.sav-page .sav-status-top-flex{
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.sav-page .sav-status-left{
  display:flex;
  align-items:center;
  gap:10px;
}

.sav-page .sav-cancel-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #f2b6b6;
  background:#ffecec;
  color:#a30000;
  font-weight:900;
  padding:10px 12px;
  border-radius:10px;
  cursor:pointer;
  transition:filter .12s ease, transform .12s ease;
  white-space:nowrap;
}

.sav-page .sav-cancel-btn:hover{
  filter:brightness(.97);
  transform:translateY(-1px);
}

.sav-page .sav-trash-ico{
  display:inline-flex;
  color:#a30000;
}

.sav-page .sav-new-wrap{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin-bottom:12px;
}

.sav-page .sav-new-btn{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  text-align:center;
  text-decoration:none;
  padding:14px 12px;
  border-radius:10px;
  font-weight:1000;
  background:#0b2a5b;
  border:1px solid #0b2a5b;
  color:#fff;
  transition:filter .12s ease, transform .12s ease;
}

.sav-page .sav-new-btn:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
}

.sav-page .sav-list{
  width:100%;
}

.sav-page .sav-year{
  font-weight:900;
  margin-top:16px;
  margin-bottom:8px;
}

.sav-page .sav-month{
  font-weight:800;
  padding:10px;
  background:#f5f5f5;
  border:1px solid #ddd;
  border-radius:6px;
  margin:10px 0;
}

.sav-page .sav-row{
  display:grid;
  grid-template-columns:110px 1fr 260px;
  gap:12px;
  align-items:start;
  border:1px solid #eee;
  border-radius:8px;
  padding:12px;
  background:#fff;
  margin-bottom:10px;
}

.sav-page .sav-date{
  font-weight:800;
  font-size:.95em;
}

.sav-page .sav-title{
  font-weight:800;
  margin-bottom:4px;
}

.sav-page .sav-product{
  font-size:.92em;
  color:#444;
  margin-bottom:6px;
}

.sav-page .sav-excerpt{
  font-size:.92em;
  color:#555;
}

.sav-page .sav-status{
  justify-self:end;
  font-weight:800;
  padding:8px 12px;
  border-radius:999px;
  margin-right:28px;
  text-align:right;
}

.sav-page .sav-link{
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  position:relative;
  transition:.18s ease;
}

.sav-page .sav-link:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.sav-page .sav-link::after{
  content:"›";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:26px;
  color:#b5c2cf;
}

.sav-page .sav-link:hover::after{
  transform:translateY(-50%) translateX(4px);
}

.sav-page .sav-old-wrap{
  margin-top:18px;
  padding-top:10px;
  border-top:1px dashed #d7d7d7;
}

.sav-page .sav-old-toggle{
  width:100%;
  border:1px solid #dbe6f3;
  background:#eff7ff;
  color:#1b4b7a;
  font-weight:900;
  padding:12px;
  border-radius:10px;
  cursor:pointer;
  transition:.18s ease;
  text-align:left;
}

.sav-page .sav-old-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.sav-page .sav-old-toggle.is-open{
  background:#e6f2ff;
}

.sav-page .sav-old-content{
  margin-top:12px;
}

/* =========================
   SCOPE: ADMIN DETAIL (.as_...)
========================= */

.as_flash_ok{
  padding:10px 12px;
  border-radius:8px;
  background:#e7f6e7;
  color:#1f7a1f;
  font-weight:800;
  margin-bottom:10px;
  border:1px solid #bfe8bf;
}

.as_flash_err{
  padding:10px 12px;
  border-radius:8px;
  background:#fde8e8;
  color:#9b1c1c;
  font-weight:800;
  margin-bottom:10px;
  border:1px solid #f8b4b4;
}

.as_detail_top{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
}

.as_card{
  border:1px solid #eee;
  border-radius:10px;
  background:#fff;
  padding:12px;
}

.as_card_title{
  font-weight:900;
  margin-bottom:8px;
  background:#f5f5f5;
  border:1px solid #ddd;
  border-radius:8px;
  padding:8px 10px;
}

.as_status_big{
  margin-top:2px;
}

.as_status_small{
  margin-top:10px;
  color:#6b7280;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.as_sep{
  height:1px;
  background:#eee;
  margin:12px 0;
}

.as_comment{
  margin-top:6px;
  padding:10px;
  background:#fafafa;
  border:1px solid #eee;
  border-radius:8px;
  color:#444;
}

.as_grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.as_label{
  display:block;
  font-weight:900;
  margin-bottom:6px;
  color:#444;
}

.as_hint{
  margin-top:6px;
  font-size:.9em;
  color:#777;
}

.as_input,
.as_textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #ccc;
  border-radius:8px;
  padding:10px;
  background:#fff;
}

.as_textarea{
  resize:vertical;
}

.as_input_savnum{
  font-weight:900;
  color:#0b2356;
}

.as_radio_cards{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.as_radio_big{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
  border:2px solid transparent;
  user-select:none;
}

.as_radio_big input[type="radio"]{
  width:22px;
  height:22px;
  transform:scale(1.15);
  margin:0;
}

.status-ok-card{
  background:#e7f6e7;
  color:#1f7a1f;
  border-color:#bfe8bf;
}

.status-rejected-card{
  background:#fde8e8;
  color:#9b1c1c;
  border-color:#f8b4b4;
}

.status-review-card{
  background:#fff3d6;
  color:#7a5a00;
  border-color:#ffe1a3;
}

.as_radio_big.is-selected{
  box-shadow:0 0 0 4px rgba(0,0,0,.04);
  transform:translateY(-1px);
}

.as_checks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 14px;
}

.as_check{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  font-weight:900;
  color:#374151;
}

.as_check:hover{
  background:#f9fafb;
}

.as_check input[type="checkbox"]{
  width:20px;
  height:20px;
  transform:scale(1.05);
  margin:0;
}

.as_btn_row{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.as_btn_row_outside{
  margin-top:14px;
  padding:0 2px;
}

button.as_btn_primary{
  flex:1 !important;
  height:48px !important;
  border-radius:10px !important;
  border:none !important;
  background:#2f66d0 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:15px !important;
  cursor:pointer !important;
  box-shadow:none !important;
  padding:0 16px !important;
}

button.as_btn_primary:hover{
  filter:brightness(1.03);
}

button.as_btn_pdf{
  flex:1 !important;
  height:48px !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#111 !important;
  border:1.5px solid #d1d5db !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  font-weight:900 !important;
  font-size:15px !important;
  cursor:pointer !important;
  box-shadow:none !important;
  padding:0 16px !important;
}

button.as_btn_pdf:hover{
  background:#f9fafb !important;
  border-color:#cbd5e1 !important;
}

button.as_btn_pdf svg{
  color:#111 !important;
}

.as_btn_certif{
  flex:1;
  height:48px;
  border-radius:10px;
  background:#fde8e8;
  color:#9b1c1c;
  border:1.5px solid #f8b4b4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:900;
  font-size:15px;
  text-decoration:none;
  padding:0 16px;
}

.as_btn_certif:hover{
  background:#fbd5d5;
}

.as_btn_certif svg{
  color:#9b1c1c;
}

.as_btn_danger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border:1px solid #d9d9d9;
  border-radius:12px;
  background:#fff;
  color:#0b275a;
  font-size:16px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  margin-top:14px;
  text-decoration:none;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.as_btn_danger:hover{
  background:#fff5f5;
  border-color:#e3b4b4;
  color:#a12828;
  box-shadow:0 4px 14px rgba(0,0,0,.10);
  transform:translateY(-1px);
}

.as_btn_danger:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.as_btn_danger:focus{
  outline:none;
}

.as_btn_danger:focus-visible{
  outline:2px solid #0b275a;
  outline-offset:2px;
}

.as_btn_danger svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  color:currentColor;
}

.as_btn_danger span{
  display:inline-block;
  white-space:nowrap;
}

.as_photos_block{
  margin-top:12px;
}

.as_photos_title{
  font-weight:900;
  margin-bottom:8px;
}

.as_photos_grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
}

.as_photo_thumb{
  position:relative;
  display:block;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #e5e7eb;
  background:#fff;
}

.as_photo_thumb img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}

.as_photo_zoom{
  position:absolute;
  right:8px;
  bottom:8px;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(11,35,86,.85);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.as_lightbox{
  position:fixed;
  inset:0;
  display:none;
  z-index:99999;
}

.as_lightbox.is-open{
  display:block;
}

.as_lightbox_backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.65);
}

.as_lightbox_panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(1000px, 92vw);
  height:min(700px, 86vh);
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}

.as_lightbox_panel img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.as_lightbox_x{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.as_full_width_block{
  grid-column:1 / -1;
  width:100%;
}

.as_full_width_block select{
  width:100%;
  min-height:44px;
  font-weight:700;
}

select.as_input{
  height:58px;
  min-height:58px;
  line-height:1.2;
  padding-top:0;
  padding-bottom:0;
  padding-right:42px;
  appearance:auto;
  -webkit-appearance:menulist;
}

.as_wait_options{
  margin-top:14px;
  padding:14px 16px;
  background:#f8fbff;
  border:1px solid #d7e3f2;
  border-radius:14px;
}

.as_btn_secondary{
  appearance:none;
  border:none;
  cursor:pointer;
  padding:12px 18px;
  border-radius:12px;
  background:#16325c;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.as_btn_secondary:hover{
  opacity:.94;
}

.as_modal{
  position:fixed;
  inset:0;
  z-index:9999;
}

.as_modal[aria-hidden="true"]{
  pointer-events:none;
}

.as_modal_backdrop{
  position:absolute;
  inset:0;
  background:rgba(16, 29, 48, .55);
}

.as_modal_panel{
  position:relative;
  width:min(720px, calc(100vw - 32px));
  margin:7vh auto 0;
  background:#fff;
  border-radius:18px;
  box-shadow:0 20px 70px rgba(0,0,0,.18);
  padding:22px;
  z-index:2;
}

.as_modal_x{
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  border:none;
  border-radius:999px;
  background:#eef3f9;
  color:#16325c;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

/* =========================
   SCOPE: ADMIN LIST (.as_...)
========================= */

.as-hidden{
  display:none !important;
}

.as_page_title,
.message-haut > h3,
.as_section_title{
  font-size:20px;
  line-height:1.15;
  font-weight:900;
  color:#0b2356;
}

.as_admin_btn_primary,
.as_admin_btn_secondary{
  height:46px;
  border-radius:12px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  box-sizing:border-box;
  font-size:15px;
}

.as_admin_btn_primary{
  background:#2f66d0;
  color:#fff;
  border:1px solid #2f66d0;
}

.as_admin_btn_primary:hover{
  filter:brightness(1.03);
}

.as_admin_btn_secondary{
  background:#fff;
  color:#0b2356;
  border:1px solid #d7e0ea;
}

.as_admin_btn_secondary:hover{
  background:#f2f6ff;
}

.as_filters_toggle_btn{
  height:44px;
  border-radius:12px;
  padding:0 16px;
  border:1px solid #d7e0ea;
  background:#eff6ff;
  color:#0b2356;
  font-weight:900;
  font-size:14px;
  cursor:pointer;
}

.as_filters_toggle_btn:hover{
  background:#e5f0ff;
}

.as_filters_panel{
  margin-top:2px;
  margin-bottom:28px;
}

.as_filters_box{
  margin-top:0;
  padding:28px;
  border:1px solid #dbe3ee;
  border-radius:24px;
  background:#f8fafc;
}

.as_filters_form{
  margin:0;
}

.as_filters_form_title{
  margin:0 0 16px 0;
  font-size:18px;
  font-weight:900;
  color:#0b2356;
}

.as_filters_sep_line{
  height:1px;
  margin:28px 0;
  background:#e4ebf3;
}

.as_filters_row{
  display:grid;
  gap:20px;
  align-items:end;
}

.as_filters_row_top{
  grid-template-columns:1fr;
}

.as_filters_row_bottom{
  grid-template-columns:minmax(0,1.12fr) minmax(0,1.12fr) 54px minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  margin-top:20px;
  align-items:end;
}

.as_filter_item label{
  display:block;
  margin-bottom:10px;
  font-size:15px;
  font-weight:900;
  color:#334155;
}

.as_filter_item input,
.as_filter_item select{
  width:100%;
  height:56px;
  min-height:56px;
  box-sizing:border-box;
  border:2px solid #cbd5e1;
  border-radius:16px;
  padding:0 18px;
  font-size:16px;
  font-weight:800;
  background:#fff;
  color:#111827;
  box-shadow:none;
  outline:none;
}

.as_filter_item input:focus,
.as_filter_item select:focus{
  border-color:#2f66d0;
  box-shadow:0 0 0 3px rgba(47,102,208,.10);
}

.as_filter_sep{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:end;
  height:56px;
  min-height:56px;
  margin:0;
  padding:0 2px;
  font-weight:1000;
  font-size:18px;
  line-height:1;
  color:#64748b;
  box-sizing:border-box;
}

.as_filters_actions{
  margin-top:22px;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,1.12fr) 54px minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:end;
}

.as_btn_submit_filter{
  border:none;
  cursor:pointer;
}

.as_filters_hint{
  margin-top:16px;
  font-size:14px;
  color:#667085;
  font-weight:800;
}

.as_list_wrap{
  margin-top:16px;
}

.as_section_title{
  margin:44px 0 34px 0;
}

.as_year_title{
  margin-top:18px;
  margin-bottom:10px;
  font-size:26px;
  font-weight:900;
  color:#0f2f67;
}

.as_month_title{
  margin:0;
  padding:12px 16px;
  background:#f5f7fb;
  border:1px solid #dbe3ee;
  border-bottom:none;
  border-radius:14px 14px 0 0;
  font-size:18px;
  font-weight:900;
  color:#0b2356;
}

.as_month_block{
  margin:0 0 10px 0;
}

.as_savs_list{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  background:#fff;
  border:1px solid #dbe3ee;
  border-radius:14px;
  overflow:hidden;
}

.as_savs_list.as_savs_list_compact{
  border-top:none;
  border-top-left-radius:0;
  border-top-right-radius:0;
}

.as_savs_list thead th{
  background:#f5f7fb;
  color:#0b2356;
  font-weight:900;
  font-size:16px;
  padding:16px 14px;
  text-align:left;
  border-bottom:1px solid #dbe3ee;
}

.as_savs_list tbody td{
  padding:16px 14px;
  vertical-align:top;
  border-bottom:1px solid #edf2f7;
  background:#fff;
}

.as_savs_list tbody tr:last-child td{
  border-bottom:none;
}

.as_sav_row{
  cursor:pointer;
  transition:background .15s ease;
}

.as_sav_row:hover td{
  background:#fafcff;
}

.as_col_date{
  white-space:nowrap;
  font-weight:900;
  color:#0b2356;
  line-height:1.15;
}

.as_time_inline{
  opacity:.8;
  font-weight:800;
}

.as_sav_client strong{
  color:#0b2356;
  line-height:1.15;
}

.as_sav_client small{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:13px;
}

.as_sav_facture{
  margin-bottom:6px;
  font-size:16px;
  color:#0b2356;
  font-weight:900;
}

.as_sav_prod{
  font-size:15px;
  color:#444;
  line-height:1.35;
  margin-bottom:6px;
}

.as_sav_excerpt{
  font-size:14px;
  color:#666;
  line-height:1.35;
}

.as_sav_adminbits{
  margin-bottom:4px;
}

.as_badge_depot{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  min-height:34px;
  border-radius:999px;
  color:#fff;
  font-weight:900;
  font-size:13px;
  white-space:nowrap;
}

.as_badge_status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  min-height:38px;
  border-radius:999px;
  font-weight:900;
  font-size:14px;
  white-space:nowrap;
  border:1px solid transparent;
}

.as_badge_status.status-ok{
  color:#1f7a1f;
  background:#e7f6e7;
  border-color:#bfe8bf;
}

.as_badge_status.status-review{
  color:#7a5a00;
  background:#fff3d6;
  border-color:#ffe1a3;
}

.as_badge_status.status-rejected{
  color:#9b1c1c;
  background:#fde8e8;
  border-color:#f8b4b4;
}

.as_badge_status.status-deposed{
  color:#374151;
  background:#f3f4f6;
  border-color:#e5e7eb;
}

.as_pdf_th{
  text-align:center;
  white-space:nowrap;
}

.as_pdf_td{
  text-align:center;
  white-space:nowrap;
}

.as_pdf_actions{
  display:inline-flex;
  gap:8px;
  align-items:center;
  justify-content:center;
}

.as_pdf_btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:12px;
  border:1px solid #d7e0ea;
  background:#fff;
  color:#0b2356;
  text-decoration:none;
}

.as_pdf_btn:hover{
  background:#f2f6ff;
}

.as_pdf_btn_certif{
  background:#fde8e8;
  border-color:#f8b4b4;
  color:#9b1c1c;
}

.as_pdf_btn_certif:hover{
  background:#fbd5d5;
}

.as_arrow{
  font-size:28px;
  color:#b5c2cf;
  font-weight:300;
  width:20px;
  text-align:right;
  vertical-align:middle;
}

.as_month_title + .as_month_block .as_savs_list{
  border-top:none;
  border-top-left-radius:0;
  border-top-right-radius:0;
}

.as_month_title + .as_month_block .as_savs_list thead th{
  background:#f5f7fb;
}

.as_empty_box{
  padding:18px;
  border:1px solid #dbe3ee;
  border-radius:14px;
  background:#fff;
}

.as_pager{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  margin:8px 0 18px 0;
}

.as_pager_btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid #d1d5db;
  background:#fff;
  color:#111827;
}

.as_pager_info{
  font-weight:800;
  color:#374151;
}

/* Bloc export */
.as_fx_wrap{
  margin:0;
}

.as_fx_head{
  margin:0 0 14px 0;
}

.as_fx_title{
  margin:0 0 4px 0;
  font-size:16px;
  line-height:1.2;
  font-weight:900;
  color:#0b2356;
}

.as_fx_subtitle{
  font-size:13px;
  line-height:1.4;
  color:#667085;
  font-weight:600;
}

.as_fx_grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.as_fx_form{
  margin:0;
  padding:22px;
  border:1px solid #dbe3ee;
  border-radius:22px;
  background:#fff;
  box-sizing:border-box;
}

.as_fx_form_title{
  margin:0 0 16px 0;
  font-size:17px;
  font-weight:900;
  color:#0b2356;
  line-height:1.15;
}

.as_fx_fields{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,1.18fr) minmax(188px,.82fr);
  gap:14px;
  align-items:stretch;
}

.as_fx_field,
.as_fx_actions{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-width:0;
}

.as_fx_field label{
  display:block;
  margin:0 0 10px 0;
  font-size:15px;
  font-weight:900;
  color:#334155;
  line-height:1.15;
}

.as_fx_field select{
  margin:0;
}

select.as_fx_select{
  width:100%;
  height:56px;
  min-height:56px;
  box-sizing:border-box;
  border:2px solid #cbd5e1;
  border-radius:16px;
  padding:0 18px;
  background:#fff;
  color:#111827;
  font-size:16px;
  font-weight:800;
  appearance:auto;
  -webkit-appearance:menulist;
  box-shadow:none;
  outline:none;
}

select.as_fx_select:focus{
  border-color:#2f66d0;
  box-shadow:0 0 0 3px rgba(47,102,208,.10);
}

.as_fx_actions{
  height:100%;
  align-self:stretch;
}

button.as_fx_btn{
  width:100%;
  max-width:100%;
  min-width:0;
  height:56px;
  min-height:56px;
  margin:0;
  padding:0 18px;
  border:1px solid #2f66d0;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:900;
  cursor:pointer;
  box-sizing:border-box;
  background:#2f66d0;
  color:#fff;
  text-decoration:none;
}

button.as_fx_btn:hover{
  filter:brightness(1.03);
}

/* Header admin compact */
.as_admin_header_compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  grid-template-rows:auto auto;
  column-gap:22px;
  row-gap:12px;
  align-items:end;
  margin-bottom:12px;
}

.as_admin_header_title{
  grid-column:1;
  grid-row:1;
  margin:0 !important;
  font-size:25px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  color:#0b2356 !important;
  letter-spacing:-0.02em;
}

.as_admin_header_actions{
  grid-column:2;
  grid-row:1 / span 2;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}

.as_admin_header_actions > *{
  margin:0 !important;
}

.as_admin_header_actions .as_admin_btn_primary,
.as_admin_header_actions .as_filters_toggle_btn_top{
  width:100%;
  min-width:0;
  height:44px;
  min-height:44px;
  border-radius:12px;
  font-size:13px;
  font-weight:900;
  padding:0 14px;
  line-height:1.15;
  text-align:center;
  justify-content:center;
  box-sizing:border-box;
  white-space:normal;
}

.as_admin_header_search{
  grid-column:1;
  grid-row:2;
  margin:0;
  width:100%;
  max-width:none;
}

/* Recherche header admin */
.as_admin_header_search.asx-search,
.as_admin_header_search.asx-search *,
.as_admin_header_search.asx-search *::before,
.as_admin_header_search.asx-search *::after{
  box-sizing:border-box !important;
}

.as_admin_header_search.asx-search{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-family:inherit !important;
}

.as_admin_header_search.asx-search .asx-search__field{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.as_admin_header_search.asx-search .asx-search__label{
  all:unset;
  display:block !important;
  margin:0 0 8px 4px !important;
  padding:0 !important;
  color:#334155 !important;
  font-size:15px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  font-family:inherit !important;
}

.as_admin_header_search.asx-search .asx-search__control{
  all:unset;
  display:flex !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  margin:0 !important;
  padding:0 !important;
  border:2px solid #112e6b !important;
  border-radius:18px !important;
  background:#ffffff !important;
  overflow:hidden !important;
  box-shadow:none !important;
  position:relative !important;
}

.as_admin_header_search.asx-search .asx-search__input{
  all:unset;
  display:block !important;
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:0 24px !important;
  border:none !important;
  border-radius:0 !important;
  background:#ffffff !important;
  color:#111827 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:800 !important;
  font-family:inherit !important;
  box-shadow:none !important;
  outline:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
}

.as_admin_header_search.asx-search .asx-search__input::placeholder{
  color:#737373 !important;
  opacity:1 !important;
  font-weight:800 !important;
}

.as_admin_header_search.asx-search .asx-search__input::-webkit-search-decoration,
.as_admin_header_search.asx-search .asx-search__input::-webkit-search-cancel-button,
.as_admin_header_search.asx-search .asx-search__input::-webkit-search-results-button,
.as_admin_header_search.asx-search .asx-search__input::-webkit-search-results-decoration{
  display:none !important;
}

.as_admin_header_search.asx-search .asx-search__button{
  all:unset;
  display:flex !important;
  flex:0 0 92px !important;
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:#112e6b !important;
  color:#ffffff !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  box-shadow:none !important;
  outline:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  position:relative !important;
}

.as_admin_header_search.asx-search .asx-search__button:hover,
.as_admin_header_search.asx-search .asx-search__button:focus,
.as_admin_header_search.asx-search .asx-search__button:active{
  background:#112e6b !important;
  color:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
  filter:none !important;
  transform:none !important;
}

.as_admin_header_search.asx-search .asx-search__icon{
  display:block !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  color:#ffffff !important;
  stroke:currentColor !important;
  pointer-events:none !important;
}

.as_admin_header_search.asx-search .as_admin_search_row,
.as_admin_header_search.asx-search .as_admin_search_input,
.as_admin_header_search.asx-search .as_admin_search_btn,
.as_admin_header_search.asx-search .as_search_top_field{
  all:unset;
}

/* Bouton du haut */
.as_admin_header_actions .as_filters_toggle_btn_top{
  background:#16a34a !important;
  color:#fff !important;
  border:1px solid #16a34a !important;
}

.as_admin_header_actions .as_filters_toggle_btn_top:hover{
  background:#15803d !important;
  border-color:#15803d !important;
}

.as_admin_header_actions .as_filters_toggle_btn_top[aria-expanded="true"]{
  background:transparent !important;
  color:#16a34a !important;
  border:1px solid #16a34a !important;
}

.as_admin_header_actions .as_filters_toggle_btn_top[aria-expanded="true"]:hover{
  background:rgba(22,163,74,.06) !important;
  border-color:#16a34a !important;
  color:#16a34a !important;
}

/* Boutons filtres */
.as_filters_panel .as_fx_form .as_fx_actions .as_fx_btn,
.as_filters_panel .as_filters_form .as_filters_actions .as_btn_submit_filter{
  height:56px !important;
  min-height:56px !important;
  border-radius:16px !important;
  border:1px solid #2f66d0 !important;
  background:#2f66d0 !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:16px !important;
  font-weight:900 !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  text-decoration:none !important;
  padding:0 22px !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

.as_filters_panel .as_filters_form .as_filters_actions .as_btn_submit_filter{
  grid-column:2 / 4;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
}

.as_filters_panel .as_fx_form .as_fx_actions .as_fx_btn:hover,
.as_filters_panel .as_filters_form .as_filters_actions .as_btn_submit_filter:hover{
  filter:brightness(1.03) !important;
}

.as_filters_panel .as_filters_form .as_filters_actions .as_admin_btn_secondary{
  grid-column:4 / 5;
  height:56px !important;
  min-height:56px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  border-radius:16px !important;
  border:2px solid #2f66d0 !important;
  background:#fff !important;
  color:#2f66d0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:16px !important;
  font-weight:900 !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  text-decoration:none !important;
  padding:0 22px !important;
  margin:0 !important;
}

.as_filters_panel .as_filters_form .as_filters_actions .as_admin_btn_secondary:hover{
  background:#f4f8ff !important;
}

.as_filters_panel .as_filters_form .as_filters_row_bottom .as_filter_item input[type="date"]{
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  border:2px solid #cbd5e1 !important;
  border-radius:16px !important;
  padding:0 18px !important;
  font-size:16px !important;
  font-weight:800 !important;
  box-sizing:border-box !important;
  background:#fff !important;
  color:#111827 !important;
  box-shadow:none !important;
  outline:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

.as_filters_panel .as_filters_form .as_filters_row_bottom .as_filter_item input[type="date"]:focus{
  border-color:#2f66d0 !important;
  box-shadow:0 0 0 3px rgba(47,102,208,.10) !important;
}

/* Shared mini grids */
.sav-mini-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
}

.sav-mini-item{
  border:1px solid #e6e6e6;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}

.sav-mini-item img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}

.sav-mini-doc{
  height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#0b2b55;
  background:#f2f6ff;
}

.sav-mini-name{
  padding:8px 10px;
  font-size:12px;
  color:#173a63;
  word-break:break-word;
}

.sav-att-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

.sav-att-item{
  display:block;
  text-decoration:none;
  border:1px solid #e6e6e6;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.sav-att-item img{
  width:100%;
  height:150px;
  object-fit:cover;
  display:block;
}

.sav-att-doc{
  height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:10px;
  background:#f2f6ff;
}

.sav-att-doc-ico{
  font-weight:900;
  background:#0b2b55;
  color:#fff;
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
}

.sav-att-name{
  padding:10px 12px;
  font-size:12px;
  color:#173a63;
  word-break:break-word;
}

/* Badge produit déclaration */
.sav-page .sav-product-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px 0;
  padding:8px 14px;
  border-radius:999px;
  font-weight:800;
  font-size:14px;
  line-height:1;
  border:1px solid #d7e3f6;
  background:#eef4ff;
  color:#163a70;
}

.sav-page .sav-product-badge::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:currentColor;
  opacity:.85;
}

.sav-page .sav-product-badge.is-matelas{
  background:#eef4ff;
  border-color:#cfe0ff;
  color:#17407c;
}

.sav-page .sav-product-badge.is-sommier{
  background:#eefaf4;
  border-color:#cfe9da;
  color:#1f6a46;
}

/* Alerte vidéo SAV */
.sav-video-warning{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin:14px 0 18px 0;
  padding:14px 16px;
  border:2px solid #ffd4a8;
  border-radius:14px;
  background:#fff4e8;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}

.sav-video-warning-icons{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-top:2px;
}

.sav-video-warning-ico{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  height:38px;
  border-radius:10px;
  font-size:24px;
  line-height:1;
  background:#fff;
}

.sav-video-warning-ico-video,
.sav-video-warning-ico-photo{
  border:1px solid #f1c38f;
}

.sav-video-warning-text{
  color:#8a3d00;
  min-width:0;
}

.sav-video-warning-title{
  margin:0 0 6px 0;
  font-size:15px;
  line-height:1.3;
  font-weight:800;
}

.sav-video-warning-subtext{
  font-size:12px;
  line-height:1.45;
  font-weight:600;
}

/* CGV */
.sav-page-list .sav-cgv-wrap{
  margin-top:24px;
}

.sav-page-list .sav-cgv-actions{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.sav-page-list .sav-cgv-toggle,
.sav-page-list .sav-cgv-pdf-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  line-height:1.2;
  transition:.2s ease;
  box-sizing:border-box;
}

.sav-page-list .sav-cgv-toggle{
  border:1px solid #173a63;
  background:#173a63;
  color:#fff;
  cursor:pointer;
}

.sav-page-list .sav-cgv-toggle:hover{
  background:#234a79;
  border-color:#234a79;
}

.sav-page-list .sav-cgv-toggle.is-open{
  background:#fff;
  border-color:#173a63;
  color:#173a63;
}

.sav-page-list .sav-cgv-pdf-btn{
  border:1px solid #173a63;
  background:#fff;
  color:#173a63;
}

.sav-page-list .sav-cgv-pdf-btn:hover{
  background:#f4f8fc;
}

.sav-page-list .sav-cgv-content{
  margin-top:16px;
}

.sav-page-list .sav-cgv-box{
  background:#fff;
  border:1px solid rgba(23,58,99,.10);
  border-radius:16px;
  padding:18px 20px;
  font-size:12px;
  line-height:1.45;
  color:#23384f;
}

.sav-page-list .sav-cgv-box h2{
  margin:0 0 14px 0;
  font-size:18px;
  line-height:1.2;
}

.sav-page-list .sav-cgv-box big{
  font-size:1.05em;
}

.sav-page-list .sav-cgv-box b{
  font-weight:800;
}

.sav-page-list .sav-cgv-box br + br{
  line-height:.8;
}

.sav-page-list .sav-cgv-intro{
  margin:8px 0 18px 0;
  font-size:15px;
  line-height:1.45;
  color:#173a63;
}

/* ==========================================================
   HARMONISATION DES BOUTONS BAS - admin_sav_detail.php
========================================================== */

.as_btn_row.as_btn_row_outside{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
  margin-top:14px !important;
  padding:0 !important;
}

.as_btn_row.as_btn_row_outside > *{
  margin:0 !important;
  min-width:0 !important;
}

.as_btn_row.as_btn_row_outside .as_btn_primary,
.as_btn_row.as_btn_row_outside .as_btn_pdf,
.as_btn_row.as_btn_row_outside .as_btn_secondary,
.as_btn_row.as_btn_row_outside .as_btn_certif{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 18px !important;
  border-radius:16px !important;
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  line-height:1.15 !important;
  text-align:center !important;
  white-space:normal !important;
  margin:0 !important;
}

.as_btn_row.as_btn_row_outside .as_btn_primary{
  border:none !important;
}

.as_btn_row.as_btn_row_outside .as_btn_pdf{
  border:1.5px solid #d1d5db !important;
  background:#fff !important;
  color:#111 !important;
}

.as_btn_row.as_btn_row_outside .as_btn_secondary{
  border:none !important;
  background:#16325c !important;
  color:#fff !important;
}

.as_btn_row.as_btn_row_outside .as_btn_certif{
  border:1.5px solid #f8b4b4 !important;
  background:#fde8e8 !important;
  color:#9b1c1c !important;
}

.as_btn_row.as_btn_row_outside .as_btn_primary svg,
.as_btn_row.as_btn_row_outside .as_btn_pdf svg,
.as_btn_row.as_btn_row_outside .as_btn_secondary svg,
.as_btn_row.as_btn_row_outside .as_btn_certif svg{
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
}

/* Bouton "Mail complémentaire" : masqué par défaut, visible uniquement via JS */
.as_btn_row.as_btn_row_outside #openComplementMailBtn{
  display:none !important;
  background:#16325c !important;
  color:#fff !important;
  border:none !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 4px 12px rgba(11,35,86,.12) !important;
  transition:background .15s ease, box-shadow .15s ease, transform .15s ease !important;
}

.as_btn_row.as_btn_row_outside #openComplementMailBtn.is-visible{
  display:inline-flex !important;
}

.as_btn_row.as_btn_row_outside #openComplementMailBtn:hover{
  background:#1b3c6d !important;
  opacity:1 !important;
  transform:translateY(-1px);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 6px 16px rgba(11,35,86,.16) !important;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:1200px){
  .as_admin_header_compact{
    grid-template-columns:minmax(0,1fr) 320px;
    column-gap:18px;
  }

  .as_admin_header_title{
    font-size:26px !important;
  }
}

@media (max-width:1100px){
  .as_fx_grid{
    grid-template-columns:1fr;
  }

  .as_fx_fields{
    grid-template-columns:1fr;
  }

  .as_fx_actions{
    display:block;
    height:auto;
    align-self:auto;
  }
}

@media (max-width:980px){
  .as_admin_header_compact{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
    margin-bottom:16px !important;
  }

  .as_admin_header_title{
    margin:0 !important;
    font-size:24px !important;
    line-height:1.08 !important;
  }

  .as_admin_header_actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
  }

  .as_admin_header_actions .as_admin_btn_primary,
  .as_admin_header_actions .as_filters_toggle_btn_top{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:48px !important;
    min-height:48px !important;
    padding:0 14px !important;
    font-size:14px !important;
    line-height:1.15 !important;
    text-align:center !important;
    justify-content:center !important;
    white-space:normal !important;
  }

  .as_admin_header_search.asx-search{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    clear:both !important;
  }

  .as_admin_header_search.asx-search .asx-search__field{
    width:100% !important;
    margin:0 !important;
  }

  .as_admin_header_search.asx-search .asx-search__label{
    font-size:14px !important;
    margin:0 0 8px 4px !important;
  }

  .as_admin_header_search.asx-search .asx-search__control{
    height:56px !important;
    min-height:56px !important;
    border:3px solid #112e6b !important;
    border-radius:24px !important;
  }

  .as_admin_header_search.asx-search .asx-search__input{
    padding:0 18px !important;
    font-size:15px !important;
  }

  .as_admin_header_search.asx-search .asx-search__button{
    flex:0 0 76px !important;
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
  }

  .as_admin_header_search.asx-search .asx-search__icon{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
  }
}

@media (max-width:900px){
  .as_detail_top{
    grid-template-columns:1fr;
  }

  .as_grid2{
    grid-template-columns:1fr;
  }

  .as_checks{
    grid-template-columns:1fr;
  }

  .as_photos_grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .as_grid2_rc{
    grid-template-columns:1fr !important;
  }

  .as_page_title,
  .message-haut > h3,
  .as_section_title{
    font-size:18px;
  }

  .as_filters_box{
    padding:18px;
    border-radius:18px;
  }

  .as_filters_row_top,
  .as_filters_row_bottom,
  .as_fx_fields{
    grid-template-columns:1fr;
    gap:16px;
  }

  .as_filter_sep{
    display:none;
  }

  .as_filters_actions{
    display:flex;
    flex-direction:column;
    gap:14px;
    align-items:stretch;
  }

  .as_filter_item input,
  .as_filter_item select,
  .as_filters_panel .as_filters_form .as_filters_row_bottom .as_filter_item input[type="date"],
  select.as_fx_select,
  .as_filters_panel .as_fx_form .as_fx_actions .as_fx_btn,
  .as_filters_panel .as_filters_form .as_filters_actions .as_btn_submit_filter,
  .as_filters_panel .as_filters_form .as_filters_actions .as_admin_btn_secondary{
    height:50px !important;
    min-height:50px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }

  .as_filters_panel .as_filters_form .as_filters_actions .as_btn_submit_filter,
  .as_filters_panel .as_filters_form .as_filters_actions .as_admin_btn_secondary{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    grid-column:auto !important;
  }

  .as_year_title{
    font-size:20px;
    margin-top:14px;
    margin-bottom:8px;
  }

  .as_month_title{
    font-size:16px;
    padding:10px 12px;
    border-radius:12px 12px 0 0;
  }

  .as_month_block{
    margin:0 0 8px 0;
  }

  .as_savs_list{
    display:block;
    width:100%;
    border:none;
    background:transparent;
    table-layout:auto;
  }

  .as_savs_list colgroup,
  .as_savs_list thead{
    display:none;
  }

  .as_savs_list tbody,
  .as_savs_list tr{
    display:block;
    width:100%;
  }

  .as_savs_list td{
    display:block;
    width:100%;
    padding:0;
    margin:0;
    border:none;
    background:transparent;
  }

  .as_sav_row{
    display:grid !important;
    grid-template-columns:1fr;
    gap:10px;
    background:#fff;
    border:1px solid #dbe3ee;
    border-radius:14px;
    padding:14px;
    margin-bottom:10px;
  }

  .as_month_title + .as_month_block .as_sav_row{
    border-top-left-radius:0;
    border-top-right-radius:0;
  }

  .as_sav_row:hover td{
    background:transparent;
  }

  .as_sav_row td:nth-child(1){order:1;}
  .as_sav_row td:nth-child(2){order:2;}
  .as_sav_row td:nth-child(3){order:3;}
  .as_sav_row td:nth-child(4){order:4;}
  .as_sav_row td:nth-child(5){order:5;}
  .as_sav_row td:nth-child(6){order:6;}
  .as_sav_row td:nth-child(7){display:none !important;}

  .as_col_date{
    font-size:18px;
    line-height:1.1;
  }

  .as_sav_client strong{
    font-size:14px;
    display:block;
  }

  .as_sav_client small{
    margin-top:4px;
    font-size:12px;
  }

  .as_sav_facture{
    font-size:15px;
    margin-bottom:4px;
  }

  .as_sav_prod{
    font-size:13px;
    line-height:1.35;
    margin-bottom:4px;
  }

  .as_sav_excerpt{
    font-size:12px;
    line-height:1.3;
  }

  .as_badge_depot{
    min-height:28px;
    padding:4px 9px;
    font-size:12px;
  }

  .as_badge_status{
    min-height:32px;
    padding:6px 12px;
    font-size:12px;
  }

  .as_pdf_td{
    text-align:left;
  }

  .as_pdf_actions{
    justify-content:flex-start;
  }

  .as_pdf_btn{
    width:40px;
    height:40px;
    border-radius:10px;
  }

  .as_pager{
    gap:8px;
  }

  .as_pager_btn{
    min-height:36px;
    padding:0 10px;
    font-size:12px;
  }

  .as_pager_info{
    font-size:12px;
  }

  .sav-mini-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .sav-att-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:767px){
  .sav-page .sav-grid-3{
    grid-template-columns:1fr;
  }

  .sav-page .sav-grid-2{
    grid-template-columns:1fr;
  }

  .sav-page .sav-row{
    grid-template-columns:1fr;
  }

  .sav-page .sav-status{
    justify-self:start;
    margin-right:0;
    text-align:left;
  }

  .sav-page .sav-status-top-flex{
    flex-direction:column;
    align-items:flex-start;
  }

  .sav-page .sav-cancel-btn{
    width:100%;
    justify-content:center;
  }

  .sav-page-list .sav-cgv-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .sav-page-list .sav-cgv-toggle,
  .sav-page-list .sav-cgv-pdf-btn{
    width:100%;
  }

  .sav-page-list .sav-cgv-box{
    padding:14px;
    font-size:11px;
    line-height:1.4;
  }

  .sav-page-list .sav-cgv-box h2{
    font-size:16px;
  }

  .sav-video-warning{
    gap:12px;
    padding:12px 13px;
  }

  .sav-video-warning-icons{
    gap:6px;
  }

  .sav-video-warning-ico{
    min-width:46px;
    height:34px;
    font-size:20px;
  }

  .sav-video-warning-title{
    margin-bottom:4px;
    font-size:14px;
  }

  .sav-video-warning-subtext{
    font-size:11px;
    line-height:1.4;
  }
}

@media (max-width:720px){
  .sav-page .sav-year{
    margin-left:15px;
  }

  .sav-page .sav-new-btn{
    display:block;
    width:100%;
    max-width:92%;
    margin-left:4%;
  }

  .sav-page .sav-status-left{
    margin-left:15px;
  }
}

@media (max-width:700px){
  .as_btn_row.as_btn_row_outside{
    grid-template-columns:1fr !important;
  }

  .as_btn_row.as_btn_row_outside .as_btn_primary,
  .as_btn_row.as_btn_row_outside .as_btn_pdf,
  .as_btn_row.as_btn_row_outside .as_btn_secondary,
  .as_btn_row.as_btn_row_outside .as_btn_certif{
    height:52px !important;
    min-height:52px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }
}

@media (max-width:640px){
  .as_admin_header_search.asx-search .asx-search__control{
    height:60px !important;
    min-height:60px !important;
    border-width:3px !important;
    border-radius:22px !important;
  }

  .as_admin_header_search.asx-search .asx-search__input{
    padding:0 18px !important;
    font-size:17px !important;
  }

  .as_admin_header_search.asx-search .asx-search__button{
    flex:0 0 76px !important;
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
  }

  .as_admin_header_search.asx-search .asx-search__icon{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
  }
}



.as_sav_row_admin td{
  background:#fff7e8 !important;
}

.as_sav_row_admin:hover td{
  background:#ffefd1 !important;
}

.as_sav_row_admin td:first-child{
  border-left:5px solid #f59e0b;
}

.as_sav_row_admin_system td{
  background:#fff4dd !important;
}

.as_sav_row_admin_system:hover td{
  background:#ffecc8 !important;
}

.as_sav_row_admin_manual td{
  background:#fff1e2 !important;
}

.as_sav_row_admin_manual:hover td{
  background:#ffe7d1 !important;
}

.as_sav_client_admin{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid transparent;
}

.as_sav_client_admin strong{
  display:inline-block;
  margin-bottom:4px;
}

.as_sav_client_admin small{
  display:block;
  margin-top:6px;
}

.as_sav_client_admin_system{
  background:#fff3d6;
  border-color:#ffd98a;
}

.as_sav_client_admin_manual{
  background:#ffe8d9;
  border-color:#ffc49a;
}

.as_admin_origin_badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  padding:4px 10px;
  min-height:24px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  vertical-align:middle;
  border:1px solid transparent;
}

.as_admin_origin_badge_system{
  background:#f59e0b;
  color:#fff;
  border-color:#f59e0b;
}

.as_admin_origin_badge_manual{
  background:#ea580c;
  color:#fff;
  border-color:#ea580c;
}