.ih-case{margin:60px 0;--ih-ink:var(--v-ink,var(--ink));--ih-muted:var(--v-muted,var(--muted));--ih-line:var(--v-line,var(--line));--ih-blue:var(--v-blue,var(--accent));color:var(--ih-ink)}
.ih-decisions{margin-top:36px}.ih-decisions>h3{font-size:25px;letter-spacing:-.5px;font-weight:500;margin-bottom:20px}.ih-decisions .case-area h4{font-size:23px;letter-spacing:-.5px;font-weight:500;margin-bottom:12px}.case-body aside .case-nav-subsection{padding-left:16px}
.ih-case p{max-width:70ch}.ih-process{display:grid;grid-template-columns:1fr 1.2fr 1fr;list-style:none;padding:0;margin:30px 0 40px;gap:24px}.ih-process li{border-top:1px solid var(--ih-line);padding-top:16px;min-width:0}.ih-process span{display:block;color:var(--ih-muted);font-size:12px;margin-bottom:14px}.ih-process strong{display:block;font-size:18px;line-height:1.35;font-weight:550}.ih-case .ih-process p{font-size:14px;line-height:1.6;margin-top:10px}
.ih-figure{margin:0;border:1px solid var(--ih-line);border-radius:14px;overflow:clip;background:oklch(98% .006 95)}.ih-figure figcaption{display:grid;gap:6px;padding:22px 24px;border-bottom:1px solid var(--ih-line);font-size:14px}.ih-figure figcaption span{color:var(--ih-muted);font-size:12px;line-height:1.5}.ih-demo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,1fr)}.ih-contract{padding:24px;min-width:0}.ih-contract-head>span,.ih-history-head>span{font-size:11px;color:var(--ih-muted)}.ih-case .ih-demo h3{font-size:20px;line-height:1.25;letter-spacing:-.4px;margin:10px 0 16px;font-weight:550}.ih-case .ih-contract-head p{font-size:13px;line-height:1.5;margin:0 0 24px;color:var(--ih-blue)}
.ih-values{margin:0}.ih-values>div{padding:16px 0;border-bottom:1px solid var(--ih-line)}.ih-values dt{color:var(--ih-muted);font-size:12px;margin-bottom:5px}.ih-values dd{margin:0;font-size:17px;font-weight:500}.ih-detail{margin-top:26px;font-size:13px;line-height:1.6}.ih-detail strong{font-weight:550}.ih-case .ih-detail p{font-size:13px;line-height:1.6;margin:7px 0 0}.ih-history{padding:24px;background:oklch(95.5% .01 260);border-left:1px solid var(--ih-line);min-width:0}.ih-search{display:grid;gap:7px;font-size:12px}.ih-search input{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--ih-line);border-radius:6px;background:oklch(98% .006 95);font:inherit;font-size:13px;color:var(--ih-ink)}.ih-filter{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.4;margin-top:14px}.ih-filter input{width:16px;height:16px;accent-color:var(--ih-blue);flex-shrink:0}.ih-case .ih-count{font-size:11px;color:var(--ih-muted);margin:20px 0 12px}.ih-timeline{list-style:none;margin:0;padding:0 8px 0 16px;max-height:320px;overflow:auto;overscroll-behavior:auto;scrollbar-gutter:stable}.ih-timeline li{position:relative;border-left:1px solid var(--ih-line);padding:0 0 24px 20px}.ih-timeline li:before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--ih-muted)}.ih-timeline li.is-selected:before{background:var(--ih-blue)}.ih-case .ih-timeline p{font-size:12px;line-height:1.5;margin:6px 0 9px}.ih-demo button{font-family:inherit;cursor:pointer}.ih-date{border:0;background:transparent;color:var(--ih-ink);padding:0;line-height:1.5;font-size:13px;text-align:left;font-weight:550}.ih-date[aria-pressed=true]{color:var(--ih-blue);text-decoration:underline;text-underline-offset:4px}.ih-event-actions{display:flex;flex-wrap:wrap;gap:6px}.ih-event-actions button{border:1px solid var(--ih-line);border-radius:5px;background:oklch(98% .006 95);font-size:11px;padding:7px 9px;color:var(--ih-ink)}.ih-event-actions button:hover,.ih-event-actions button[aria-pressed=true]{background:var(--ih-blue);border-color:var(--ih-blue);color:oklch(98% .006 95)}.ih-event-actions button:disabled{opacity:.5;cursor:default}.ih-case :is(button,input,ol):focus-visible{outline:2px solid var(--ih-blue);outline-offset:3px}
.ih-case .ih-footnote{padding:14px 24px;margin:0;border-top:1px solid var(--ih-line);max-width:none;font-size:11px;line-height:1.5;color:var(--ih-muted)}.ih-reading{margin-top:24px}.ih-reading h3{font-size:20px}.ih-compare{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.ih-compare caption{text-align:left;font-size:12px;color:var(--ih-muted);padding-bottom:12px}.ih-compare th,.ih-compare td{text-align:left;vertical-align:top;padding:12px 7px;border-bottom:1px solid var(--ih-line);overflow-wrap:anywhere}.ih-compare th{font-weight:500;font-size:11px}.ih-compare tr.is-changed td{background:oklch(92% .035 265)}.ih-compare small{display:block;font-size:10px;color:var(--ih-blue);margin-top:5px}.ih-empty{font-size:13px;padding:12px 0}.ih-demo [hidden]{display:none!important}
@media(max-width:1050px){.ih-demo{grid-template-columns:1fr}.ih-history{border-left:0;border-top:1px solid var(--ih-line)}.ih-process{grid-template-columns:1fr;gap:16px}.ih-process li{display:grid;grid-template-columns:100px 1fr;column-gap:16px}.ih-process p{grid-column:2}.ih-process span{grid-row:1/3}.ih-timeline{max-height:300px}}
@media(max-width:480px){.ih-contract,.ih-history{padding:20px}.ih-figure figcaption{padding:20px}.ih-process li{grid-template-columns:1fr}.ih-process p{grid-column:auto}.ih-process span{grid-row:auto;margin-bottom:8px}}
/* History date filtering, snapshot attribution and historical-version recovery. */
.ih-search-control{display:flex;border:1px solid var(--ih-line);border-radius:6px;background:oklch(98% .006 95)}.ih-search-control input{border:0;background:transparent;border-radius:6px 0 0 6px;flex:1}.ih-calendar-toggle{display:grid;place-items:center;flex:0 0 44px;border:0;border-left:1px solid var(--ih-line);border-radius:0 6px 6px 0;background:transparent;color:var(--ih-ink)}.ih-calendar-toggle:hover,.ih-calendar-toggle[aria-expanded=true]{background:oklch(92% .035 265);color:var(--ih-blue)}
.ih-picker{margin-top:10px;padding:14px;border:1px solid var(--ih-line);border-radius:10px;background:oklch(98% .006 95)}.ih-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.ih-picker button{border:1px solid var(--ih-line);background:transparent;color:var(--ih-ink);border-radius:5px;padding:7px;font-size:12px}.ih-picker button:hover{background:oklch(92% .035 265)}.ih-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.ih-calendar-heading button{font-size:20px;min-width:32px}.ih-weekdays,.ih-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.ih-weekdays{margin:10px 0 6px;text-align:center;font-size:11px;color:var(--ih-muted)}.ih-calendar-grid button{min-width:0;min-height:32px;border-color:transparent;padding:5px 0}.ih-calendar-grid button.in-range{background:oklch(92% .035 265)}.ih-calendar-grid button.is-boundary{background:var(--ih-blue);color:white}.ih-calendar-grid button[aria-current=date]{border-color:var(--ih-blue)}.ih-picker-footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.ih-case .ih-picker-help,.ih-case .ih-range-summary{font-size:12px;line-height:1.5;margin:10px 0 0;color:var(--ih-muted)}
.ih-warning{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px;margin-bottom:20px;border:1px solid #dbb45f;border-radius:7px;background:#fff4d8;color:#66460c;font-size:13px;line-height:1.5}.ih-warning button{border:1px solid #a37a2e;border-radius:5px;background:transparent;color:inherit;padding:8px 12px;font-size:12px;font-weight:600}.ih-time{font-weight:400;margin-left:5px}.ih-date-wrap{display:inline-block;position:relative;max-width:100%}.ih-author{display:none;position:fixed;inset:auto;margin:0;border:0;z-index:2;padding:7px 10px;border-radius:5px;background:#191c28;color:white;font-size:11px;font-weight:400;line-height:1.4;max-width:none;width:max-content;white-space:nowrap;pointer-events:none;box-shadow:0 3px 10px #0002}.ih-author:popover-open{display:block}

.ih-case .ih-range-summary{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 5px 4px 10px;border:1px solid var(--ih-line);border-radius:999px;background:oklch(92% .035 265);color:var(--ih-ink);font-size:12px;line-height:1.5}.ih-range-summary span{min-width:0;overflow-wrap:anywhere}.ih-range-summary button{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font-size:20px;line-height:1}.ih-range-summary button:hover{background:var(--ih-blue);color:white}

.ih-snapshot-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.ih-status{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:550;line-height:1.5;white-space:nowrap;border:1px solid transparent}.ih-status-valid{background:#def3e4;color:#20623a;border-color:#a7d8b7}.ih-status-planned{background:#fbddd5;color:#86270d;border-color:#eba18d}.ih-status-historical{background:#e9ebef;color:#515967;border-color:#d2d7df}



.ih-compare-heading{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}

.ih-contract-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.ih-contract-title h3{margin:0}.ih-contract-title button{padding:8px 10px;border:1px solid var(--ih-line);border-radius:5px;background:transparent;color:var(--ih-ink);font-size:12px}.ih-contract-title button:hover{border-color:var(--ih-blue);color:var(--ih-blue)}

.ih-compare-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.ih-compare-controls label{display:flex;align-items:center;gap:7px;font-size:12px}.ih-compare-controls select{font:inherit;color:var(--ih-ink);background:transparent;border:1px solid var(--ih-line);border-radius:5px;padding:8px;max-width:100%}.ih-case select:focus-visible{outline:2px solid var(--ih-blue);outline-offset:3px}

/* Attribute actions stay available to keyboard and touch users. */
.ih-value-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-width:0}.ih-value-text{min-width:0;overflow-wrap:anywhere}.ih-attribute-actions{display:inline-flex;gap:3px;flex:none;opacity:0;pointer-events:none;transition:opacity .12s}.ih-attribute-actions button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--ih-line);border-radius:5px;background:transparent;color:var(--ih-muted)}.ih-attribute-actions button:hover{color:var(--ih-blue);border-color:var(--ih-blue);background:oklch(92% .035 265)}.ih-values>div:hover .ih-attribute-actions,.ih-values>div:focus-within .ih-attribute-actions,.ih-compare td:hover .ih-attribute-actions,.ih-compare td:focus-within .ih-attribute-actions{opacity:1;pointer-events:auto}.ih-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;width:max-content;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:8px;background:var(--ih-ink);color:#fff;font-size:13px;line-height:1.5;box-shadow:0 4px 20px #0002}.ih-attribute-dialog{width:min(900px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);box-sizing:border-box;padding:24px;border:1px solid var(--ih-line);border-radius:12px;background:oklch(98% .006 95);color:var(--ih-ink);font:inherit;overflow:auto}.ih-attribute-dialog::backdrop{background:#191c2880}.ih-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.ih-case .ih-dialog-head h3{margin:0;font-size:20px}.ih-dialog-head button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--ih-line);border-radius:6px;background:transparent;color:var(--ih-ink);font-size:24px;flex:none}.ih-case .ih-attribute-dialog p{font-size:13px;line-height:1.5;color:var(--ih-muted);margin:12px 0 20px}.ih-attribute-table-wrap{overflow-x:auto}.ih-attribute-table{width:100%;min-width:650px;border-collapse:collapse;font-size:13px;line-height:1.5;text-align:left}.ih-attribute-table th,.ih-attribute-table td{padding:12px 10px;border-bottom:1px solid var(--ih-line);vertical-align:top}.ih-attribute-table th{font-weight:550;color:var(--ih-muted);font-size:12px}.ih-attribute-table th:first-child{width:22%}.ih-attribute-table td .ih-status{display:flex;width:max-content;margin-top:5px}.ih-attribute-table abbr{text-decoration:none;border-bottom:1px dotted var(--ih-muted);cursor:help}.ih-attribute-table-wrap:focus-visible{outline:2px solid var(--ih-blue);outline-offset:2px}
@media(hover:none),(pointer:coarse){.ih-attribute-actions{opacity:1;pointer-events:auto}.ih-attribute-actions button{width:36px;height:36px}}
@media(max-width:480px){.ih-attribute-dialog{padding:18px}.ih-compare .ih-attribute-actions button{width:28px;height:32px}}
@media(prefers-reduced-motion:reduce){.ih-attribute-actions{transition:none}}
