/* Carton Bank – branding: dark forest green + muted gold */
:root{--green:#1e4d2b;--green-2:#276b3a;--gold:#d9b23a;--gold-soft:#f7edcf;--ink:#1c2418;--line:#e3e7df;--bg:#f5f6f2;--white:#fff;--radius:16px;--shadow:0 10px 30px rgba(30,77,43,.12)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Vazirmatn,"Segoe UI",Tahoma,sans-serif;background:var(--bg);color:var(--ink);line-height:1.8;font-size:16px}
.site-head{display:flex;align-items:center;gap:.8rem;padding:1rem 1.4rem;background:var(--white);border-bottom:3px solid var(--green);position:sticky;top:0;z-index:5}
.site-head strong{display:block;color:var(--green);font-size:1.05rem}.site-head small{color:#6b7a66}
.admin-link{margin-inline-start:auto;text-decoration:none;color:var(--green);border:1.5px solid var(--green);padding:.35rem 1rem;border-radius:999px;font-weight:600}
.brand-mark{width:46px;height:46px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem;text-decoration:none}
.brand-mark span{color:var(--gold)}.brand-mark.small{width:38px;height:38px;font-size:1rem}
.shell{max-width:980px;margin:0 auto;padding:1.4rem}
.hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;border-radius:var(--radius);padding:1.4rem 1.6rem;margin-bottom:1.2rem;box-shadow:var(--shadow)}
.hero .eyebrow{color:var(--gold);font-weight:700;font-size:.85rem}.hero h1{font-size:1.5rem;margin:.2rem 0}.hero p{opacity:.85;font-size:.9rem}.hero-icon{font-size:2.6rem;color:var(--gold)}
.card{background:var(--white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1.2rem}
.section-title{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem}
.section-title h2{font-size:1.15rem;color:var(--green)}.section-title p{font-size:.82rem;color:#6b7a66}
.step{width:34px;height:34px;border-radius:10px;background:var(--gold-soft);color:var(--green);display:grid;place-items:center;font-weight:800;flex:none}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.2rem}
label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;color:#3d4a38}
input,select{border:1.5px solid var(--line);border-radius:10px;padding:.6rem .8rem;font:inherit;background:#fbfcfa}
input:focus,select:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.check-label{flex-direction:row;align-items:center;gap:.5rem;padding-top:1.4rem}
.btn{border:0;border-radius:12px;padding:.75rem 1.6rem;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}
.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:var(--green-2)}
.btn.light{background:var(--gold-soft);color:var(--green);border:1.5px solid var(--gold)}
.btn span{color:var(--gold)}
.error{background:#fdecec;color:#a13030;border-radius:10px;padding:.7rem 1rem;margin-top:.8rem;font-size:.88rem}
.result-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}
.result-actions h2{color:var(--green)}
.result-actions>div{display:flex;gap:.6rem}
.quote-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}
.quote-head{display:flex;gap:.9rem;align-items:center;background:var(--green);color:#fff;padding:1.2rem 1.5rem}
.quote-head h2{font-size:1.1rem}.quote-head p{font-size:.8rem;opacity:.85}
.validity{margin-inline-start:auto;background:var(--gold);color:var(--green);border-radius:999px;padding:.3rem .9rem;font-size:.78rem;font-weight:800;flex:none}
.quote-spec{padding:1.2rem 1.5rem;background:var(--gold-soft)}
.quote-spec h3,.technical h3,.price-title h3,.alternatives h3{color:var(--green);font-size:1rem;margin-bottom:.6rem}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}
.spec-grid div{background:#fff;border-radius:10px;padding:.5rem .8rem;font-size:.85rem;display:flex;justify-content:space-between;gap:.5rem}
.spec-grid span{color:#6b7a66}.spec-grid b{color:var(--ink)}
.technical{padding:1rem 1.5rem}
.technical li{font-size:.88rem;margin-inline-start:1.1rem;list-style:disc}
.price-title{padding:0 1.5rem;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.4rem}
.price-title small{color:#6b7a66;font-size:.78rem}
.table-wrap{overflow-x:auto;padding:.8rem 1.5rem 0}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th{background:var(--green);color:#fff;padding:.6rem .8rem;text-align:right;font-weight:700}
th:first-child{border-start-start-radius:10px}th:last-child{border-start-end-radius:10px}
td{padding:.65rem .8rem;border-bottom:1px solid var(--line)}
tr.alt td{background:#fafaf6}
tr.best td{background:var(--gold-soft);font-weight:800;color:var(--green)}
tr.best td:first-child::after{content:"اقتصادی‌ترین";background:var(--gold);color:var(--green);font-size:.68rem;border-radius:999px;padding:.1rem .55rem;margin-inline-start:.5rem;font-weight:800}
.alternatives{padding:1.2rem 1.5rem;background:#fbfcfa;margin-top:1rem;border-top:1px dashed var(--line)}
.alternatives p{font-size:.82rem;color:#6b7a66;margin-bottom:.8rem}
.alt-item{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem .9rem;margin-bottom:.5rem}
.alt-item .dims{font-weight:700;color:var(--green)}
.alt-item .price{margin-inline-start:auto;font-weight:800}.alt-item .price small{color:#6b7a66;font-weight:400}
.alt-item .tags span{background:var(--gold-soft);color:var(--green);font-size:.7rem;border-radius:999px;padding:.1rem .6rem;margin-inline-start:.3rem}
.quote-card footer{padding:1rem 1.5rem;background:var(--green);color:#fff;font-size:.8rem}.quote-card footer b{color:var(--gold)}
.disclaimer{text-align:center;font-size:.75rem;color:#8a9684;padding:1rem}
.admin-shell{max-width:860px}
.subhead{color:var(--green);margin:1.2rem 0 .6rem}
.form-actions{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;flex-wrap:wrap}
#save-status.ok{color:var(--green);font-weight:700}#save-status.error{color:#a13030}
.password-change{margin-top:1rem}
@media print{.site-head,.result-actions,.hero,.calculator,.disclaimer{display:none!important}body{background:#fff}.quote-card{box-shadow:none;border:1px solid #ccc}.shell{max-width:100%;padding:0}}
@media(max-width:640px){.hero{flex-direction:column;text-align:center}.validity{margin:0}.result-actions{flex-direction:column;align-items:flex-start}}
