/* Vacanzia · season and integrations pages (INTEGRATIONS agent)
   #/desk/season (sessions, menu, notes, prices) and #/desk/integrations
   (REST API, webhooks, live event log). Shell styles live in components.css.
   Prefixes: .sz-* (Season) · .ig-* (Integrations) · .code (code blocks). */

:root{ --mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace; }

/* ── shared: block heads, code ────────────── */
.sz-block,.ig-block{margin-top:56px;min-width:0}
.sz-block-head,.ig-block-head{display:flex;justify-content:space-between;align-items:baseline;min-height:50px;align-content:flex-end;gap:8px 24px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1.5px solid var(--ink)}
.sz-block-head .caption,.ig-block-head .caption{max-width:62ch}
.code-inline,code.ig-c{font-family:var(--mono);font-size:.88em;letter-spacing:0;background:var(--surface-2);border:1px solid var(--rule);border-radius:4px;padding:1px 5px;white-space:nowrap}
.code{position:relative;min-width:0;border:1px solid var(--rule);border-radius:var(--r-inner);background:var(--surface-2)}
.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 6px 6px 12px;border-bottom:1px solid var(--rule);font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:.02em;min-width:0}
.code-head>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.code pre{margin:0;padding:12px 14px;overflow:auto;max-height:420px;font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--ink);tab-size:2;-webkit-overflow-scrolling:touch}
.code pre code{font-family:inherit}
.code .k{color:var(--field)}
.code .s{color:color-mix(in srgb,var(--ink) 78%,var(--wheat))}
.code .n{color:var(--ink);font-weight:600}
.code .c{color:var(--muted)}
.copy-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:6px;border:1px solid transparent;background:transparent;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;flex:none}
.copy-btn:hover{border-color:var(--rule-strong);background:var(--surface)}
.copy-btn .ico{width:15px;height:15px}
.copy-btn.is-done{color:var(--field)}

/* ══ SEASON ═══════════════════════════════ */
.sz-overview{min-width:0}
.sz-overview .season-field .legend{border-top:0;padding-top:0}

.sz-cols,.sz-sum{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(170px,1.3fr) minmax(150px,.9fr) 78px 64px;column-gap:20px;align-items:center}
.sz-cols{padding:12px 12px 8px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sz-past{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:0;border-top:1px solid var(--rule);background:none;font-size:14px;color:var(--muted);text-align:left}
.sz-past b{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.sz-list{border-bottom:1px solid var(--rule)}
.sz-row{border-top:1px solid var(--rule);scroll-margin-top:24px}
.sz-sum{width:100%;row-gap:6px;padding:13px 12px;border:0;background:transparent;text-align:left;color:inherit;font:inherit;border-radius:var(--r-inner);transition:background-color 160ms}
.sz-sum:hover{background:var(--tint)}
.sz-dates{display:flex;flex-direction:column;gap:1px;min-width:0}
.sz-range{font-weight:600;font-size:15px;white-space:nowrap}
.sz-fnote{font-family:var(--display);font-style:italic;font-size:14px;color:var(--muted);line-height:1.3}
.sz-rooms{display:flex;flex-direction:column;gap:5px;min-width:0}
.sz-rooms .strip{height:10px}
.sz-count{font-size:13px;color:var(--muted)}
.sz-count.is-few{color:var(--clay);font-weight:600}
.sz-status{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;min-width:0}
.sz-status i{width:8px;height:10px;border-radius:1px;flex:none;background:var(--field)}
.sz-status.is-few i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--clay)}
.sz-status.is-full i{background:var(--barn)}
.sz-status.is-closed i{background:repeating-linear-gradient(135deg,var(--rule-strong) 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1px var(--rule-strong)}
.sz-status.is-arriving i{background:var(--wheat)}
.sz-status.is-past i{background:var(--rule-strong)}
.sz-status.is-past,.sz-row.is-past .sz-range{color:var(--muted)}
.sz-menu{font-size:14.5px}
.sz-menu.is-milchig{font-weight:600}
.sz-edit{justify-self:end;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:var(--rule-strong)}
.sz-sum:hover .sz-edit{text-decoration-color:currentColor}
.sz-note{grid-column:1 / 5;display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--ink);line-height:1.4;padding-left:0}
.sz-note .ico{color:var(--wheat);margin-top:1px}
.sz-note.is-closed-note{color:var(--muted)}
.sz-saved{font-size:14px;color:var(--field);font-weight:500;padding:0 12px 10px;min-height:0}
.sz-saved:empty{display:none}
.sz-prices .sz-saved{padding:10px 0 0}

