/* copied from /assets/styles.css */
:root{
  --pf-red:#E35D56;
  --pf-deep-red:#C74842;
  --pf-cream:#FFF3E6;
  --pf-ink:#1F1B17;
  --pf-green:#2EB872;
}
*{box-sizing:border-box}
html{height:100%}
body{min-height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--pf-cream);color:var(--pf-ink)}
.main-nav{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#fff;border-bottom:2px solid var(--pf-red);margin-bottom:0;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.main-nav a{color:var(--pf-deep-red);text-decoration:none;font-weight:600;font-size:14px;margin-left:20px;transition:color .2s;white-space:nowrap}
.main-nav a:hover{color:var(--pf-red)}
.main-nav .nav-left{display:flex;gap:20px}
.main-nav .nav-right{display:flex;gap:20px;align-items:center}
.main-nav .nav-left a:first-child{margin-left:0}
.container{max-width:950px;margin:24px auto;padding:22px;background:#fff;border-radius:12px;border:2px solid var(--pf-red);box-shadow:0 12px 24px rgba(0,0,0,.07)}
.header{display:flex;gap:16px;align-items:center;justify-content:center;flex-direction:column;margin-bottom:12px}
.header img{width:140px;height:auto}
.brand{font-size:28px;font-weight:800;text-align:center}
.subtitle{color:#7a6e65;text-align:center}
.tagline{color:#7a6e65;text-align:center;font-size:16px;margin-bottom:24px}
.btn{background:var(--pf-red);color:#fff;padding:12px 22px;border-radius:12px;text-decoration:none;font-weight:700;display:inline-block;transition:.18s;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.btn:hover{background:var(--pf-deep-red)}
.btn.secondary{background:#ffe4dc;color:var(--pf-deep-red)}
.btn.secondary:hover{background:#ffd2c3}
button.primary.big{font-size:16px;padding:14px 30px}
.pill{display:inline-block;background:#ffe4dc;color:#8b3e2a;font-size:12px;padding:4px 10px;border-radius:999px;margin:4px 0}
.section-subtitle-conn{font-size:20px;font-weight:700;text-align:center;color:var(--pf-deep-red);margin-top:2px;margin-bottom:14px;letter-spacing:.5px}
.highlight-input{background:linear-gradient(90deg,#fff7f3,#ffffff);border:1px solid #e2cfc7;box-shadow:0 1px 3px rgba(0,0,0,.06) inset,0 0 0 0 transparent;transition:.25s}
.highlight-input:focus{background:#fff;box-shadow:0 0 0 3px rgba(227,93,86,.25);border-color:var(--pf-red)}
.highlight-input::placeholder{color:#b3998d;font-style:italic}
.password-wrapper{position:relative}
.password-toggle-btn{position:absolute;right:10px;top:32px;background:transparent;border:0;color:var(--pf-deep-red);font-size:12px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:6px;letter-spacing:.5px}
.password-toggle-btn:hover{background:#ffe6de}
form.login{max-width:380px;margin:0 auto}
form.login .field{margin-bottom:14px}
form.login input[type=email],form.login input[type=password]{width:100%;padding:10px 12px;border:1px solid #d9c9bf;border-radius:10px;font-size:15px}
.stock-wrap{background:#fff;border:2px solid var(--pf-red);border-radius:12px;padding:18px;margin-bottom:22px}
.stock-form{max-width:900px;margin:0 auto}
.stock-form-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.stock-form-row label{width:160px;text-align:right;font-weight:600}
.stock-form input[type=text],.stock-form select,.stock-form input[type=number]{width:100%;padding:8px 10px;border:1px solid #d4c7bf;border-radius:6px;font-size:14px;line-height:1.35}
.stock-form select{max-width:320px}
/* Readonly owner field aligns with selects */
.stock-form .owner-display{max-width:320px;background:#faf7f4;color:#7a6e65}
/* Tighter desktop widths for specific fields */
.stock-form #variety{max-width:520px}
.stock-form #seed_count{max-width:110px;text-align:right}
.stock-form input[type=number]{-moz-appearance:textfield;appearance:none}
.table-list{width:100%;border-collapse:collapse;margin-top:14px}
/* Removed global table scroll; we only scroll inside the Variété cell */
.table-responsive{width:100%}
.table-list th,.table-list td{padding:7px 9px;border-bottom:1px solid #efdfd6;font-size:13px;text-align:left}
.table-list thead th{background:#fff6ef}
.table-list tbody tr:hover{background:#fff2ea}
.badge-species{display:inline-block;background:#ffe1d9;padding:1px 6px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}
/* Shrink selected columns to reclaim space */
.table-list.can-edit thead th:nth-child(1){padding:4px 2px}
.table-list.can-edit tbody td:nth-child(1){padding:4px 2px}
.table-list td.variety{max-width:400px}
.table-list td.variety .scroller{display:block;max-width:100%;word-wrap:break-word;white-space:normal;overflow-wrap:break-word}
.table-list.can-edit thead th:nth-child(5),
.table-list:not(.can-edit) thead th:nth-child(4){width:56px}
.table-list.can-edit thead th:nth-child(6),
.table-list:not(.can-edit) thead th:nth-child(5){width:56px}
.table-list.can-edit thead th:nth-child(7),
.table-list:not(.can-edit) thead th:nth-child(6){width:80px}
.table-list.can-edit tbody td:nth-child(5),
.table-list:not(.can-edit) tbody td:nth-child(4){text-align:right;width:1%;white-space:nowrap}
.table-list.can-edit tbody td:nth-child(6),
.table-list:not(.can-edit) tbody td:nth-child(5){text-align:right;width:1%;white-space:nowrap}
.table-list tbody td .chili img{height:18px}
/* Home latest list: let Variété take remaining space; keep other columns compact */
.latest-list{table-layout:auto}
.latest-list thead th:nth-child(2){white-space:nowrap;text-align:right}
.latest-list thead th:nth-child(3){white-space:nowrap}
.latest-list tbody td:nth-child(2){text-align:right;white-space:nowrap}
.latest-list tbody td:nth-child(3){white-space:nowrap}
.latest-list td.variety{overflow:hidden;min-width:150px}
.latest-list td.variety .scroller{display:block;max-width:100%;word-wrap:break-word;white-space:normal;overflow-wrap:break-word}
.delete-btn{background:var(--pf-red);color:#fff;border:0;padding:8px 14px;border-radius:8px;cursor:pointer}
.delete-btn:hover{background:var(--pf-deep-red)}
.chili{display:inline-flex}
.stock-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:28px}
.logout-link{display:inline-block;margin-top:14px;color:#8a7f78;font-size:13px;text-decoration:none}
.logout-link:hover{text-decoration:underline}
.top-actions{position:absolute;top:10px;right:12px;display:flex;gap:10px}
.top-actions a{font-size:13px;color:var(--pf-deep-red);text-decoration:none;font-weight:700;background:#fff6ef;border:1px solid #f0d3cc;padding:6px 10px;border-radius:10px}
.top-actions a:hover{background:#ffe9e2}
.actions-center{text-align:center;margin-top:22px}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.field{grid-column: span 3}
.field.full{grid-column:1/-1}
.field.half{grid-column: span 3}
.label{font-weight:600;margin-bottom:6px;display:block}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:10px 12px;border:1px solid #d9c9bf;border-radius:10px;font-size:14px}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:2px solid var(--pf-red);border-color:var(--pf-red)}
input[type=checkbox]{width:auto;height:18px;min-width:18px;cursor:pointer;border:1px solid #b9aba2;border-radius:4px}
input[type=checkbox]:focus{outline:2px solid var(--pf-red);outline-offset:2px}
/* Smaller checkboxes inside the stock table */
.table-list input[type=checkbox]{width:16px;height:16px;min-width:16px}
.help{font-size:12px;color:#766a61}
.error{color:#b00020;font-size:12px;margin-top:4px}
.actions{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:12px}
button.primary{background:var(--pf-red);border:0;color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;cursor:pointer}
button.primary:hover{background:var(--pf-deep-red)}
.checkbox{display:flex;gap:6px;align-items:flex-start;text-align:left}
.center-check{display:flex;justify-content:center;margin-top:10px}
.center-check .checkbox{max-width:560px;width:100%;margin:0 auto;align-items:flex-start}
.center-check .checkbox input{margin-top:2px;margin-right:0}
.footer-note{font-size:12px;color:#7a6e65;text-align:center;margin-top:16px}
.alert{padding:12px;border-radius:10px;margin:12px 0}
.alert.success{background:#e9f7ef;color:#1e7f4f;border:1px solid #b7e4c7}
.alert.error{background:#fdecea;color:#b00020;border:1px solid #f5c6cb}
.alert.toast{position:fixed;right:16px;top:16px;z-index:1000;min-width:240px}
.breadcrumb{font-size:13px;margin:10px auto 18px;color:#7a6e65;max-width:950px;background:#fff;border:1px solid #eaded6;border-radius:12px;padding:8px 12px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.navbar{position:sticky;top:0;background:#fff;border-bottom:1px solid #eaded6;box-shadow:0 2px 8px rgba(0,0,0,.03);z-index:500}
.nav-inner{max-width:1000px;margin:0 auto;padding:8px 12px;display:flex;gap:14px;align-items:center}
.navbar a{color:var(--pf-deep-red);text-decoration:none;font-weight:700}
.navbar a:hover{text-decoration:underline}
.navbar .dot{color:#b6a69b}

/* SHU badges removed for mobile-first simplicity */

/* Stock bulk bar & page size */
.bulk-bar{position:sticky;bottom:0;background:#fff6ef;border-top:1px solid #f0d3cc;padding:10px;display:none;justify-content:center;gap:12px}
body.has-selection .bulk-bar{display:flex}
.page-size{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin:8px 0}
.after-actions{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap}

/* Mobile-first optimizations */
@media (max-width: 900px){
  .main-nav{flex-wrap:wrap;padding:8px 6px;gap:4px}
  .main-nav a{font-size:11px;margin-left:4px;padding:2px 0}
  .main-nav .nav-left,.main-nav .nav-right{gap:4px;flex-wrap:wrap}
  /* Frames and paddings slimmer so content feels larger */
  .breadcrumb{font-size:12px;margin:6px auto 8px;padding:4px 8px;background:transparent;border:0;box-shadow:none}
  /* Keep classic table; prevent overflow and fix narrow columns */
  .table-list{display:table;border-collapse:collapse;min-width:0;table-layout:auto;width:100%}
  .table-list thead{display:table-header-group}
  .table-list tbody tr{display:table-row;background:transparent;border:0;box-shadow:none;padding:0}
  .table-list tbody tr td{display:table-cell;justify-content:initial;align-items:initial;border-bottom:1px solid #efdfd6;padding:7px 8px;font-size:14px}
  .table-list tbody tr td:before{content:none}
  .table-list.can-edit thead th:nth-child(1){width:26px}
  /* Stabilité fixed width (Espèce removed) */
  .table-list.can-edit thead th:nth-child(3),
  .table-list:not(.can-edit) thead th:nth-child(2){width:92px}
  .table-list.can-edit thead th:nth-child(4),
  .table-list:not(.can-edit) thead th:nth-child(3){width:52px} /* Graines */
  .table-list.can-edit thead th:nth-child(5),
  .table-list:not(.can-edit) thead th:nth-child(4){width:70px} /* SHU */
  .table-list.can-edit tbody td:nth-child(4),
  .table-list:not(.can-edit) tbody td:nth-child(3){text-align:right;width:1%;white-space:nowrap} /* Graines */
  /* Variety: take remaining width and wrap text instead of scrolling */
  .table-list td.variety{max-width:none !important;min-width:0 !important;width:auto !important;overflow:visible !important}
  .table-list td.variety .scroller{display:block !important;max-width:100% !important;min-width:0 !important;word-wrap:break-word !important;white-space:normal !important;overflow-wrap:break-word !important;overflow-x:visible !important;overflow:visible !important}
  /* Smaller species badge on mobile to fit width */
  .badge-species{font-size:10px;padding:0 4px}
  .after-actions{position:relative;margin-top:10px;margin-bottom:50px;gap:10px}
  input[type=checkbox]{width:22px;height:22px;min-width:22px}
  .container{margin:12px auto;padding:10px;border-radius:9px;border-width:1px}
  .stock-wrap{padding:10px;margin-bottom:10px;border-radius:9px;border-width:1px}
  .breadcrumb{margin:6px auto 12px;padding:6px 10px;border-radius:10px}
  .header{margin-bottom:8px}
  .after-actions .delete-btn{padding:8px 12px}
  /* Stack form fields for readability */
  .stock-form-row{flex-direction:column;align-items:stretch;gap:6px}
  .stock-form-row label{width:100%;text-align:left}
  .header img{width:90px;height:auto}
  .brand{font-size:22px}
  /* Smaller SHU icons to save space */
  .chili img{height:16px !important;width:auto}
  /* Compact selects on mobile */
  .stock-form select{max-width:100%}
  .stock-form #variety,.stock-form #seed_count{max-width:100%}
  .stock-form .owner-display{max-width:100%}
  /* Home latest list overrides on mobile: give Variété max space */
  .latest-list{display:table;table-layout:auto;width:100%}
  .latest-list thead th:nth-child(1){width:auto;min-width:120px}
  .latest-list thead th:nth-child(2){width:56px;text-align:right;white-space:nowrap}
  .latest-list thead th:nth-child(3){width:1%;white-space:nowrap}
  .latest-list td.variety{max-width:none;min-width:120px;overflow:visible}
  .latest-list td.variety .scroller{display:block;max-width:100%;word-wrap:break-word;white-space:normal;overflow-wrap:break-word}
}

/* Extra-tight on very small phones */
@media (max-width: 480px){
  .breadcrumb{font-size:11px;margin:4px auto 6px;padding:2px 6px}
  .container{margin:10px auto;padding:8px;border-radius:8px;border-width:1px}
  .stock-wrap{padding:8px;margin-bottom:8px;border-radius:8px;border-width:1px}
  .breadcrumb{margin:4px auto 10px;padding:5px 8px;border-radius:8px}
  .brand{font-size:20px}
  .header img{width:80px;height:auto}
  button.primary{padding:10px 14px}
  .btn{padding:10px 16px}
  .table-list tbody tr{padding:4px}
  .table-list tbody tr td{padding:5px 7px;font-size:14px}
}

/* Sticky bulk bar: hidden by default, shown when selection active */
@media (max-width: 900px){
  .bulk-bar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:2px solid var(--pf-red);padding:10px 12px;z-index:900;justify-content:center;gap:12px;box-shadow:0 -2px 10px rgba(0,0,0,.06)}
  .bulk-bar .delete-btn{margin:0}
}
.breadcrumb a{color:var(--pf-deep-red);text-decoration:none;font-weight:700}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb .sep{margin:0 8px;color:#b6a69b}
.rules-table-wrapper{max-height:230px;overflow-y:auto;border:1px solid #eaded6;border-radius:14px;background:#fffdfb;padding:4px}
.rules-table-wrapper::-webkit-scrollbar{width:10px}
.rules-table-wrapper::-webkit-scrollbar-track{background:#f6ece4;border-radius:10px}
.rules-table-wrapper::-webkit-scrollbar-thumb{background:var(--pf-red);border-radius:10px;border:2px solid #f6ece4}
.rules-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.4}
.rules-table th,.rules-table td{padding:8px 10px;vertical-align:top}
.rules-table tbody tr:nth-child(odd){background:#fff8f4}
.rules-table thead th{position:sticky;top:0;background:#fff3ec;z-index:1;font-size:13px;letter-spacing:.5px;text-transform:uppercase}
.rules-table td:first-child{font-weight:600;color:var(--pf-deep-red);width:42px;text-align:center}
.center-check{display:flex;justify-content:center;margin-top:10px}

/* Footer */
.main-footer{background:#fff;border-top:2px solid var(--pf-red);padding:24px;margin-top:40px;box-shadow:0 -2px 8px rgba(0,0,0,.05)}
.main-footer .footer-content{max-width:950px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.main-footer .footer-links{display:flex;gap:24px;flex-wrap:wrap}
.main-footer a{color:var(--pf-deep-red);text-decoration:none;font-weight:600;font-size:14px;transition:color .2s}
.main-footer a:hover{color:var(--pf-red)}
.main-footer .footer-copyright{color:#7a6e65;font-size:13px}
@media(max-width:900px){
  .main-footer{padding:16px 12px}
  .main-footer .footer-content{flex-direction:column;text-align:center;gap:12px}
  .main-footer .footer-links{justify-content:center;gap:12px}
  .main-footer a{font-size:12px}
  .main-footer .footer-copyright{font-size:12px}
}

/* Uniformisation des liens cliquables (style footer/tableaux + inline) */
.text-link,
.table-list a:not(.btn):not(.btn-add-photo):not(.back-link),
.admin-table a:not(.btn),
.latest-list a:not(.btn),
.footer-note a,
.rules-table a,
.checkbox a{
  color:var(--pf-deep-red);
  text-decoration:none;
  font-weight:600;
  transition:color .2s;
}
.text-link:visited,
.table-list a:not(.btn):not(.btn-add-photo):not(.back-link):visited,
.admin-table a:not(.btn):visited,
.latest-list a:not(.btn):visited,
.footer-note a:visited,
.rules-table a:visited,
.checkbox a:visited{
  color:var(--pf-deep-red);
}
.text-link:hover,
.table-list a:not(.btn):not(.btn-add-photo):not(.back-link):hover,
.admin-table a:not(.btn):hover,
.latest-list a:not(.btn):hover,
.footer-note a:hover,
.rules-table a:hover,
.checkbox a:hover{
  color:var(--pf-red);
}