:root{
  --primary:#173f35;
  --primary-2:#245c4e;
  --primary-soft:#edf5f2;
  --accent:#c59a54;
  --text:#17231f;
  --muted:#6f7e78;
  --line:#e3eae6;
  --bg:#f5f7f6;
  --card:#ffffff;
  --danger:#a22b2b;
  --success:#1f6a45;
  --shadow:0 8px 24px rgba(20,46,38,.055);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);font-family:Tahoma,"Segoe UI",Arial,sans-serif;color:var(--text);line-height:1.5}
button,input,select{font:inherit}
.wrap,.install-wrap{width:min(1160px,94%);margin:24px auto}

.landing{width:min(560px,92%);margin:15vh auto;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:38px 28px;box-shadow:var(--shadow)}
.landing h1{margin:6px 0 8px;font-size:25px}.landing p{margin:0;color:var(--muted)}
.brandmark{width:60px;height:60px;border-radius:18px;background:linear-gradient(145deg,var(--primary),var(--primary-2));color:#fff;display:grid;place-items:center;font-size:31px;font-weight:800;margin:0 auto 14px;box-shadow:0 8px 18px rgba(23,63,53,.18)}
.brandmark.sm{width:40px;height:40px;border-radius:12px;font-size:22px;margin:0 0 0 10px;display:inline-grid;vertical-align:middle;box-shadow:none}

.top{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:11px max(3%,18px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;box-shadow:0 1px 10px rgba(20,46,38,.04)}
.top>div{display:flex;align-items:center}.top strong{font-size:15px}.top>span{font-weight:700;color:var(--primary);background:var(--primary-soft);padding:7px 11px;border-radius:999px}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 10px}
.stats>div,.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.stats>div{padding:18px;min-height:98px;display:flex;flex-direction:column;justify-content:center}
.stats small{display:block;color:var(--muted);margin-bottom:7px;font-size:12px}
.stats b{font-size:22px;letter-spacing:-.35px;color:var(--primary)}

.filters,.sectionhead{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.filters{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 5px 16px rgba(20,46,38,.025)}
.sectionhead{justify-content:space-between}.sectionhead form{display:flex;gap:7px;flex-wrap:wrap}
input,select,button{border:1px solid #d6dfda;border-radius:11px;padding:10px 12px;background:#fff;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s,transform .15s}
input:focus,select:focus{border-color:#8fb5a9;box-shadow:0 0 0 3px rgba(36,92,78,.08)}
button{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700;cursor:pointer}
button:hover{background:var(--primary-2);border-color:var(--primary-2)}
button:active{transform:translateY(1px)}

.card{padding:18px;margin:14px 0}.card h2{margin:0 0 12px;font-size:18px}.card summary{cursor:pointer;font-weight:700;color:var(--primary);list-style:none}.card summary::-webkit-details-marker{display:none}.card summary:after{content:"＋";float:left;color:var(--muted)}.card[open] summary:after{content:"−"}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:12px}
.product{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:transform .15s ease,box-shadow .15s ease}
.product:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,46,38,.075)}
.product img{display:block;width:100%;height:205px;object-fit:contain;background:linear-gradient(180deg,#fbfcfb,#f4f7f5);padding:5px}
.product>div{padding:12px;display:grid;gap:5px}.product strong{font-size:14px;line-height:1.45}.product small,.product span{color:var(--muted);font-size:12px}.product b{color:var(--primary);font-size:15px}

.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th{color:var(--muted);font-size:12px;background:#fafcfb}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfb}
.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.formgrid label{display:grid;gap:6px;color:var(--muted);font-size:13px}.wide{grid-column:1/-1}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}
.alert{border-radius:13px;padding:14px;margin:12px 0;border:1px solid transparent}.alert.ok{background:#edf8f2;color:var(--success);border-color:#d6ede0}.alert.error{background:#fff1f1;color:var(--danger);border-color:#f0d6d6}
.install-wrap{max-width:650px}.install-wrap .card{display:grid;gap:9px}.install-wrap label{color:var(--muted)}code{display:block;direction:ltr;text-align:left;background:#101713;color:#e9f8ec;padding:12px;border-radius:9px;overflow:auto;margin:6px 0 14px}
footer{text-align:center;color:#94a09b;padding:28px;font-size:12px}

@media(max-width:760px){
  .wrap{width:min(100%,96%);margin:12px auto}
  .top{padding:10px 4%}.top strong{font-size:13px}.top>span{font-size:12px;padding:6px 9px}
  .stats{grid-template-columns:repeat(2,1fr);gap:8px}.stats>div{padding:14px;min-height:82px}.stats b{font-size:18px}
  .filters select,.filters input,.filters button{flex:1 1 140px}
  .card{padding:13px;border-radius:15px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .product img{height:165px}.product>div{padding:9px}.product strong{font-size:13px}.product b{font-size:14px}
  .formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.sectionhead form{width:100%}.sectionhead form input{flex:1;min-width:0}
  th,td{padding:10px 9px}
}
@media(max-width:390px){.product img{height:150px}.stats b{font-size:16px}.brandmark.sm{width:36px;height:36px}}