/* the open editor: the one raised surface on this page */
.sz-row.is-editing{border-top-color:transparent;margin:10px -12px;padding:4px 12px 4px;background:var(--surface);border-radius:var(--r-panel);box-shadow:var(--raise);outline:1px solid var(--rule)}
.sz-row.is-editing + .sz-row{border-top-color:transparent}
.sz-row.is-editing .sz-sum:hover{background:transparent}
.sz-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;padding:14px 12px 18px;border-top:1px solid var(--rule);animation:sz-plough var(--t-plough) var(--plough)}
@keyframes sz-plough{from{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
.sz-fs{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:10px}
.sz-fs legend{padding:0;margin-bottom:10px}
.sz-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sz-reason{max-width:360px}
.sz-warn{line-height:1.45}
.sz-fixed{font-size:14.5px;color:var(--muted);padding:6px 0}
.sz-staff{display:flex;gap:8px;align-items:baseline;font-size:13.5px;color:var(--muted);line-height:1.45}
.sz-staff i{width:7px;height:9px;border-radius:1px;background:var(--wheat);flex:none;transform:translateY(1px)}
.sz-staff.is-clay{color:var(--clay)}
.sz-staff.is-clay i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--clay)}
.sz-holds{margin-top:2px}
.sz-notes{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px 32px}
.sz-notes .textarea{min-height:72px}
.sz-allot{grid-column:1 / -1;padding-top:14px;border-top:1px solid var(--rule);gap:4px}
.sz-allot-n{font-size:14.5px}
.sz-allot-n b{font-weight:600}
.sz-actions{grid-column:1 / -1;display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap}
.sz-last{margin-left:auto}

/* prices */
.sz-price-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px 56px;margin-top:22px;align-items:start}
.sz-price-form{min-width:0}
.sz-rules-h{margin-top:26px}
.sz-plines{margin-top:6px}
.sz-pline{flex-wrap:wrap;align-items:center;padding:7px 0;border-bottom:1px solid var(--rule)}
.sz-pline:last-child{border-bottom:0}
.sz-pline .leader{transform:translateY(4px);align-self:center}
.sz-plabel{display:flex;flex-direction:column;white-space:normal;line-height:1.3;cursor:pointer;min-width:0;font-weight:500}
.sz-plabel small{margin-left:0}
.sz-pin{display:inline-flex;align-items:center;gap:6px;flex:none;font-weight:600;font-variant-numeric:tabular-nums}
.sz-pin .input{width:92px;min-height:40px;padding:7px 10px;text-align:right;font-weight:600}
.sz-pin.is-unit .input{width:64px}
.sz-unit{font-size:14px;font-weight:500;color:var(--muted);width:34px}
.sz-pline.is-changed .sz-pin .input{border-color:var(--wheat);background:var(--sel)}
.sz-was,.sz-perr{flex-basis:100%;text-align:right;font-size:12.5px;color:var(--muted);padding-top:3px}
.sz-perr{justify-content:flex-end;color:var(--clay)}
.sz-src{display:inline-block;width:6px;height:8px;border-radius:1px;margin-left:6px;vertical-align:.45em;background:var(--field)}
.sz-src.is-house{background:transparent;box-shadow:inset 0 0 0 1.25px var(--loam)}
.sz-prices .sz-actions{margin-top:18px}
.sz-srcnote{display:flex;flex-direction:column;gap:6px;margin-top:18px;padding-top:12px;border-top:1px dotted var(--rule-strong);font-size:12.5px;color:var(--muted);line-height:1.5;max-width:68ch}
.sz-srcnote .sz-src{margin:0 8px 0 0;vertical-align:0}
.sz-sample{background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r-panel);padding:20px 22px 18px;min-width:0}
.sz-sample-who{font-size:14px;margin:6px 0 4px;line-height:1.45}
.sz-sample-foot{margin-top:12px}

