.ntpc{color:#26342b;font-family:inherit;max-width:100%;margin:1.5rem auto}.ntpc *{box-sizing:border-box}.ntpc-intro{margin-bottom:1.25rem}.ntpc-controls{background:#f4f5ef;padding:1rem;border-radius:10px;margin-bottom:1.25rem}.ntpc label{display:block;font-weight:600;font-size:.94rem;margin-bottom:.7rem}.ntpc input,.ntpc select,.ntpc textarea{display:block;width:100%;margin-top:.35rem;padding:.65rem .75rem;border:1px solid #c9d0c7;border-radius:6px;background:#fff;color:#26342b;font:inherit;min-height:42px}.ntpc-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:.8rem}.ntpc-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:1.25rem;align-items:start}.ntpc-results-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.ntpc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ntpc-card{border:1px solid #dce2d9;border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}.ntpc-photo{width:100%;height:200px;object-fit:cover;object-position:center 28%;display:block;background:#f1f2ed}.ntpc-card-body{padding:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;height:100%}.ntpc-card h3{font-size:1.12rem;line-height:1.3;margin:0;color:#263d2d}.ntpc-botanical{font-style:italic;color:#657268;margin:0}.ntpc-meta,.ntpc-detail{font-size:.88rem;margin:0;color:#4f5e53}.ntpc-availability{display:inline-block;background:#edf3e9;color:#315c35;border-radius:20px;padding:.2rem .6rem;font-size:.78rem}.ntpc-details{font-size:.88rem;margin:.25rem 0;width:100%}.ntpc-details p{margin:.45rem 0;overflow-wrap:anywhere}.ntpc-add{background:#315c3b;color:white;border:0;border-radius:6px;padding:.7rem 1rem;font:inherit;font-weight:600;cursor:pointer;margin-top:auto}.ntpc-add:disabled{opacity:.6;cursor:not-allowed}.ntpc-list-panel{border:1px solid #dce2d9;background:#f8f9f5;border-radius:10px;padding:1rem;position:sticky;top:1rem}.ntpc-list-panel h2{font-size:1.25rem;margin:.1rem 0 .4rem}.ntpc-list-panel h3{font-size:1.05rem;margin:1rem 0 .65rem}.ntpc-muted{color:#667269;font-size:.9rem}.ntpc-list-item{display:flex;justify-content:space-between;gap:.7rem;padding:.65rem 0;border-bottom:1px solid #dce2d9}.ntpc-list-item small{display:block;color:#667269;font-style:italic}.ntpc-qty{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.ntpc-qty input{width:62px;min-height:34px;padding:.3rem}.ntpc-link{border:0;background:none;color:#315c3b;text-decoration:underline;cursor:pointer;font:inherit;font-size:.88rem}.ntpc-status{font-size:.9rem;overflow-wrap:anywhere}@media(max-width:900px){.ntpc-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ntpc-layout{grid-template-columns:1fr}.ntpc-list-panel{position:static}}@media(max-width:560px){.ntpc-cards{grid-template-columns:1fr}.ntpc-filters{grid-template-columns:1fr}.ntpc-photo{height:220px;object-position:center 25%}}
.ntpc [hidden]{display:none!important}
.ntpc-list-hint{margin:.55rem 0 1rem}

/* Filter groups added in catalogue 0.4.0 */
.ntpc-filter-groups{display:grid;gap:14px;margin:16px 0}
.ntpc-filter-section{border:1px solid #d9e1d7;border-radius:8px;padding:12px 14px 14px;margin:0;min-width:0}
.ntpc-filter-section legend{font-weight:600;padding:0 6px;color:#31533b}
.ntpc-filter-section .ntpc-filters{margin:0}
.ntpc-filter-section label{min-width:0}
.ntpc-filter-section select{width:100%;min-width:0}
@media(max-width:650px){.ntpc-filter-section .ntpc-filters{grid-template-columns:1fr}}

/* v0.4.3: Keep the list reachable while browsing long catalogues. */
@media(min-width:901px){
 .ntpc-list-panel{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
}
.ntpc-list-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0}
.ntpc-list-actions button{padding:.65rem .5rem;border:1px solid #315c3b;color:#315c3b;background:#fff;border-radius:6px;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600}
.ntpc-list-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:560px){.ntpc-list-actions{grid-template-columns:1fr}}

/* v0.4.6: Named, locally saved project lists. */
.ntpc-project-picker{border:1px solid #dce2d9;border-radius:8px;padding:.7rem;margin:.6rem 0 1rem;background:#fff}
.ntpc-project-picker label{margin-bottom:.35rem}
.ntpc-project-buttons{display:flex;gap:.35rem;flex-wrap:wrap;margin:.5rem 0}
.ntpc-project-buttons button{border:1px solid #315c3b;border-radius:5px;padding:.4rem .55rem;font:inherit;font-size:.81rem;background:#fff;color:#315c3b;cursor:pointer}
.ntpc-project-buttons button:hover{background:#edf3e9}
.ntpc-project-picker #ntpc-delete-project{color:#8a302a;border-color:#c9a09b}
.ntpc-project-picker p{margin:.5rem 0 0;line-height:1.4}

/* v0.4.7: Clearly visible filter reset at top and beside results */
.ntpc-filter-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin:.9rem 0 .4rem;padding:.75rem .85rem;background:#e8e3d8;border-radius:8px}
#ntpc-filter-status{font-size:.92rem;font-weight:600;color:#294b38}
.ntpc .ntpc-clear-button{appearance:none;display:inline-block;background:#294b38;color:#fff;border:2px solid #294b38;border-radius:7px;padding:.65rem 1rem;font:inherit;font-size:.94rem;font-weight:700;cursor:pointer;line-height:1.25;text-decoration:none;white-space:normal}
.ntpc .ntpc-clear-button:hover,.ntpc .ntpc-clear-button:focus-visible{background:#193528;border-color:#193528;color:#fff}
.ntpc .ntpc-clear-button:focus-visible{outline:3px solid #b58a55;outline-offset:2px}
.ntpc .ntpc-clear-button.ntpc-clear-active{background:#8a4b27;border-color:#8a4b27;color:#fff}
.ntpc .ntpc-clear-button.ntpc-clear-active:hover{background:#70391d;border-color:#70391d}
.ntpc-results-head{gap:.75rem;flex-wrap:wrap}
@media(max-width:560px){.ntpc-filter-toolbar{align-items:stretch;flex-direction:column}.ntpc .ntpc-filter-toolbar .ntpc-clear-button{width:100%}}

/* 0.4.8: Toggle between photo cards and sortable spreadsheet-style table. */
.ntpc-view-bar{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0 0 .85rem;color:#294b38;font-size:.9rem;font-weight:600}
.ntpc .ntpc-view-button{border:1px solid #294b38;border-radius:6px;padding:.48rem .85rem;background:#fff;color:#294b38;cursor:pointer;font:inherit;font-size:.9rem;font-weight:600}
.ntpc .ntpc-view-button[aria-pressed="true"]{background:#294b38;color:#fff}
.ntpc .ntpc-view-button:focus-visible,.ntpc .ntpc-plant-link:focus-visible,.ntpc-table th button:focus-visible{outline:3px solid #b58a55;outline-offset:2px}
.ntpc .ntpc-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #dce2d9;border-radius:8px;background:#fff}
.ntpc .ntpc-table{width:100%;min-width:875px;border-collapse:collapse;font-size:.84rem;line-height:1.4;margin:0}
.ntpc .ntpc-table th,.ntpc .ntpc-table td{padding:.55rem .5rem;border-bottom:1px solid #e1e7dc;text-align:left;vertical-align:middle;overflow-wrap:anywhere}
.ntpc .ntpc-table th{background:#e8e3d8;color:#294b38;vertical-align:bottom;white-space:normal}
.ntpc .ntpc-table th button{appearance:none;padding:0;margin:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.ntpc .ntpc-table tbody tr:not(.ntpc-table-detail-row):nth-of-type(4n+3){background:#f8f9f5}
.ntpc .ntpc-table tbody tr:not(.ntpc-table-detail-row):hover{background:#f1f3ea}
.ntpc .ntpc-plant-link{border:0;padding:0;background:none;color:#294b38;text-decoration:underline;text-align:left;cursor:pointer;font:inherit;font-weight:700}
.ntpc .ntpc-table-botanical{display:block;font-size:.79rem;font-style:italic;color:#657268;margin-top:.2rem}
.ntpc .ntpc-table .ntpc-add{font-size:.78rem;margin:0;padding:.42rem .58rem;white-space:nowrap}
.ntpc .ntpc-table-availability{font-size:.8rem}
.ntpc .ntpc-table-detail-row td{background:#f6f3ea;padding:1rem;border-bottom:2px solid #829681}
.ntpc .ntpc-table-detail-content{display:flex;gap:1rem;align-items:flex-start;line-height:1.5}
.ntpc .ntpc-table-detail-content>img{width:140px;height:125px;object-fit:contain;border-radius:7px;flex-shrink:0}
.ntpc .ntpc-table-detail-content>div{min-width:0}
.ntpc .ntpc-table-detail-content p{margin:.35rem 0}
.ntpc .ntpc-table-detail-content details>summary{display:none}
@media(max-width:560px){.ntpc .ntpc-table-detail-content{flex-direction:column}.ntpc .ntpc-table-detail-content>img{max-width:100%;width:210px}}

/* v0.4.9 responsive mobile plant-list drawer */
.ntpc .ntpc-list-floating,.ntpc .ntpc-list-close{display:none}
.ntpc .ntpc-list-backdrop[hidden]{display:none!important}
@media(max-width:900px){
 .ntpc #ntpc-table-view{display:none!important}
 .ntpc .ntpc-list-panel{
  position:fixed!important;z-index:100002;top:0!important;right:0;bottom:0;left:auto;
  width:min(440px,100vw);max-height:none!important;height:100dvh;
  margin:0;padding:1rem 1.1rem 6rem;overflow-y:auto;overscroll-behavior:contain;
  border-radius:12px 0 0 12px;box-shadow:-10px 0 30px rgba(0,0,0,.22);
  transform:translateX(105%);visibility:hidden;transition:transform .2s ease,visibility .2s;
 }
 .ntpc .ntpc-list-panel.ntpc-list-open{visibility:visible;transform:translateX(0)}
 .ntpc .ntpc-list-close{display:block;margin:0 0 1rem auto;background:#294b38;color:white;border:0;border-radius:6px;padding:.5rem .85rem;cursor:pointer;font:inherit;font-weight:600}
 .ntpc .ntpc-list-backdrop:not([hidden]){position:fixed;inset:0;z-index:100001;background:rgba(15,30,20,.48)}
 .ntpc .ntpc-list-floating{position:fixed;display:flex;align-items:center;justify-content:center;gap:.6rem;
  bottom:calc(12px + env(safe-area-inset-bottom,0px));right:12px;left:12px;
  width:calc(100% - 24px);max-width:440px;margin-left:auto;z-index:100000;
  border:0;border-radius:100px;background:#294b38;color:#fff;font:inherit;font-weight:700;
  padding:.85rem 1rem;box-shadow:0 3px 16px rgba(0,0,0,.27);cursor:pointer;line-height:1.3}
 .ntpc .ntpc-list-floating span{display:inline-flex;align-items:center;justify-content:center;
  min-width:27px;height:27px;padding:0 .3rem;border-radius:50%;background:#f6f3ea;color:#294b38;font-size:.86rem}
 body.ntpc-drawer-open{overflow:hidden}
 .ntpc .ntpc-list-floating:focus-visible,.ntpc .ntpc-list-close:focus-visible{outline:3px solid #b58a55;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){.ntpc .ntpc-list-panel{transition:none!important}}

/* v0.4.16: Predictable column widths; scroll instead of splitting words. */
.ntpc .ntpc-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.ntpc .ntpc-table{width:1170px;min-width:1170px;max-width:none;table-layout:fixed;}
.ntpc .ntpc-table th,.ntpc .ntpc-table td{overflow-wrap:normal;word-break:normal;hyphens:none;}
.ntpc .ntpc-table th:nth-child(1){width:245px;}
.ntpc .ntpc-table th:nth-child(2){width:85px;}
.ntpc .ntpc-table th:nth-child(3){width:130px;}
.ntpc .ntpc-table th:nth-child(4){width:115px;}
.ntpc .ntpc-table th:nth-child(5){width:110px;}
.ntpc .ntpc-table th:nth-child(6){width:125px;}
.ntpc .ntpc-table th:nth-child(7){width:145px;}
.ntpc .ntpc-table th:nth-child(8){width:125px;}
.ntpc .ntpc-table th:nth-child(9){width:90px;}
.ntpc .ntpc-table th button{white-space:normal;overflow-wrap:normal;word-break:normal;}
.ntpc .ntpc-table td:nth-child(2),.ntpc .ntpc-table td:nth-child(5),.ntpc .ntpc-table td:nth-child(8){white-space:normal;}

/* v0.4.18: Multiple thumbnails per plant with click-to-enlarge lightbox. */
.ntpc-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:.5rem;padding:.8rem .8rem 0;background:#f8f9f5}
.ntpc-photo-gallery--card{border-bottom:1px solid #eef2ea}
.ntpc-photo-gallery--detail{width:min(250px,42%);min-width:180px;padding:0;background:transparent;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));flex-shrink:0}
.ntpc-thumb-button{appearance:none;border:1px solid #d7ded4;border-radius:8px;padding:0;background:#fff;overflow:hidden;cursor:pointer;line-height:0}
.ntpc-thumb-button:hover,.ntpc-thumb-button:focus-visible{border-color:#8a6a45;box-shadow:0 0 0 2px rgba(181,138,85,.22)}
.ntpc-thumb-button:focus-visible{outline:2px solid #b58a55;outline-offset:2px}
.ntpc-thumb{display:block;width:100%;height:88px;object-fit:cover;background:#eef2ea}
.ntpc-photo-gallery--detail .ntpc-thumb{height:84px}
.ntpc-lightbox{position:fixed;inset:0;z-index:100004;background:rgba(10,18,13,.84);display:flex;align-items:center;justify-content:center;padding:1rem}
.ntpc-lightbox-inner{position:relative;max-width:min(92vw,1100px);max-height:92vh;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.75rem}
.ntpc-lightbox-image{display:block;max-width:100%;max-height:78vh;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.35);background:#fff}
.ntpc-lightbox-caption{color:#fff;text-align:center;font-size:.95rem;line-height:1.4;max-width:900px}
.ntpc-lightbox-close,.ntpc-lightbox-nav{appearance:none;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer}
.ntpc-lightbox-close{position:absolute;top:-.15rem;right:-.15rem;width:42px;height:42px;border-radius:999px;font-size:1.6rem;line-height:1}
.ntpc-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:56px;border-radius:12px;font-size:2rem;line-height:1}
.ntpc-lightbox-prev{left:.25rem}.ntpc-lightbox-next{right:.25rem}
body.ntpc-lightbox-open{overflow:hidden}
@media(max-width:700px){
 .ntpc-photo-gallery{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.45rem}
 .ntpc-thumb{height:76px}
 .ntpc-photo-gallery--detail{width:100%;min-width:0;grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}
 .ntpc-table-detail-content{flex-direction:column}
 .ntpc-lightbox{padding:.6rem}
 .ntpc-lightbox-nav{width:40px;height:48px}
}


/* v0.4.19: Compact filter controls, preserving touch targets and mobile readability. */
.ntpc .ntpc-controls{padding:.7rem .85rem;margin-bottom:1rem}
.ntpc .ntpc-search-label{margin-bottom:.45rem;font-size:.86rem}
.ntpc .ntpc-search-label input{margin-top:.2rem;padding:.43rem .65rem;min-height:38px;font-size:.9rem}
.ntpc .ntpc-filter-toolbar{margin:.55rem 0 .45rem;padding:.5rem .65rem;gap:.5rem}
.ntpc #ntpc-filter-status{font-size:.82rem}
.ntpc .ntpc-filter-toolbar .ntpc-clear-button{padding:.42rem .7rem;font-size:.83rem}
.ntpc .ntpc-filter-groups{gap:7px;margin:9px 0 3px}
.ntpc .ntpc-filter-section{padding:7px 10px 8px;border-radius:7px}
.ntpc .ntpc-filter-section legend{font-size:.86rem;line-height:1.2;padding:0 5px}
.ntpc .ntpc-filter-section .ntpc-filters{gap:.4rem .55rem;grid-template-columns:repeat(auto-fit,minmax(142px,1fr))}
.ntpc .ntpc-filter-section label{font-size:.8rem;line-height:1.2;margin:0;font-weight:600}
.ntpc .ntpc-filter-section select{min-height:36px;margin-top:.18rem;padding:.34rem 1.5rem .34rem .5rem;font-size:.85rem;line-height:1.25}
@media (max-width:650px){
 .ntpc .ntpc-controls{padding:.7rem}
 .ntpc .ntpc-filter-section .ntpc-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
 .ntpc .ntpc-filter-section select{min-height:40px;font-size:.85rem}
}
@media (max-width:370px){
 .ntpc .ntpc-filter-section .ntpc-filters{grid-template-columns:1fr}
}

/* v0.4.21: Download-only list instruction */
.ntpc-list-hint a{color:#294b38;text-decoration:underline;font-weight:600;overflow-wrap:anywhere}

/* v0.4.22: Compact clickable photo alongside each table-view plant name. */
.ntpc .ntpc-table-name-layout{display:flex;align-items:center;gap:.6rem;min-width:0}
.ntpc .ntpc-table-name-label{min-width:0;flex:1}
.ntpc .ntpc-table-thumb-button{appearance:none;display:block;flex:0 0 48px;width:48px;height:48px;padding:0;margin:0;background:#f4f5ef;border:1px solid #dce2d9;border-radius:6px;overflow:hidden;cursor:zoom-in;line-height:0}
.ntpc .ntpc-table-thumb{display:block;width:100%;height:100%;object-fit:cover}
.ntpc .ntpc-table-thumb-button:hover{border-color:#294b38}
.ntpc .ntpc-table-thumb-button:focus-visible{outline:3px solid #b58a55;outline-offset:2px}
/* A little extra space for the photo without squeezing the other columns. */
.ntpc .ntpc-table{width:1225px;min-width:1225px}
.ntpc .ntpc-table th:nth-child(1){width:300px}

/* v0.4.24: Optional table columns and responsive visible-column width. */
.ntpc .ntpc-column-controls{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.35rem 0 .7rem}
.ntpc .ntpc-column-controls[hidden]{display:none!important}
.ntpc .ntpc-column-picker{position:relative}
.ntpc .ntpc-column-controls details{position:relative}
.ntpc .ntpc-column-controls summary{cursor:pointer;list-style:none;border:1px solid #a8b9aa;border-radius:6px;background:#f7f9f5;padding:.45rem .7rem;color:#294b38;font-weight:600;font-size:.86rem}
.ntpc .ntpc-column-controls summary::after{content:" ▾"}
.ntpc .ntpc-column-controls details[open] summary::after{content:" ▴"}
.ntpc .ntpc-column-controls fieldset{position:absolute;z-index:20;top:calc(100% + 5px);left:0;width:min(315px,85vw);max-height:min(420px,75vh);overflow-y:auto;background:white;border:1px solid #bac8ba;border-radius:8px;box-shadow:0 6px 24px #17271b24;padding:.75rem 1rem 1rem;margin:0}
.ntpc .ntpc-column-controls legend{font-weight:650;padding:0 .2rem;font-size:.84rem}
.ntpc .ntpc-column-options{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .7rem}
.ntpc .ntpc-column-options label{display:flex;align-items:center;gap:.25rem;font-size:.84rem;cursor:pointer}
.ntpc .ntpc-column-options input{margin:0;accent-color:#294b38}
.ntpc .ntpc-column-options input:disabled{cursor:not-allowed}
.ntpc .ntpc-columns-reset{margin-top:.85rem;background:transparent;border:1px solid #294b38;border-radius:5px;padding:.4rem .65rem;color:#294b38;cursor:pointer;font-size:.82rem}
.ntpc .ntpc-column-hint{font-size:.8rem;color:#57685b}
.ntpc .ntpc-table{width:var(--ntpc-visible-table-width,1225px);min-width:var(--ntpc-visible-table-width,1225px);max-width:none}
.ntpc .ntpc-table th.ntpc-column-hidden,.ntpc .ntpc-table td.ntpc-column-hidden{display:none!important}

/* v0.4.32: Mobile shortcut to filters; sits above the existing My Plant List button. */
.ntpc .ntpc-back-to-search{display:none}
.ntpc .ntpc-back-to-search[hidden]{display:none!important}
.ntpc .ntpc-controls{scroll-margin-top:85px}
@media(max-width:900px){
 .ntpc .ntpc-back-to-search:not([hidden]){
  position:fixed;display:flex;align-items:center;justify-content:center;
  bottom:calc(80px + env(safe-area-inset-bottom,0px));right:12px;
  z-index:99999;border:1px solid #294b38;border-radius:999px;
  background:#f8f9f5;color:#294b38;font:inherit;font-size:.88rem;font-weight:700;
  line-height:1.2;padding:.65rem .95rem;min-height:42px;
  box-shadow:0 3px 14px rgba(0,0,0,.18);cursor:pointer;
 }
 .ntpc .ntpc-back-to-search:focus-visible{outline:3px solid #b58a55;outline-offset:3px}
}

/* v0.4.33: explanation for combinations with zero results */
.ntpc-no-results:not([hidden]){padding:12px 16px;margin:12px 0;border:1px solid #b8c8b2;border-radius:10px;background:#f8faf6;line-height:1.5;}
