.gen{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:start;padding:34px 0}
.panel{background:#fff;border:2px solid var(--seyes);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.panel h2{color:var(--encre);font-size:1.2rem;margin-bottom:14px}
.panel label{display:block;font-weight:800;font-size:.88rem;margin:12px 0 4px;color:var(--txt)}
.panel select,.panel input[type=text],.panel input[type=number]{width:100%;padding:10px 11px;border:2px solid var(--seyes);border-radius:10px;font-family:'Nunito';font-size:1rem;background:#fff}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.tabs button{flex:1;min-width:70px;padding:8px 6px;border:2px solid var(--seyes);background:#fff;border-radius:10px;font-family:'Baloo 2';font-weight:700;font-size:.85rem;cursor:pointer;color:var(--encre)}
.tabs button.on,.tabs button[aria-selected=true]{background:var(--encre);color:#fff;border-color:var(--encre)}
.actions{display:flex;gap:10px;margin-top:18px}
.actions .btn{margin-top:0;flex:1;text-align:center;border:0;cursor:pointer}
.gen-hub{padding:34px 0 4px}
.gen-hub h1{color:var(--encre);font-size:clamp(2rem,4vw,2.8rem);line-height:1.1}
.gen-hub>p{max-width:760px;color:var(--gris);margin:6px 0 18px}
.gen-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gen-tool-card{display:flex;gap:14px;align-items:center;background:#fff;border:2px solid var(--seyes);border-radius:16px;padding:16px;transition:transform .18s,border-color .18s}
.gen-tool-card:hover{transform:translateY(-2px);border-color:var(--encre)}
.gen-tool-card img{width:72px;height:72px;object-fit:contain}
.gen-tool-card strong{display:block;color:var(--encre);font-family:'Baloo 2';font-size:1.08rem}
.gen-tool-card small{display:block;color:var(--gris);line-height:1.35}
.sheet{background:#fff;border:2px solid var(--seyes);border-radius:16px;padding:44px 48px;min-height:700px;max-width:640px;margin:0 auto}
.sh-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--seyes);padding-bottom:8px}
.sh-head .l{font-family:'Baloo 2';font-weight:800;font-size:1.3rem;color:var(--encre)}
.sh-head .l b{color:var(--rouge)}
.sh-head .u{font-size:.72rem;color:var(--gris)}
.sh-title{text-align:center;font-family:'Baloo 2';color:var(--encre);font-size:1.35rem;margin:16px 0 2px}
.sh-sub{text-align:center;font-size:.85rem;color:var(--gris)}
.sh-id{display:flex;justify-content:space-between;font-size:.85rem;margin:16px 0 8px;color:var(--txt)}
.ops{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin-top:18px}
.op{display:flex;align-items:center;gap:8px;font-family:'Baloo 2';font-weight:700;font-size:1.3rem}
.op .bx{width:52px;height:40px;border:2px solid var(--encre);border-radius:8px;display:inline-block}
.op .ans{color:var(--rouge)}
.wrows{margin-top:16px}
.wrow{position:relative;height:74px;border-bottom:2.2px solid #7FB2D9;margin-bottom:26px}
.wrow i{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--seyes);opacity:.75}
.wrow span{position:absolute;bottom:1px;font-family:'Nunito';font-weight:700;font-size:44px;line-height:1;color:#B9C2CE}
.wrow span.m{color:var(--encre)}
.sh-foot{text-align:center;color:#B9C2CE;font-size:.7rem;margin-top:34px;border-top:1px solid var(--seyes);padding-top:8px}
@media(max-width:980px){.gen-tools{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.gen{grid-template-columns:1fr}.panel{max-width:640px;margin:auto;width:100%}}
@media(max-width:620px){.gen-tools{grid-template-columns:1fr}}
@media(max-width:520px){.gen-hub{padding-top:24px}.gen{padding-top:20px;gap:18px}.panel{padding:16px}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{min-width:0}.sheet{padding:22px 18px;min-height:620px;width:100%}.ops{grid-template-columns:1fr;gap:12px}.actions{flex-direction:column}.sh-id{gap:8px;flex-wrap:wrap}.op{font-size:1.15rem}.wrow span{font-size:36px}}
@media print{
  header.top,.panel,footer,.crumb,.gen-hub{display:none!important}
  body{background:#fff}
  .gen{display:block;padding:0}
  .sheet{border:0;border-radius:0;max-width:none;padding:10mm 6mm;min-height:auto}
}