/* ══ INTEGRATIONS ═════════════════════════ */
/* in-page links: plain text with the furrow underline, not a tab strip */
.ig-page .desk-sub{max-width:none}
.ig-jump{display:flex;flex-wrap:wrap;gap:4px 24px;margin:-8px 0 0;font-size:14.5px}
.ig-jump a{text-decoration:none;font-weight:500;color:var(--ink);padding:4px 0 3px;background:linear-gradient(var(--rule-strong),var(--rule-strong)) left bottom/100% 1px no-repeat,linear-gradient(var(--wheat),var(--wheat)) left bottom/0 2px no-repeat;transition:background-size var(--t-furrow) var(--plough)}
.ig-jump a:hover,.ig-jump a:focus-visible{background-size:100% 1px,100% 2px}
.ig-top{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:48px;align-items:start}
.ig-top>.ig-block{margin-top:56px}
.ig-top .ig-block-head{align-items:flex-end}
.ig-block{scroll-margin-top:20px}

/* double booking: two windows, six room rects, one room */
.ig-guard-sec{margin-top:36px}
.ig-db{margin-top:18px;border:1px solid var(--rule);border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--raise)}
.ig-db-stage{display:flex;flex-direction:column;width:100%;padding:8px 22px 4px;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--r-panel) var(--r-panel) 0 0}
.ig-db-stage:focus-visible{outline:3px solid var(--wheat);outline-offset:-3px}
.ig-db-row{display:grid;grid-template-columns:170px auto minmax(0,1fr);gap:14px 32px;align-items:center;padding:16px 0}
.ig-db-row + .ig-db-row{border-top:1px dotted var(--rule-strong)}
.ig-db-who{display:flex;flex-direction:column;line-height:1.3}
.ig-db-who b{font-weight:600;font-size:15px}
.ig-db-who small{font-size:13px;color:var(--muted)}
.ig-db-rects{display:flex;gap:6px}
.ig-db-r{display:flex;flex-direction:column;align-items:center;gap:5px}
.ig-db-r i{position:relative;display:block;width:34px;height:40px;border-radius:var(--r-rect);background:var(--open-fill);box-shadow:inset 0 0 0 1.5px var(--rule-strong);overflow:hidden;transition:box-shadow var(--t-furrow)}
.ig-db-r i::after{content:'';position:absolute;inset:0;background:var(--field);transform:scaleX(0);transform-origin:left center;transition:transform var(--t-plough) var(--plough),background-color var(--t-furrow) ease}
.ig-db-r small{font-size:12px;color:var(--muted);font-weight:500}
.ig-db-r.is-contested small{color:var(--ink);font-weight:600}
.ig-db-r.is-taken i{box-shadow:none}
.ig-db-r.is-taken i::after{transform:scaleX(1)}
.ig-db-r.is-held i{box-shadow:none}
.ig-db-r.is-held i::after{background:var(--wheat);transform:scaleX(1)}
.ig-db-r.is-refused i{box-shadow:inset 0 0 0 2px var(--clay);animation:ig-refuse 520ms var(--plough)}
@keyframes ig-refuse{0%{transform:translateX(0)}30%{transform:translateX(-3px)}60%{transform:translateX(3px)}100%{transform:translateX(0)}}
.ig-db[data-step="0"] .ig-db-r i::after{transition:none}
.ig-db-log{display:flex;flex-direction:column;gap:4px;min-width:0}
.ig-db-line{display:flex;align-items:baseline;font-size:14px;opacity:0;transform:translateY(3px);transition:opacity 260ms ease,transform 260ms var(--plough)}
.ig-db-line.is-on{opacity:1;transform:none}
.ig-db-line code{font-family:var(--mono);font-size:13px;font-weight:600}
.ig-db-line .leader{min-width:20px}
.ig-db-line.is-bad b{color:var(--clay);font-weight:600;white-space:nowrap}
.ig-db-plain{font-size:13.5px;color:var(--muted)}
.ig-db-foot{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:10px 22px 12px;border-top:1px solid var(--rule)}
.ig-db-cap{font-size:14px;font-weight:500}
.ig-db-cap .dk-muted{font-weight:400;font-size:13.5px;margin-left:4px}
.ig-db-replay{font-size:14px}
.ig-db-replay .ico{transform:rotate(180deg) scaleX(-1)}

