/* /colagem tools page (extends y26.css). Transform/opacity animations only. */
.gen-home { font-size:14px; color:var(--amber); text-decoration:none; font-weight:600; }
.gen-home:hover { text-decoration:underline; }
.gen .y26-k a { color:inherit; text-decoration:none; font:inherit; }
.gen-tabs { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 16px; }
.gen-tabs button { text-align:left; display:grid; grid-template-columns:40px 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center; padding:14px; border-radius:16px; border:1px solid var(--line); background:var(--bg-2); cursor:pointer; }
.gen-tabs button[aria-selected="true"] { border-color:var(--amber); background:linear-gradient(180deg, var(--amber-soft), transparent); }
.gen-tabs b { font-size:15px; } .gen-tabs small { grid-column:2; color:var(--muted); font-size:12.5px; line-height:1.35; }
.gen-ico { grid-row:1 / 3; width:40px; height:40px; }
.gen-ico-col { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.gen-ico-col i { border-radius:4px; background:var(--amber); } .gen-ico-col i:nth-child(2) { background:#7a3b2e; } .gen-ico-col i:nth-child(3) { background:#4f6b5a; } .gen-ico-col i:nth-child(4) { background:#e3c48f; }
.gen-ico-rec { border-radius:4px 4px 0 0; background:#f3ede2 repeating-linear-gradient(180deg, transparent 0 7px, #b9ad99 7px 8px) 7px 8px / 26px 24px no-repeat; -webkit-mask:linear-gradient(#000 0 0) top / 100% 85% no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 90deg, #0000 91deg) bottom / 8px 15% repeat-x; mask:linear-gradient(#000 0 0) top / 100% 85% no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 90deg, #0000 91deg) bottom / 8px 15% repeat-x; }
.gen-form .y26-form { max-width:none; }
.gen-opts { display:flex; flex-wrap:wrap; gap:10px 18px; margin:14px 4px 0; font-size:14px; color:var(--muted); }
.gen-opts label { display:inline-flex; align-items:center; gap:8px; } .gen-opts label[hidden] { display:none; }
.gen-opts select { background:var(--bg-3); color:var(--text); border:1px solid var(--line); border-radius:10px; padding:8px 10px; font:inherit; }
.gen-chk input { accent-color:var(--amber); width:16px; height:16px; }
.gen-out { margin:22px 0 30px; }
.gen-frame { position:relative; max-width:520px; margin:0 auto; }
.gen-frame canvas { display:block; width:100%; height:auto; border-radius:14px; background:var(--bg-2); box-shadow:0 10px 40px rgba(0,0,0,.4); transition:opacity .25s ease; }
.gen-frame.is-busy canvas { opacity:.45; }
.gen-badge { position:absolute; top:10px; left:10px; z-index:1; font-size:11px; letter-spacing:.12em; text-transform:uppercase; background:rgba(13,12,11,.75); color:var(--amber); padding:5px 9px; border-radius:999px; }
.gen-badge[hidden] { display:none; }
.gen-act { display:flex; gap:10px; justify-content:center; margin-top:16px; flex-wrap:wrap; }
.gen-act button:disabled { opacity:.45; cursor:default; }
.gen-ghost { border:1px solid var(--amber); background:transparent; color:var(--amber); border-radius:999px; padding:12px 18px; font-weight:700; font-size:15px; cursor:pointer; }
@media (max-width:480px) { .gen-tabs button { grid-template-columns:32px 1fr; padding:12px; } .gen-ico { width:32px; height:32px; } .gen-tabs small { font-size:11.5px; } }
/* @ row + manual link (receipt tab) */
.gen-row { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.gen-row .y26-form { width:100%; max-width:none; }
.gen-manual { align-self:center; border:0; background:none; padding:6px 2px; color:var(--amber); font-size:14px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; text-align:center; }
.gen-manual[hidden] { display:none; }
/* manual modal (above the discreet bar) */
.gen-modal { position:fixed; inset:0; z-index:1300; display:grid; place-items:center; padding:16px; background:rgba(5,5,4,.7); }
.gen-modal[hidden] { display:none; }
.gen-dlg { width:100%; max-width:520px; max-height:calc(100dvh - 32px); overflow:auto; background:var(--bg-2); border:1px solid var(--line); border-radius:18px; padding:18px 18px 20px; display:flex; flex-direction:column; gap:12px; }
.gen-dlg-top { display:flex; justify-content:space-between; align-items:center; } .gen-dlg h2 { margin:0; font:500 20px var(--serif); }
.gen-x, .gen-bar-x { border:0; background:none; color:var(--muted); font-size:26px; line-height:1; cursor:pointer; padding:4px 8px; }
.gen-lab { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--muted); }
.gen-dlg input { background:var(--bg-3); color:var(--text); border:1px solid var(--line); border-radius:10px; padding:11px 12px; font:500 16px var(--sans); min-width:0; }
.gen-dlg input:focus { outline:none; border-color:var(--amber); }
.gen-addrow { display:flex; gap:8px; } .gen-ac { position:relative; flex:1; min-width:0; } .gen-ac input { width:100%; }
.gen-qty input { width:76px; } .gen-addrow .gen-ghost { padding:10px 14px; font-size:14px; }
#mm-sug { position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:2; margin:0; padding:4px; list-style:none; background:#1d1a17; border:1px solid var(--line); border-radius:12px; max-height:280px; overflow:auto; box-shadow:0 10px 30px rgba(0,0,0,.5); }
#mm-sug[hidden] { display:none; }
#mm-sug li { display:flex; align-items:center; gap:10px; padding:7px 8px; border-radius:8px; cursor:pointer; font-size:14px; }
#mm-sug li[aria-selected="true"], #mm-sug li:hover { background:var(--amber-soft); }
#mm-sug img, .gen-lines img { width:36px; height:36px; border-radius:4px; flex:none; background:var(--bg-3); }
#mm-sug small, .gen-lines small { display:block; color:var(--muted); font-size:12px; }
#mm-sug span, .gen-lines span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.gen-via { margin:0; font-size:12px; color:var(--faint); } .gen-via[hidden] { display:none; }
.gen-lines { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; }
.gen-lines li { display:flex; align-items:center; gap:10px; padding:6px 8px; border:1px solid var(--line); border-radius:10px; font-size:14px; }
.gen-lines b { color:var(--amber); font-variant-numeric:tabular-nums; }
.gen-lines button { border:0; background:none; color:var(--muted); font-size:20px; cursor:pointer; padding:2px 6px; }
.gen-mgo { align-self:flex-start; } .gen-mgo:disabled { opacity:.45; cursor:default; }
@media (max-width:480px) { .gen-modal { padding:0; place-items:end stretch; } .gen-dlg { max-width:none; border-radius:18px 18px 0 0; max-height:92dvh; padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px)); } .gen-mgo { align-self:stretch; justify-content:center; } }
/* discreet signup bar (logged-out only) */
.gen-bar { position:fixed; left:50%; bottom:calc(12px + env(safe-area-inset-bottom, 0px)); z-index:60; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 24px);
  display:flex; align-items:center; gap:12px; padding:7px 6px 7px 16px; border-radius:999px; background:rgba(21,19,17,.78); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(201,160,99,.28); box-shadow:0 6px 20px rgba(0,0,0,.35); font-size:13.5px; color:var(--text); }
