/* 現場の点検表メーカー 共通スタイル */
.g-hero{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #f97316;border-radius:14px;padding:14px 18px;margin:14px 0;font-size:14.5px;color:#7c2d12;line-height:1.75;}
.g-sec{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px 20px;margin:0 0 14px;box-shadow:var(--shadow);}
.g-sec>h3{margin:0 0 6px;font-size:16.5px;}
.g-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;}
.g-grid .full{grid-column:1/-1;}
@media(max-width:640px){.g-grid{grid-template-columns:1fr;}}
.g-sec label{margin:10px 0 4px;}
.g-sec small{font-size:12px;color:var(--muted);display:block;margin-top:2px;}
.g-seg{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:6px 0 2px;flex-wrap:wrap;}
.g-seg button{flex:1;cursor:pointer;border:none;background:#fff;padding:11px 6px;font-size:14px;font-weight:700;color:#6b7280;font-family:inherit;min-width:120px;}
.g-seg button.on{background:var(--accent);color:#fff;}
.g-rows{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:6px;}
.g-rows th,.g-rows td{border:1px solid var(--line);padding:4px;vertical-align:middle;}
.g-rows th{background:#f9fafb;font-weight:700;font-size:12.5px;white-space:nowrap;}
.g-rows input,.g-rows select{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;padding:6px;font-size:13.5px;font-family:inherit;}
.g-rows .x{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:6px;width:30px;height:30px;color:#dc2626;}
.g-wrapx{overflow-x:auto;}
.g-alert{border-radius:10px;padding:10px 14px;margin:10px 0;font-size:14px;line-height:1.7;}
.g-alert.warn{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;}
.g-alert.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d;}
.g-bar{position:sticky;bottom:12px;z-index:60;display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:16px 0;box-shadow:0 6px 24px rgba(15,23,42,.12);}
.g-preview{background:#e2e8f0;border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0 8px;overflow:hidden;}
.g-scale{transform-origin:top left;}
.g-paid{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:14px;padding:16px 18px;margin:18px 0;}
.g-paid h3{margin:0 0 6px;font-size:17px;}
.g-paid ul{margin:6px 0 10px;padding-left:1.3em;font-size:14px;}
.g-paid .price{font-size:22px;font-weight:900;color:#1d4ed8;margin-right:8px;}
.g-paid .btn.primary{color:#fff;}
.g-paid .btn.primary .price{color:#fff;font-size:20px;margin-right:4px;}
.g-law{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff;}
.g-law th,.g-law td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;line-height:1.7;}
.g-law th{background:#f9fafb;width:30%;}
@media(max-width:640px){.g-law th,.g-law td{display:block;width:100%;}.g-law th{border-bottom:none;}}
.g-items{padding-left:1.4em;}
.g-items li{margin:4px 0;}
.g-src{font-size:13px;color:var(--muted);}

/* ===== 印刷シート ===== */
.gs{background:#fff;box-shadow:0 2px 12px rgba(15,23,42,.18);box-sizing:border-box;color:#000;font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.35;font-size:9pt;position:relative;}
.gs.portrait{width:210mm;min-height:297mm;padding:12mm 12mm;}
.gs.landscape{width:297mm;min-height:210mm;padding:9mm 10mm;}
.gs h4{font-size:15pt;text-align:center;margin:0 0 2mm;letter-spacing:.1em;}
.gs .basis{text-align:center;font-size:8pt;margin:0 0 3mm;color:#333;}
.gs .meta{display:grid;border-top:1px solid #000;border-left:1px solid #000;margin:0 0 3mm;}
.gs .meta div{border-right:1px solid #000;border-bottom:1px solid #000;padding:1.2mm 2mm;min-height:9mm;box-sizing:border-box;}
.gs .meta b{display:block;font-size:7pt;font-weight:700;color:#333;}
.gs .meta span{font-size:10pt;}
.gs table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0;border-radius:0;overflow:visible;box-shadow:none;background:none;font-size:inherit;}
.gs th,.gs td{border:1px solid #000;padding:1mm 1.2mm;font-size:8.5pt;vertical-align:middle;word-break:break-all;}
.gs th{background:#eee;font-weight:700;text-align:center;}
.gs td.c{text-align:center;}
.gs.gs-grid td.day,.gs.gs-grid th.day{text-align:center;padding:0;}
.gs.gs-grid th.day{font-size:7pt;line-height:1.15;}
.gs.gs-grid .sun{background:#f1f1f1;}
.gs.gs-grid td.item{font-size:8pt;}
.gs.gs-grid td.grp{font-size:7.5pt;background:#fafafa;}
.gs.gs-grid tr.body td{height:8.2mm;}
.gs.gs-grid tr.sign td{height:9mm;}
.gs .legend{font-size:8pt;margin:2mm 0 0;}
.gs .foot{font-size:7.6pt;margin:2mm 0 0;color:#222;line-height:1.5;}
.gs .foot li{margin:0;}
.gs.gs-rec tr.body td{height:12mm;}
.gs .trig{border:1px solid #000;padding:2mm 3mm;margin:0 0 3mm;font-size:9pt;line-height:1.9;}
.gs .sig{display:flex;justify-content:flex-end;gap:0;margin:3mm 0 0;}
.gs .sig div{border:1px solid #000;width:28mm;text-align:center;font-size:8pt;}
.gs .sig div+div{border-left:none;}
.gs .sig b{display:block;border-bottom:1px solid #000;padding:.8mm 0;font-weight:700;background:#eee;}
.gs .sig span{display:block;height:15mm;}
.gs .wm{position:absolute;right:10mm;bottom:5mm;font-size:6.5pt;color:#888;}
.gs .lv1{background:#e8f5e9;} .gs .lv2{background:#fff8e1;} .gs .lv3{background:#ffebee;font-weight:700;}
.gs .alert{color:#b00;font-weight:700;}

@media print{
  html,body{background:#fff!important;height:auto!important;}
  body>header,body>footer,.no-print,ins.adsbygoogle,body>ins,body>iframe,body>div[id^=google]{display:none!important;}
  main.wrap>*:not(#preview){display:none!important;}
  #preview>*:not(.g-preview){display:none!important;}
  main.wrap{max-width:none!important;padding:0!important;margin:0!important;}
  .g-preview{margin:0!important;padding:0!important;border:none!important;background:none!important;border-radius:0!important;overflow:visible!important;height:auto!important;}
  .g-scale{transform:none!important;height:auto!important;}
  .gs{box-shadow:none!important;margin:0!important;}
  .gs.portrait{min-height:auto;}
  .gs.landscape{min-height:auto;}
}
