* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Barlow',sans-serif; background:#f4efe9; color:#3a322c; min-height:100vh; }
header.app-header { background:linear-gradient(135deg,#a86b3c,#7d4a26); color:#fff; padding:18px 16px; text-align:center; }
.app-logo { font-family:'Barlow Condensed',sans-serif; font-size:30px; font-weight:900; letter-spacing:2px; }
.app-logo span { color:#e8c9a0; }
.app-tagline { font-size:13px; opacity:.9; font-style:italic; letter-spacing:1px; }
.container { max-width:680px; margin:0 auto; padding:16px; }
.units-toggle { display:flex; gap:8px; justify-content:center; margin:16px 0; }
.units-toggle button { padding:8px 18px; border:2px solid #a86b3c; background:#fff; color:#7d4a26; font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:1px; border-radius:6px; cursor:pointer; }
.units-toggle button.active { background:#a86b3c; color:#fff; }
.card { background:#fff; border-radius:10px; padding:18px; box-shadow:0 2px 8px rgba(0,0,0,.08); margin-bottom:16px; border-left:4px solid #7d8c6a; }
.card h3 { font-family:'Barlow Condensed',sans-serif; font-size:18px; color:#7d4a26; margin-bottom:12px; letter-spacing:1px; }
.field { margin-bottom:12px; }
.field label { display:block; font-size:13px; font-weight:600; margin-bottom:4px; }
.field input, .field select { width:100%; padding:10px; border:2px solid #ddd; border-radius:6px; font-size:16px; font-family:'Barlow',sans-serif; }
.field input:focus, .field select:focus { outline:none; border-color:#a86b3c; }
.row { display:flex; gap:10px; }
.row .field { flex:1; }
.shape-row { display:flex; gap:6px; }
.shape-btn { flex:1; padding:8px; border:2px solid #c9b89f; background:#fff; color:#7d4a26; font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:1px; border-radius:6px; cursor:pointer; font-size:14px; }
.shape-btn.active { background:#a86b3c; color:#fff; border-color:#a86b3c; }
.note-line { font-size:12px; color:#8a7d70; margin:8px 0 4px; font-style:italic; }
.btn { width:100%; padding:14px; border:none; border-radius:6px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:16px; letter-spacing:1px; cursor:pointer; margin-bottom:10px; }
.btn-primary { background:linear-gradient(135deg,#a86b3c,#7d4a26); color:#fff; }
.btn-add { background:#7d8c6a; color:#fff; }
.btn-remove { background:none; color:#b5503c; border:1px solid #e0c4bc; padding:6px 12px; width:auto; font-size:13px; }
.results { background:#fff; border-radius:10px; padding:18px; box-shadow:0 2px 8px rgba(0,0,0,.08); border-left:4px solid #a86b3c; }
.results h3 { font-family:'Barlow Condensed',sans-serif; font-size:20px; color:#7d4a26; letter-spacing:1px; margin-bottom:10px; }
.result-line { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid #f0eae3; font-size:15px; }
.result-line strong { color:#7d4a26; }
footer.app-footer { text-align:center; padding:24px 16px; color:#8a7d70; font-size:13px; }
footer.app-footer a { color:#7d4a26; text-decoration:none; }
.partner-supplier { display:none; background:#fff; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.08); padding:12px; margin-bottom:16px; align-items:center; gap:12px; }
.partner-supplier.active { display:flex; }
.partner-supplier img { width:60px; height:60px; object-fit:contain; border-radius:6px; }
.ps-info { flex:1; }
.ps-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#a86b3c; }
.ps-name { font-family:'Barlow Condensed',sans-serif; font-size:16px; font-weight:700; color:#3a322c; }
.ps-tagline { font-size:12px; color:#666; font-style:italic; }
.ps-contact { font-size:13px; margin-top:4px; }
.ps-contact a { color:#7d4a26; text-decoration:none; }
.ps-all-card { display:flex; gap:12px; align-items:center; background:#faf6f1; border-radius:8px; padding:10px; margin-bottom:8px; }
.ps-all-card img { width:50px; height:50px; object-fit:contain; border-radius:6px; }
.ad-banner { display:block; text-align:center; text-decoration:none; padding:14px; margin-bottom:16px; border-radius:8px; font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:1px; background:linear-gradient(135deg,#a86b3c,#7d4a26); color:#fff; }
.ad-banner-top { display:block; width:100%; text-align:center; text-decoration:none; padding:14px; font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:1px; background:linear-gradient(135deg,#a86b3c,#7d4a26); color:#fff; border-top:3px solid #5e3717; }
.ad-banner:hover { opacity:.92; }

@media print {
  .card, .results { break-inside:avoid; page-break-inside:avoid; }
  .btn, .units-toggle, .ad-banner-top, .partner-supplier, .app-footer { display:none !important; }
  body { background:#fff; }
  .container { max-width:100%; }
}