/* event log: Field Ledger lines (event · leader · time; the sentence; payload on demand) */
.ig-log-tools{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:12px 0 10px}
.ig-log-tools .select{width:auto;min-height:38px;padding-top:6px;padding-bottom:6px;font-size:14.5px}
.ig-live{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);margin-left:auto}
.ig-live i{width:28px;height:3px;border-radius:1px;background:var(--furrow);position:relative;overflow:hidden}
.ig-live i::after{content:'';position:absolute;inset:0;background:var(--field);transform-origin:left;animation:plough-loop 2400ms var(--plough) infinite}
.ig-log{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ig-ev{position:relative;border-top:1px solid var(--rule)}
.ig-ev:first-child{border-top:0}
.ig-ev.is-new::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--wheat);transform-origin:left;animation:ig-new 2600ms var(--plough) forwards}
@keyframes ig-new{0%{transform:scaleX(0)}24%{transform:scaleX(1);opacity:1}80%{opacity:1}100%{transform:scaleX(1);opacity:0}}
.ig-ev-sum{display:flex;flex-direction:column;gap:3px;width:100%;padding:11px 4px 12px;border:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer}
.ig-ev-sum:hover{background:var(--tint)}
.ig-ev-line{display:flex;align-items:baseline;gap:10px;min-width:0}
.ig-ev-line .leader{margin:0 2px;min-width:18px}
.ig-ev-mark{width:8px;height:10px;border-radius:1px;background:var(--field);flex:none;align-self:center}
.ig-ev-mark.is-hold{background:var(--wheat)}
.ig-ev-mark.is-free{background:var(--open-fill);box-shadow:inset 0 0 0 1px var(--rule-strong)}
.ig-ev-mark.is-block{background:repeating-linear-gradient(135deg,var(--rule-strong) 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1px var(--rule-strong)}
.ig-ev-mark.is-desk{background:var(--barn)}
.ig-ev-mark.is-ink{background:var(--ink)}
.ig-ev-mark.is-test{background:transparent;box-shadow:inset 0 0 0 1.5px var(--field)}
.ig-ev-type{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ig-ev-time{font-size:13px;color:var(--muted);white-space:nowrap;flex:none}
.ig-ev-text{padding-left:18px;font-size:14.5px;line-height:1.45;min-width:0}
.ig-ev-del{padding-left:18px;font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 14px}
.ig-ev-del span{display:inline-flex;align-items:center;gap:6px}
.ig-ev-del span::before{content:'';width:6px;height:6px;border-radius:1px;background:var(--field)}
.ig-ev-del .is-fail{color:var(--clay);font-weight:600}
.ig-ev-del .is-fail::before{background:var(--clay)}
.ig-ev-del .is-none::before{background:var(--rule-strong)}
.ig-ev-del .is-retry::before{background:var(--wheat)}
.ig-ev-del .ig-ev-more{margin-left:auto;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule-strong)}
.ig-ev-del .ig-ev-more::before{content:none}
.ig-ev-sum:hover .ig-ev-more{text-decoration-color:currentColor}
.ig-ev.is-open .ig-ev-sum{background:var(--sel)}
.ig-ev-body{padding:6px 4px 16px 22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.ig-dl{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.ig-dl li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 0;border-bottom:1px solid var(--rule);font-size:13.5px}
.ig-dl b{font-weight:600}
.ig-dl .ig-url{grid-column:1 / -1;font-family:var(--mono);font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ig-dl .ok{color:var(--field);font-weight:600;font-variant-numeric:tabular-nums}
.ig-dl .bad{color:var(--clay);font-weight:600}
.ig-more{display:flex;justify-content:center;padding:10px}
.ig-empty{padding:28px 0}

/* webhooks */
.ig-whs{display:flex;flex-direction:column}
.ig-wh{padding:16px 0 18px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:8px;min-width:0}
.ig-wh-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ig-wh-label{font-family:var(--display);font-weight:500;font-size:19px;line-height:1.2;font-variation-settings:'opsz' 24;min-width:0}
.ig-wh-url{font-family:var(--mono);font-size:12.5px;color:var(--ink);overflow-wrap:anywhere;line-height:1.5}
.ig-wh.is-paused .ig-wh-label,.ig-wh.is-paused .ig-wh-url{color:var(--muted)}
.ig-wh-ev{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.ig-wh-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;font-size:13.5px}
.ig-wh-meta dt{color:var(--muted)}
.ig-wh-meta dd{margin:0;min-width:0}
.ig-wh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:2px}
.ig-wh-res{font-size:13.5px;font-weight:500}
.ig-wh-res.is-ok{color:var(--field)}
.ig-wh-res.is-bad{color:var(--clay)}
/* sending / paused: the desk's square status marker + text, still a toggle button */
.ig-mark-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 6px;margin-right:-6px;border:0;border-radius:var(--r-inner);background:none;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;flex:none}
.ig-mark-btn:hover{background:var(--tint)}
.ig-mark-btn i{width:8px;height:10px;border-radius:1px;flex:none;background:var(--field);transition:background-color var(--t-furrow),box-shadow var(--t-furrow)}
.ig-mark-btn.is-off{color:var(--muted)}
.ig-mark-btn.is-off i{background:repeating-linear-gradient(135deg,var(--rule-strong) 0 1.5px,transparent 1.5px 3.5px);box-shadow:inset 0 0 0 1px var(--rule-strong)}
.ig-hooks-lead{padding-top:10px}
.ig-sign{margin-top:16px;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--muted);line-height:1.5}
.ig-add{margin-top:16px}
.ig-add-form{display:flex;flex-direction:column;gap:14px;padding:16px 0 4px;animation:sz-plough var(--t-plough) var(--plough)}
.ig-evgroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
.ig-evgroup{border:0;margin:0;padding:0;min-width:0}
.ig-evgroup legend{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:6px 0 0}
.ig-evgroup .check{min-height:36px;padding:6px 0;font-size:13px;gap:10px}
.ig-evgroup .check span{font-family:var(--mono);font-size:12.5px;overflow-wrap:anywhere}
.ig-evgroup .check input{width:18px;height:18px}
.ig-add-actions{display:flex;gap:10px;flex-wrap:wrap}

