/*
Theme Name: Systel 2026
Theme URI: https://www.systel.asia
Author: Systel Energy Solutions (India) Pvt Ltd
Description: Systel.asia — compressed-air digitization programme. Built from the approved October 2026 mockup (24 years, 2,000+ audits, Systel Audit Archive + live dashboard). Brand greens, Georgia display, Lato body.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
License: Proprietary
Text Domain: systel
*/

/* ---- Brand tokens ---- */
:root{--navy-900:#111A2B;--forest-800:#264233;--forest-700:#1E4D3A;--green-600:#3A8F6A;--sage-500:#568F6F;--mint-300:#9ED3AF;--mint-50:#EEF7F1;--mist-50:#F6FAF9;--ink-900:#1B2A24;--ink-600:#4F5F58;--line-200:#D9E4DE;--amber-500:#E9A13B;--red-600:#CA3A31;--blue-600:#2F6FB0;--air:#2BA3E0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
img{max-width:100%;height:auto}

/* ---- Base (from the home mockup) ---- */
body{margin:0;background:#FFFFFF;color:#1B2A24;font-family:Lato,Calibri,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#1E4D3A}a:hover{color:#264233}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.serif{font-family:Georgia,'Times New Roman',serif}
.nav a{color:#1B2A24;text-decoration:none;font-size:15px;font-weight:700;padding:8px 2px}.nav a:hover,.nav a.on{color:#3A8F6A}
.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:6px;font-weight:700;font-size:15px;text-decoration:none;box-sizing:border-box;border:2px solid transparent;white-space:nowrap}
.btn-p{background:#1E4D3A;color:#FFFFFF}.btn-p:hover{background:#264233;color:#FFFFFF}
.btn-o{background:transparent;color:#1E4D3A;border-color:#1E4D3A}.btn-o:hover{background:#EEF7F1;color:#1E4D3A}
.btn-w{background:#FFFFFF;color:#1E4D3A}.btn-w:hover{background:#EEF7F1;color:#1E4D3A}
.btn-g{background:transparent;color:#FFFFFF;border-color:#568F6F}.btn-g:hover{background:#1E4D3A;color:#FFFFFF}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3A8F6A}
.h1{font-size:54px;line-height:1.08;font-weight:700;margin:0}
.h2{font-size:38px;line-height:1.14;font-weight:700;margin:0;color:#1E4D3A}
.lead{font-size:19px;line-height:1.55;color:#4F5F58;margin:0}
.card{background:#FFFFFF;border:1px solid #D9E4DE;border-radius:12px;padding:28px;box-sizing:border-box}
.num{font-family:Georgia,serif;font-size:52px;font-weight:700;line-height:1;color:#1E4D3A}
.pipe{height:6px;background:#2BA3E0;border-radius:3px;position:relative;overflow:hidden}
.pipe:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,0) 0 18px,rgba(255,255,255,.55) 18px 26px);animation:flow 1.6s linear infinite}
@keyframes flow{from{transform:translateX(-26px)}to{transform:translateX(0)}}
.node{background:#FFFFFF;border:1px solid #D9E4DE;border-radius:8px;padding:11px 13px;display:flex;flex-direction:column;gap:3px;min-width:0;position:relative}
.node b{font-size:13px;font-weight:700}.node span{font-size:11px;color:#4F5F58}
.pin{position:absolute;top:-11px;right:-11px;width:24px;height:24px;border-radius:50%;background:#1E4D3A;color:#FFFFFF;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #FFFFFF;font-family:Georgia,serif}
.note{background:#EEF7F1;border:1px solid #D9E4DE;border-radius:12px;padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.note .pin{position:static;flex-shrink:0;width:28px;height:28px;font-size:13px;border:none}
.note p{margin:0;font-size:14px;line-height:1.55}
.note strong{font-family:Georgia,serif;color:#1E4D3A;font-size:15px}
.tile{background:#F6FAF9;border:1px solid #D9E4DE;border-radius:8px;padding:12px}
.lbl{font-size:10px;color:#4F5F58;font-weight:700;letter-spacing:.08em}
.val{font-family:Georgia,serif;font-size:22px;font-weight:700;color:#1E4D3A;margin-top:4px}
.mbar{display:none;position:sticky;bottom:0;z-index:6;background:#264233;border-top:1px solid #1E4D3A;padding:10px 14px;gap:10px;grid-template-columns:1fr auto}
.foot a{color:#D9E4DE;text-decoration:none;font-size:14px;line-height:28px}.foot a:hover{color:#FFFFFF}
.bar{display:flex;align-items:center;gap:12px;font-size:14px}
.bar i{display:block;height:10px;background:#3A8F6A;border-radius:5px}
@media (max-width:900px){.hide-m{display:none !important}.mbar{display:grid !important}.stack{flex-direction:column !important}.g2,.g3,.g4,.g12{grid-template-columns:repeat(1,minmax(0,1fr)) !important}.span{grid-column:span 1 !important}.h1{font-size:36px}.h2{font-size:30px}}
/* ---- Per-template overrides (each page kept its own type scale in the mockup) ---- */
/* ---- tpl-howitworks ---- */
body.tpl-howitworks{margin:0;background:#FFFFFF;color:#1B2A24;font-family:Lato,Calibri,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.tpl-howitworks a{color:#1E4D3A}body.tpl-howitworks a:hover{color:#264233}
body.tpl-howitworks .wrap{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
body.tpl-howitworks .serif{font-family:Georgia,'Times New Roman',serif}
body.tpl-howitworks .nav a{color:#1B2A24;text-decoration:none;font-size:15px;font-weight:700;padding:8px 2px}body.tpl-howitworks .nav a:hover,body.tpl-howitworks .nav a.on{color:#3A8F6A}
body.tpl-howitworks .btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:6px;font-weight:700;font-size:15px;text-decoration:none;box-sizing:border-box;border:2px solid transparent;white-space:nowrap}
body.tpl-howitworks .btn-p{background:#1E4D3A;color:#FFFFFF}body.tpl-howitworks .btn-p:hover{background:#264233;color:#FFFFFF}
body.tpl-howitworks .btn-o{background:transparent;color:#1E4D3A;border-color:#1E4D3A}body.tpl-howitworks .btn-o:hover{background:#EEF7F1;color:#1E4D3A}
body.tpl-howitworks .btn-w{background:#FFFFFF;color:#1E4D3A}body.tpl-howitworks .btn-w:hover{background:#EEF7F1;color:#1E4D3A}
body.tpl-howitworks .eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3A8F6A}
body.tpl-howitworks .h1{font-size:50px;line-height:1.1;font-weight:700;margin:0}
body.tpl-howitworks .h2{font-size:34px;line-height:1.15;font-weight:700;margin:0;color:#1E4D3A}
body.tpl-howitworks .lead{font-size:18px;line-height:1.6;color:#4F5F58;margin:0}
body.tpl-howitworks .card{background:#FFFFFF;border:1px solid #D9E4DE;border-radius:12px;padding:28px;box-sizing:border-box}
body.tpl-howitworks .stage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;padding:56px 0;border-top:1px solid #D9E4DE}
body.tpl-howitworks .side{display:flex;flex-direction:column;gap:12px}
body.tpl-howitworks .you{background:#F6FAF9;border:1px solid #D9E4DE;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:8px}
body.tpl-howitworks .eng{background:#EEF7F1;border:1px solid #D9E4DE;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:8px}
body.tpl-howitworks .pipe{height:6px;background:#2BA3E0;border-radius:3px;position:relative;overflow:hidden}
body.tpl-howitworks .pipe:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,0) 0 18px,rgba(255,255,255,.55) 18px 26px);animation:flow 1.6s linear infinite}
body.tpl-howitworks .node{background:#FFFFFF;border:1px solid #D9E4DE;border-radius:8px;padding:11px 13px;display:flex;flex-direction:column;gap:3px;min-width:0;position:relative}
body.tpl-howitworks .node b{font-size:13px;font-weight:700}body.tpl-howitworks .node span{font-size:11px;color:#4F5F58}
body.tpl-howitworks .s{position:absolute;top:-7px;right:-7px;width:14px;height:14px;border-radius:50%;background:#1E4D3A;border:2px solid #FFFFFF}
body.tpl-howitworks .foot a{color:#D9E4DE;text-decoration:none;font-size:14px;line-height:28px}body.tpl-howitworks .foot a:hover{color:#FFFFFF}
@media (max-width:900px){body.tpl-howitworks .hide-m{display:none !important}body.tpl-howitworks .stack{flex-direction:column !important}body.tpl-howitworks .g2,body.tpl-howitworks .g3,body.tpl-howitworks .g4,body.tpl-howitworks .g12,body.tpl-howitworks .stage{grid-template-columns:repeat(1,minmax(0,1fr)) !important}body.tpl-howitworks .span{grid-column:span 1 !important}body.tpl-howitworks .h1{font-size:36px}body.tpl-howitworks .h2{font-size:28px}}
/* ---- tpl-platform ---- */
body.tpl-platform{margin:0;background:#FFFFFF;color:#1B2A24;font-family:Lato,Calibri,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.tpl-platform a{color:#1E4D3A}body.tpl-platform a:hover{color:#264233}
body.tpl-platform .wrap{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
body.tpl-platform .serif{font-family:Georgia,'Times New Roman',serif}
body.tpl-platform .nav a{color:#1B2A24;text-decoration:none;font-size:15px;font-weight:700;padding:8px 2px}body.tpl-platform .nav a:hover,body.tpl-platform .nav a.on{color:#3A8F6A}
body.tpl-platform .btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:6px;font-weight:700;font-size:15px;text-decoration:none;box-sizing:border-box;border:2px solid transparent;white-space:nowrap}
body.tpl-platform .btn-p{background:#1E4D3A;color:#FFFFFF}body.tpl-platform .btn-p:hover{background:#264233;color:#FFFFFF}
body.tpl-platform .btn-o{background:transparent;color:#1E4D3A;border-color:#1E4D3A}body.tpl-platform .btn-o:hover{background:#EEF7F1;color:#1E4D3A}
body.tpl-platform .btn-w{background:#FFFFFF;color:#1E4D3A}body.tpl-platform .btn-w:hover{background:#EEF7F1;color:#1E4D3A}
body.tpl-platform .btn-g{background:transparent;color:#FFFFFF;border-color:#568F6F}body.tpl-platform .btn-g:hover{background:#1E4D3A;color:#FFFFFF}
body.tpl-platform .eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3A8F6A}
body.tpl-platform .h1{font-size:50px;line-height:1.1;font-weight:700;margin:0}
body.tpl-platform .h2{font-size:34px;line-height:1.15;font-weight:700;margin:0;color:#1E4D3A}
body.tpl-platform .lead{font-size:18px;line-height:1.6;color:#4F5F58;margin:0}
body.tpl-platform .card{background:#FFFFFF;border:1px solid #D9E4DE;border-radius:12px;padding:26px;box-sizing:border-box}
body.tpl-platform .tile{background:#F6FAF9;border:1px solid #D9E4DE;border-radius:8px;padding:12px}
body.tpl-platform .lbl{font-size:10px;color:#4F5F58;font-weight:700;letter-spacing:.08em}
body.tpl-platform .val{font-family:Georgia,serif;font-size:22px;font-weight:700;color:#1E4D3A;margin-top:4px}
body.tpl-platform .pipe{height:6px;background:#2BA3E0;border-radius:3px;position:relative;overflow:hidden}
body.tpl-platform .pipe:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,0) 0 18px,rgba(255,255,255,.55) 18px 26px);animation:flow 1.6s linear infinite}
body.tpl-platform .node{background:#FFFFFF;border:1px solid #D9E4DE;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}
body.tpl-platform .node b{font-size:12px;font-weight:700}body.tpl-platform .node span{font-size:11px;color:#4F5F58}
body.tpl-platform .bars{display:flex;align-items:flex-end;gap:4px;height:80px}body.tpl-platform .bars i{display:block;flex:1;background:#2BA3E0;border-radius:2px 2px 0 0}
body.tpl-platform .note{background:#EEF7F1;border:1px solid #D9E4DE;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.5}
body.tpl-platform .note strong{font-family:Georgia,serif;color:#1E4D3A}
body.tpl-platform .kpi{display:flex;flex-direction:column;gap:6px;border-top:6px solid #1E4D3A}
body.tpl-platform .foot a{color:#D9E4DE;text-decoration:none;font-size:14px;line-height:28px}body.tpl-platform .foot a:hover{color:#FFFFFF}
@media (max-width:900px){body.tpl-platform .hide-m{display:none !important}body.tpl-platform .stack{flex-direction:column !important}body.tpl-platform .g2,body.tpl-platform .g3,body.tpl-platform .g4,body.tpl-platform .g6,body.tpl-platform .g12{grid-template-columns:repeat(1,minmax(0,1fr)) !important}body.tpl-platform .span{grid-column:span 1 !important}body.tpl-platform .h1{font-size:36px}body.tpl-platform .h2{font-size:28px}}
/* ---- tpl-results ---- */
body.tpl-results{margin:0;background:#FFFFFF;color:#1B2A24;font-family:Lato,Calibri,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.tpl-results a{color:#1E4D3A}body.tpl-results a:hover{color:#264233}
body.tpl-results .wrap{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
body.tpl-results .serif{font-family:Georgia,'Times New Roman',serif}
body.tpl-results .nav a{color:#1B2A24;text-decoration:none;font-size:15px;font-weight:700;padding:8px 2px}body.tpl-results .nav a:hover,body.tpl-results .nav a.on{color:#3A8F6A}
body.tpl-results .btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:6px;font-weight:700;font-size:15px;text-decoration:none;box-sizing:border-box;border:2px solid transparent;white-space:nowrap}
body.tpl-results .btn-p{background:#1E4D3A;color:#FFFFFF}body.tpl-results .btn-p:hover{background:#264233;color:#FFFFFF}
body.tpl-results .btn-o{background:transparent;color:#1E4D3A;border-color:#1E4D3A}body.tpl-results .btn-o:hover{background:#EEF7F1;color:#1E4D3A}
body.tpl-results .btn-w{background:#FFFFFF;color:#1E4D3A}body.tpl-results .btn-w:hover{background:#EEF7F1;color:#1E4D3A}
body.tpl-results .eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3A8F6A}
body.tpl-results .h1{font-size:44px;line-height:1.12;font-weight:700;margin:0}
body.tpl-results .h2{font-size:30px;line-height:1.15;font-weight:700;margin:0;color:#1E4D3A}
body.tpl-results .lead{font-size:17px;line-height:1.6;color:#4F5F58;margin:0}
body.tpl-results .card{background:#FFFFFF;border:1px solid #D9E4DE;border-radius:12px;padding:26px;box-sizing:border-box}
body.tpl-results .idx{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid #D9E4DE;border-radius:12px;text-decoration:none;color:#1B2A24;background:#FFFFFF}
body.tpl-results .idx:hover{border-color:#3A8F6A;color:#1B2A24}
body.tpl-results .bars{display:flex;align-items:flex-end;gap:12px;height:170px}
body.tpl-results .bars div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
body.tpl-results .bars i{display:block;width:100%;border-radius:3px 3px 0 0;background:#3A8F6A}
body.tpl-results .bars span{font-size:11px;color:#4F5F58}
body.tpl-results .note{background:#EEF7F1;border:1px solid #D9E4DE;border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.5}
body.tpl-results .note strong{font-family:Georgia,serif;color:#1E4D3A}
body.tpl-results .foot a{color:#D9E4DE;text-decoration:none;font-size:14px;line-height:28px}body.tpl-results .foot a:hover{color:#FFFFFF}
@media (max-width:900px){body.tpl-results .hide-m{display:none !important}body.tpl-results .stack{flex-direction:column !important}body.tpl-results .g2,body.tpl-results .g3,body.tpl-results .g4,body.tpl-results .g12{grid-template-columns:repeat(1,minmax(0,1fr)) !important}body.tpl-results .span{grid-column:span 1 !important}body.tpl-results .h1{font-size:32px}}
/* ---- tpl-contact ---- */
body.tpl-contact{margin:0;background:#FFFFFF;color:#1B2A24;font-family:Lato,Calibri,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.tpl-contact a{color:#1E4D3A}body.tpl-contact a:hover{color:#264233}
body.tpl-contact .wrap{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}
body.tpl-contact .serif{font-family:Georgia,'Times New Roman',serif}
body.tpl-contact .nav a{color:#1B2A24;text-decoration:none;font-size:15px;font-weight:700;padding:8px 2px}body.tpl-contact .nav a:hover{color:#3A8F6A}
body.tpl-contact .btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:6px;font-weight:700;font-size:15px;text-decoration:none;box-sizing:border-box;border:2px solid transparent;white-space:nowrap;cursor:pointer;font-family:inherit}
body.tpl-contact .btn-p{background:#1E4D3A;color:#FFFFFF}body.tpl-contact .btn-p:hover{background:#264233;color:#FFFFFF}
body.tpl-contact .eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3A8F6A}
body.tpl-contact .h1{font-size:44px;line-height:1.12;font-weight:700;margin:0}
body.tpl-contact .lead{font-size:17px;line-height:1.6;color:#4F5F58;margin:0}
body.tpl-contact label{font-size:13px;font-weight:700;color:#4F5F58;display:block;margin-bottom:6px}
body.tpl-contact input,body.tpl-contact select,body.tpl-contact textarea{width:100%;box-sizing:border-box;height:46px;border:1px solid #D9E4DE;border-radius:6px;padding:0 12px;font-size:15px;font-family:inherit;color:#1B2A24;background:#FFFFFF}
body.tpl-contact textarea{height:96px;padding:10px 12px}
body.tpl-contact input:focus,body.tpl-contact select:focus,body.tpl-contact textarea:focus{outline:2px solid #3A8F6A;outline-offset:1px;border-color:#3A8F6A}
body.tpl-contact .foot a{color:#D9E4DE;text-decoration:none;font-size:14px;line-height:28px}body.tpl-contact .foot a:hover{color:#FFFFFF}
@media (max-width:900px){body.tpl-contact .hide-m{display:none !important}body.tpl-contact .g2,body.tpl-contact .g4,body.tpl-contact .g12{grid-template-columns:repeat(1,minmax(0,1fr)) !important}body.tpl-contact .span{grid-column:span 1 !important}body.tpl-contact .h1{font-size:32px}}
/* ---- Header / nav (theme chrome) ---- */
.site-header{border-bottom:1px solid var(--line-200);background:#FFF;position:sticky;top:0;z-index:50}
.site-header .wrap{height:72px;display:flex;align-items:center;gap:24px;white-space:nowrap}
body[class] .site-header .nav{gap:18px !important}body[class] .site-header .nav a{font-size:14px;padding:8px 0}body[class] .site-header .btn{font-size:14px;padding:0 16px}
@media (max-width:1180px){.site-header .btn-o{display:none !important}}
.site-header .logo{display:flex;flex-shrink:0}.site-header .logo img{height:46px;width:auto;max-width:none;display:block}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line-200);border-radius:6px;width:44px;height:44px;cursor:pointer;font-size:22px;line-height:1;color:var(--ink-900)}
.nav a.on{color:var(--green-600)}
@media (max-width:900px){
  .site-header .wrap{gap:12px}
  .site-header .btn-p{display:none}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .nav{display:none !important}
  body.nav-open .nav{display:flex !important;position:absolute;left:0;right:0;top:72px;flex-direction:column;background:#FFF;border-bottom:1px solid var(--line-200);padding:12px 16px 20px;gap:4px}
  body.nav-open .nav a{padding:12px 4px;border-bottom:1px solid var(--line-200);font-size:17px}
  .wrap{padding:0 16px}
}

/* ---- Blog / Insights ---- */
.post-card{display:flex;flex-direction:column;gap:12px;padding:28px;text-decoration:none;color:var(--ink-900)}
.post-card:hover{border-color:var(--green-600);color:var(--ink-900)}
.post-card .t{font-family:Georgia,serif;font-size:20px;line-height:1.3;font-weight:700}
.post-card .x{font-size:14px;line-height:1.55;color:var(--ink-600)}
.post-card .m{font-size:13px;color:var(--forest-700);font-weight:700}
.entry{max-width:780px;margin:0 auto}
.entry h1{font-family:Georgia,serif;font-size:40px;line-height:1.15;color:var(--forest-700);margin:0 0 16px}
.entry .meta{font-size:14px;color:var(--ink-600);margin-bottom:32px}
.entry-content{font-size:17px;line-height:1.75}
.entry-content h2{font-family:Georgia,serif;font-size:28px;line-height:1.2;color:var(--forest-700);margin:40px 0 12px}
.entry-content h3{font-family:Georgia,serif;font-size:22px;color:var(--forest-700);margin:32px 0 8px}
.entry-content p{margin:0 0 18px}
.entry-content img{border-radius:12px;margin:12px 0}
.entry-content blockquote{margin:24px 0;padding:18px 24px;background:var(--mint-50);border-left:6px solid var(--forest-700);border-radius:0 12px 12px 0}
.entry-content a{text-decoration:underline}
.entry-content table{border-collapse:collapse;width:100%;font-size:15px}.entry-content td,.entry-content th{border:1px solid var(--line-200);padding:8px 10px;text-align:left}
.pagination{display:flex;gap:8px;flex-wrap:wrap}.pagination .page-numbers{border:1px solid var(--line-200);border-radius:6px;padding:8px 14px;text-decoration:none;font-weight:700}.pagination .current{background:var(--forest-700);color:#FFF;border-color:var(--forest-700)}
.entry .featured{border-radius:12px;margin-bottom:28px}
@media (max-width:900px){.entry h1{font-size:30px}}

/* ---- Calculators ---- */
.calc{display:flex;flex-direction:column;gap:14px}
.calc label{font-size:13px;font-weight:700;color:var(--ink-600);display:block;margin-bottom:6px}
.calc input,.calc select{width:100%;height:44px;border:1px solid var(--line-200);border-radius:6px;padding:0 12px;font-size:15px;font-family:inherit;color:var(--ink-900);background:#FFF}
.calc input:focus,.calc select:focus{outline:2px solid var(--green-600);outline-offset:1px;border-color:var(--green-600)}
.calc .out{background:var(--mist-50);border:1px solid var(--line-200);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.calc .out b{font-family:Georgia,serif;font-size:26px;color:var(--forest-700)}
.calc .out small{font-size:13px;color:var(--ink-600)}
.calc .fine{font-size:12px;color:var(--ink-600);line-height:1.5}
.soon{opacity:.6}

/* ---- Accessibility ---- */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}

/* ---- Mobile safety: wide tables scroll, long buttons wrap ---- */
@media (max-width:900px){
  body[class] table{display:block;overflow-x:auto;max-width:100%;width:100%;-webkit-overflow-scrolling:touch}
  body[class] .card,body[class] .span,body[class] .wrap>*{min-width:0;max-width:100%}
  body[class] .btn{white-space:normal;height:auto;min-height:48px;padding:10px 18px;text-align:center;line-height:1.25}
  body[class] .mbar .btn{min-height:44px}
  body[class] .g6{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:900px){ body[class] .bars{gap:4px;overflow:hidden} body[class] .bars span{font-size:9px} }
