*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1b2430;background:#f6f7f9;line-height:1.5}
a{color:#0b5cad}header.top{background:#1f2d1a;color:#fff}header.top .w{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
header.top a{color:#fff;text-decoration:none;margin-left:18px;font-size:15px}.logo{font-weight:800;font-size:22px;margin:0}.logo span{color:#ffb547}
.w{max-width:1100px;margin:0 auto;padding:0 20px}.hero{background:linear-gradient(135deg,#1f2d1a,#3d5a2a);color:#fff;padding:30px 0 36px}.hero h1{font-size:32px;margin:0 0 8px}.hero p{margin:0;opacity:.92}
.card{background:#fff;border:1px solid #e1e5ea;border-radius:10px;padding:20px;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:14px}
th,td{border-bottom:1px solid #e6e9ee;padding:7px 8px;text-align:left;vertical-align:top}th{background:#f1f4f8}.note{font-size:13px;color:#56606e}.src{font-size:13px;color:#56606e}
.badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:12px;font-weight:600;background:#eef2f7;margin:1px}.ok{background:#e3f6e8;color:#1c6b33}.warn{background:#fff3d6;color:#8a5a00}.no{background:#fde4e4;color:#9b1c1c}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.filters input,.filters select{padding:8px;border:1px solid #c5ccd6;border-radius:6px;font-size:14px}.filters input{flex:1;min-width:220px}
.news{background:#1f2d1a;color:#fff;border-radius:10px;padding:22px;margin:20px 0}.news input{padding:10px;border-radius:6px;border:0;width:260px;max-width:100%}button{background:#e8711c;color:#fff;border:0;border-radius:6px;padding:10px 16px;font-weight:700;cursor:pointer}
footer{color:#6b7480;font-size:13px;padding:24px 0 40px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.grid a{display:block;background:#fff;border:1px solid #e1e5ea;border-radius:8px;padding:8px 10px;text-decoration:none;color:#1b2430;font-size:14px}
/* ---- mobile layer (groundup/mobile.py) ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.tscroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 4px}
.tscroll>table{margin:0}
img,video,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
@media (max-width:700px){
 body{overflow-wrap:break-word}
 .gu-strip{font-size:14px!important;line-height:1.4!important;padding:6px 10px!important}
 .gu-strip a{display:inline-block;padding:6px 3px}
 header .w,header.top{flex-wrap:wrap;gap:4px 12px;padding-top:10px!important;padding-bottom:6px!important}
 header.top{padding-left:16px!important;padding-right:16px!important}
 header .w{padding-left:16px!important;padding-right:16px!important}
 header.top:has(>.w){padding:0!important;display:block}
 header nav{width:100%;display:flex;flex-wrap:wrap;gap:0 18px}
 header nav a{margin:0!important;padding:8px 0;font-size:15px;display:inline-block}
 .w{padding-left:14px;padding-right:14px}
 main{padding:16px 14px}
 .card{padding:16px 14px;margin:14px 0}
 .hero h1{font-size:28px!important;line-height:1.2}
 table{font-size:13.5px}
 th,td{padding:7px 6px}
 th[style*="width"]{width:40%!important}
 thead th{letter-spacing:0!important;font-size:12px!important}
 table.list th,table.list td{padding:7px 5px}
 .tscroll{border-radius:8px}
 .tscroll>table{min-width:100%}
 input,select,textarea{font-size:16px!important}
 select,input:not([type=checkbox]):not([type=radio]){min-height:42px}
 button{min-height:44px;font-size:16px}
 .filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
 .filters select{margin:0!important;flex:1 1 140px}
 .filters input{min-width:0!important;flex:1 1 100%}
 #q{font-size:17px!important}
 .calc{grid-template-columns:1fr 1fr!important}
 .calc>*:last-child{grid-column:1/-1}
 .calc button,#go{width:100%}
 .news input,.newsletter input{width:100%!important;margin:0 0 8px}
 .news button,.newsletter button{width:100%;margin:0!important}
 .grid a{padding:11px 12px}
}