/* REST API */
.ig-api{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px 48px;margin-top:20px;align-items:start}
.ig-base{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:14px;color:var(--muted);padding-bottom:10px}
.ig-base code{font-family:var(--mono);font-size:13px;color:var(--ink);overflow-wrap:anywhere}
.ig-routes{border-top:1px solid var(--rule)}
.ig-route{border-bottom:1px solid var(--rule)}
.ig-route-sum{display:grid;grid-template-columns:62px minmax(0,1fr) auto;column-gap:12px;row-gap:3px;align-items:baseline;width:100%;padding:11px 8px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:var(--r-inner)}
.ig-route-sum:hover{background:var(--tint)}
.ig-route.is-on .ig-route-sum{background:var(--sel)}
.ig-method{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px}
.ig-method::before{content:'';width:6px;height:8px;border-radius:1px;background:var(--field)}
.ig-method.is-post::before{background:var(--wheat)}
.ig-method.is-delete::before{background:transparent;box-shadow:inset 0 0 0 1.25px var(--ink)}
.ig-path{font-family:var(--mono);font-size:13px;font-weight:600;overflow-wrap:anywhere;min-width:0}
.ig-auth{font-size:12.5px;color:var(--muted);text-align:right;white-space:nowrap}
.ig-route-desc{grid-column:2 / 4;font-size:13.5px;color:var(--muted);line-height:1.45}
.ig-authnote{margin-top:14px;font-size:13.5px;color:var(--muted);line-height:1.55;display:flex;flex-direction:column;gap:8px}
.ig-authnote b{color:var(--ink);font-weight:600}
.ig-detail{display:flex;flex-direction:column;gap:12px;min-width:0}
.ig-detail-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ig-detail-h .ig-path{font-size:14px}
.ig-try{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.ig-try .fld{flex:1 1 220px}
.ig-status{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--rule);white-space:pre-wrap;overflow-wrap:anywhere}
.ig-status b{color:var(--field)}
.ig-status b.is-409{color:var(--clay)}

