:root {
  --navy: #17202a;
  --navy-2: #222e3a;
  --navy-3: #324150;
  --amber: #efb335;
  --amber-dark: #b87600;
  --amber-soft: #fff6df;
  --ink: #1c2731;
  --muted: #64717c;
  --line: #dfe3e6;
  --line-soft: #eceff1;
  --canvas: #f3f5f6;
  --paper: #fff;
  --success: #237558;
  --danger: #a33e34;
  --shadow: 0 14px 42px rgba(26, 35, 43, .08);
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1 6 6 11 1' fill='none' stroke='%23818d95' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: 78px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { max-width: 100%; margin: 0; overflow-x: clip; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }

.app-header { height: 78px; display: flex; align-items: center; gap: 38px; padding: 0 34px; position: sticky; top: 0; z-index: 30; overflow: visible; color: #fff; background: var(--navy); box-shadow: 0 4px 20px rgba(11,17,22,.16); }
.app-header::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: url("/motif-seamless.png?v=1"); background-position: center; background-size: cover; background-repeat: no-repeat; opacity: .12; }
.app-header > * { position: relative; z-index: 1; }
.brand { min-width: 270px; display: flex; align-items: center; gap: 12px; color: #f4f1e9; text-decoration: none; }
.brand-symbol { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--amber); box-shadow: 0 5px 16px rgba(0,0,0,.15); }
.brand-symbol img { width: 31px; height: 31px; display: block; object-fit: contain; }
.brand strong { display: block; }
.brand-name { font: 500 30px/1 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.brand-name > span { color: var(--amber); }
.main-nav { height: 100%; display: flex; align-items: stretch; }
.main-nav a, .main-nav button { padding: 0 18px; display: flex; align-items: center; gap: 7px; border: 0; border-bottom: 3px solid transparent; color: #bac2c9; background: transparent; text-decoration: none; font-size: calc(12px + 1pt); font-weight: 650; }
.main-nav a:hover, .main-nav button:hover, .main-nav .active { color: #fff; background: rgba(255,255,255,.035); border-bottom-color: var(--amber); }
.main-nav span { min-width: 18px; height: 18px; padding: 0 5px; display: grid; place-items: center; border-radius: 9px; color: var(--navy); background: var(--amber); font-size: 9px; }
.main-nav em { padding: 2px 5px; border-radius: 8px; color: #fff1c4; background: rgba(229,173,61,.18); font-size: 7px; font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.legislation-panel, .tools-panel { width: 370px; max-height: calc(100vh - 90px); position: fixed; z-index: 45; overflow: hidden; border: 1px solid #d8dde1; border-top: 3px solid var(--amber); border-radius: 0 0 10px 10px; color: var(--ink); background: #fff; box-shadow: 0 22px 55px rgba(11,17,22,.25); }
.legislation-list { max-height: min(520px, calc(100vh - 165px)); padding: 8px; overflow-y: auto; }
.legislation-link { width: 100%; min-height: 42px; padding: 9px 10px; display: flex; align-items: center; border: 0; border-radius: 6px; color: #6b747b; background: transparent; font-size: .75rem; font-weight: 700; line-height: 1.45; text-align: left; }
.legislation-link + .legislation-link { margin-top: 2px; }
.legislation-link:hover, .legislation-link:focus-visible, .legislation-link.active { color: var(--navy); background: var(--amber-soft); outline: none; }
.legislation-panel-source { margin: 0; padding: 10px 16px 12px; border-top: 1px solid var(--line); color: #6b747b; background: #fafbfb; font-size: .75rem; }
.legislation-status { margin: 0; padding: 18px 12px; color: var(--muted); font-size: .85rem; }
.tools-panel { padding: 8px; }
.tool-menu-item { width: 100%; min-height: 42px; margin: 0; padding: 9px 10px; display: flex; align-items: center; border: 0; border-radius: 6px; color: #6b747b; background: #fff; font-size: .75rem; font-weight: 700; line-height: 1.45; text-align: left; }
.tool-menu-item + .tool-menu-item { margin-top: 2px; }
.tool-menu-item:hover, .tool-menu-item:focus-visible { border-color: #e2bb55; background: var(--amber-soft); outline: none; }
.header-account-area { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.header-notifications { position: relative; }
.notification-button { width: 38px; height: 38px; padding: 8px; position: relative; display: grid; place-items: center; border: 1px solid rgba(239,179,53,.32); border-radius: 50%; color: #f5c45a; background: rgba(255,255,255,.045); }
.notification-button:hover, .notification-button:focus-visible { border-color: var(--amber); background: rgba(255,255,255,.1); outline: none; }
.notification-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.notification-badge { min-width: 15px; height: 15px; padding: 0 4px; position: absolute; top: -3px; right: -3px; display: grid; place-items: center; border: 2px solid var(--navy); border-radius: 10px; color: #fff; background: #c34f42; font-size: 8px; font-weight: 850; }
.notification-panel { width: 275px; padding: 13px; position: absolute; top: calc(100% + 10px); right: 0; z-index: 35; border: 1px solid #dfe3e6; border-radius: 9px; color: var(--ink); background: #fff; box-shadow: 0 18px 45px rgba(11,17,22,.2); }
.notification-panel > strong { display: block; margin-bottom: 8px; color: var(--navy); font-size: 12px; }
.notification-panel p { margin: 0; padding: 8px 0; color: #66737c; border-top: 1px solid #edf0f1; font-size: 11px; line-height: 1.4; }
.site-menu { position: relative; }
.site-menu-button { width: 44px; height: 44px; padding: 0; display: grid; place-items: center; border: 1px solid transparent; border-radius: 50%; background: transparent; transition: border-color .16s, background .16s; }
.site-menu-button:hover, .site-menu-button[aria-expanded="true"] { border-color: rgba(239,179,53,.42); background: rgba(255,255,255,.055); }
.site-menu-button:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
.site-menu-button img { width: 32px; height: 24px; display: block; object-fit: contain; }
.site-menu-panel { width: 230px; max-height: calc(100vh - 96px); padding: 7px; position: absolute; top: calc(100% + 10px); right: 0; overflow: auto; border: 1px solid #dfe3e6; border-radius: 9px; color: var(--ink); background: #fff; box-shadow: 0 18px 45px rgba(11,17,22,.2); }
.site-menu-panel button { width: 100%; min-height: 40px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 6px; color: #34414b; background: transparent; font-size: 12px; font-weight: 750; text-align: left; }
.site-menu-panel button:hover, .site-menu-panel button:focus-visible { color: var(--navy); background: var(--amber-soft); outline: none; }
.site-menu-panel span { padding: 2px 5px; border-radius: 8px; color: #7d5c13; background: #ffe9ad; font-size: 7px; letter-spacing: .05em; text-transform: uppercase; }
.site-menu-divider { height: 1px; margin: 6px 7px; background: var(--line); }
.site-menu-panel .site-menu-logout { margin-top: 5px; color: #8a453d; border-top: 1px solid #eee3e1; border-radius: 0 0 6px 6px; }
.guest-auth-actions { display: flex; align-items: center; gap: 7px; }
.header-auth-button { min-height: 36px; padding: 0 14px; border: 1px solid #52606c; border-radius: 20px; color: #eef1f3; background: rgba(255,255,255,.045); font-size: calc(10px + 2pt); font-weight: 750; transition: border-color .16s, color .16s, background .16s; }
.header-auth-button:hover, .header-auth-button:focus-visible { border-color: var(--amber); outline: none; }
.header-register-button { border-color: var(--amber); color: var(--navy); background: var(--amber); }
.header-register-button:hover, .header-register-button:focus-visible { color: var(--navy); background: #ffc74d; }
.account-button { min-height: 36px; padding: 0 11px 0 5px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #46535f; border-radius: 20px; color: #e9edf0; background: rgba(255,255,255,.045); font-size: 10px; }
.account-button:hover { border-color: #717e88; background: rgba(255,255,255,.08); }
.account-button span { width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--amber); font-size: 9px; font-weight: 850; }
.account-button b { max-width: 220px; white-space: normal; overflow-wrap: anywhere; text-align: left; line-height: 1.2; }
.mobile-filter-button { display: none; }

.app-layout { width: 100%; max-width: 100%; min-height: calc(100vh - 78px); display: grid; grid-template-columns: 314px minmax(0, 1fr); overflow-x: clip; }
.filter-sidebar { min-width: 0; position: sticky; top: 78px; height: calc(100vh - 78px); overflow-x: hidden; overflow-y: auto; overscroll-behavior-x: none; overflow-anchor: none; padding: 25px 22px 50px; border-right: 1px solid var(--line); background: #fbfbfa; }
.sidebar-title { margin-bottom: 22px; display: flex; align-items: flex-end; justify-content: space-between; }
.sidebar-title h2 { margin: 1px 0 0; font: 600 24px/1.1 Georgia, "Times New Roman", serif; }
.overline { color: var(--amber-dark); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.link-button { padding: 5px 0; border: 0; color: var(--muted); background: transparent; font-size: 11px; }
.link-button:hover { color: var(--amber-dark); text-decoration: underline; }
label { color: #3e4a54; font-size: 10px; font-weight: 750; letter-spacing: .02em; }
input, select { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid #d6dbde; border-radius: 6px; outline: 0; color: var(--ink); background: #fff; font-size: 12px; transition: border-color .15s, box-shadow .15s; }
.filter-sidebar input, .filter-sidebar select, .filter-content, .filter-field, .date-example-field, .filter-content.two-column > * { min-width: 0; max-width: 100%; }
input:focus, select:focus { border-color: var(--amber-dark); box-shadow: 0 0 0 3px rgba(229,173,61,.16); }
input::placeholder { color: #a0a9af; }
.filter-field > label, .filter-content label { display: block; margin-bottom: 6px; }
.filter-field.compact + .filter-field.compact { margin-top: 10px; }
.filter-field select { padding-right: 32px; appearance: none; -webkit-appearance: none; background-color: #fff; background-image: var(--select-chevron); background-repeat: no-repeat; background-position: right 11px center; background-size: 10px 6px; }
.source-filter, .unit-filter { margin: 0; padding: 0; border: 0; }
.source-filter { margin-bottom: 15px; }
.source-filter > legend { margin-bottom: 7px; color: #7a858d; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.unit-filter > legend { margin-bottom: 6px; color: #3e4a54; font-size: 10px; font-weight: 750; letter-spacing: .02em; }
.source-picker { display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border: 0; border-radius: 0; background: var(--navy-2); box-shadow: none; }
.source-picker label { min-width: 0; cursor: pointer; }
.source-picker input { position: absolute; opacity: 0; pointer-events: none; }
.source-picker span { min-height: 76px; padding: 11px 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 0; color: #fff; background: var(--navy-2); text-align: center; transition: color .16s, background .16s; }
.source-tab-title, .source-tab-description { width: 100%; display: flex; justify-content: center; text-align: center; }
.source-tab-title { min-height: 17px; align-items: center; font-size: 13px; line-height: 1.15; }
.source-tab-description { min-height: 22px; margin-top: 6px; align-items: flex-start; color: #c9d0d5; line-height: 1.25; }
.source-tab-description, .unit-all .unit-all-note { font-size: calc(8.5px + 1pt); font-weight: 650; }
.source-picker label:hover span { background: var(--navy-3); }
.source-picker input:checked + span { color: var(--navy); background: var(--amber); }
.source-picker input:checked + span .source-tab-description { color: #4d3c17; }
.source-picker input:focus-visible + span { outline: 3px solid #fff; outline-offset: -4px; }
.source-summary { min-height: 2.8em; margin: 5px 1px 0; color: #7d878e; font-size: calc(9.5px + 1pt); line-height: 1.4; }
.date-example-field { position: relative; }
.date-example-field > span { display: none; position: absolute; left: 11px; bottom: 11px; z-index: 2; color: #a8b0b6; font-size: 11px; font-weight: 500; line-height: 1; pointer-events: none; }
.date-example-field.is-empty:not(:focus-within) > span { display: block; }
.date-example-field.is-empty:not(:focus-within) input { color: transparent; }
.date-example-field.is-empty:not(:focus-within) input::-webkit-datetime-edit { color: transparent; }
.unit-picker { border: 1px solid #d6dbde; border-radius: 7px; background: #fff; overflow: hidden; }
.unit-all, .unit-option, .unit-group summary { display: flex; align-items: center; gap: 9px; }
.unit-all { min-height: 52px; padding: 8px 10px; cursor: pointer; background: #fffaf0; }
.unit-all input, .unit-option input, .unit-group summary input { width: 17px; min-height: 17px; height: 17px; flex: 0 0 17px; margin: 0; accent-color: var(--amber-dark); }
.unit-all span, .unit-all b, .unit-all small { display: block; }
.unit-all b { color: #303c46; font-size: 11px; }
.unit-all small { margin-top: 1px; color: #7d878e; font-size: 8px; font-weight: 500; }
.unit-all-title { line-height: 1.08; }
.unit-all-note { margin-top: 0; line-height: 1.08; }
.unit-groups { border-top: 1px solid var(--line-soft); }
.unit-group { border-top: 1px solid var(--line-soft); }
.unit-group:first-child { border-top: 0; }
.unit-group summary { min-height: 42px; padding: 7px 10px; list-style: none; cursor: pointer; color: #414d56; }
.unit-group summary::-webkit-details-marker { display: none; }
.unit-group summary::after { content: ""; width: 15px; height: 15px; margin-left: auto; flex: 0 0 15px; background: url("/ok.png?v=1") center / contain no-repeat; transform: rotate(0deg); transition: transform .18s ease; }
.unit-group[open] summary::after { transform: rotate(90deg); }
.unit-group summary b { flex: 1; }
.unit-all .unit-all-title,
.filter-group > summary { font-size: calc(11px + 2.5pt); font-weight: 750; }
.unit-group summary b,
.filter-content > label,
.date-example-field > label,
.filter-field > label { font-size: calc(10px + 1.5pt); font-weight: 750; }
.filter-group > summary { color: #414d56; }
.unit-group summary em { color: #8b959c; font-size: calc(8px + 2.2pt); font-style: normal; font-weight: 600; }
.unit-group summary em.has-selection { color: var(--success); }
.unit-options { max-height: 220px; padding: 3px 10px 9px 36px; display: grid; gap: 2px; overflow: auto; background: #fafbfb; }
.unit-option { min-height: 31px; cursor: pointer; color: #53606a; font-size: 9px; font-weight: 600; }
.unit-group[data-unit-group="boards"] .unit-option,
.unit-group[data-unit-group="civil"] .unit-option,
.unit-group[data-unit-group="criminal"] .unit-option,
.unit-group[data-unit-group="chambers"] .unit-option,
.unit-group[data-unit-group="military"] .unit-option,
.unit-group[data-unit-group="collections"] .unit-option { font-size: calc(9px + 1.5pt); }
.unit-option.compact-unit-option { line-height: 1.12; }
.unit-group[data-unit-group="military"] .unit-option { line-height: 1.12; }
.unit-picker > p { margin: 0; padding: 7px 10px; border-top: 1px solid var(--line-soft); color: #727e86; background: #fafbfb; font-size: 8px; }
.filter-group { margin-top: 18px; border-top: 1px solid var(--line-soft); }
.filter-group summary { padding: 15px 0 11px; list-style: none; cursor: pointer; }
.filter-group summary::-webkit-details-marker { display: none; }
.filter-group summary::after { content: ""; width: 17px; height: 17px; margin: -2px 1px 0 0; float: right; background: url("/ok.png?v=1") center / contain no-repeat; transform: rotate(0deg); transition: transform .18s ease; }
.filter-group[open] summary::after { transform: rotate(90deg); }
.filter-content.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.exact-number-filter small { display: block; margin-top: 5px; color: #7b858c; font-size: 8px; line-height: 1.45; }
#unit-selection-summary,
.exact-number-filter > small { font-size: calc(8px + 1.5pt); }
.sidebar-search-button { width: 100%; min-height: 43px; margin-top: 22px; border: 0; border-radius: 6px; color: #fff; background: var(--navy); font-size: 12px; font-weight: 750; }
.sidebar-search-button:hover { background: var(--navy-2); }
.saved-sidebar { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.saved-title { display: flex; justify-content: space-between; align-items: center; color: #4a5660; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.saved-title button { border: 0; color: #90999f; background: transparent; font-size: 12px; }
.saved-scroll-list { max-height: 176px; margin-top: 8px; padding-right: 4px; overflow: auto; scrollbar-width: thin; scrollbar-color: #c8ced2 transparent; }
.saved-scroll-list .saved-search-item:first-child, .saved-scroll-list .saved-decision-item:first-child { margin-top: 0; }
.saved-searches-sidebar,
.saved-decisions-sidebar { margin-top: 18px; }
.saved-searches-sidebar .saved-title,
.saved-decisions-sidebar .saved-title { margin-bottom: 10px; padding: 13px 14px; border-radius: 8px; color: var(--navy); background: var(--amber); font-size: 13px; letter-spacing: .02em; text-transform: none; }
.saved-searches-sidebar .saved-title button,
.saved-decisions-sidebar .saved-title button { color: #6e4a00; font-size: 12px; }
.saved-searches-sidebar .saved-scroll-list,
.saved-decisions-sidebar .saved-scroll-list { max-height: 440px; }
.saved-search-item { margin-top: 8px; display: flex; align-items: stretch; border: 1px solid var(--line); border-radius: 6px; background: #fff; overflow: hidden; }
.saved-search-item:hover, .saved-search-item:focus-within { border-color: var(--amber-dark); background: #fff1c2; }
.saved-search-main { flex: 1; min-width: 0; padding: 10px 11px; border: 0; color: #404d57; background: transparent; text-align: left; }
.saved-search-main strong { display: block; overflow: hidden; font-size: 10px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.saved-search-main small { display: block; margin-top: 4px; overflow: hidden; color: #89939a; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.saved-search-remove { width: 30px; border: 0; color: #9a5b54; background: #fafafa; font-size: 15px; line-height: 1; }
.saved-empty { margin: 8px 0 0; padding: 14px 10px; border: 1px dashed var(--line); border-radius: 6px; color: #89939a; background: #fafbfb; font-size: 9px; text-align: center; }
.saved-decision-item { margin-top: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.saved-decision-item:hover, .saved-decision-item:focus-within { border-color: var(--amber-dark); background: #fff1c2; }
.saved-decision-item > button { width: 100%; padding: 0; border: 0; overflow: hidden; color: #404d57; background: transparent; font: 600 10px/1.35 Georgia, serif; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.saved-decision-item small { display: block; margin-top: 3px; color: #89939a; font-size: 8px; }
.saved-decision-actions { margin-top: 8px; display: grid; grid-template-columns: 1fr 1fr 25px; gap: 4px; }
.saved-decision-actions button { min-height: 27px; padding: 0 5px; border: 1px solid #d9dde0; border-radius: 4px; color: #5a6670; background: #fafafa; font-size: 10px; font-weight: 700; }
.saved-decision-actions button:last-child { color: #9a5b54; font-size: 10px; line-height: 1; }
.expert-sidebar h2 { margin: 4px 0 9px; font: 600 24px/1.14 Georgia, "Times New Roman", serif; }
.expert-sidebar > p { margin: 0; color: var(--muted); font-size: 12px; }
.expert-sidebar > .overline { display: block; margin-top: 15px; }
.expert-source-picker { margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; border-radius: 0; overflow: visible; }
.expert-source-picker legend { width: 100%; padding: 0 0 7px; color: #7a858d; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.expert-source-picker label { cursor: pointer; }
.expert-source-picker input { position: absolute; opacity: 0; pointer-events: none; }
.expert-source-picker span { min-height: 38px; display: flex; align-items: center; justify-content: center; border: 1px solid #d9dee2; border-right: 0; color: #59656e; background: #fff; font-size: 12px; font-weight: 800; transition: color .16s, background .16s, border-color .16s; }
.expert-source-picker label:first-of-type span { border-radius: 7px 0 0 7px; }
.expert-source-picker label:last-child span { border-right: 1px solid #d9dee2; border-radius: 0 7px 7px 0; }
.expert-source-picker label:hover span { color: var(--navy); background: #fff1c2; border-color: var(--amber-dark); }
.expert-source-picker input:checked + span { color: var(--navy); background: var(--amber); }
.expert-source-picker input:focus-visible + span { outline: 3px solid var(--navy); outline-offset: -3px; }
.expert-steps { margin: 23px 0 20px; padding: 0; display: grid; gap: 16px; list-style: none; }
.expert-steps li { display: flex; align-items: flex-start; gap: 10px; }
.expert-steps li > span { width: 24px; height: 24px; padding: 0; flex: 0 0 24px; display: flex; align-items: center; justify-content: center; border: 1px solid #e1c481; border-radius: 50%; color: #9a6b11; background: var(--amber-soft); font: 700 13px/1 Inter, ui-sans-serif, sans-serif; text-align: center; }
.expert-steps strong, .expert-steps small { display: block; }
.expert-steps strong { color: #35414a; font-size: 12px; }
.expert-steps small { margin-top: 2px; color: #77828a; font-size: 11px; line-height: 1.45; }
.workspace { min-width: 0; overflow-anchor: none; }
.search-stage { padding: 31px clamp(26px, 5vw, 74px) 29px; color: #fff; background-color: var(--navy); background-image: url("/hero-bg-2800x1400-2.jpg"); background-position: center; background-size: cover; background-repeat: no-repeat; }
.breadcrumb { margin-bottom: 25px; display: flex; gap: 8px; color: #9da8b1; font-size: 11px; }
.breadcrumb b { color: #566572; }
.breadcrumb strong { color: #d7dde1; }
.work-mode-switch { max-width: 1180px; margin: -9px auto 31px; padding: 4px; display: flex; gap: 4px; width: fit-content; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: rgba(17,26,38,.42); backdrop-filter: blur(4px); }
.work-mode-switch button { min-height: 34px; padding: 0 14px; border: 0; border-radius: 5px; color: #aeb8bf; background: transparent; font-size: calc(10px + 1.5pt); font-weight: 700; }
.work-mode-switch button span { margin-left: 5px; color: var(--amber); font-size: calc(8px + 1.5pt); text-transform: uppercase; letter-spacing: .04em; }
.work-mode-switch button.active { color: var(--navy); background: #fff; box-shadow: 0 3px 12px rgba(0,0,0,.13); }
.work-mode-switch button.active span { color: var(--amber-dark); }
.stage-heading { max-width: 1180px; margin: 0 auto; display: block; text-align: center; background: transparent; }
.stage-heading h1 { margin: 0 0 7px; font: 500 clamp(34px, 4vw, 54px)/1.06 Georgia, "Times New Roman", serif; letter-spacing: -.03em; background: transparent; }
.stage-heading p { margin: 0; color: #b5bec5; font-size: 13px; background: transparent; }
.source-card { flex: 0 0 190px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(255,255,255,.045); }
.source-card small, .source-card strong, .source-card span { display: block; }
.source-card small { color: #8997a2; font-size: 9px; text-transform: uppercase; }
.source-card strong { margin: 3px 0 5px; font: 500 14px Georgia, serif; }
.source-card span { color: #65c59a; font-size: 9px; }
.search-composer { max-width: 1230px; margin: 29px auto 0; display: grid; grid-template-columns: minmax(0,1fr) auto; color: var(--ink); }
.search-input { position: relative; display: block; }
.search-input svg { width: 22px; position: absolute; left: 19px; top: 21px; fill: none; stroke: #56636d; stroke-width: 1.8; }
.search-input input { height: 64px; padding: 0 22px 0 54px; border: 1px solid rgba(255,255,255,.26); border-radius: 8px 0 0 8px; font-size: 15px; background: rgba(255,255,255,.8); box-shadow: none; backdrop-filter: blur(8px); }
.search-input input::placeholder { color: rgba(77,91,102,.58); }
.search-submit { min-width: 190px; height: 64px; display: flex; justify-content: center; align-items: center; gap: 9px; border: 0; border-radius: 0 8px 8px 0; color: var(--navy); background: rgba(239,179,53,.8); font-size: 16px; font-weight: 800; }
.search-submit:hover, .search-submit:focus-visible { background: #d89a1f; }
.search-submit:disabled { opacity: .65; cursor: wait; }
.search-submit img { width: 30px; height: 30px; display: block; object-fit: contain; }
.search-modes { grid-column: 1 / -1; grid-row: 2; width: max-content; margin: 13px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7px; border: 0; }
.search-modes legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.search-modes label { cursor: pointer; }
.search-modes input { position: absolute; opacity: 0; pointer-events: none; }
.search-modes span { display: inline-flex; min-height: 30px; padding: 0 11px; align-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 15px; color: #b9c2c9; font-size: 10px; transition: .15s; }
.search-modes input:checked + span { border-color: var(--amber); color: var(--navy); background: var(--amber); font-weight: 800; }
.exclude-row { grid-column: 1 / -1; grid-row: 2; justify-self: end; margin-top: 13px; display: grid; grid-template-columns: auto minmax(210px, 330px); align-items: center; gap: 10px; }
.exclude-row label { color: #a9b3bb; }
.exclude-row input { min-height: 34px; border-color: rgba(255,255,255,.14); color: #fff; background: rgba(255,255,255,.07); }
.exclude-row input::placeholder { color: #7f8d98; }
.help-button { padding: 4px; border: 0; color: #aab5bd; background: transparent; font-size: 10px; text-decoration: underline; }
.syntax-help { grid-column: 1 / -1; margin-top: 12px; padding: 14px; display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; background: rgba(0,0,0,.12); }
.syntax-help div { display: grid; gap: 3px; }
.syntax-help strong { color: var(--amber); font-size: 10px; }
.syntax-help span { color: #aab5bd; font-size: 9px; }
.search-helpers { max-width: 1230px; margin: 23px auto 0; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #8f9ca6; font-size: calc(9px + 1pt); }
.search-helpers .independent-keyword-note { margin-right: 8px; padding-right: 12px; border-right: 1px solid rgba(255,255,255,.14); color: #c8d0d5; }
.search-helpers .example-buttons { display: contents; }
.search-helpers button { padding: 4px 7px; border: 0; border-bottom: 1px dotted #677783; color: #bac3ca; background: transparent; font-size: 9px; }
.search-helpers .example-buttons button { font-size: calc(9px + 1pt); }
.search-helpers button:hover { color: var(--amber); border-color: var(--amber); }
.search-helpers .help-button { margin-left: auto; color: #b7c0c7; border-bottom-style: solid; font-size: calc(9px + 1pt); }

.expert-stage-content { max-width: 1180px; margin: 0 auto; }
.expert-heading { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.expert-heading > div { width: 100%; text-align: center; }
.expert-heading h1 { max-width: 760px; margin: 0 auto 8px; font: 500 clamp(29px,3.35vw,46px)/1.08 Georgia, "Times New Roman", serif; letter-spacing: -.027em; }
.expert-heading p { max-width: 720px; margin: 0 auto; color: #b7c0c7; font-size: 13px; }
.expert-form { margin-top: 25px; padding: 18px; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; color: var(--ink); background: rgba(255,255,255,.065); box-shadow: 0 16px 35px rgba(4,9,13,.12); }
.expert-maintenance-notice { margin-top: 25px; padding: 18px 20px; border: 1px solid rgba(239,174,45,.72); border-radius: 9px; color: #f5f7f8; background: rgba(239,174,45,.13); box-shadow: 0 10px 28px rgba(4,9,13,.12); }
.expert-maintenance-notice strong { display: block; color: #ffd36d; font-size: 15px; }
.expert-maintenance-notice p { margin: 6px 0 0; color: #d7dee2; font-size: 12px; line-height: 1.55; }
.expert-quota-strip { margin: -2px 0 14px; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid rgba(239,174,45,.6); border-radius: 8px; background: linear-gradient(90deg, rgba(239,174,45,.18), rgba(255,255,255,.06)); box-shadow: inset 0 0 0 1px rgba(255,218,126,.08), 0 4px 18px rgba(0,0,0,.08); }
.expert-quota-strip div { display: flex; align-items: baseline; gap: 9px; }
.expert-quota-strip small { color: #f0b842; font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.expert-quota-strip strong { color: #fff; font-size: 16px; }
.expert-quota-strip > span { color: #d2d9dd; font-size: 12px; }
.expert-quota-strip > button { min-height: 32px; padding: 0 11px; border: 1px solid rgba(239,174,45,.55); border-radius: 5px; color: #ffe1a6; background: rgba(239,174,45,.14); font-size: 10px; font-weight: 800; white-space: nowrap; }
.expert-quota-strip > button:hover, .expert-quota-strip > button:focus-visible { color: #172630; background: #efae2d; outline: none; }
.expert-quota-strip.quota-empty { border-color: rgba(194,75,63,.45); background: rgba(194,75,63,.1); }
.narrative-field { display: block; }
.narrative-field > span { display: block; margin: 0 0 8px 2px; color: #e2e7ea; font-size: 12px; }
.narrative-field textarea { width: 100%; min-height: 138px; padding: 15px 17px; resize: vertical; border: 1px solid transparent; border-radius: 7px; outline: none; color: var(--ink); background: #fff; font: 14px/1.6 Georgia, "Times New Roman", serif; box-shadow: 0 5px 18px rgba(7,13,18,.12); transition: border-color .15s, box-shadow .15s; }
.narrative-field textarea:focus { border-color: var(--amber); box-shadow: 0 0 0 3px rgba(229,173,61,.2), 0 5px 18px rgba(7,13,18,.12); }
.narrative-field textarea::placeholder { color: #8a949b; }
.narrative-field > small { display: block; margin: 6px 2px 0; color: #8f9ca5; font-size: 10px; text-align: right; }
.narrative-field > small b { color: #c9d0d5; }
.expert-form-row { margin-top: 13px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 11px; }
.expert-form-row label { color: #aeb8bf; font-size: 12px; }
.expert-form-row label small { color: #7f8e99; font-weight: 500; }
.expert-form-row input, .expert-form-row select { height: 42px; margin-top: 6px; border-color: rgba(255,255,255,.13); color: #e6eaed; background: rgba(255,255,255,.07); }
.expert-form-row select { color-scheme: dark; }
.expert-form-row input::placeholder { color: #7e8b95; }
.expert-form-footer { margin-top: 15px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.expert-form-footer p { max-width: 650px; margin: 0; color: #96a3ad; font-size: 11px; }
.expert-form-footer p strong { color: #cbd2d7; }
.expert-cancel-notice { margin: 12px 0 0; padding: 10px 12px; border: 1px solid rgba(239,174,45,.55); border-radius: 6px; color: #ffe1a6; background: rgba(239,174,45,.12); font-size: 11px; line-height: 1.5; }
.expert-submit { min-width: 224px; min-height: 46px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 6px; color: var(--navy); background: var(--amber); font-size: 14px; font-weight: 800; white-space: nowrap; }
.expert-submit:hover, .expert-submit:focus-visible { background: #d89a1f; }
.expert-submit:disabled { opacity: .62; cursor: wait; }
.expert-submit svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.expert-examples { margin-top: 13px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #85939e; font-size: 11px; }
.expert-examples button { padding: 4px 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; color: #b9c3ca; background: rgba(255,255,255,.035); font-size: 11px; }
.expert-examples button:hover { border-color: rgba(229,173,61,.5); color: var(--amber); }

.results-panel { max-width: 1280px; margin: 0 auto; padding: 31px clamp(26px, 5vw, 74px) 80px; overflow-anchor: none; }
.results-toolbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding-bottom: 19px; border-bottom: 1px solid var(--line); }
.results-toolbar h2 { margin: 3px 0 2px; font: 600 25px/1.15 Georgia, "Times New Roman", serif; }
.results-toolbar p { margin: 0; color: var(--muted); font-size: 11px; }
.latest-topic-filter { margin: 14px 0 17px; padding: 13px 14px; border: 1px solid #dbe0e3; border-radius: 8px; background: #fff; }
.latest-topic-filter > div:first-child { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.latest-topic-filter > div:first-child strong { color: var(--navy); font-size: .82rem; }
.latest-topic-filter > div:last-child { max-height: 142px; display: flex; flex-wrap: wrap; gap: 6px; overflow: auto; scrollbar-width: thin; }
.latest-topic-filter button { min-height: 32px; padding: 0 10px; border: 1px solid #d7dcdf; border-radius: 16px; color: #59656e; background: #fff; font-size: .7rem; font-weight: 750; }
.latest-topic-filter button:hover, .latest-topic-filter button:focus-visible, .latest-topic-filter button.active { border-color: var(--amber); color: var(--navy); background: var(--amber-soft); outline: none; }
.toolbar-actions { display: flex; gap: 7px; }
.outline-button, .drawer-tools button, .error-state button { min-height: 35px; padding: 0 11px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #cfd5d9; border-radius: 5px; color: #4c5963; background: #fff; font-size: 10px; font-weight: 700; }
.outline-button:hover, .outline-button:focus-visible, .drawer-tools button:hover, .drawer-tools button:focus-visible { border-color: var(--amber-dark); background: #fff1c2; outline: none; }
.outline-button svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.query-summary { margin: 15px 0 0; padding: 9px 12px; color: #59656f; background: var(--amber-soft); font-size: 10px; }
.empty-state, .loading-state { padding: 74px 20px; text-align: center; color: var(--muted); }
.empty-symbol { width: 68px; height: 68px; margin: 0 auto 17px; display: grid; place-items: center; border-radius: 50%; background: #e8ebed; }
.empty-symbol svg { width: 34px; fill: none; stroke: #697680; stroke-width: 1.5; }
.empty-state h3 { margin: 0 0 6px; color: var(--ink); font: 500 20px Georgia, serif; }
.empty-state p, .loading-state p { max-width: 480px; margin: 0 auto; font-size: 11px; }
.loading-state strong { display: block; margin: 14px 0 4px; color: var(--ink); }
.spinner { width: 32px; height: 32px; margin: auto; border: 3px solid #e2e6e8; border-top-color: var(--amber-dark); border-radius: 50%; animation: spin .75s linear infinite; }
.search-wait-meter { width: min(320px, 82%); height: 5px; margin: 18px auto 8px; overflow: hidden; border-radius: 999px; background: #e2e6e8; }
.search-wait-meter span { width: 38%; height: 100%; display: block; border-radius: inherit; background: var(--amber); animation: search-wait 1.35s ease-in-out infinite; }
.search-wait-elapsed { display: block; color: #7c878f; font-size: 10px; font-weight: 700; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes search-wait { 0% { transform: translateX(-105%); } 50% { transform: translateX(165%); } 100% { transform: translateX(265%); } }
.error-state { margin-top: 18px; padding: 14px; display: flex; align-items: center; gap: 12px; border: 1px solid #e7c9c5; border-radius: 6px; background: #fff5f3; }
.error-state > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--danger); font-weight: 800; }
.error-state p { margin: 1px 0 0; color: #79524d; font-size: 10px; }
.error-state button { margin-left: auto; }
.results-list { display: grid; gap: 10px; margin-top: 18px; }
.results-list.is-refreshing { opacity: .58; pointer-events: none; transition: opacity .15s ease; }
.decision-card { min-width: 0; position: relative; padding: 18px 19px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); transition: border-color .15s, box-shadow .15s, transform .15s; }
.decision-card > div { min-width: 0; }
.decision-card h3, .decision-card dd { overflow-wrap: anywhere; }
.decision-card:hover { border-color: #c5cbd0; box-shadow: 0 8px 26px rgba(24,33,41,.07); transform: translateY(-1px); }
.decision-card::before { content: ""; width: 3px; position: absolute; inset: 13px auto 13px -1px; border-radius: 0 3px 3px 0; background: var(--amber); opacity: 0; transition: opacity .15s; }
.decision-card:hover::before { opacity: 1; }
.card-eyebrow { margin-bottom: 5px; display: flex; align-items: center; gap: 8px; }
.court-badge { padding: 3px 7px; border-radius: 3px; color: #fff; background: var(--navy-3); font-size: 8px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.source-badge { padding: 3px 7px; border: 1px solid #e4c471; border-radius: 3px; color: #755817; background: linear-gradient(135deg, var(--amber-soft) 39%, rgba(255,255,255,.86) 50%, var(--amber-soft) 61%); background-size: 280% 280%; background-position: 100% 100%; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; animation: source-badge-shine 7s ease-in-out infinite; }
@keyframes source-badge-shine { 0%, 78% { background-position: 100% 100%; } 91%, 96% { background-position: 0% 0%; } 100% { background-position: 100% 100%; } }
@media (prefers-reduced-motion: reduce) { .source-badge, .card-actions .open-decision, .expert-card-actions .open-decision { animation: none; } }
.decision-summary { max-width: 780px; margin: 0 0 9px; color: #6d7880; font-size: 9px; line-height: 1.55; }
.decision-date { color: #7a858e; font-size: 9px; }
.decision-card h3 { margin: 0 0 8px; font: 600 17px/1.25 Georgia, "Times New Roman", serif; }
.decision-card dl { margin: 0; display: flex; flex-wrap: wrap; gap: 18px; }
.decision-card dl div { display: flex; gap: 5px; }
.decision-card dt { color: #8b959c; font-size: 9px; }
.decision-card dd { margin: 0; color: #48555f; font-size: 10px; font-weight: 700; }
.card-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.card-actions button { min-height: 34px; padding: 0 10px; border: 1px solid #d3d8dc; border-radius: 5px; color: #53606a; background: #fff; font-size: calc(9px + 1pt); font-weight: 750; }
.card-actions button.is-saved, .expert-card-actions button.is-saved { color: #4d7b68; background: #f0f8f4; }
.card-actions button:not(.open-decision):hover, .card-actions button:not(.open-decision):focus-visible, .expert-card-actions button:not(.open-decision):hover, .expert-card-actions button:not(.open-decision):focus-visible { border-color: var(--amber-dark); color: var(--navy); background: #fff1c2; outline: none; }
.card-actions .open-decision { border-color: var(--navy); color: #fff; background: var(--navy); }
.card-actions .open-decision, .expert-card-actions .open-decision { background: linear-gradient(110deg, var(--navy) 35%, #667684 50%, var(--navy) 65%); background-size: 280% 100%; animation: decision-button-shine 7s ease-in-out infinite; }
@keyframes decision-button-shine { 0%, 78% { background-position: 100% 0; } 91%, 96% { background-position: 0 0; } 100% { background-position: 100% 0; } }
.card-actions .open-decision:hover { background: var(--navy-2); }
.pagination { margin-top: 22px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 6px; }
.pagination button { min-width: 38px; height: 38px; padding: 0 9px; border: 1px solid #d4d9dc; border-radius: 5px; color: #53606a; background: #fff; font-size: 14px; }
.pagination button[aria-current="page"] { border-color: var(--navy); color: #fff; background: var(--navy); }
.pagination button:disabled { opacity: .4; cursor: default; }
.pagination > span:not(.page-jump) { padding: 8px 3px; color: #89939a; }
.page-jump { margin: 0 5px; padding: 3px; display: inline-flex; align-items: center; gap: 4px; border: 1px solid #d4d9dc; border-radius: 7px; color: #53606a; background: #fff; }
.page-jump input { width: 76px; min-height: 32px; height: 32px; padding: 0 8px; border: 0; border-radius: 4px; font-size: 14px; text-align: center; box-shadow: none; }
.page-jump input:focus { box-shadow: 0 0 0 2px rgba(184,118,0,.18); }
.page-jump input::-webkit-inner-spin-button, .page-jump input::-webkit-outer-spin-button { margin: 0; }
.page-jump button { min-width: 42px; border-color: transparent; color: var(--navy); background: var(--amber-soft); font-weight: 800; }
.page-jump button:hover, .page-jump button:focus-visible { color: #fff; background: var(--navy); outline: none; }

.expert-results-panel { max-width: 1280px; margin: 0 auto; padding: 38px clamp(26px,5vw,74px) 84px; }
.expert-intro-state { padding: 55px 40px; border: 1px solid var(--line); border-radius: 9px; text-align: center; background: #fff; box-shadow: var(--shadow); }
.expert-intro-state h2 { margin: 5px 0 7px; font: 500 25px Georgia, serif; }
.expert-intro-state > p { max-width: 660px; margin: 0 auto; color: var(--muted); font-size: 11px; }
.trust-grid { max-width: 760px; margin: 30px auto 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; border: 1px solid var(--line-soft); border-radius: 7px; overflow: hidden; background: var(--line-soft); }
.trust-grid div { padding: 15px; background: #fafbfb; }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { color: #394650; font: 600 14px Georgia, serif; }
.trust-grid span { margin-top: 4px; color: #7c878f; font-size: 9px; }
.expert-loading-state { padding: 45px 35px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 24px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.expert-loading-state h2 { margin: 4px 0 4px; font: 500 25px Georgia, serif; }
.expert-loading-state > div:nth-child(2) p { margin: 0; color: var(--muted); font-size: 10px; }
.archive-loader { width: 66px; height: 66px; position: relative; border: 1px solid #e2d2aa; border-radius: 50%; background: var(--amber-soft); }
.archive-loader span { width: 8px; height: 8px; position: absolute; left: calc(50% - 4px); top: calc(50% - 4px); border-radius: 2px; background: var(--amber-dark); animation: archive-pulse 1.6s ease-in-out infinite; }
.archive-loader span:nth-child(1) { transform: translate(-14px,-14px); }
.archive-loader span:nth-child(2) { transform: translate(14px,-14px); animation-delay: .2s; }
.archive-loader span:nth-child(3) { transform: translate(-14px,14px); animation-delay: .4s; }
.archive-loader span:nth-child(4) { transform: translate(14px,14px); animation-delay: .6s; }
@keyframes archive-pulse { 0%,100% { opacity: .25; scale: .78; } 50% { opacity: 1; scale: 1.15; } }
.research-progress { grid-column: 1 / -1; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; list-style: none; }
.research-progress li { padding: 12px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line-soft); border-radius: 6px; color: #8a949b; background: #fafbfb; }
.research-progress li > span { width: 23px; height: 23px; flex: 0 0 23px; display: grid; place-items: center; border-radius: 50%; color: #7d888f; background: #e8ebed; font-size: 9px; font-weight: 800; }
.research-progress strong, .research-progress small { display: block; }
.research-progress strong { font-size: 9px; }
.research-progress small { font-size: 8px; font-weight: 400; }
.research-progress li.active { border-color: #e5c980; color: #54421d; background: var(--amber-soft); }
.research-progress li.active > span { color: var(--navy); background: var(--amber); }
.research-progress li.done { color: #346c57; background: #f0f8f4; }
.research-progress li.done > span { color: #fff; background: var(--success); }
.wait-note { grid-column: 1 / -1; margin: 3px 0 0; color: #929ba2; font-size: 8px; text-align: center; }
.expert-submit.is-cancel { color: #fff; background: var(--danger); }
.expert-submit.is-cancel:hover, .expert-submit.is-cancel:focus-visible { background: #8e3028; }
.expert-submit.is-cancel svg { display: none; }
.expert-error-state { padding: 18px; display: flex; align-items: center; gap: 12px; border: 1px solid #e7c9c5; border-radius: 7px; background: #fff5f3; }
.expert-error-state > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--danger); font-weight: 800; }
.expert-error-state p { margin: 2px 0 0; color: #79524d; font-size: 10px; }
.expert-error-state button { margin-left: auto; min-height: 35px; padding: 0 11px; border: 1px solid #d6b1ac; border-radius: 5px; color: #744941; background: #fff; font-size: 10px; font-weight: 700; }
.expert-analysis-details { margin-bottom: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; overflow: hidden; }
.expert-analysis-summary { min-width: 0; padding: 18px 19px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 20px; cursor: pointer; list-style: none; }
.expert-analysis-summary::-webkit-details-marker { display: none; }
.expert-analysis-summary:focus-visible { outline: 3px solid rgba(229,173,61,.35); outline-offset: -3px; }
.expert-analysis-summary h2 { margin: 4px 0 0; font: 600 28px Georgia, serif; }
.expert-analysis-details[open] .expert-details-toggle { color: #66737b; background: #f4f6f7; }
.expert-analysis-details[open] .details-label-closed { display: none; }
.expert-analysis-details[open] .details-label-open { display: inline; }
.expert-analysis-details[open] .details-chevron { transform: translateY(2px) rotate(225deg); }
.expert-analysis-body { padding: 0 19px 18px; border-top: 1px solid var(--line-soft); }
.expert-analysis-overview { max-width: 790px; margin: 17px 0 0; color: #56636d; font-size: 11px; line-height: 1.65; }
.report-header { padding-bottom: 22px; display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; border-bottom: 1px solid var(--line); }
.report-header h2 { margin: 4px 0 6px; font: 600 28px Georgia, serif; }
.report-header p { max-width: 790px; margin: 0; color: #56636d; font-size: 11px; line-height: 1.65; }
.report-source { flex: 0 0 175px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.report-source small, .report-source strong, .report-source span { display: block; }
.report-source small { color: #929ca3; font-size: 8px; text-transform: uppercase; }
.report-source strong { margin: 3px 0; font: 500 13px Georgia, serif; }
.report-source span { color: var(--success); font-size: 8px; }
.case-map { margin-top: 16px; display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 10px; }
.case-map > div { padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.case-map small { display: block; margin-bottom: 7px; color: #8a949b; font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.case-map strong { font: 600 16px Georgia, serif; }
.issue-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.issue-chips span { padding: 4px 8px; border-radius: 12px; color: #55451f; background: var(--amber-soft); font-size: 9px; font-weight: 700; }
.research-method { margin-top: 11px; border: 1px solid var(--line); border-radius: 7px; background: #fff; overflow: hidden; }
.research-method summary { padding: 13px 15px; cursor: pointer; color: #44515b; background: #fafafa; font-size: 10px; font-weight: 800; }
.research-method-grid { padding: 15px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 25px; border-top: 1px solid var(--line-soft); }
.research-method h3 { margin: 0 0 9px; font: 600 13px Georgia, serif; }
.research-method ul, .missing-facts ul { margin: 0; padding-left: 17px; color: #65717a; font-size: 9px; }
.research-method li + li, .missing-facts li + li { margin-top: 5px; }
.search-trace { padding: 0; background: #faf9f5; }
.search-trace + .search-trace { margin-top: 7px; }
.search-trace summary { min-width: 0; padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; list-style-position: inside; color: #4b5760; }
.search-trace summary::-webkit-details-marker { color: #9b7a31; }
.search-trace summary:focus-visible { outline: 2px solid rgba(138,98,12,.42); outline-offset: -2px; }
.search-trace strong { min-width: 0; color: #4b5760; font-size: 9px; }
.search-trace-toggle { flex: 0 0 auto; margin: 0; color: #8a620c; font-size: 8px; font-weight: 700; }
.search-trace-toggle::after { content: " aç"; }
.search-trace[open] .search-trace-toggle { color: #7b878f; }
.search-trace[open] .search-trace-toggle::after { content: " kapat"; }
.search-trace-details { padding: 0 10px 9px 27px; }
.search-trace code { display: block; margin-top: 1px; color: #71613c; white-space: normal; font: 9px/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.search-trace-details span { display: block; margin-top: 3px; color: #8b949a; font-size: 8px; line-height: 1.4; }
.missing-facts { margin-top: 11px; padding: 13px 15px; border: 1px solid #ead7a6; border-radius: 7px; color: #645126; background: var(--amber-soft); }
.missing-facts > strong { display: block; margin-bottom: 6px; font-size: 10px; }
.missing-facts ul { color: #725f33; }
.recommendations-heading { margin-top: 31px; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.recommendations-heading h2 { margin: 3px 0 0; font: 600 24px Georgia, serif; }
.recommendations-heading p { max-width: 360px; margin: 0; color: #8a949b; font-size: 8px; text-align: right; }
.expert-recommendations { margin-top: 13px; display: grid; gap: 12px; }
.expert-card { position: relative; padding: 0; display: block; overflow: hidden; }
.expert-card-summary { min-width: 0; padding: 18px 19px; display: grid; grid-template-columns: minmax(0,1fr) 112px; gap: 16px; cursor: pointer; list-style: none; }
.expert-card-summary::-webkit-details-marker { display: none; }
.expert-card-summary:focus-visible { outline: 3px solid rgba(229,173,61,.35); outline-offset: -3px; }
.expert-card-summary-main { min-width: 0; }
.expert-card-summary-side { display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 10px; }
.expert-card-rank { display: flex; flex-direction: column; align-items: center; gap: 7px; }
.relevance-ring { width: 58px; height: 58px; position: relative; display: flex; align-items: center; justify-content: center; gap: 1px; isolation: isolate; border: 4px solid #ecd596; border-radius: 50%; color: #4e411f; background: var(--amber-soft); font: 700 21px/1 Georgia, serif; }
.relevance-ring::after { content: ""; position: absolute; z-index: 0; inset: -7px; border: 2px solid transparent; border-top-color: rgba(184,141,45,.86); border-right-color: rgba(239,174,45,.5); border-radius: 50%; animation: relevance-ring-spin 7s linear infinite; pointer-events: none; }
@keyframes relevance-ring-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .relevance-ring::after { animation: none; } }
.relevance-ring small { font-size: 15px; line-height: 1; }
.expert-card .card-eyebrow { margin-bottom: 7px; }
.expert-card h3 { margin: 0 0 8px; font: 600 17px/1.25 Georgia, "Times New Roman", serif; }
.expert-details-toggle { min-height: 30px; padding: 0 9px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #d6dbde; border-radius: 999px; color: #80620d; background: #fffdf7; font-size: 9px; font-weight: 800; text-align: center; white-space: nowrap; }
.details-label-open { display: none; }
.details-chevron { width: 7px; height: 7px; display: block; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .16s; }
.expert-card[open] .expert-details-toggle { color: #66737b; background: #f4f6f7; }
.expert-card[open] .details-label-closed { display: none; }
.expert-card[open] .details-label-open { display: inline; }
.expert-card[open] .details-chevron { transform: translateY(2px) rotate(225deg); }
.expert-card-details { padding: 16px 19px 18px; border-top: 1px solid var(--line-soft); background: #fbfcfc; }
.expert-why { margin: 0; color: #4e5b65; font-size: 10px; line-height: 1.65; }
.comparison-grid { margin-top: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.comparison-box { padding: 10px 11px; border-radius: 6px; background: #f7f8f8; }
.comparison-box strong { display: block; margin-bottom: 5px; color: #4d5962; font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }
.comparison-box ul { margin: 0; padding-left: 15px; color: #66727b; font-size: 9px; }
.comparison-box.caution { background: #fff8ee; }
.practical-use { margin: 10px 0 0; padding: 9px 11px; color: #665736; background: #fffbf1; font-size: 9px; }
.expert-card-actions { margin-top: 13px; display: flex; justify-content: flex-end; gap: 6px; }
.expert-card-actions button { min-height: 34px; padding: 0 10px; border: 1px solid #d3d8dc; border-radius: 5px; color: #53606a; background: #fff; font-size: 9px; font-weight: 750; }
.expert-card-actions .open-decision { border-color: var(--navy); color: #fff; background: linear-gradient(110deg, var(--navy) 35%, #667684 50%, var(--navy) 65%); background-size: 280% 100%; animation: decision-button-shine 7s ease-in-out infinite; }
.expert-card-actions .open-decision:hover { background: var(--navy-2); }
.legal-disclaimer { margin-top: 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 6px; color: #727d85; background: #eef1f2; font-size: 8px; }

.legislation-workspace { min-height: calc(100vh - 78px); padding: 42px clamp(24px,6vw,88px) 70px; background: #f4f6f7; }
.legislation-workspace-header { max-width: 1280px; margin: 0 auto 26px; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.legislation-workspace-header h1 { margin: 5px 0 7px; color: var(--navy); font: 600 clamp(1.2rem,3vw,2.15rem)/1.1 Georgia, "Times New Roman", serif; letter-spacing: -.02em; }
.legislation-workspace-header p { margin: 0; color: #63707a; font-size: 1rem; }
.legislation-source-badge { min-width: 225px; padding: 14px 16px; display: grid; border: 1px solid #e5d29d; border-radius: 8px; background: var(--amber-soft); }
.legislation-source-badge span, .legislation-source-badge small { color: #7d714f; font-size: .75rem; }
.legislation-source-badge strong { margin: 2px 0; color: #4c3a12; font-size: .92rem; }
.legislation-search-form { max-width: 1280px; margin: 0 auto 30px; padding: 20px; border: 1px solid #dbe0e3; border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.legislation-search-primary { display: grid; grid-template-columns: minmax(260px,2fr) minmax(150px,.65fr) minmax(185px,.8fr); align-items: end; gap: 14px; }
.legislation-search-form label { display: grid; gap: 7px; color: #44515b; font-size: .85rem; }
.legislation-search-form input, .legislation-search-form select { min-height: 48px; font-size: .95rem; }
.legislation-search-actions { margin-top: 14px; padding-top: 14px; display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--line-soft); }
.legislation-search-actions > small { color: #7a858d; font-size: .78rem; font-weight: 500; }
.legislation-exact { min-height: 42px; padding: 0 12px; display: flex !important; flex: 0 0 auto; align-items: center; justify-content: center; gap: 8px !important; border: 1px solid #d6dbde; border-radius: 6px; cursor: pointer; background: #fafbfb; }
.legislation-exact input { width: 18px; min-height: 18px; height: 18px; accent-color: var(--amber-dark); }
.legislation-search-button { min-width: 172px; min-height: 44px; margin-left: auto; padding: 0 22px; border: 1px solid var(--amber); border-radius: 6px; color: var(--navy); background: var(--amber); font-size: .9rem; font-weight: 850; }
.legislation-search-button:hover, .legislation-search-button:focus-visible { border-color: var(--navy); color: #fff; background: var(--navy); outline: none; }
.legislation-results-toolbar { max-width: 1280px; margin: 0 auto 14px; padding-bottom: 15px; border-bottom: 1px solid #dce1e4; }
.legislation-results-toolbar h2 { margin: 3px 0; color: var(--navy); font: 600 1rem/1.3 Georgia, "Times New Roman", serif; }
.legislation-results-toolbar p { margin: 0; color: #6a7680; font-size: .9rem; }
.legislation-loading, .legislation-error { max-width: 1280px; min-height: 220px; margin: 0 auto; display: grid; place-items: center; align-content: center; gap: 12px; color: #66737c; text-align: center; }
.legislation-loading strong { font-size: 1rem; }
.legislation-error { padding: 25px; border: 1px solid #efd4cf; border-radius: 8px; background: #fff8f6; }
.legislation-error strong { color: var(--danger); font-size: 1rem; }
.legislation-error p { margin: 0; font-size: .9rem; }
.legislation-error button { min-height: 42px; padding: 0 16px; border: 1px solid #d8bbb5; border-radius: 6px; color: #77362f; background: #fff; font-size: .85rem; font-weight: 750; }
.legislation-results { max-width: 1280px; margin: 0 auto; display: grid; gap: 12px; }
.legislation-card { padding: 18px 20px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 20px; border: 1px solid #dde2e5; border-radius: 9px; background: #fff; box-shadow: 0 5px 18px rgba(26,35,43,.045); }
.legislation-card-heading { display: flex; align-items: center; gap: 9px; color: #7c6440; font-size: .78rem; font-weight: 780; }
.legislation-card-heading span { padding: 3px 7px; border-radius: 4px; color: #624a13; background: var(--amber-soft); }
.legislation-card h3 { grid-column: 1; margin: 0; color: #25313a; font: 600 1rem/1.35 Georgia, "Times New Roman", serif; }
.legislation-card-meta { grid-column: 1; display: flex; flex-wrap: wrap; gap: 8px 18px; color: #69757e; font-size: .8rem; }
.legislation-card-meta b { color: #46525b; }
.legislation-card button { grid-column: 2; grid-row: 1 / span 3; min-width: 138px; align-self: center; min-height: 44px; padding: 0 15px; border: 1px solid #cfd5d9; border-radius: 6px; color: var(--navy); background: #fff; font-size: .85rem; font-weight: 800; }
.legislation-card button:hover, .legislation-card button:focus-visible { border-color: var(--amber); background: var(--amber-soft); outline: none; }
.legislation-pagination { max-width: 1280px; margin: 22px auto 0; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px; }
.legislation-pagination button { min-height: 42px; padding: 0 16px; border: 1px solid #d5dade; border-radius: 6px; color: #35424c; background: #fff; font-size: .85rem; font-weight: 750; }
.legislation-pagination button:disabled { cursor: default; opacity: .42; }
.legislation-pagination span { color: #606c75; font-size: .85rem; }
.legislation-pagination .page-jump { padding: 3px; }
.legislation-pagination .page-jump input { min-height: 34px; height: 34px; }
.legislation-pagination .page-jump button { min-height: 34px; padding: 0 11px; }
.legislation-document-drawer { width: min(940px,94vw); }
.legislation-document-drawer .drawer-header h2 { font-size: 15px; line-height: 1.25; }
.legislation-pdf-viewer { width: 100%; flex: 1; min-height: 0; border: 0; background: #eef1f2; }
.petition-workspace { min-height: calc(100vh - 78px); padding: 42px clamp(24px,6vw,88px) 70px; background: #f4f6f7; }
.petition-workspace-header { max-width: 1280px; margin: 0 auto 25px; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.petition-workspace-header h1 { margin: 5px 0 7px; color: var(--navy); font: 600 clamp(1.2rem,3vw,2.15rem)/1.1 Georgia,"Times New Roman",serif; letter-spacing: -.02em; }
.petition-workspace-header p { margin: 0; color: #63707a; font-size: 1rem; }
.petition-library-badge { min-width: 190px; padding: 13px 16px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1px 9px; border: 1px solid #e5d29d; border-radius: 8px; background: var(--amber-soft); }
.petition-library-badge strong { grid-row: 1 / span 2; color: var(--amber-dark); font: 700 2.2rem/1 Georgia,serif; }
.petition-library-badge span { color: #4c3a12; font-size: .9rem; font-weight: 800; }
.petition-library-badge small { color: #7d714f; font-size: .73rem; }
.petition-toolbar { max-width: 1280px; margin: 0 auto 26px; padding: 18px; border: 1px solid #dbe0e3; border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.petition-toolbar > label { display: grid; gap: 7px; color: #44515b; font-size: .85rem; }
.petition-toolbar input { min-height: 48px; font-size: .95rem; }
.petition-categories { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 7px; }
.petition-categories button { min-height: 34px; padding: 0 12px; border: 1px solid #d7dcdf; border-radius: 18px; color: #57636c; background: #fff; font-size: .78rem; font-weight: 750; }
.petition-categories button:hover, .petition-categories button:focus-visible, .petition-categories button.active { border-color: var(--amber); color: var(--navy); background: var(--amber-soft); outline: none; }
.petition-results-heading { max-width: 1280px; margin: 0 auto 14px; padding-bottom: 15px; display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; border-bottom: 1px solid #dce1e4; }
.petition-results-heading h2 { margin: 3px 0 0; color: var(--navy); font: 600 1rem/1.3 Georgia,"Times New Roman",serif; }
.petition-results-heading p { max-width: 620px; margin: 0; color: #6a7680; font-size: .8rem; line-height: 1.5; text-align: right; }
.petition-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.petition-card { padding: 18px 19px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 16px; border: 1px solid #dde2e5; border-radius: 9px; background: #fff; box-shadow: 0 5px 18px rgba(26,35,43,.045); }
.petition-card > span { width: fit-content; padding: 3px 7px; border-radius: 4px; color: #624a13; background: var(--amber-soft); font-size: .7rem; font-weight: 800; }
.petition-card h3 { grid-column: 1; margin: 0; color: #25313a; font: 600 1rem/1.35 Georgia,"Times New Roman",serif; }
.petition-card p { grid-column: 1; margin: 0; color: #68747d; font-size: .8rem; line-height: 1.45; }
.petition-card button { grid-column: 2; grid-row: 1 / span 3; min-width: 105px; align-self: center; min-height: 40px; border: 1px solid #cfd5d9; border-radius: 6px; color: var(--navy); background: #fff; font-size: .78rem; font-weight: 800; }
.petition-card button:hover, .petition-card button:focus-visible { border-color: var(--amber); background: var(--amber-soft); outline: none; }
.petition-empty { grid-column: 1 / -1; padding: 48px 20px; border: 1px solid #dde2e5; border-radius: 9px; color: #6a7680; background: #fff; text-align: center; }
.petition-drawer { width: min(850px,94vw); }
.petition-text { padding-top: 30px; }
footer { padding: 20px 32px; display: flex; justify-content: space-between; gap: 25px; border-top: 1px solid var(--line); color: #7c878f; background: #eef0f1; font-size: 9px; }
footer a { color: #4f5c65; }
.drawer-backdrop { position: fixed; inset: 0; z-index: 40; background: rgba(13,20,26,.42); backdrop-filter: blur(2px); }
.decision-drawer { width: min(840px, 92vw); position: fixed; inset: 0 0 0 auto; z-index: 50; display: flex; flex-direction: column; background: #fff; box-shadow: -15px 0 50px rgba(10,16,21,.2); transform: translateX(102%); transition: transform .25s ease; }
.decision-drawer.open { transform: translateX(0); }
.drawer-header { padding: 24px 29px 18px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.drawer-header h2 { margin: 3px 0 2px; font: 600 23px Georgia, serif; }
.drawer-header p { margin: 0; color: var(--muted); font-size: 10px; }
.close-button { width: 35px; min-width: 35px; height: 35px; padding: 0 0 2px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #56636c; background: #edf0f1; font: 300 23px/1 Arial,sans-serif; }
.drawer-tools { padding: 11px 29px; display: flex; gap: 6px; border-bottom: 1px solid var(--line-soft); background: #f7f8f8; }
.drawer-tools label { flex: 1; }
.drawer-tools input { min-height: 35px; }
.decision-loading { margin: auto; text-align: center; color: var(--muted); font-size: 10px; }
.decision-text { flex: 1; overflow: auto; padding: 38px clamp(30px,7vw,75px) 80px; white-space: pre-wrap; color: #26323b; font: 16px/1.8 Georgia, "Times New Roman", serif; }
.decision-text mark { padding: 1px 2px; background: #ffe7a9; }
.decision-text.preview { position: relative; flex: 0 0 auto; max-height: 190px; overflow: hidden; padding-bottom: 64px; filter: blur(0); user-select: none; }
.decision-text.preview::after { content: ""; position: absolute; inset: auto 0 0; height: 90px; pointer-events: none; background: linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.86) 52%,#fff 88%); backdrop-filter: blur(2px); }
.document-paywall { margin: 0 clamp(20px,7vw,75px) 38px; padding: 22px 24px; border: 1px solid #e5c46b; border-radius: 9px; background: linear-gradient(135deg,#fff9e9,#fff); box-shadow: 0 12px 32px rgba(43,34,13,.08); text-align: center; }
.document-paywall > span { color: var(--amber-dark); font-size: 12px; font-weight: 850; letter-spacing: .11em; }
.document-paywall h3 { margin: 5px 0 6px; color: var(--navy); font: 600 20px/1.25 Georgia,"Times New Roman",serif; }
.document-paywall p { max-width: 590px; margin: 0 auto 15px; color: #64717a; font-size: 14px; line-height: 1.55; }
.document-paywall button { min-height: 44px; padding: 0 20px; border: 1px solid var(--amber); border-radius: 6px; color: var(--navy); background: var(--amber); font-size: 14px; font-weight: 850; }
.document-paywall button:hover, .document-paywall button:focus-visible { border-color: var(--navy); color: #fff; background: var(--navy); outline: none; }
.decision-error { margin: 28px; padding: 14px; color: var(--danger); background: #fff3f1; border-radius: 6px; font-size: 11px; }
.toast { position: fixed; left: 50%; bottom: 26px; z-index: 70; padding: 10px 15px; border-radius: 6px; color: #fff; background: var(--navy); box-shadow: var(--shadow); opacity: 0; transform: translate(-50%,10px); pointer-events: none; transition: .18s; font-size: 10px; }
.toast.show { opacity: 1; transform: translate(-50%,0); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

.membership-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(11,17,22,.68); backdrop-filter: blur(4px); }
.membership-dialog { --membership-step-title-size: 24px; --membership-form-label-size: 16px; --membership-form-control-size: 17px; --membership-form-placeholder-size: 15.667px; --membership-helper-size: 14px; --membership-action-size: 14px; --membership-billing-title-size: 16px; --membership-billing-description-size: 14px; --membership-consent-size: 14px; --membership-footnote-size: 8px; --membership-payment-overline-size: 11px; --membership-verification-label-size: 12px; --membership-member-name-size: 14px; --membership-member-bar-size: 12px; --membership-flow-label-size: 13px; --membership-invoice-label-size: 12px; --membership-invoice-value-size: 13px; --membership-price-color: #b87600; width: min(690px,calc(100vw - 22px)); height: max-content; max-height: min(calc(70vh + 62px),calc(100vh - 23px)); max-height: min(calc(70dvh + 62px),calc(100dvh - 23px)); position: fixed; inset: 38px 0 -38px; z-index: 90; margin: auto; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #d9dee1; border-radius: 0; background: #fff; box-shadow: 0 17px 56px rgba(8,13,17,.32); transform: none; -webkit-font-smoothing: antialiased; font-synthesis: none; }
.membership-dialog[data-price-color="green"] { --membership-price-color: #237558; }
.membership-dialog[data-price-color="red"] { --membership-price-color: #b5332b; }
.membership-dialog[data-price-color="orange"] { --membership-price-color: #b87600; }
.membership-dialog[data-price-color="black"] { --membership-price-color: #17202a; }
.membership-dialog.auth-view-compact { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); inset: 12px 0; overflow-y: auto; scrollbar-width: none; }
.membership-dialog.auth-view-compact::-webkit-scrollbar { display: none; }
.membership-dialog.auth-view-compact .membership-dialog-header .overline { font-size: 9.333px; }
.membership-dialog.auth-view-compact .membership-dialog-header h2 { font-size: 24.333px; }
.membership-dialog.auth-view-compact .membership-dialog-header p { font-size: 11.333px; }
.membership-dialog.auth-view-compact .membership-auth { padding-top: 32px; padding-bottom: 24px; }
.dialog-banner { width: 100%; position: relative; overflow: hidden; border-bottom: 3px solid var(--amber); background: transparent; }
.dialog-banner-pattern { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; opacity: .9; }
.membership-banner-pattern { height: auto; aspect-ratio: 3325 / 456; }
.dialog-banner-compact { height: 34px; }
.membership-banner-logo { width: 189px; height: auto; position: absolute; left: 50%; top: 50%; display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 9px; color: var(--navy); transform: translate(-50%,-50%); }
.membership-banner-logo > span { width: 42px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 9px; background: var(--amber); box-shadow: 0 4px 14px rgba(11,17,22,.18); }
.membership-banner-logo > span img { width: 29px; height: auto; display: block; opacity: 1; }
.membership-banner-logo strong { min-width: 0; font: 600 34px/1 Georgia,"Times New Roman",serif; letter-spacing: -.025em; white-space: nowrap; }
.membership-banner-logo strong em { color: var(--amber-dark); font-style: normal; }
.dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); background: #fff; }
.dialog-header-compact { min-height: 106px; padding: 24px 28px 21px; }
.dialog-header-compact .overline { font-size: 10px; }
.dialog-header-compact h2 { margin: 5px 0 0; font: 600 25px/1.08 Georgia,serif; }
.dialog-header-compact p { margin: 0; color: var(--muted); font-size: 12px; }
.dialog-header .close-button { width: 46px; min-width: 46px; height: 46px; padding: 0; color: #7d878e; font-size: calc(30px + 1pt); transition: font-size .14s ease; }
.dialog-header .close-button:hover { font-size: calc(33px + 1pt); }
.membership-dialog-header .membership-payment-overline { font-size: var(--membership-payment-overline-size); }
.membership-auth { padding: 68px 56px 52px; }
.membership-account { padding: 43px 39px 27px; }
.membership-tabs { margin-bottom: 18px; padding: 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; border-radius: 7px; background: #eef1f2; }
.membership-tabs button { min-height: 36px; border: 0; border-radius: 5px; color: #69757e; background: transparent; font-size: 14px; font-weight: 800; }
.membership-tabs button.active { color: var(--navy); background: #fff; box-shadow: 0 3px 10px rgba(20,29,36,.08); }
.membership-flow { margin: 3px 0 2px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
#membership-registration-flow { margin-top: -22px; }
.membership-flow > span, .membership-flow > button { min-width: 0; min-height: 48px; padding: 9px 12px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid #dfe4e6; border-radius: 7px; color: #8a959d; background: #fafbfb; font-size: var(--membership-flow-label-size); font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; text-align: center; white-space: normal; }
.membership-flow > button { cursor: pointer; }
.membership-flow > button:disabled { opacity: 1; cursor: not-allowed; }
.membership-flow b { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #a5aeb4; font-size: 12px; }
.membership-flow > .active { border-color: #d6a12f; color: #6f571e; background: var(--amber-soft); }
.membership-flow > .active b { color: var(--navy); background: var(--amber); }
.membership-flow > .complete { color: #3c715d; background: #f0f8f4; }
.membership-flow > .complete b { background: #4d9477; }
.membership-flow > button.complete { cursor: pointer; }
.membership-flow > button.complete:hover { border-color: #4d9477; }
.membership-flow > button.complete small { margin-left: auto; color: #4d9477; font-size: 7px; text-decoration: underline; }
.membership-form { display: grid; gap: 14px; }
.membership-form > *,
.registration-step > * { min-width: 0; max-width: 100%; }
.membership-dialog input,
.membership-dialog select,
.membership-dialog textarea { min-width: 0; max-width: 100%; }
.membership-dialog input::placeholder { font-size: var(--membership-form-placeholder-size); font-weight: 400; }
.membership-dialog textarea::placeholder { font-size: calc(1em - 1.333px); font-weight: 400; }
.membership-form.compact { max-width: 430px; margin: 26px auto 10px; }
#login-form { margin: -24px auto 0; }
#login-form > label { color: #46525c; font-size: 13.333px; font-weight: 750; }
#login-form input { min-height: 42px; padding: 0 11px; font-size: var(--membership-form-control-size); }
#login-form input[type="email"],
#login-form input[data-password-visibility="ready"] { font-size: var(--membership-form-placeholder-size); font-weight: 400; }
#login-error { padding: 0 2px; border: 0; border-radius: 0; background: transparent; font-size: 11px; line-height: 1.35; }
.registration-step { display: grid; gap: 14px; animation: registration-step-in .26s ease both; }
.registration-details-step { --membership-form-label-size: 12px; --membership-form-control-size: 14.333px; --membership-form-placeholder-size: 13px; --membership-helper-size: 10px; --membership-billing-title-size: 15.333px; --membership-billing-description-size: 12px; --membership-consent-size: 10px; --membership-footnote-size: 10px; padding-top: 46px; }
.registration-details-step > .registration-step-heading { display: none; }
.registration-step-heading { padding: 5px 0 3px; }
.registration-step-heading > span { color: #a06a00; font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.registration-step-heading h3 { margin: 5px 0 4px; color: var(--navy); font: 650 var(--membership-step-title-size)/1.15 Georgia,"Times New Roman",serif; }
.registration-step-heading p { margin: 0; color: #727e86; font-size: var(--membership-helper-size); line-height: 1.45; }
.registration-continue { min-width: 260px; justify-self: end; display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.registration-plan-step > .registration-continue { font-size: var(--membership-action-size); }
.registration-continue span { font-size: 18px; }
.registration-submit { min-height: 50px; font-size: var(--membership-action-size); }
@keyframes registration-step-in { from { opacity: 0; transform: translateX(34px); } to { opacity: 1; transform: translateX(0); } }
.membership-fields.two { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.registration-details-step .membership-fields.two { margin-top: 30px; column-gap: 16px; row-gap: 18px; }
.registration-details-step .membership-fields label,
.registration-details-step .billing-fields-company label,
.registration-billing-row label { gap: 9px; font-size: var(--membership-form-label-size); }
.registration-details-step .membership-fields input,
.registration-details-step .membership-fields select,
.registration-billing-row input { height: 56px; min-height: 56px; padding: 0 16px; font-size: var(--membership-form-control-size); }
.membership-form label { min-width: 0; display: grid; gap: 5px; }
.membership-form select { appearance: none; -webkit-appearance: none; padding-right: 44px !important; background-color: #fff; background-image: var(--select-chevron); background-repeat: no-repeat; background-position: right 16px center; background-size: 12px 7px; }
.membership-form textarea { width: 100%; min-height: 76px; padding: 10px 11px; resize: vertical; border: 1px solid #d6dbde; border-radius: 6px; outline: 0; color: var(--ink); background: #fff; font-size: 11px; }
.membership-form textarea:focus { border-color: var(--amber-dark); box-shadow: 0 0 0 3px rgba(229,173,61,.16); }
.billing-type-choice { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; border: 0; }
.billing-type-choice legend { grid-column: 1 / -1; margin-bottom: 1px; color: #46525c; font-size: 14px; font-weight: 800; }
.billing-type-choice label { cursor: pointer; }
.billing-type-choice input { position: absolute; opacity: 0; pointer-events: none; }
.billing-type-choice label > span { min-width: 0; min-height: 74px; padding: 14px 16px; display: grid; align-content: center; gap: 4px; overflow-wrap: anywhere; border: 1px solid #d7dde0; border-radius: 9px; color: #5f6c75; background: #f7f9f9; transition: border-color .15s, background .15s, box-shadow .15s, transform .15s; }
.billing-type-choice label > span b { color: var(--navy); font-size: var(--membership-billing-title-size); }
.billing-type-choice label > span small { color: #7e8991; font-size: var(--membership-billing-description-size); line-height: 1.35; }
.billing-type-choice input:checked + span { border-color: #d29a22; background: var(--amber-soft); box-shadow: inset 0 0 0 2px rgba(232,201,120,.62); }
.billing-type-choice input:focus-visible + span { outline: 3px solid rgba(229,173,61,.28); outline-offset: 2px; }
.billing-type-choice label:hover > span { border-color: #d6a12f; transform: translateY(-1px); }
.billing-type-note { margin: -7px 0 0; color: #69767f; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.registration-details-step .billing-type-choice { gap: 34px; }
.registration-details-step .billing-type-choice legend { display: none; }
.registration-details-step .billing-type-choice label > span { min-height: 84px; padding: 15px 17px; position: relative; border: 0; border-radius: 0; background: #f7f9f9; box-shadow: none; transform: none; }
.registration-details-step .billing-type-choice label > span::after { content: ""; width: 14px; height: 14px; position: absolute; right: 12px; top: 50%; border: 2px solid #aeb7bc; border-radius: 50%; background: transparent; transform: translateY(-50%); }
.registration-details-step .billing-type-choice input:checked + span { border: 0; background: #fff7dc; box-shadow: none; }
.registration-details-step .billing-type-choice input:checked + span::after { content: "✓"; display: grid; place-items: center; border: 0; color: #fff; background: #4d9477; font-size: 10px; font-weight: 900; }
.registration-details-step .billing-type-choice label:hover > span { border: 0; transform: none; }
.billing-fields { padding: 14px; display: grid; grid-template-columns: 1fr; gap: 10px; border: 1px solid #e5d5ad; border-radius: 8px; background: #fffbf1; }
.billing-fields-company { grid-template-columns: repeat(2,minmax(0,1fr)); }
.billing-fields-company .wide-field { grid-column: 1 / -1; }
.billing-fields p { margin: -2px 0 0; color: #76694d; font-size: 14px; line-height: 1.45; }
.registration-details-step .billing-fields-company { padding: 0; column-gap: 16px; row-gap: 18px; border: 0; border-radius: 0; background: transparent; }
.registration-billing-row { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 16px; }
.membership-form[data-billing-type="company"] .registration-billing-row { grid-template-columns: 1fr; }
.registration-identity-column { min-width: 0; display: grid; align-content: start; gap: 14px; }
.registration-billing-row .billing-fields-individual { padding: 0; border: 0; border-radius: 0; background: transparent; }
.registration-billing-row .registration-address { grid-template-rows: auto 1fr; align-self: stretch; }
.registration-billing-row textarea { min-height: 116px; height: 100%; padding: 17px 16px; resize: none; font-size: var(--membership-form-control-size); font-weight: 400; }
.registration-details-step .membership-fields label,
.registration-details-step .billing-fields-company label,
.registration-billing-row label {
  color: #3e4a54;
  font-size: var(--membership-form-label-size);
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: .02em;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.registration-details-step .membership-fields input,
.registration-details-step .membership-fields select,
.registration-details-step .billing-fields-company input,
.registration-billing-row input,
.registration-billing-row textarea {
  font-size: var(--membership-form-control-size);
  font-weight: 400;
  line-height: 1.3;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.registration-details-step .membership-fields input::placeholder,
.registration-details-step .billing-fields-company input::placeholder,
.registration-billing-row input::placeholder,
.registration-billing-row textarea::placeholder {
  font-size: var(--membership-form-placeholder-size);
  font-weight: 400;
}
.registration-details-step .membership-fields select:invalid,
.profile-edit-form .membership-fields select:invalid { color: #a0a9af; font-size: var(--membership-form-placeholder-size); font-weight: 400; }
.billing-type-choice-compact { margin-top: 2px; }
.billing-type-choice-compact label > span { min-height: 62px; }
.seat-choice { margin: 0; padding: 0; border: 0; }
.seat-choice legend { margin-bottom: 8px; color: #46525c; font-size: var(--membership-form-label-size); font-weight: 800; }
.seat-choice > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.seat-choice label { cursor: pointer; }
.seat-choice input { position: absolute; opacity: 0; pointer-events: none; }
.seat-choice input,
.plan-choice input,
.billing-type-choice input,
.payment-choice input,
.password-reset-channels input {
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.seat-choice label > span { min-height: 58px; padding: 8px 5px; display: grid; place-items: center; align-content: center; gap: 2px; border: 1px solid #d7dde0; border-radius: 8px; color: #6c7880; background: #f7f9f9; transition: border-color .15s, background .15s, transform .15s; }
.seat-choice label > span b { color: var(--navy); font: 650 22px/1 Georgia,serif; }
.seat-choice label > span small { font-size: 14.667px; }
.seat-choice input:checked + span { border-color: #d29a22; background: var(--amber-soft); box-shadow: inset 0 0 0 2px rgba(232,201,120,.62); }
.seat-choice input:focus-visible + span { outline: 3px solid rgba(229,173,61,.28); outline-offset: 2px; }
.seat-choice label:hover > span { border-color: #d6a12f; transform: translateY(-1px); }
.seat-choice-payment { margin: 12px 0; }
.seat-choice-payment legend { color: #776949; }
.plan-choice { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.plan-choice label { cursor: pointer; }
.plan-choice input { position: absolute; opacity: 0; pointer-events: none; }
.plan-choice label > span { min-width: 0; min-height: 254px; padding: 18px 12px 11px; position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "duration duration" "kind price" "features features" "discount discount" "action action"; grid-template-rows: auto auto 1fr auto auto; align-items: center; column-gap: 7px; row-gap: 4px; border: 1px solid #d9dee1; border-radius: 10px; background: #fafbfb; transition: border-color .15s, background .15s, box-shadow .15s; }
.plan-choice label > span b { min-width: 0; grid-area: duration; color: var(--navy); font: 650 19px/1.1 Georgia,serif; white-space: nowrap; }
.plan-choice label > span .plan-kind { grid-area: kind; justify-self: start; margin-top: 4px; color: var(--amber-dark); font: 600 15px/1.2 Georgia,serif; white-space: nowrap; }
.plan-price-stack { min-width: 0; grid-area: price; align-self: center; justify-self: end; display: grid; justify-items: end; gap: 1px; }
.plan-price-stack s { color: #929da4; font-size: 9.333px; line-height: 1; text-decoration-thickness: 1px; white-space: nowrap; }
.plan-price-stack em { color: var(--membership-price-color); font: 850 20px/1 Georgia,serif; font-style: normal; white-space: nowrap; }
.plan-card-features { width: 100%; margin: 8px 0 0; padding: 9px 0 0; grid-area: features; align-self: start; display: grid; gap: 5px; border-top: 1px solid rgba(125,137,146,.18); list-style: none; }
.plan-card-features li { min-width: 0; display: grid; grid-template-columns: 15px minmax(0,1fr); align-items: center; gap: 6px; color: #52616b; font-size: 10.667px; font-weight: 700; line-height: 1.2; }
.plan-card-features li::before { content: "✓"; width: 15px; height: 15px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--success); font-size: 9px; font-weight: 900; }
.plan-badge { position: absolute; top: -9px; left: 11px; z-index: 1; padding: 2px 8px; border-radius: 999px; color: #fff; background: var(--amber-dark); font-size: 8.667px; font-weight: 850; line-height: 1.45; letter-spacing: .02em; white-space: nowrap; }
.plan-discount { grid-area: discount; align-self: start; justify-self: start; margin-top: 4px; padding: 3px 7px; border-radius: 6px; color: #8a620c; background: var(--amber-soft); font-size: 9.333px; font-weight: 800; line-height: 1.25; }
.plan-choice label > span::after { content: "Bu paketi seç"; min-height: 27px; grid-area: action; display: grid; place-items: center; border: 1px solid #d9dee1; border-radius: 6px; color: #65727b; background: #fff; font-size: 9.333px; font-weight: 800; }
.plan-choice input:checked + span { border-color: #d6a12f; background: var(--amber-soft); box-shadow: inset 0 0 0 2px rgba(232,201,120,.65); }
.plan-choice input:checked + span::after { content: "Seçildi"; border-color: #b8dbc9; color: var(--success); background: #edf7f2; }
.plan-choice label:hover > span { border-color: #d6a12f; }
.package-note { margin: -7px 0 0; color: #7a858d; font-size: 12px; }
.team-price-note { margin: -4px 0 0; padding: 10px 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; color: #6d624a; background: #fff9e9; font-size: 13.333px; line-height: 1.4; overflow-wrap: anywhere; }
.team-price-note strong { margin-right: auto; color: #5f543c; }
.team-price-note s { color: #9a8e75; font-size: 11.333px; }
.team-price-note span { padding: 2px 7px; border-radius: 999px; color: #8a620c; background: #f6e8c5; font-size: 10px; font-weight: 800; }
.team-price-note b { margin-left: auto; color: var(--membership-price-color); font-size: 14.667px; }
.kvkk-consent-backdrop { position: fixed; inset: 0; z-index: 108; background: rgba(11,17,22,.76); backdrop-filter: blur(5px); }
.kvkk-inline { width: min(780px,calc(100vw - 32px)); max-height: calc(100vh - 34px); max-height: calc(100dvh - 34px); position: fixed; left: 50%; top: 50%; z-index: 110; overflow: hidden; border: 1px solid #d9dee1; border-radius: 12px; background: #fff; box-shadow: 0 26px 90px rgba(5,10,14,.4); transform: translate(-50%,-50%); }
.kvkk-inline:not([open]) { display: none; }
.kvkk-inline > summary { min-height: 72px; padding: 15px 70px 15px 20px; position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--navy); cursor: default; list-style: none; pointer-events: none; background: #faf9f5; }
.kvkk-inline > summary::-webkit-details-marker { display: none; }
.kvkk-inline > summary > span { display: grid; gap: 2px; }
.kvkk-inline > summary b { font-size: calc(9.333px + 2pt); }
.kvkk-inline > summary small { position: absolute; right: 70px; bottom: 8px; max-width: calc(100% - 92px); color: #7b878f; font-size: 9.333px; text-align: right; }
.kvkk-inline > summary em { margin-left: auto; padding: 5px 8px; border-radius: 12px; color: #76570f; background: var(--amber-soft); font-size: 9.333px; font-style: normal; font-weight: 800; white-space: nowrap; }
.kvkk-dialog-close { width: 38px; min-height: 38px; height: 38px; padding: 0; position: absolute; top: 16px; right: 18px; z-index: 2; display: grid; place-items: center; border-radius: 50%; color: #5a6872; background: #e9edef; font-size: 25px; line-height: 1; }
.kvkk-dialog-close:hover { color: #fff; background: var(--navy); }
.kvkk-scroll { max-height: calc(100vh - 245px); max-height: calc(100dvh - 245px); padding: 20px 22px 24px; overflow-y: auto; border-top: 1px solid #e3e7e9; scrollbar-width: thin; }
.kvkk-legal-copy { color: #53616b; font-size: 12px; line-height: 1.65; }
.kvkk-legal-copy h4 { margin: 19px 0 5px; color: #26333d; font: 650 12px/1.3 Georgia,serif; }
.kvkk-legal-copy h4:first-of-type { margin-top: 0; }
.kvkk-legal-copy p { margin: 0; }
.kvkk-legal-copy ul { margin: 7px 0 0; padding-left: 20px; }
.kvkk-legal-copy li + li { margin-top: 5px; }
.kvkk-legal-copy a { color: #8a620c; font-weight: 750; }
.kvkk-legal-copy > h4, .kvkk-legal-copy > p, .kvkk-legal-copy > ul { max-width: 680px; margin-left: auto; margin-right: auto; }
.kvkk-draft-warning { margin-bottom: 16px !important; padding: 11px 12px; color: #685a3d; background: var(--amber-soft); }
.kvkk-dialog-footer { padding: 14px 18px; display: grid; grid-template-columns: 1fr; justify-items: center; align-items: center; gap: 12px; border-top: 1px solid #dfe4e6; background: #f8faf9; }
.kvkk-dialog-ack { min-height: 44px; width: fit-content; max-width: 100%; padding: 8px 12px; display: grid; grid-template-columns: auto 24px; justify-content: start; align-items: center; gap: 9px; border: 1px solid #d5dcdf; border-radius: 8px; color: #52606a; background: #fff; cursor: pointer; }
.kvkk-dialog-ack input { position: absolute; opacity: 0; pointer-events: none; }
.kvkk-dialog-ack span { display: grid; text-align: left; }
.kvkk-dialog-ack strong { color: var(--navy); font-size: 13.333px; }
.kvkk-dialog-ack small { color: #74818a; font-size: 9.333px; }
.kvkk-dialog-ack i { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: transparent; background: #e7ebed; font-size: 12px; font-style: normal; font-weight: 900; transition: .16s; }
.kvkk-dialog-ack:has(input:checked) { border-color: #69aa8e; background: #f0faf5; }
.kvkk-dialog-ack:has(input:checked) i { color: #fff; background: #27845f; }
.kvkk-dialog-footer .membership-primary { min-width: 160px; justify-self: center; font-size: 13.333px; }
.membership-checks { min-width: 0; max-width: 100%; display: grid; gap: 10px; padding: 14px; border: 1px solid #e0c26f; border-radius: 7px; background: #fff9e9; }
.membership-checks label { min-width: 0; display: grid; grid-template-columns: 19px minmax(0,1fr); align-items: start; gap: 10px; color: #4f5c65; font-size: var(--membership-consent-size); font-weight: 400; line-height: 1.45; overflow-wrap: anywhere; }
.membership-checks input { width: 19px; height: 19px; min-height: 19px; margin: 1px 0 0; accent-color: #27845f; }
.kvkk-consent-row { min-width: 0; max-width: 100%; padding-top: 10px; display: grid; grid-template-columns: 24px minmax(0,auto) auto; align-items: center; justify-content: start; gap: 8px; border-top: 1px solid rgba(166,123,28,.22); }
.kvkk-consent-row > input { position: absolute; opacity: 0; pointer-events: none; }
.kvkk-consent-row > input:focus-visible + .kvkk-consent-indicator { outline: 2px solid rgba(138,98,12,.52); outline-offset: 3px; }
.kvkk-consent-indicator { width: 19px; height: 19px; box-sizing: border-box; display: grid; place-items: center; border: 2px solid #81898d; border-radius: 5px; color: transparent; background: #fff; font-size: 12px; font-weight: 900; transition: .16s; }
.kvkk-consent-indicator.confirmed { border-color: #27845f; color: #fff; background: #27845f; }
.kvkk-consent-row button { min-height: 28px; min-width: 0; padding: 0; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; color: #46535d; background: transparent; font-size: var(--membership-consent-size); font-weight: 400; overflow-wrap: anywhere; text-align: left; }
.kvkk-consent-row button:hover { color: #8a620c; }
.kvkk-consent-row button:focus-visible { color: #8a620c; outline: 2px solid rgba(138,98,12,.38); outline-offset: 3px; border-radius: 3px; }
.kvkk-consent-row > b { color: #d51d2b; font-size: var(--membership-consent-size); }
.membership-primary { min-height: 44px; padding: 0 17px; border: 0; border-radius: 6px; color: var(--navy); background: var(--amber); font-size: var(--membership-action-size); font-weight: 850; }
.membership-primary:hover { background: #efbc54; }
.membership-primary:disabled { opacity: .5; cursor: not-allowed; }
.forgot-password-link { justify-self: center; padding: 3px 4px; border: 0; color: #8a620c; background: transparent; font-size: 14px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.forgot-password-link:hover, .forgot-password-link:focus-visible { color: var(--navy); outline: none; }
#password-reset-form { margin-top: 1px; }
.password-reset-form { padding: 2px 0 8px; }
.password-reset-heading { padding-bottom: 14px; border-bottom: 1px solid var(--line); text-align: center; }
.password-reset-heading h3 { margin: 5px 0 6px; color: var(--navy); font: 600 24px/1.2 Georgia,"Times New Roman",serif; }
.password-reset-heading p { margin: 0; color: #66737c; font-size: 14px; line-height: 1.5; }
#password-reset-request, .password-reset-confirm { display: grid; gap: 14px; }
.password-reset-channels { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border: 0; }
.password-reset-channels legend { grid-column: 1 / -1; margin-bottom: 7px; color: #46525c; font-size: 14px; font-weight: 750; }
.password-reset-channels label { cursor: pointer; }
.password-reset-channels input { position: absolute; opacity: 0; pointer-events: none; }
.password-reset-channels span { min-height: 42px; display: grid; place-items: center; border: 1px solid #d5dbde; border-radius: 6px; color: #66727b; background: #fafbfb; font-size: 14px; font-weight: 800; }
.password-reset-channels input:checked + span { border-color: #d6a12f; color: var(--navy); background: var(--amber-soft); box-shadow: inset 0 0 0 1px #e8c978; }
.password-reset-form > label, #password-reset-request > label, .password-reset-confirm > label { color: #46525c; font-size: 14px; font-weight: 750; }
.password-reset-delivery { margin: 0; padding: 12px 13px; color: #695c3e; background: var(--amber-soft); font-size: 14px; line-height: 1.5; }
.membership-secondary { margin-top: 16px; min-height: 36px; padding: 0 13px; border: 1px solid #d3d9dc; border-radius: 5px; color: #59656e; background: #fff; font-size: var(--membership-action-size); font-weight: 750; }
.membership-form-error { padding: 10px 12px; border: 1px solid #e7c9c5; border-radius: 6px; color: #7d423b; background: #fff5f3; font-size: 12px; overflow-wrap: anywhere; }
.profile-edit-form { --membership-form-label-size: 12px; --membership-form-control-size: 14.333px; --membership-form-placeholder-size: 13px; --membership-billing-title-size: 15.333px; --membership-billing-description-size: 12px; margin-top: 17px; padding: 16px; border: 1px solid #ead7a6; border-radius: 7px; background: #fffbf2; }
.profile-edit-form .membership-fields label,
.profile-edit-form .billing-fields label,
.profile-edit-form > label { gap: 9px; font-size: var(--membership-form-label-size); }
.profile-edit-form .billing-type-choice legend { font-size: var(--membership-form-label-size); }
.profile-edit-form .membership-fields.two { column-gap: 16px; row-gap: 18px; }
.profile-edit-form .membership-fields input,
.profile-edit-form .membership-fields select,
.profile-edit-form .billing-fields input,
.profile-edit-form > label textarea { height: 56px; min-height: 56px; padding: 0 16px; font-size: var(--membership-form-control-size); }
.profile-edit-form > label textarea { min-height: 116px; padding-top: 17px; padding-bottom: 17px; }
.profile-edit-form .billing-type-choice { gap: 34px; }
.profile-edit-form .billing-type-choice label > span { min-height: 84px; padding: 15px 17px; }
.profile-edit-form .identity-verification-note { font-size: var(--membership-helper-size); line-height: 1.45; }
.profile-edit-actions { display: grid; grid-template-columns: auto 1fr; gap: 9px; }
.profile-edit-actions .membership-secondary,
.profile-edit-actions .membership-primary { margin: 0; font-size: var(--membership-action-size); }
.identity-verification-note { margin: -5px 0 0; color: #7c7056; font-size: 8px; overflow-wrap: anywhere; text-align: center; }
.registration-details-step .registration-verification-note { min-height: 46px; margin: 0; padding: 9px 11px; background: var(--amber-soft); font-size: var(--membership-helper-size); line-height: 1.45; overflow-wrap: anywhere; text-align: left; }
.membership-footnote, .demo-disclaimer { margin: -6px 0 0; color: #929ba2; font-size: var(--membership-footnote-size); overflow-wrap: anywhere; text-align: center; }
.account-summary { padding-bottom: 18px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.account-avatar { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--amber); font: 700 15px Georgia,serif; }
.account-summary small { color: #9a7a34; font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.account-summary #member-status-label { font-size: 6.667px; }
.account-summary h3 { margin: 1px 0; font: 600 var(--membership-member-name-size) Georgia,serif; }
.account-summary p { margin: 0; color: #7a858d; font-size: var(--membership-member-bar-size); }
.status-pill { padding: 5px 10px; border-radius: 12px; color: #75581a; background: var(--amber-soft); font-size: 11px; font-weight: 800; }
.status-pill.active { color: #28664f; background: #e9f6f0; }
.status-pill.dormant { color: #78534c; background: #fff0ed; }
.status-pill.pending { color: #b42318; background: #fff0ed; font-size: 13.667px; }
.membership-pending { margin-top: 17px; padding: 16px; border: 1px solid #ead7a6; border-radius: 7px; background: #fffbf2; }
.membership-flow-payment { margin: 0 0 15px; }
.membership-flow.membership-flow-success { grid-template-columns: repeat(4,minmax(0,1fr)); }
.membership-pending h3 { margin: 0 0 3px; font: 650 var(--membership-step-title-size)/1.15 Georgia,"Times New Roman",serif; }
.account-step-panel { display: grid; gap: 11px; }
.account-step-panel > p { margin: 0 0 2px; color: #776949; font-size: var(--membership-helper-size); line-height: 1.45; }
.account-plan-continue { justify-self: end; min-width: 230px; font-size: var(--membership-action-size); }
.membership-success { margin-top: 18px; padding: 32px 22px; border: 1px solid #75b99a; color: #28664f; background: #f1fbf6; box-shadow: 0 0 34px rgba(55,151,108,.28), inset 0 0 24px rgba(94,185,142,.1); text-align: center; }
.membership-success .membership-flow { margin-bottom: 28px; }
.membership-success > span { width: 48px; height: 48px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #37976c; box-shadow: 0 0 22px rgba(55,151,108,.42); font-size: 25px; font-weight: 900; }
.membership-success h3 { margin: 0; font: 650 25px/1.2 Georgia,"Times New Roman",serif; }
.membership-success p { margin: 7px 0 0; color: #4a7e68; font-size: 16px; font-weight: 800; }
.account-plans { margin-bottom: 11px; }
.account-plans label > span { min-height: 254px; background: #fafbfb; }
.payment-choice { margin: 11px 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; border: 0; }
.payment-choice legend { margin-bottom: 7px; color: #776949; font-size: 13.333px; font-weight: 850; }
.payment-choice label { cursor: pointer; }
.payment-choice input { position: absolute; opacity: 0; pointer-events: none; }
.payment-choice span { min-width: 0; min-height: 58px; padding: 10px 12px; display: grid; align-content: center; gap: 2px; overflow-wrap: anywhere; border: 1px solid #dfd6bf; border-radius: 6px; color: #4b565f; background: rgba(255,255,255,.72); }
.payment-choice b { font-size: 18.667px; }
.payment-choice small { color: #8c949a; font-size: 12px; }
.payment-choice input:checked + span { border-color: #d6a12f; background: var(--amber-soft); box-shadow: inset 0 0 0 1px #e8c978; }
.payment-detail { margin: 0 0 11px; padding: 11px 12px; overflow-wrap: anywhere; border: 1px solid #ece4d1; border-radius: 6px; color: #76694c; background: #fffdf8; font-size: var(--membership-helper-size); }
.payment-detail > strong { font-size: var(--membership-form-label-size); }
.payment-detail p { margin: 2px 0 0; font-size: var(--membership-helper-size); }
.bank-transfer-detail { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.bank-transfer-detail > div { padding: 8px; display: grid; gap: 2px; border-radius: 5px; background: #fff; }
.bank-transfer-detail .wide { grid-column: 1 / -1; }
.bank-transfer-detail small { color: #98907e; font-size: 14px; letter-spacing: .07em; }
.bank-transfer-detail strong { overflow-wrap: anywhere; color: #4a514f; font-size: 11px; }
.bank-transfer-detail .bank-transfer-instruction { gap: 5px; }
.bank-transfer-detail .bank-transfer-instruction p { margin: 0 0 2px; color: #665a40; font-size: 12.667px; font-weight: 700; }
.bank-transfer-detail .bank-transfer-instruction strong { padding: 7px 8px; border-radius: 4px; background: var(--amber-soft); font-size: 12px; }
.payment-action { display: grid; gap: 8px; }
.payment-action .membership-primary { width: 100%; font-size: var(--membership-action-size); }
.payment-action .demo-disclaimer { margin: 0; }
#demo-activate.bank-transfer-action { font-size: 16.667px; }
#demo-disclaimer { font-size: 12px; }
.membership-step-navigation { width: 100%; min-height: 44px; margin-top: 57px; padding-bottom: 76px; display: flex; align-items: center; justify-content: center; gap: 17px; }
.membership-step-navigation.only-next,
.membership-step-navigation.only-previous { justify-content: center; }
.membership-direction-button { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 5px; display: grid; place-items: center; border: 0; border-radius: 50%; outline: 0; background: transparent; transition: background .15s, opacity .15s, transform .15s; }
.membership-direction-button img { width: 34px; height: 34px; display: block; }
.membership-direction-button:hover,
.membership-direction-button:focus-visible { background: #edf6f2; transform: scale(1.06); }
.membership-direction-button:focus-visible { box-shadow: 0 0 0 2px rgba(77,148,119,.25); }
.membership-direction-button:disabled { opacity: .28; cursor: not-allowed; transform: none; }
.membership-timeline { margin-top: 17px; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.membership-timeline > div { padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: #fafbfb; }
.membership-timeline small, .membership-timeline strong, .membership-timeline span { display: block; }
.membership-timeline small { margin-bottom: 4px; color: #929ca3; font-size: 10px; font-weight: 850; letter-spacing: .06em; }
.membership-timeline strong { color: #3f4b55; font-size: 10px; }
.membership-timeline .timeline-wide { grid-column: 1 / -1; }
.membership-timeline span { margin-top: 3px; color: #89939a; font-size: 8px; }
.expert-account-card { margin-top: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.expert-account-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.expert-account-heading small { color: #b47708; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.expert-account-heading h3 { margin: 4px 0 0; font: 600 20px/1.15 Georgia, serif; }
.expert-account-heading > strong { color: #172630; font-size: 22px; }
.expert-account-meter { height: 7px; margin: 14px 0 9px; overflow: hidden; border-radius: 99px; background: #edf0f1; }
.expert-account-meter span { display: block; width: 0; height: 100%; border-radius: inherit; background: #efae2d; transition: width .25s ease; }
.expert-account-card > p, .expert-account-card > small { color: var(--muted); font-size: 11px; }
.expert-addon-list { margin: 14px 0 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.expert-addon-list button { width: 100%; padding: 11px; display: grid; gap: 3px; border: 1px solid var(--line); border-radius: 8px; color: inherit; text-align: left; background: #fafbfb; }
.expert-addon-list button:hover, .expert-addon-list button.selected { border-color: #d9a135; background: #fffaf0; }
.expert-addon-list span { color: #172630; font-weight: 700; }
.expert-addon-list small { color: #a56b00; }
.expert-addon-payment { margin: 12px 0; padding: 14px; border: 1px solid #e2d2aa; border-radius: 8px; background: #fffaf0; }
.expert-addon-payment > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.expert-addon-payment small { color: #93712e; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.expert-addon-payment > div:first-child strong { color: #172630; font-size: 14px; }
.expert-addon-payment fieldset { margin: 12px 0 0; padding: 0; display: flex; gap: 8px; border: 0; }
.expert-addon-payment legend { margin-bottom: 6px; color: #68747c; font-size: 9px; font-weight: 800; }
.expert-addon-payment label { flex: 1; padding: 9px; display: flex; align-items: center; gap: 7px; border: 1px solid #ddd4bc; border-radius: 6px; background: #fff; font-size: 12px; font-weight: 750; }
.expert-addon-payment label:not(:has(input:disabled)) { border-color: #b8dcca; background: #effaf4; }
.expert-addon-payment label:has(input:disabled) { color: #8d969c; background: #f1f3f4; }
.expert-addon-payment input[type="radio"] { appearance: none; box-sizing: border-box; width: 12px; min-width: 12px; height: 12px; min-height: 12px; margin: 0; padding: 0; flex: 0 0 12px; border: 1px solid #aeb9bd; border-radius: 50%; background: #fff; box-shadow: none; }
.expert-addon-payment input[type="radio"]:checked { border-color: #d39a28; background: #d39a28; box-shadow: inset 0 0 0 3px #fff; }
.expert-addon-payment input[type="radio"]:disabled { border-color: #c4cbce; background: #e4e8e9; }
.expert-addon-payment label:has(input:focus-visible) { outline: 2px solid rgba(211,154,40,.5); outline-offset: 2px; }
.expert-addon-payment label:has(input:checked) { border-color: #d39a28; box-shadow: 0 0 0 1px rgba(211,154,40,.16); }
.expert-addon-payment label:has(input:disabled) { opacity: .5; }
.expert-addon-payment-detail { margin: 10px 0; padding: 10px; border-radius: 6px; color: #606c74; background: #fff; font-size: 10px; line-height: 1.55; }
.expert-addon-payment-detail strong { color: #25343e; }
.expert-addon-payment > button { width: 100%; }
.expert-account-card.purchase-focus { border-color: #d9a135; box-shadow: 0 0 0 3px rgba(217,161,53,.12); }
.team-overview { min-width: 0; max-width: 100%; margin-top: 13px; padding: 15px; overflow: hidden; border: 1px solid #dbe1e4; border-radius: 8px; background: #fafbfb; }
.team-overview-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.team-overview-heading small { color: #9a6b09; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.team-overview-heading h3 { margin: 3px 0 0; color: var(--navy); font: 600 19px Georgia,serif; }
.team-overview-heading > strong { padding: 7px 10px; border-radius: 14px; color: #70530f; background: var(--amber-soft); font-size: 12px; }
.team-seat-list { min-width: 0; max-width: 100%; margin-top: 12px; display: grid; gap: 6px; }
.team-seat-list > div { width: 100%; min-width: 0; min-height: 52px; padding: 8px 10px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 10px; overflow: hidden; border: 1px dashed #cfd6da; border-radius: 7px; color: #7d8890; background: #fff; }
.team-seat-list > div > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #73808a; background: #edf1f3; font-size: 12px; font-weight: 850; }
.team-seat-list > div > div { min-width: 0; display: grid; gap: 2px; }
.team-seat-list > div strong { overflow-wrap: anywhere; color: #56636d; font-size: 14px; }
.team-seat-list > div small { overflow-wrap: anywhere; color: #8b969d; font-size: 12px; }
.team-seat-list > div > b { color: #8a6a23; font-size: 12px; }
.team-seat-list > div.filled { border-style: solid; border-color: #b9d8ca; background: #f3faf7; }
.team-seat-list > div.filled > span { color: #fff; background: #4d9477; }
.team-seat-list > div.filled > b { color: #34755a; }
.team-seat-list > div.invited { border-style: solid; border-color: #e7cc86; background: #fffbf0; }
.team-seat-list > div.invited > span { color: #71520f; background: #f5d77f; }
.team-seat-list > div.expired { border-color: #e0c7c2; background: #fff8f6; }
.team-seat-list > div.expired > span { color: #8b4b44; background: #f1dedb; }
.team-seat-list > div.expired > b { color: #96564e; }
.team-seat-list .team-invite-open { min-height: 34px; padding: 0 11px; border: 1px solid #d29a22; border-radius: 6px; color: var(--navy); background: var(--amber-soft); font-size: 12px; font-weight: 800; }
.team-seat-list .team-invite-actions { grid-column: 2 / -1; width: 100%; min-width: 0; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.team-invite-actions button { min-height: 31px; padding: 0 9px; white-space: nowrap; border: 1px solid #d6dcdf; border-radius: 5px; color: #59666f; background: #fff; font-size: 11px; font-weight: 750; }
.team-invite-actions button:first-child { border-color: #d29a22; color: #6f5317; background: var(--amber-soft); }
.team-invite-actions button:hover, .team-invite-actions button:focus-visible { border-color: #b77e09; color: var(--navy); background: #ffe4a3; outline: none; }
.team-invite-actions button:disabled { border-color: #d9dde0; color: #9099a0; background: #f0f2f3; cursor: wait; opacity: .72; }
.team-invite-actions button:last-child { color: #8d4b43; }
.team-seat-list .team-invite-form { grid-column: 1 / -1; margin-top: 3px; padding-top: 10px; display: grid; grid-template-columns: minmax(220px,1fr) auto auto; align-items: end; gap: 8px; border-top: 1px solid #e5e9eb; }
.team-seat-list .team-invite-form[hidden] { display: none; }
.team-invite-form label { display: grid; gap: 5px; color: #58656e; font-size: 12px; font-weight: 750; }
.team-invite-form input { min-height: 38px; }
.team-invite-form button { min-height: 38px; padding: 0 12px; border: 1px solid #d4dade; border-radius: 6px; color: #4f5c65; background: #fff; font-size: 12px; font-weight: 800; }
.team-invite-form button[type="submit"] { border-color: #d29a22; color: var(--navy); background: var(--amber); }
.team-invite-form p { grid-column: 1 / -1; margin: 0; color: var(--danger); font-size: 12px; }
.team-overview > p { margin: 11px 0 0; color: #6e7a82; font-size: 13px; line-height: 1.5; }
.team-invite-acceptance { padding: 4px 0 12px; }
.team-invite-heading { margin-bottom: 17px; padding: 15px 17px; border: 1px solid #e5d29d; border-radius: 8px; background: var(--amber-soft); }
.team-invite-heading h3 { margin: 4px 0 5px; color: var(--navy); font: 600 21px/1.2 Georgia,"Times New Roman",serif; }
.team-invite-heading p { margin: 0; color: #6e6246; font-size: 14px; line-height: 1.5; }
.invoice-delivery { min-width: 0; margin-top: 11px; padding: 11px 13px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1px 13px; background: var(--amber-soft); }
.invoice-delivery span { color: #7c6b43; font-size: var(--membership-invoice-label-size); text-transform: uppercase; }
.invoice-delivery strong { min-width: 0; color: #4f452f; font-size: var(--membership-invoice-value-size); overflow-wrap: anywhere; text-align: right; }
.invoice-delivery small { grid-column: 1 / -1; color: #8f805d; font-size: var(--membership-invoice-label-size); }
#logout-button { display: block; min-width: 110px; margin: 16px auto 0; font-size: 13px; }

.site-info-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(11,17,22,.68); backdrop-filter: blur(4px); }
.site-info-dialog { width: min(650px,calc(100vw - 32px)); max-height: calc(100vh - 34px); position: fixed; left: 50%; top: 50%; z-index: 90; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #d9dee1; border-radius: 12px; background: #fff; box-shadow: 0 24px 80px rgba(8,13,17,.32); transform: translate(-50%,-50%); }
.site-info-body { padding: 22px 24px 26px; }
.site-profile-form { display: grid; gap: 13px; }
.site-profile-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.site-profile-fields label, .site-profile-wide { display: grid; gap: 5px; color: #4d5963; font-size: 12px; font-weight: 750; }
.site-profile-fields input, .site-profile-fields select, .site-profile-wide textarea { width: 100%; min-height: 43px; padding: 0 11px; border: 1px solid #d6dbde; border-radius: 6px; color: var(--ink); background: #fff; font-size: 13px; }
.site-profile-wide textarea { min-height: 88px; padding-top: 10px; resize: vertical; }
.site-profile-form:not(.is-editing) input:disabled,
.site-profile-form:not(.is-editing) select:disabled,
.site-profile-form:not(.is-editing) textarea:disabled { color: #58636c; -webkit-text-fill-color: #58636c; opacity: 1; cursor: default; border-color: #e0e4e6; background: #f2f4f4; }
.site-profile-form:not(.is-editing) .billing-type-choice input:disabled { opacity: 0; }
.site-profile-form:not(.is-editing) .billing-type-choice { pointer-events: none; opacity: .8; }
.site-profile-actions { display: flex; align-items: center; justify-content: center; }
.site-profile-actions .membership-primary,
.site-profile-actions .membership-secondary { min-width: 190px; }
.bar-verification-feedback { min-height: 36px; padding: 7px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid #d8dde0; border-radius: 7px; color: #66727b; background: #f7f9f9; font-size: 11px; line-height: 1.35; }
.bar-verification-feedback i { width: 19px; height: 19px; flex: 0 0 19px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #929da5; font-size: 11px; font-style: normal; font-weight: 900; }
.bar-verification-feedback.pending i { color: transparent; }
.bar-verification-feedback.success { border-color: #acd2c0; color: #276c52; background: #f0faf5; }
.bar-verification-feedback.success i { background: #27845f; }
.bar-verification-feedback.error { border-color: #e2b8b3; color: #943c34; background: #fff2f0; }
.bar-verification-feedback.error i { background: #b54b41; }
.policy-copy { max-width: 560px; margin: 0 auto; color: #56636d; font-size: 14px; line-height: 1.7; }
.policy-copy h3 { margin: 18px 0 3px; color: #303c46; font: 600 16px Georgia,serif; }
.policy-copy > h3:first-child { margin-top: 0; }
.policy-copy p { margin: 0; }
.policy-copy p, .kvkk-legal-copy p { text-align: justify; text-justify: inter-word; hyphens: auto; }
.policy-copy ul { margin: 8px 0 0; padding-left: 22px; }
.policy-copy li + li { margin-top: 5px; }
.policy-copy .policy-intro { color: #37444e; font-size: 15px; text-align: center; hyphens: none; }
.policy-copy .policy-note { margin-top: 21px; padding: 12px 14px; color: #756746; background: var(--amber-soft); font-size: 13px; }
.password-change-form { display: grid; gap: 13px; }
.password-change-form > p { margin: 0 0 2px; padding: 11px 12px; color: #6f6346; background: var(--amber-soft); font-size: 12px; line-height: 1.5; }
.password-change-form label { display: grid; gap: 5px; color: #4d5963; font-size: 12px; font-weight: 750; }
.password-change-form input { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #d6dbde; border-radius: 6px; font-size: 13px; }
.password-change-form .membership-primary { justify-self: center; min-width: 190px; }
.contact-form { display: grid; gap: 14px; }
.contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.contact-form label { display: grid; gap: 5px; color: #4d5963; font-size: 12px; font-weight: 750; }
.contact-form input, .contact-form textarea { width: 100%; padding: 10px 11px; border: 1px solid #d6dbde; border-radius: 6px; outline: 0; color: var(--ink); background: #fff; font-size: 13px; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--amber-dark); box-shadow: 0 0 0 3px rgba(229,173,61,.16); }
.contact-form textarea { min-height: 145px; resize: vertical; }
.contact-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.contact-footer span { color: #8b969e; font-size: 9px; }
.contact-footer button { min-width: 140px; }
.contact-footer .membership-primary { font-size: 12px; }
.contact-status { margin: -4px 0 0; color: #7a858d; font-size: 9px; }
.contact-status.error { color: var(--danger); }
.contact-status.success { color: var(--success); }
.contact-company-email { margin: 0; padding: 10px 12px; color: #6f6346; background: var(--amber-soft); font-size: 9px; }
.contact-company-email a { color: #664a0d; font-weight: 800; }

.calculation-workspace { min-height: calc(100vh - 78px); padding: 42px clamp(24px,6vw,88px) 70px; background: #f4f6f7; }
.calculation-workspace-header { max-width: 1280px; margin: 0 auto 25px; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.calculation-workspace-header h1 { margin: 5px 0 7px; color: var(--navy); font: 600 clamp(1.2rem,3vw,2.15rem)/1.1 Georgia,"Times New Roman",serif; letter-spacing: -.02em; }
.calculation-workspace-header p { max-width: 720px; margin: 0; color: #63707a; font-size: 1rem; line-height: 1.5; }
.calculation-library-badge { min-width: 218px; padding: 13px 16px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1px 9px; border: 1px solid #e5d29d; border-radius: 8px; background: var(--amber-soft); }
.calculation-library-badge strong { grid-row: 1 / span 2; color: var(--amber-dark); font: 700 2.2rem/1 Georgia,serif; }
.calculation-library-badge span { color: #4c3a12; font-size: .9rem; font-weight: 800; }
.calculation-library-badge small { color: #7d714f; font-size: .73rem; }
.calculation-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.calculation-card { min-width: 0; padding: 20px; border: 1px solid #dbe0e3; border-radius: 10px; background: #fff; box-shadow: 0 6px 20px rgba(26,35,43,.05); }
.calculation-card-wide { grid-column: 1 / -1; }
.calculation-card > header { margin-bottom: 17px; display: flex; align-items: flex-start; gap: 12px; }
.calculation-card > header > span { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border-radius: 50%; color: #6d4f0d; background: var(--amber-soft); font-size: .72rem; font-weight: 850; }
.calculation-card h2 { margin: 0 0 4px; color: var(--navy); font: 600 1rem/1.3 Georgia,"Times New Roman",serif; }
.calculation-card header p { margin: 0; color: #6b7780; font-size: .82rem; line-height: 1.45; }
.calculation-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) auto; align-items: end; gap: 10px; }
.calculation-form.compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
.calculation-form.compact button { grid-column: 1 / -1; }
.calculation-form.share-form { grid-template-columns: minmax(180px,.7fr) minmax(240px,1.3fr) auto; }
.calculation-form label { min-width: 0; display: grid; gap: 6px; color: #46535d; font-size: .78rem; font-weight: 750; }
.calculation-form input, .calculation-form select { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #d5dbde; border-radius: 6px; outline: none; color: #26323b; background: #fff; font-size: .88rem; }
.calculation-form input:focus, .calculation-form select:focus { border-color: var(--amber-dark); box-shadow: 0 0 0 3px rgba(229,173,61,.15); }
.calculation-form button { min-height: 44px; padding: 0 18px; border: 1px solid #d29a22; border-radius: 6px; color: var(--navy); background: var(--amber); font-size: .82rem; font-weight: 850; }
.calculation-form button:hover, .calculation-form button:focus-visible { background: #f2bd4d; outline: none; }
.calculation-result { margin-top: 14px; padding: 14px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; border: 1px solid #d9e3de; border-radius: 8px; color: #315b4a; background: #f3faf6; }
.calculation-result > div:not(.share-result-list) { padding: 2px 8px; display: grid; gap: 3px; border-right: 1px solid #d7e4dc; }
.calculation-result > div:nth-last-of-type(1) { border-right: 0; }
.calculation-result span { color: #68766f; font-size: .72rem; }
.calculation-result strong { color: #1f5c43; font-size: .98rem; }
.calculation-result > small { grid-column: 1 / -1; color: #65736c; font-size: .73rem; line-height: 1.45; }
.calculation-result.error { display: block; border-color: #e2b8b3; color: #943c34; background: #fff2f0; font-size: .82rem; }
.share-result-list { grid-column: 1 / -1; display: grid; gap: 6px; }
.share-result-list span { padding: 8px 9px; display: flex; justify-content: space-between; gap: 20px; border-radius: 5px; background: rgba(255,255,255,.64); }
.share-result-list b { color: #526159; font-size: .76rem; }
.calculation-formula { margin: 12px 0 0; color: #77828a; font-size: .74rem; line-height: 1.5; }
.calculation-disclaimer { max-width: 1280px; margin: 16px auto 0; padding: 13px 15px; border: 1px solid #e5d7ae; border-radius: 8px; color: #6f6347; background: #fff9e9; font-size: .78rem; line-height: 1.5; }

@media (max-width: 1280px) {
  .search-modes, .exclude-row { grid-column: 1 / -1; grid-row: auto; justify-self: start; }
  .exclude-row { width: min(100%, 520px); }
}

@media (max-width: 980px) {
  .app-header { padding: 0 18px; }
  .main-nav { display: none; }
  .header-account-area { margin-left: auto; }
  .mobile-filter-button { display: block; padding: 7px 10px; border: 1px solid #53616c; border-radius: 5px; color: #fff; background: transparent; font-size: 10px; }
  .app-layout { display: block; }
  .filter-sidebar { width: min(330px,90vw); height: calc(100vh - 78px); position: fixed; top: 78px; left: 0; z-index: 25; box-shadow: 10px 0 30px rgba(20,30,38,.15); transform: translateX(-105%); transition: transform .22s; }
  .filter-sidebar.open { transform: translateX(0); }
  .syntax-help { grid-template-columns: 1fr 1fr; }
  .research-progress { grid-template-columns: 1fr 1fr; }
  .legislation-search-primary { grid-template-columns: 1fr 1fr; }
  .legislation-query-field { grid-column: 1 / -1; }
  .petition-grid { grid-template-columns: 1fr; }
  .calculation-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .calculation-form > button { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 64px; }
  .app-header { height: 64px; }
  .brand { min-width: 0; }
  .brand-name { font-size: 24px; }
  .brand-symbol { width: 39px; height: 39px; }
  .notification-button { width: 32px; height: 32px; padding: 6px; }
  .notification-button svg { width: 18px; height: 18px; }
  .filter-sidebar { top: 64px; height: calc(100vh - 64px); }
  .account-button { max-width: min(46vw,220px); padding-right: 9px; }
  .account-button b { max-width: calc(46vw - 52px); font-size: 9px; }
  .legislation-panel { max-height: calc(100vh - 80px); }
  .legislation-list { max-height: calc(100vh - 170px); }
  .tools-panel { max-height: calc(100vh - 80px); }
  .legislation-workspace { min-height: calc(100vh - 64px); padding: 26px 14px 55px; }
  .legislation-workspace-header { align-items: stretch; flex-direction: column; }
  .legislation-source-badge { min-width: 0; }
  .legislation-search-form { padding: 14px; }
  .legislation-search-primary { grid-template-columns: 1fr; }
  .legislation-query-field { grid-column: 1; }
  .legislation-search-actions { align-items: stretch; flex-direction: column; }
  .legislation-search-actions > small { line-height: 1.45; }
  .legislation-search-button { width: 100%; margin-left: 0; }
  .petition-workspace { min-height: calc(100vh - 64px); padding: 26px 14px 55px; }
  .petition-workspace-header, .petition-results-heading { align-items: stretch; flex-direction: column; }
  .petition-library-badge { min-width: 0; width: 100%; }
  .petition-results-heading p { text-align: left; }
  .petition-card { grid-template-columns: 1fr; }
  .petition-card button { grid-column: 1; grid-row: auto; width: 100%; }
  .calculation-workspace { min-height: calc(100vh - 64px); padding: 26px 14px 55px; }
  .calculation-workspace-header { align-items: stretch; flex-direction: column; }
  .calculation-library-badge { min-width: 0; width: 100%; }
  .calculation-grid { grid-template-columns: 1fr; }
  .calculation-card-wide { grid-column: 1; }
  .calculation-form, .calculation-form.compact, .calculation-form.share-form { grid-template-columns: 1fr; }
  .calculation-form button, .calculation-form.compact button { grid-column: 1; }
  .calculation-result { grid-template-columns: 1fr; }
  .calculation-result > div:not(.share-result-list) { border-right: 0; border-bottom: 1px solid #d7e4dc; padding: 7px 4px; }
  .calculation-result > div:nth-last-of-type(1) { border-bottom: 0; }
  .legislation-card { grid-template-columns: 1fr; }
  .legislation-card h3, .legislation-card-meta, .legislation-card button { grid-column: 1; }
  .legislation-card button { grid-row: auto; width: 100%; }
  .search-stage { padding: 22px 16px 20px; }
  .work-mode-switch { width: 100%; margin-bottom: 22px; }
  .work-mode-switch button { flex: 1; padding: 0 8px; }
  .stage-heading { display: block; }
  .source-card { display: none; }
  .search-composer { grid-template-columns: 1fr; }
  .search-input input { border-radius: 6px; }
  .search-submit { width: 100%; min-width: 0; margin-top: 8px; border-radius: 6px; }
  .search-modes, .exclude-row, .syntax-help { grid-column: 1; }
  .search-modes { width: auto; }
  .exclude-row { width: 100%; grid-template-columns: 1fr; }
  .syntax-help { grid-template-columns: 1fr; }
  .search-helpers .help-button { width: 100%; margin: 8px 0 0; text-align: left; }
  .results-panel { padding: 24px 14px 55px; }
  .expert-heading { align-items: flex-start; }
  .expert-form { padding: 12px; }
  .expert-quota-strip { align-items: flex-start; flex-direction: column; gap: 5px; }
  .expert-quota-strip div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .expert-addon-list { grid-template-columns: 1fr; }
  .expert-form-row { grid-template-columns: 1fr; }
  .expert-form-footer { align-items: stretch; flex-direction: column; }
  .expert-submit { width: 100%; }
  .expert-results-panel { padding: 22px 14px 55px; }
  .expert-intro-state { padding: 34px 18px; }
  .trust-grid { grid-template-columns: 1fr; }
  .expert-loading-state { padding: 27px 18px; grid-template-columns: 1fr; text-align: center; }
  .archive-loader { margin: auto; }
  .research-progress { grid-template-columns: 1fr; text-align: left; }
  .report-header, .recommendations-heading { align-items: flex-start; flex-direction: column; }
  .expert-analysis-summary { grid-template-columns: 1fr; align-items: flex-start; gap: 12px; }
  .expert-analysis-summary .report-source { width: 100%; }
  .report-source { width: 100%; flex-basis: auto; }
  .case-map, .research-method-grid, .comparison-grid { grid-template-columns: 1fr; }
  .recommendations-heading p { text-align: left; }
  .expert-card-summary { grid-template-columns: 1fr; }
  .expert-card-summary-side { align-items: flex-start; flex-direction: row; justify-content: flex-start; }
  .expert-card-rank { align-items: center; flex-direction: row; }
  .results-toolbar { align-items: flex-start; flex-direction: column; }
  .decision-card { grid-template-columns: 1fr; }
  .card-actions { justify-content: flex-end; }
  .drawer-tools { flex-wrap: wrap; padding: 10px 16px; }
  .drawer-tools label { flex-basis: 100%; }
  .decision-drawer { width: 100%; }
  .document-paywall { margin: 0 16px 24px; padding: 19px 16px; }
  footer { flex-direction: column; }
  /* Mobile Chromium can expose a wider layout viewport through fixed
     positioning (window.innerWidth: 623) while the usable CSS viewport is
     412px. Use the dynamic viewport width so the dialog and its form do not
     become wider than the visible screen. */
  .membership-dialog { width: 100dvw; max-width: 100dvw; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; inset: 0 auto auto 0; display: flex; flex-direction: column; overflow: clip; border: 0; border-radius: 0; transform: none; scrollbar-width: none; }
  .membership-dialog::-webkit-scrollbar { display: none; }
  .bank-transfer-detail small { font-size: 14px; }
  .bank-transfer-detail strong { font-size: 11px; }
  .bank-transfer-detail .bank-transfer-instruction strong { font-size: 12px; }
  .membership-dialog > .dialog-banner,
  .membership-dialog > .membership-dialog-header { flex: 0 0 auto; }
  .membership-dialog-header { min-height: auto; padding-top: 35px; padding-bottom: 19px; }
  /* The banner and header own their natural height; the form gets the
     remaining viewport exactly.  A zero flex-basis is important here:
     flex-basis:auto lets the (long) details form participate in sizing before
     it becomes the scroll container, which can place a target below a sibling
     header/field during scrollIntoView or a real pointer click. */
  .membership-auth,
  .membership-account { min-height: 0; flex: 1 1 0; overflow-x: clip; overflow-y: auto; overscroll-behavior: contain; }
  .membership-auth { padding-top: 32px; padding-bottom: 27px; }
  .kvkk-inline { width: 100dvw; max-width: 100dvw; max-height: 100vh; max-height: 100dvh; inset: 0 auto auto 0; border: 0; border-radius: 0; transform: none; }
  .kvkk-inline > summary { min-height: 70px; padding-left: 16px; }
  .kvkk-inline > summary em { display: none; }
  .kvkk-scroll { max-height: calc(100vh - 230px); max-height: calc(100dvh - 230px); padding: 18px 16px; }
  .policy-copy p, .kvkk-legal-copy p { text-align: left; hyphens: manual; }
  .kvkk-dialog-footer { grid-template-columns: 1fr; padding: 12px 14px; }
  .kvkk-dialog-footer .membership-primary { width: 100%; }
  .kvkk-consent-row { grid-template-columns: 24px minmax(0,1fr); }
  .kvkk-consent-row > b { grid-column: 2; }
  .membership-dialog-header, .membership-auth, .membership-account { padding-left: 27px; padding-right: 27px; }
  .membership-dialog-header > div, .membership-auth, .membership-form, .registration-step,
  .membership-flow, .seat-choice, .seat-choice > div, .plan-choice, .team-price-note {
    width: 100%; min-width: 0; max-width: 100%;
  }
  .membership-dialog-header p, .team-price-note { overflow-wrap: anywhere; }
  .membership-flow { grid-template-columns: 1fr; }
  .registration-step { animation: none; }
  .seat-choice > div { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .registration-continue, #registration-continue { width: 100%; min-width: 0; }
  .registration-plan-step .membership-step-navigation.only-next { position: relative; z-index: 2; }
  .membership-fields.two, .membership-timeline, .billing-fields-company { grid-template-columns: 1fr; }
  .registration-details-step { padding-top: 20px; }
  .registration-details-step .billing-type-choice { gap: 10px; }
  .registration-details-step .membership-fields.two { margin-top: 12px; }
  .registration-billing-row { grid-template-columns: 1fr; }
  .registration-billing-row .registration-address { align-self: auto; }
  .registration-billing-row textarea { height: auto; }
  .kvkk-consent-row button { width: 100%; min-width: 0; }
  .profile-edit-actions { grid-template-columns: 1fr; }
  .plan-choice { grid-template-columns: 1fr; overflow-x: visible; }
  .billing-type-choice { grid-template-columns: 1fr; }
  .billing-fields-company .wide-field { grid-column: 1; }
  .membership-timeline .timeline-wide { grid-column: 1; }
  .account-summary { grid-template-columns: auto 1fr; }
  .account-summary .status-pill { grid-column: 1 / -1; width: fit-content; }
  .team-seat-list > div { grid-template-columns: 28px minmax(0,1fr); }
  .team-seat-list > div > b, .team-seat-list .team-invite-open { grid-column: 2; justify-self: start; }
  .team-seat-list .team-invite-actions { grid-column: 2 / -1; justify-content: flex-start; justify-self: stretch; }
  .team-seat-list .team-invite-form { grid-template-columns: 1fr; }
  .team-seat-list .team-invite-form button, .team-invite-form p { grid-column: 1; }
  .site-profile-fields, .contact-fields { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .brand-name { display: none; }
  .header-auth-button { min-height: 34px; padding: 0 10px; font-size: calc(9px + 2pt); }
  .guest-auth-actions { gap: 5px; }
  .account-button { max-width: calc(100vw - 210px); }
  .account-button b { max-width: calc(100vw - 252px); }
  .plan-choice { padding-bottom: 0; }
}

@media print {
  body.printing-decision > *:not(.decision-drawer) { display: none !important; }
  .decision-drawer { width: 100%; position: static; transform: none; box-shadow: none; }
  .drawer-tools, .close-button, .overline { display: none; }
  .decision-text { overflow: visible; padding: 20px; }
  body.printing-legislation > *:not(.legislation-document-drawer) { display: none !important; }
  body.printing-legislation .legislation-document-drawer { width: 100%; position: static; transform: none; box-shadow: none; }
  body.printing-petition > *:not(.petition-drawer) { display: none !important; }
  body.printing-petition .petition-drawer { width: 100%; position: static; transform: none; box-shadow: none; }
}