.gen-bar[hidden] { display:none; }
.gen-bar-btn { background:var(--amber); color:#15120d; font-weight:700; font-size:13px; padding:8px 14px; border-radius:999px; text-decoration:none; white-space:nowrap; }
.gen-bar-x { font-size:20px; padding:2px 8px; }
body.has-gen-bar .gen { padding-bottom:90px; }
@media (max-width:480px) { .gen-bar { font-size:12.5px; gap:8px; padding-left:12px; } .gen-bar span { line-height:1.25; } }
.gen-aka { margin:-10px 0 4px; font-size:13.5px; color:var(--faint); }
/* Mobile only. Logged in (body.gen-auth from /s/me): once a result exists the actions become a compact bar pinned to the bottom.
   z-index 59: above content, under the menu and modals. Logged out: actions sit inline ABOVE the image, full opacity (no sticky). */
@media (max-width:600px) {
  body.gen-auth.has-gen-res .gen-act { position:fixed; left:0; right:0; bottom:0; z-index:59; margin:0; flex-wrap:nowrap; gap:8px;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); background:rgba(13,12,11,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-top:1px solid rgba(201,160,99,.22); }
  body.gen-auth.has-gen-res .gen-act button { flex:1; min-width:0; display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:10px 12px; font-size:14px; }
  body.gen-auth.has-gen-res .gen { padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px)); }
  body:not(.gen-auth) .gen-out { display:flex; flex-direction:column; }
  body:not(.gen-auth) .gen-act { order:-1; margin:0 0 12px; }
  body:not(.gen-auth) .gen-act button:disabled { opacity:1; }
  .gen-bar-btn { font-size:12px; padding:6px 11px; }
}