/* the four facts under the diagram */
.ig-guard{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.ig-guard li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid var(--rule);align-items:start}
.ig-guard li i{width:8px;height:10px;border-radius:1px;background:var(--field);margin-top:6px}
.ig-guard-t{font-weight:600;font-size:15px;line-height:1.4}
.ig-guard-d{font-size:14px;color:var(--muted);line-height:1.55;margin-top:3px}
.ig-guard-try{margin-top:12px;font-size:14px;color:var(--muted)}

/* ── tablet & phone ───────────────────────── */
@media (max-width: 1180px){
  .sz-cols,.sz-sum{grid-template-columns:minmax(190px,1.2fr) minmax(150px,1.2fr) minmax(130px,.9fr) 72px 56px;column-gap:14px}
  .ig-top{grid-template-columns:minmax(0,1fr)}
  .ig-api{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 959px){
  .sz-price-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 760px){
  .sz-cols{display:none}
  .sz-sum{grid-template-columns:minmax(0,1fr) auto;row-gap:8px;padding:14px 4px}
  .sz-dates{grid-column:1;grid-row:1}
  .sz-edit{grid-column:2;grid-row:1;align-self:start}
  .sz-rooms{grid-column:1 / -1}
  .sz-status{grid-column:1;font-size:14px}
  .sz-menu{grid-column:2;justify-self:end;font-size:14px}
  .sz-note{grid-column:1 / -1}
  .sz-range{white-space:normal}
  .sz-row.is-editing{margin:10px -8px;padding:4px 8px}
  .sz-editor{grid-template-columns:minmax(0,1fr);padding:14px 4px 16px}
  .sz-notes{grid-template-columns:minmax(0,1fr)}
  .sz-choices{grid-template-columns:minmax(0,1fr)}
  .sz-last{margin-left:0;flex-basis:100%}
  .sz-past{padding:8px 4px}
  .ig-ev-sum{padding:11px 2px 12px}
  .ig-evgroups{grid-template-columns:minmax(0,1fr)}
  .ig-guard{grid-template-columns:minmax(0,1fr)}
  .ig-db-stage{padding:4px 14px 2px}
  .ig-db-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px 0}
  .ig-db-r i{width:30px;height:34px}
  .ig-db-rects{gap:5px}
  .ig-db-foot{padding:10px 14px 12px}
  .ig-ev-text,.ig-ev-del{padding-left:0}
  .ig-ev-body{padding:6px 0 14px}
  .ig-route-sum{grid-template-columns:58px minmax(0,1fr);padding:11px 4px}
  .ig-auth{grid-column:2;text-align:left}
  .ig-route-desc{grid-column:2}
  .ig-live{margin-left:0;flex-basis:100%}
}
@media (max-width: 420px){
  .sz-pin .input{width:78px}
  .sz-pin.is-unit .input{width:56px}
  .sz-pline .leader{min-width:8px;margin:0 6px}
  .sz-sample{padding:16px 14px}
  .code pre{font-size:12px;padding:10px 12px}
}
@media (prefers-reduced-motion: reduce){
  .sz-editor,.ig-add-form{animation:fadein 300ms}
  .ig-ev.is-new::after{animation:fadein 600ms}
  .ig-db-r i::after{transition:opacity 200ms;transform:scaleX(1);opacity:0}
  .ig-db-r.is-held i::after,.ig-db-r.is-taken i::after{opacity:1}
  .ig-db-r.is-refused i{animation:none}
  .ig-db-line{transition:opacity 200ms;transform:none}
  .ig-jump a{transition:none}
  .ig-live i::after{animation:none;transform:scaleX(1)}
}
