/* Legal Studio: shared tokens, navigation, workspaces and responsive layouts. */
@font-face { font-family: "Noto Sans Thai"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/noto-sans-thai/noto-sans-thai-400.ttf") format("truetype"); }
@font-face { font-family: "Noto Sans Thai"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/noto-sans-thai/noto-sans-thai-500.ttf") format("truetype"); }
@font-face { font-family: "Noto Sans Thai"; font-style: normal; font-weight: 600; font-display: swap; src: url("../vendor/noto-sans-thai/noto-sans-thai-600.ttf") format("truetype"); }
@font-face { font-family: "Noto Sans Thai"; font-style: normal; font-weight: 700; font-display: swap; src: url("../vendor/noto-sans-thai/noto-sans-thai-700.ttf") format("truetype"); }
:root {
    --ui-bg: #f3f4f0; --ui-surface: #ffffff; --ui-soft: #eaece6;
    --ui-ink: #242821; --ui-muted: #666e62; --ui-line: #d9ddd3;
    --ui-accent: #424c24; --ui-accent-soft: #f0f5d9; --ui-lime: #d5ee76;
    --ui-coral: #b24b3b; --ui-violet: #6c5795; --ui-dark: #242820;
    --app-primary: #424c24; --app-primary-dark: #303a19; --app-teal: #55682d;
    --app-ink: #242821; --app-muted: #666e62; --app-soft: #f3f4f0;
    --app-line: #d9ddd3; --app-surface-soft: #f8f9f6;
    --app-shadow-sm: none; --app-shadow-md: none;
}
:root[data-theme="night"] {
    --ui-bg: #191b18; --ui-surface: #232621; --ui-soft: #2f342c;
    --ui-ink: #f0f2e9; --ui-muted: #b2b8a8; --ui-line: #414739;
    --ui-accent: #d5ee76; --ui-accent-soft: #353f24;
    --app-primary: #d5ee76; --app-primary-dark: #e2f49f; --app-teal: #c1d877;
    --app-ink: #f0f2e9; --app-muted: #b2b8a8; --app-soft: #191b18;
    --app-line: #414739; --app-surface-soft: #2f342c;
}
:root body.ui-v2 { color: var(--ui-ink); background: var(--ui-bg); font-size: 15px; line-height: 1.65; }
:root body.ui-v2 *, :root body.ui-v2 *::before, :root body.ui-v2 *::after { letter-spacing: 0; }
:root body.ui-v2 :focus-visible { outline: 3px solid #7b65ae; outline-offset: 3px; }
:root body.ui-v2 h1, :root body.ui-v2 h2, :root body.ui-v2 h3 { color: inherit; line-height: 1.4; }
:root body.ui-v2 h1.h3 { font-size: 28px; }
:root body.ui-v2 a { text-underline-offset: 4px; }
.skip-link { position: fixed; top: -100px; left: 16px; padding: 12px 20px; background: var(--ui-surface); z-index: 2000; }
.skip-link:focus { top: 12px; }
:root body.ui-v2 .navbar { min-height: 76px; background: var(--ui-surface) !important; border-color: var(--ui-line) !important; box-shadow: none; backdrop-filter: none; }
:root body.ui-v2 .navbar > .container { max-width: 1600px; padding-inline: 28px; gap: 28px; }
:root body.ui-v2 .navbar-brand { min-width: 0; margin: 0; gap: 10px; }
.studio-mark { display: inline-grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; background: var(--ui-dark); color: var(--ui-lime); border-radius: 4px; font-size: 22px; }
:root body.ui-v2 .studio-mark .bi { display: inline-block; width: auto; height: auto; padding: 0; background: none; color: inherit; border: 0; border-radius: 0; box-shadow: none; font-size: 22px; }
:root body.ui-v2 .brand-wordmark strong { font-size: 23px; color: var(--ui-ink); font-weight: 800; }
:root body.ui-v2 .brand-wordmark small { font-size: 9px; color: var(--ui-muted); }
.brand-dot { color: #809638; }
:root body.ui-v2 .navbar .nav-link { color: var(--ui-muted); font-size: 14px; font-weight: 500; padding: 10px 13px; border-radius: 0; }
:root body.ui-v2 .navbar .nav-link:hover, :root body.ui-v2 .navbar .nav-link.active { color: var(--ui-ink); background: transparent; box-shadow: inset 0 -2px var(--ui-accent); }
:root body.ui-v2 .btn { min-height: 42px; border-radius: 4px; font-size: 14px; font-weight: 600; box-shadow: none; transform: none; padding: 10px 16px; transition: background-color .16s, border-color .16s; }
:root body.ui-v2 .btn-primary { color: #242820; background: var(--ui-lime); border-color: var(--ui-lime); }
:root body.ui-v2 .btn-primary:hover, :root body.ui-v2 .btn-primary:focus { color: #171b12; background: #c4e159; border-color: #c4e159; }
:root body.ui-v2 .btn-outline-primary { color: var(--ui-ink); border-color: var(--ui-line); background: transparent; }
:root body.ui-v2 .btn-outline-primary:hover { background: var(--ui-soft); border-color: var(--ui-muted); }
:root body.ui-v2 .btn-light, :root body.ui-v2 .theme-toggle { color: var(--ui-ink); background: var(--ui-soft); border-color: var(--ui-line); }
:root body.ui-v2 .theme-toggle { width: 38px; min-width: 38px; height: 38px; padding: 0; border-radius: 50%; justify-content: center; }
:root body.ui-v2 .btn-sm { min-height: 36px; padding: 7px 12px; font-size: 13px; }
:root body.ui-v2 .btn:disabled { opacity: .55; }
:root body.ui-v2 .form-control, :root body.ui-v2 .form-select { min-height: 44px; color: var(--ui-ink); background-color: var(--ui-surface); border-color: var(--ui-line); border-radius: 4px; box-shadow: none; font-size: 15px; }
:root body.ui-v2 .form-control:focus, :root body.ui-v2 .form-select:focus { border-color: var(--ui-accent); box-shadow: 0 0 0 3px var(--ui-accent-soft); }
:root body.ui-v2 .form-control::placeholder { color: var(--ui-muted); opacity: .8; }
:root body.ui-v2 .form-label { font-size: 13px; font-weight: 600; }
:root body.ui-v2 .small-muted, :root body.ui-v2 .text-muted { color: var(--ui-muted) !important; }
:root body.ui-v2 :is(.app-card,.stat-card,.admin-stat-card,.payment-panel,.lawyer-match-card,.lawyer-search-card,.guide-item,.portal-card) { background: var(--ui-surface); color: var(--ui-ink); border: 1px solid var(--ui-line); border-radius: 6px; box-shadow: none; }
:root body.ui-v2 .app-card { overflow: visible; }
:root body.ui-v2 :is(.app-card,.admin-stat-card,.auth-card,.auth-side)::before, :root body.ui-v2 :is(.app-card,.auth-side)::after { display: none; }
:root body.ui-v2 .app-card .app-card { border-radius: 0; border-inline: 0; border-top: 0; background: transparent; box-shadow: none; }
:root body.ui-v2 .dashboard-shell { padding: 28px 0 40px; background: none; }
:root body.ui-v2 .dashboard-shell > :is(.container,.container-fluid) { max-width: 1600px; padding-inline: 28px !important; }
:root body.ui-v2 .app-sidebar { background: var(--ui-dark); color: #dce0d4; border: 0; border-radius: 6px; padding: 14px 10px; gap: 2px; box-shadow: none; }
.sidebar-caption { font-size: 13px; color: #fff; padding: 12px 14px 24px; font-weight: 600; }
.sidebar-caption span { display: block; font-size: 9px; color: #a8b099; margin-top: 4px; font-weight: 400; }
:root body.ui-v2 .app-sidebar .list-group-item { background: transparent; color: #c0c7b7; border: 0; border-radius: 3px; min-height: 44px; padding: 10px 12px; margin: 2px 0; font-size: 14px; line-height: 1.5; transform: none; font-weight: 500; }
:root body.ui-v2 .app-sidebar .list-group-item:hover { background: #343c2c; color: #fff; }
:root body.ui-v2 .app-sidebar .list-group-item.active { background: var(--ui-lime); color: #242820; }
:root body.ui-v2 .app-sidebar .list-group-item i { font-size: 18px; color: inherit; }
:root body.ui-v2 .app-sidebar .admin-nav { padding: 0; border: 0; background: none; }
:root body.ui-v2 .admin-profile-card { background: none; border: 0; border-bottom: 1px solid #4b5241; border-radius: 0; padding: 10px 4px 20px; color: #fff; }
:root body.ui-v2 .admin-profile-email { color: #c0c7b7; overflow-wrap: anywhere; }
:root body.ui-v2 .admin-profile-label { color: #d5ee76; }
:root body.ui-v2 .admin-avatar { background: #3c472d; color: var(--ui-lime); }
:root body.ui-v2 .admin-nav .list-group-item em { background: #414b34; color: #e9f2d8; }
:root body.ui-v2 .admin-public-link { background: transparent; color: #dce0d4; border-color: #4b5241; border-radius: 3px; }
:root body.ui-v2 .admin-hero { display: block; background: none; color: var(--ui-ink); padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; box-shadow: none; }
:root body.ui-v2 .admin-hero h1 { font-size: 28px; }
:root body.ui-v2 .admin-hero p { color: var(--ui-muted); font-size: 14px; }
:root body.ui-v2 .admin-eyebrow { color: var(--ui-muted); background: none; padding: 0; font-size: 11px; }
:root body.ui-v2 .admin-hero-panel { background: var(--ui-soft); color: var(--ui-ink); border: 0; border-radius: 4px; }
:root body.ui-v2 .admin-hero-panel :is(span,strong,.small) { color: inherit; }
:root body.ui-v2 .admin-panel-card { padding: 22px; }
:root body.ui-v2 :is(.stat-card,.admin-stat-card) { padding: 22px; border-top: 3px solid #c2d479; transform: none; }
:root body.ui-v2 :is(.stat-card,.admin-stat-card):nth-child(3n) { border-top-color: #d89687; }
:root body.ui-v2 .admin-stat-card strong { font-size: 30px; color: var(--ui-ink); }
:root body.ui-v2 .admin-stat-card > i { background: var(--ui-soft); color: var(--ui-accent); box-shadow: none; border-radius: 4px; }
:root body.ui-v2 :is(.admin-action-grid a,.admin-feed-list a) { background: transparent; color: var(--ui-ink); border-color: var(--ui-line); border-radius: 4px; }
:root body.ui-v2 .admin-action-grid { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--ui-line); }
:root body.ui-v2 .admin-action-grid a { grid-template-columns: 28px minmax(0,1fr) auto; gap: 10px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; }
:root body.ui-v2 .admin-action-grid a:hover { background: var(--ui-soft); box-shadow: none; padding-inline: 8px; }
:root body.ui-v2 .admin-action-grid i { width: 28px; height: 28px; background: transparent; color: var(--ui-accent); }
:root body.ui-v2 .admin-action-grid span { font-size: 13px; }
:root body.ui-v2 .admin-action-grid strong { font-size: 18px; color: var(--ui-accent); }
:root body.ui-v2 .admin-progress { height: 4px; border-radius: 0; background: var(--ui-soft); }
:root body.ui-v2 .admin-progress span { border-radius: 0; background: var(--ui-accent); }
:root body.ui-v2 .admin-daily-chart { background: transparent; border-color: var(--ui-line); }
:root body.ui-v2 .admin-daily-bars .is-booking { background: #7e9360; }
:root body.ui-v2 .admin-daily-bars .is-revenue { background: #a597c1; }
.operations-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--ui-line); margin-bottom: 12px; }
.operations-summary > div { position: relative; min-width: 0; padding: 8px 24px 24px 0; }
.operations-summary > div + div { border-left: 1px solid var(--ui-line); padding-left: 24px; }
.operations-summary span { display: block; font-size: 12px; color: var(--ui-muted); margin-bottom: 10px; }
.operations-summary strong { font-size: 27px; font-weight: 600; overflow-wrap: anywhere; }
.operations-summary i { position: absolute; top: 6px; right: 20px; color: var(--ui-accent); }
.operations-summary > div:nth-child(3) i { color: var(--ui-violet); }
.operations-summary > div:nth-child(4) i { color: var(--ui-coral); }
.operations-details { margin-bottom: 24px; }
.operations-details summary { display: flex; align-items: center; gap: 12px; width: fit-content; padding: 10px 0; list-style: none; font-size: 12px; color: var(--ui-muted); cursor: pointer; }
.operations-details summary::-webkit-details-marker { display: none; }
.operations-details[open] summary i { transform: rotate(180deg); }
.operations-details[open] > .row { padding-top: 14px; }
:root body.ui-v2 .table { --bs-table-bg: transparent; --bs-table-color: var(--ui-ink); --bs-table-border-color: var(--ui-line); --bs-table-hover-bg: var(--ui-soft); font-size: 14px; }
:root body.ui-v2 .table th { color: var(--ui-muted); background: var(--ui-soft); font-size: 12px; font-weight: 600; white-space: nowrap; }
:root body.ui-v2 .table td, :root body.ui-v2 .table th { padding: 16px 12px; vertical-align: middle; }
:root body.ui-v2 .table-responsive { border-radius: 0; }
:root body.ui-v2 .badge { white-space: normal; line-height: 1.5; max-width: 100%; font-weight: 500; }
:root body.ui-v2 .text-bg-primary { background: var(--ui-accent-soft) !important; color: var(--ui-accent) !important; }
:root body.ui-v2 .legal-badge { background: var(--ui-accent-soft); color: var(--ui-accent); border: 0; border-radius: 4px; }
:root body.ui-v2 .avatar { background: var(--ui-soft); color: var(--ui-accent); border-radius: 6px; flex-shrink: 0; }
:root body.ui-v2 .section-band { padding: 48px 0; background: transparent; }
:root body.ui-v2 .site-footer { margin-top: 24px !important; background: var(--ui-surface) !important; border-color: var(--ui-line) !important; }
:root body.ui-v2 .footer-links a { color: var(--ui-muted); font-size: 12px; }
:root body.ui-v2 .footer-brand strong { color: var(--ui-ink); }
:root body.ui-v2 .footer-brand small { color: var(--ui-muted); }
.studio-container { max-width: 1360px; }
.studio-home { padding: 36px 0 24px; }
.studio-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.studio-eyebrow { display: block; font-size: 10px; font-weight: 600; color: var(--ui-muted); margin-bottom: 10px; }
.studio-page-heading h1 { font-size: 48px; margin: 0; font-weight: 800; }
.studio-page-heading p { margin: 0; font-size: 17px; color: var(--ui-muted); border-left: 1px solid var(--ui-line); padding-left: 30px; }
.studio-page-heading p strong { color: var(--ui-ink); font-weight: 600; }
.studio-finder { display: grid; grid-template-columns: 170px minmax(0,1fr) minmax(0,.85fr) auto; gap: 24px; align-items: center; border-block: 1px solid var(--ui-line); padding: 20px 0; margin-bottom: 32px; }
.finder-title { display: flex; gap: 12px; align-items: center; font-size: 17px; font-weight: 600; }
.finder-title i { font-size: 24px; }
.studio-finder label { font-size: 11px; color: var(--ui-muted); margin-bottom: 5px; }
.studio-finder .btn { align-self: end; }
.studio-start { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 32px; }
.studio-ai-start { display: flex; align-items: center; justify-content: space-between; background: var(--ui-dark); color: #f9fbf5; padding: 32px; min-width: 0; position: relative; overflow: hidden; border-radius: 6px; }
.studio-ai-copy { z-index: 1; min-width: 0; }
.studio-ai-start .studio-eyebrow { color: var(--ui-lime); font-size: 13px; }
.studio-ai-start h2 { font-size: 27px; margin: 16px 0 24px; }
.studio-ai-start > img { width: 210px; height: 270px; object-fit: contain; flex-shrink: 0; margin: -14px -16px -14px 4px; }
.studio-ask { display: flex; align-items: center; justify-content: space-between; gap: 28px; background: var(--ui-lime); color: #242820; border-radius: 4px; padding: 13px 18px; text-decoration: none; font-size: 14px; font-weight: 600; }
.studio-ask:hover { background: #e1f69d; color: #242820; }
.studio-ai-copy > small { display: block; color: #b8c1aa; font-size: 10px; margin-top: 12px; }
.studio-reading { min-width: 0; padding: 2px 0; }
.studio-section-label { display: flex; justify-content: space-between; color: var(--ui-muted); font-size: 11px; }
.studio-section-label i { font-size: 20px; color: var(--ui-violet); }
.studio-reading h2 { font-size: 23px; margin: 8px 0 12px; }
.studio-reading > a:not(.studio-text-link) { display: grid; grid-template-columns: 30px minmax(0,1fr) 20px; gap: 8px; align-items: center; text-decoration: none; color: var(--ui-ink); padding: 14px 0; border-bottom: 1px solid var(--ui-line); font-size: 14px; }
.studio-reading > a strong { font-weight: 500; }
.studio-index { font-size: 11px; color: var(--ui-coral); }
.studio-text-link { display: inline-flex; gap: 16px; align-items: center; color: var(--ui-ink); text-decoration: none; font-size: 13px; font-weight: 600; }
.studio-text-link:hover { color: var(--ui-accent); text-decoration: underline; }
.studio-reading .studio-text-link { margin-top: 16px; }
.studio-section { padding-top: 42px; }
.studio-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.studio-section-heading h2 { font-size: 26px; margin: 0; }
.studio-category-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--ui-line); }
.studio-category-list a { display: flex; gap: 15px; padding: 23px 12px 23px 0; border-bottom: 1px solid var(--ui-line); min-width: 0; color: var(--ui-ink); text-decoration: none; }
.studio-category-list a:hover { background: var(--ui-accent-soft); }
.studio-category-list a > i:first-child { font-size: 23px; color: var(--ui-accent); }
.studio-category-list a:nth-child(3n) > i:first-child { color: var(--ui-violet); }
.studio-category-list a:nth-child(4n) > i:first-child { color: var(--ui-coral); }
.studio-category-list a > i:last-child { font-size: 12px; margin-left: auto; color: var(--ui-muted); }
.studio-category-list span { min-width: 0; }
.studio-category-list strong { display: block; font-size: 15px; font-weight: 600; }
.studio-category-list small { display: block; font-size: 11px; color: var(--ui-muted); margin-top: 5px; overflow-wrap: anywhere; }
.studio-lawyer-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.studio-lawyer { background: var(--ui-surface); padding: 24px; border: 1px solid var(--ui-line); border-radius: 6px; min-width: 0; }
.studio-lawyer-head { display: flex; gap: 14px; align-items: center; }
.studio-lawyer-head h3 { font-size: 17px; margin: 0 0 4px; overflow-wrap: anywhere; }
.studio-lawyer-head span { font-size: 12px; color: var(--ui-muted); }
.studio-lawyer-rating { display: flex; flex-wrap: wrap; gap: 12px; padding: 20px 0; font-size: 11px; color: var(--ui-muted); }
.studio-lawyer-rating i { color: var(--ui-accent); }
.studio-lawyer-bottom { border-top: 1px solid var(--ui-line); padding-top: 18px; display: flex; justify-content: space-between; gap: 12px; align-items: end; }
.studio-lawyer-bottom small { display: block; font-size: 10px; color: var(--ui-muted); }
.studio-lawyer-bottom strong { font-size: 17px; }
.studio-empty { padding: 32px 0; color: var(--ui-muted); grid-column: 1/-1; }
:root body.ui-v2 .lawyer-search-card { display: flex; flex-direction: column; padding: 24px !important; gap: 18px; min-width: 0; height: 100%; }
:root body.ui-v2 .lawyer-search-card h2 { font-size: 19px; overflow-wrap: anywhere; }
:root body.ui-v2 .lawyer-search-card > .btn { align-self: stretch; margin-top: auto; }
:root body.ui-v2 .lawyer-search-card > p { font-size: 14px; color: var(--ui-muted); }
:root body.ui-v2 .lawyer-next-slot { background: var(--ui-accent-soft); color: var(--ui-accent); border: 0; border-radius: 4px; font-size: 12px; }
.directory-heading { padding: 12px 0 26px; border-bottom: 1px solid var(--ui-line); }
.directory-count { color: var(--ui-muted); font-size: 12px; padding: 10px 0 20px; }
:root body.ui-v2 .directory-filters { background: transparent; border: 0; border-radius: 0; padding: 20px 0 !important; margin-inline: 0; border-bottom: 1px solid var(--ui-line); }
.workspace-menu-toggle { display: none; }
.workspace-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--ui-line); margin-bottom: 16px; }
.workspace-tabs button { display: flex; gap: 9px; align-items: center; padding: 12px 20px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--ui-muted); font-size: 14px; font-weight: 600; }
.workspace-tabs button[aria-selected="true"] { border-bottom-color: var(--ui-accent); color: var(--ui-ink); }
.workspace-tabs button:hover { background: var(--ui-soft); }
.analysis-notice { background: var(--ui-lime); color: #242820; padding: 1px 6px; font-size: 10px; border-radius: 3px; }
:root body.ui-v2 .ai-chat-page { padding-block: 20px 0; }
:root body.ui-v2 .ai-chat-page .row { --bs-gutter-x: 24px; --bs-gutter-y: 12px; }
:root body.ui-v2 .ai-chat-page .ai-chat-layout { display: block; min-height: 0; max-width: 1160px; margin-inline: auto; }
:root body.ui-v2 .ai-chat-page .workspace-tabs { max-width: 1160px; margin-inline: auto; }
:root body.ui-v2 .ai-chat-page :is(.ai-case-panel,.ai-chat-room,.ai-analysis-column) { height: calc(100dvh - 184px); min-height: 480px; max-height: none; min-width: 0; margin: 0; }
:root body.ui-v2 .ai-chat-page .ai-chat-layout [hidden] { display: none !important; }
:root body.ui-v2 .ai-chat-page .ai-case-panel { display: flex; flex-direction: column; overflow: hidden; }
:root body.ui-v2 .chat-panel-head { padding: 20px 24px; background: transparent; border-bottom: 1px solid var(--ui-line); }
:root body.ui-v2 .chat-panel-head h2 { font-size: 20px; }
:root body.ui-v2 .chat-contact-list { overflow-y: auto; min-height: 0; padding: 16px; }
:root body.ui-v2 .ai-chat-page .chat-contact-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 12px; }
:root body.ui-v2 .chat-contact { padding: 16px; border: 1px solid var(--ui-line); border-radius: 4px; gap: 12px; min-height: 80px; margin: 0; }
:root body.ui-v2 .chat-contact.active { background: var(--ui-accent-soft); border-color: var(--ui-accent); }
:root body.ui-v2 .chat-contact strong { font-size: 15px; color: var(--ui-ink); }
:root body.ui-v2 .chat-contact small { font-size: 12px; color: var(--ui-muted); }
:root body.ui-v2 .chat-contact.has-delete { padding-right: 44px; }
:root body.ui-v2 .chat-contact.has-delete em { display: none; }
:root body.ui-v2 .chat-avatar { flex: 0 0 38px; width: 38px; height: 38px; background: var(--ui-soft); color: var(--ui-accent); border-radius: 4px; }
:root body.ui-v2 .ai-chat-page .ai-chat-room { display: flex; flex-direction: column; overflow: visible; border: 0; border-radius: 0; background: transparent; }
:root body.ui-v2 .ai-chat-page .chat-room-header { padding: 10px 8px 20px; min-height: 74px; flex: 0 0 auto; background: transparent; border-bottom: 1px solid var(--ui-line); gap: 12px; }
:root body.ui-v2 .ai-chat-page .chat-room-header::after { display: none; }
:root body.ui-v2 .ai-chat-page .chat-room-header h1 { font-size: 20px; }
:root body.ui-v2 .ai-chat-page .chat-room-header p { font-size: 12px; color: var(--ui-muted); margin: 3px 0 0; }
:root body.ui-v2 .ai-chat-page .chat-room-header .chat-avatar.lg { width: 44px; height: 44px; flex-basis: 44px; background: var(--ui-dark); color: var(--ui-lime); box-shadow: none; }
:root body.ui-v2 .ai-ready-pill { background: var(--ui-accent-soft); color: var(--ui-accent); font-size: 11px; border: 0; padding: 6px 10px; border-radius: 3px; }
:root body.ui-v2 .ai-chat-page .ai-room-metrics { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 10px 8px; border: 0; background: transparent; }
:root body.ui-v2 .ai-room-metrics > span { display: flex; align-items: baseline; gap: 7px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; min-width: 0; }
:root body.ui-v2 .ai-room-metrics > span:last-child { display: none; }
:root body.ui-v2 .ai-room-metrics small { font-size: 11px; color: var(--ui-muted); }
:root body.ui-v2 .ai-room-metrics strong { font-size: 12px; white-space: normal; }
:root body.ui-v2 .ai-chat-page .ai-chat-window { flex: 1 1 0; height: auto; min-height: 0; padding: 20px 6% 28px; background: transparent; overflow-y: auto; overscroll-behavior: contain; }
:root body.ui-v2 .ai-chat-page .chat-message { max-width: min(760px,90%); font-size: 15px; line-height: 1.9; padding: 18px 22px; border-radius: 6px; border: 0; box-shadow: none; overflow-wrap: anywhere; }
:root body.ui-v2 .ai-chat-page .ai-chat-row.ai .chat-message { background: var(--ui-surface); color: var(--ui-ink); border-left: 3px solid var(--ui-line); }
:root body.ui-v2 .ai-chat-page .ai-chat-row.user .chat-message { background: var(--ui-accent-soft); color: var(--ui-ink); }
:root body.ui-v2 .ai-chat-page .ai-chat-row { margin-bottom: 22px; }
.chat-welcome { max-width: 650px; margin: 10px auto 28px; padding: 12px 0; }
.chat-welcome-label { color: var(--ui-muted); font-size: 11px; display: block; margin-bottom: 18px; }
.chat-welcome h2 { font-size: 29px; margin: 0 0 12px; }
.chat-welcome p { font-size: 15px; color: var(--ui-muted); max-width: 460px; }
.chat-suggestions { display: grid; max-width: 650px; margin: 0 auto; gap: 0; }
.chat-suggestions button { display: flex; justify-content: space-between; gap: 16px; text-align: left; border: 0; border-bottom: 1px solid var(--ui-line); background: transparent; color: var(--ui-ink); padding: 17px 0; font-size: 14px; }
.chat-suggestions button:hover { color: var(--ui-accent); background: var(--ui-accent-soft); }
:root body.ui-v2 .ai-chat-page .ai-chat-composer, :root body.ui-v2 .ai-chat-page .ai-chat-composer.has-chat-emoji { display: grid; grid-template-columns: minmax(0,1fr) repeat(4,42px); align-items: end; gap: 8px; padding: 14px; background: var(--ui-surface); border: 1px solid var(--ui-line); position: relative; flex: 0 0 auto; border-radius: 6px; margin-bottom: 10px; box-shadow: 0 5px 20px #24282008; }
:root body.ui-v2 .ai-chat-page .ai-chat-composer textarea { min-height: 46px; max-height: 132px; padding: 11px 12px; background: transparent; border: 0; font-size: 15px; box-shadow: none; }
:root body.ui-v2 .ai-chat-page .ai-chat-composer .ai-attach-button, :root body.ui-v2 .ai-chat-page .ai-chat-composer > .btn { width: 42px; height: 46px; min-width: 42px; min-height: 46px; border-radius: 4px; padding: 0; margin: 0; }
:root body.ui-v2 .ai-attach-button { background: transparent; color: var(--ui-muted); border: 1px solid var(--ui-line); }
:root body.ui-v2 .chat-emoji-panel { z-index: 1050; max-width: calc(100% - 16px); background: var(--ui-surface); color: var(--ui-ink); border-color: var(--ui-line); }
:root body.ui-v2 .ai-chat-page .ai-analysis-column { display: block; grid-column: auto; overflow-y: auto; overscroll-behavior: contain; padding: 12px 24px; background: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: 6px; }
:root body.ui-v2 .ai-chat-page .ai-analysis-column .app-card { border: 0; border-radius: 0; border-bottom: 1px solid var(--ui-line); background: transparent; padding: 24px 0 !important; box-shadow: none; }
:root body.ui-v2 .ai-insight-head h2 { font-size: 21px; }
:root body.ui-v2 .ai-insight-head > span { background: var(--ui-soft); color: var(--ui-accent); }
:root body.ui-v2 .ai-insight-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
:root body.ui-v2 .ai-insight-grid > div { padding: 18px 0; background: transparent; border: 0; border-radius: 0; }
:root body.ui-v2 .ai-insight-grid strong { font-size: 16px; }
:root body.ui-v2 .ai-insight-steps { display: none; }
:root body.ui-v2 #analysisPanel ul { padding-left: 22px; }
:root body.ui-v2 #analysisPanel li { background: none; border: 0; padding: 6px 0; overflow-wrap: anywhere; }
:root body.ui-v2 #analysisPanel li::before { display: none; }
:root body.ui-v2 #analysisPanel ul { list-style: disc; }
:root body.ui-v2 .ai-chat-page .ai-analysis-column .analysis-card .row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 0; }
:root body.ui-v2 .ai-chat-page .ai-analysis-column .analysis-card .row > div { width: auto; padding: 0; margin: 0; min-width: 0; background: none; border: 0; box-shadow: none; border-radius: 0; }
:root body.ui-v2 .ai-chat-page .ai-analysis-column .analysis-card .row > .col-12 { grid-column: 1/-1; }
:root body.ui-v2 #analysisPanel .bg-white { background: transparent !important; color: var(--ui-ink); }
:root body.ui-v2 .conversation-hero { background: none; color: var(--ui-ink); border: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; box-shadow: none; padding: 0 0 24px; }
:root body.ui-v2 .conversation-hero h1 { font-size: 26px; }
:root body.ui-v2 .conversation-hero p { color: var(--ui-muted); font-size: 14px; }
:root body.ui-v2 .conversation-hero > i { display: none; }
:root body.ui-v2 .law-chat-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 20px; }
:root body.ui-v2 .chat-room-panel { min-width: 0; }
:root body.ui-v2 .chat-room-header, :root body.ui-v2 .chat-composer-bar { background: var(--ui-surface); border-color: var(--ui-line); }
:root body.ui-v2 .chat-thread-window { background: var(--ui-bg); }
:root body.ui-v2 .chat-contact-panel .chat-contact { margin-bottom: 8px; }
:root body.ui-v2 .conversation-bubble { background: var(--ui-soft); color: var(--ui-ink); border: 0; border-radius: 6px; box-shadow: none; }
:root body.ui-v2 .mine .conversation-bubble { background: var(--ui-accent-soft); color: var(--ui-ink); }
:root body.ui-v2 .conversation-tool { background: var(--ui-soft); color: var(--ui-ink); border-color: var(--ui-line); border-radius: 4px; }
:root body.ui-v2 .booking-card { background: var(--ui-surface); border-color: var(--ui-line); border-radius: 6px; box-shadow: none; padding: 24px; }
:root body.ui-v2 .payment-step { border: 0; border-top: 2px solid var(--ui-line); border-radius: 0; background: transparent; padding: 16px 4px; }
:root body.ui-v2 .payment-step.is-done { border-color: #709e70; }
:root body.ui-v2 .payment-step.is-current { border-color: var(--ui-accent); background: var(--ui-accent-soft); }
:root body.ui-v2 :is(.booking-meta-grid,.payment-detail-grid) > div { border: 0; border-top: 1px solid var(--ui-line); border-radius: 0; background: transparent; padding: 16px 0; }
:root body.ui-v2 :is(.booking-wizard-hero,.match-page-hero) { background: none; color: var(--ui-ink); border: 0; border-radius: 0; box-shadow: none; padding: 0 0 24px; }
:root body.ui-v2 .booking-field-panel { border-radius: 0; background: transparent; border: 0; border-top: 1px solid var(--ui-line); }
:root body.ui-v2 .ai-sidebar-counselor { height: 156px; min-height: 0; border: 0; background: none; box-shadow: none; margin-top: 24px; }
:root body.ui-v2 .ai-sidebar-counselor-figure { width: 146px; height: 156px; }
:root body.ui-v2:has(.ai-chat-page) .site-footer { display: none; }
:root body.ui-v2 .auth-section { background: var(--ui-bg); padding: 40px 0 56px; }
:root body.ui-v2 .auth-shell { max-width: 1020px; border: 0; border-radius: 0; box-shadow: none; background: transparent; overflow: visible; }
:root body.ui-v2 .auth-side { background: var(--ui-dark); color: #f2f6e8; border-radius: 0; padding: 40px; }
:root body.ui-v2 .auth-title { font-size: 28px; color: #fff; }
:root body.ui-v2 .auth-copy { color: #c3cbb7; font-size: 14px; }
:root body.ui-v2 .auth-card { background: var(--ui-surface); padding: 36px; border-radius: 0; }
:root body.ui-v2 .auth-stage { background: transparent; border: 0; border-radius: 0; padding: 0; margin-top: 24px; box-shadow: none; }
:root body.ui-v2 .auth-stage-row { border-bottom: 1px solid #49523c; background: transparent; color: #f0f5e8; padding: 18px 0; }
:root body.ui-v2 .auth-stage-row i { background: #3d482e; color: #d5ee76; border-radius: 4px; box-shadow: none; }
:root body.ui-v2 .auth-stage-row span { color: #bdc7b0; font-size: 12px; }
:root body.ui-v2 .auth-stage-top { color: #d5ee76; font-size: 11px; }
:root body.ui-v2 .auth-meta-grid > div { border: 0; border-radius: 0; background: transparent; padding: 12px 0; }
:root body.ui-v2 .auth-meta-grid span { color: #bdc7b0; }
:root body.ui-v2 .auth-requirements { border-color: #49523c; }
:root body.ui-v2 .auth-switch { display: flex; background: transparent; padding: 0; gap: 0; border: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; }
:root body.ui-v2 .auth-switch a { flex: 1; background: none; color: var(--ui-muted); border-radius: 0; border-bottom: 3px solid transparent; font-size: 13px; }
:root body.ui-v2 .auth-switch a.active { color: var(--ui-ink); background: transparent; border-bottom-color: var(--ui-accent); box-shadow: none; }
:root body.ui-v2 .auth-eyebrow { color: var(--ui-muted); background: none; font-size: 10px; }
:root body.ui-v2 .auth-demo-card, :root body.ui-v2 .auth-lock-note, :root body.ui-v2 .auth-consent { background: var(--ui-soft); color: var(--ui-ink); border: 0; border-radius: 4px; padding: 14px; }
:root body.ui-v2 .auth-demo-card { flex-wrap: wrap; }
:root body.ui-v2 .auth-input-icon .form-control { min-height: 58px; }
:root body.ui-v2 .auth-footnote a { color: var(--ui-accent); }
:root body.ui-v2 .auth-footnote { flex-wrap: wrap; }
.studio-login { max-width: 460px; margin: 0 auto; padding: 48px 16px 56px; }
.studio-login-heading { margin-bottom: 24px; }
.studio-login-heading h1 { font-size: 30px; font-weight: 700; }
.studio-login-form { padding: 28px; background: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: 6px; }
.studio-login-title { display: flex; align-items: center; gap: 12px; margin: 24px 0; }
.studio-login-title > i { background: var(--ui-soft); color: var(--ui-accent); padding: 8px 12px; border-radius: 4px; }
.studio-login-title h2 { font-size: 19px; margin: 0; }
:root body.ui-v2 .studio-login .form-control { min-height: 48px; }
:root body.ui-v2 .studio-login .auth-password-toggle { top: 4px; background: transparent; color: var(--ui-muted); }
.studio-login-back { display: flex; justify-content: center; align-items: center; gap: 12px; color: var(--ui-muted); margin-top: 24px; font-size: 13px; text-decoration: none; }
.studio-login-heading h1 { overflow-wrap: anywhere; }
:root body.ui-v2 .studio-login .auth-divider span { background: var(--ui-surface); }
:root body.ui-v2 .studio-login .auth-divider::before { background: var(--ui-line); }
:root body.ui-v2 .google-signin-button { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #747775; border-radius: 4px; background: #fff; color: #1f1f1f; font-size: 14px; font-weight: 500; line-height: 20px; text-decoration: none; transition: background-color .16s; }
:root body.ui-v2 .google-signin-button:hover:not(:disabled) { background: #f2f2f2; }
:root body.ui-v2 .google-signin-button:disabled { cursor: not-allowed; }
.google-signin-button img { flex: 0 0 20px; width: 20px; height: 20px; object-fit: contain; }
.google-signin-button span { overflow-wrap: anywhere; }
.google-link-form { max-width: 440px; margin-block: 8px; }
.google-setup-section { padding-block: 24px; border-top: 1px solid var(--ui-line); }
.oauth-callback-line { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.oauth-callback-line code { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.oauth-callback-line button { flex: 0 0 44px; width: 44px; padding-inline: 0 !important; }
.google-setup-checks { list-style: none; padding: 0; margin-bottom: 20px; }
.google-setup-checks li { display: flex; align-items: baseline; gap: 12px; padding-block: 10px; border-bottom: 1px solid var(--ui-line); }
.google-setup-checks li span { flex: 1; }
.google-setup-checks li strong { font-size: 12px; font-weight: 500; }
.google-setup-checks .bi-check-circle { color: var(--ui-accent); }
.google-setup-steps { padding-left: 24px; max-width: 800px; }
.google-setup-steps li { padding: 0 0 16px 6px; }
.auth-form[aria-busy="true"] button[type="submit"]::after { content: ""; display: inline-block; width: 14px; height: 14px; margin-inline-start: 10px; vertical-align: middle; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: auth-spin .75s linear infinite; }
@keyframes auth-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .auth-form[aria-busy="true"] button[type="submit"]::after { animation: none; } }
.guide-page { padding-block: 40px 64px; }
.guide-page h1 { font-size: 32px; }
.guide-search { max-width: 540px; display: flex; gap: 8px; margin-block: 24px 32px; }
.guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.guide-item { padding: 26px; display: flex; flex-direction: column; }
.guide-item > i { font-size: 26px; color: var(--ui-accent); margin-bottom: 24px; }
.guide-item:nth-child(3n) > i { color: var(--ui-coral); }
.guide-item h2 { font-size: 20px; }
.guide-item p { color: var(--ui-muted); font-size: 14px; }
.guide-item a { margin-top: auto; color: var(--ui-accent); }
.guide-article { max-width: 800px; margin-inline: auto; }
.guide-article h2 { font-size: 21px; margin: 32px 0 12px; }
.guide-article .guide-example { border-left: 3px solid var(--ui-accent); padding: 4px 0 4px 20px; }
.guide-article li { margin-bottom: 10px; }
.integration-row { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--ui-line); }
.integration-row > i { font-size: 24px; color: var(--ui-accent); }
.integration-row h2 { font-size: 17px; margin: 0 0 4px; }
.integration-row p { margin: 0; font-size: 14px; color: var(--ui-muted); }
.soft-reveal { opacity: 0; transform: translateY(8px); transition: opacity .3s, transform .3s; }
.soft-reveal.is-revealed { opacity: 1; transform: none; }
/* Override legacy night-mode utility rules that use !important. */
:root[data-theme="night"] body.ui-v2 :is(.app-card,.stat-card,.admin-stat-card,.admin-feed-list a,.auth-card,.auth-demo-card,.auth-demo,.auth-lock-note,.auth-consent,.auth-checkbox-item,.profile-social-item,.bg-white) { background: var(--ui-surface) !important; color: var(--ui-ink); border-color: var(--ui-line) !important; }
:root[data-theme="night"] body.ui-v2 .app-sidebar { background: var(--ui-dark) !important; }
:root[data-theme="night"] body.ui-v2 :is(.admin-nav,.admin-public-link,.auth-switch) { background: transparent !important; }
:root[data-theme="night"] body.ui-v2 .ai-chat-page .ai-chat-room,
:root[data-theme="night"] body.ui-v2 .ai-chat-page .ai-analysis-column .app-card,
:root[data-theme="night"] body.ui-v2 .ai-chat-page .ai-analysis-column .analysis-card .row > div,
:root[data-theme="night"] body.ui-v2 #analysisPanel li,
:root[data-theme="night"] body.ui-v2 #analysisPanel .border.rounded-2.p-2.bg-white { background: transparent !important; border-color: var(--ui-line) !important; }
@media (min-width: 992px) {
    :root body.ui-v2 .dashboard-shell > :is(.container,.container-fluid) > .row > :is(.col-lg-2,.col-lg-3) { flex: 0 0 222px; width: 222px; max-width: 222px; }
    :root body.ui-v2 .dashboard-shell > :is(.container,.container-fluid) > .row > :is(.col-lg-9,.col-lg-10) { flex: 1; width: calc(100% - 222px); min-width: 0; max-width: none; }
    :root body.ui-v2 .app-sidebar { position: sticky; top: 96px; max-height: calc(100dvh - 120px); overflow-y: auto; }
}
@media (min-width: 992px) and (max-height: 800px) {
    :root body.ui-v2 .ai-chat-page .app-sidebar .list-group-item { min-height: 38px; padding-block: 7px; }
    :root body.ui-v2 .ai-chat-page .sidebar-caption { padding: 6px 12px 14px; }
    :root body.ui-v2 .ai-sidebar-counselor { height: 96px; margin-top: 12px; }
    :root body.ui-v2 .ai-sidebar-counselor-figure { width: 90px; height: 96px; }
}
@media (max-width: 1199px) {
    :root body.ui-v2 .navbar > .container { gap: 12px; }
    :root body.ui-v2 .navbar .nav-link { padding-inline: 8px; font-size: 13px; }
    .studio-start { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 24px; }
    .studio-ai-start { padding: 26px; }
    .studio-ai-start > img { width: 150px; height: 230px; }
    .studio-ai-start h2 { font-size: 24px; }
    .studio-category-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991px) {
    :root body.ui-v2 .navbar > .container { padding-inline: 20px; }
    :root body.ui-v2 .dashboard-shell > :is(.container,.container-fluid) { padding-inline: 20px !important; }
    .workspace-menu-toggle { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--ui-line); border-radius: 4px; background: var(--ui-dark); color: #e9f0df; font-size: 13px; }
    .workspace-menu-toggle i:last-child { margin-left: auto; }
    :root body.ui-v2.workspace-enhanced .app-sidebar { display: none; margin-top: 8px; }
    :root body.ui-v2.workspace-enhanced .app-sidebar.is-menu-open { display: block; }
    :root body.ui-v2 .ai-sidebar-counselor { display: none; }
    :root body.ui-v2 .ai-chat-page :is(.ai-case-panel,.ai-chat-room,.ai-analysis-column) { height: calc(100dvh - 230px); min-height: 460px; }
    .studio-finder { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
    .finder-title { grid-column: 1/-1; }
    .studio-finder .btn { grid-column: 1/-1; }
    .studio-start { grid-template-columns: 1fr; }
    .studio-ai-start > img { width: 230px; height: 270px; }
    .studio-ai-start h2 { font-size: 29px; }
    .studio-reading { padding-top: 10px; }
    .studio-lawyer-list, .guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    :root body.ui-v2 .auth-side { padding: 28px; }
}
@media (max-width: 575px) {
    :root body.ui-v2 .navbar { min-height: 66px; }
    :root body.ui-v2 .navbar > .container { padding-inline: 16px; }
    :root body.ui-v2 .brand-wordmark strong { font-size: 20px; }
    :root body.ui-v2 .brand-wordmark small { font-size: 8px; }
    :root body.ui-v2 .dashboard-shell > :is(.container,.container-fluid) { padding-inline: 16px !important; }
    :root body.ui-v2 .dashboard-shell { padding-top: 20px; }
    :root body.ui-v2 h1.h3 { font-size: 24px; }
    .studio-home { padding-top: 24px; }
    .studio-container { padding-inline: 20px; }
    .studio-page-heading { display: block; margin-bottom: 24px; }
    .studio-page-heading h1 { font-size: 37px; }
    .studio-page-heading p { border: 0; padding: 0; font-size: 14px; margin-top: 12px; }
    .studio-page-heading p br { display: none; }
    .studio-page-heading p strong { margin-left: 6px; }
    .studio-eyebrow { font-size: 9px; }
    .studio-finder { padding-block: 16px; margin-bottom: 24px; gap: 12px; }
    .studio-ai-start { padding: 24px 20px; min-height: 270px; align-items: start; }
    .studio-ai-start > img { width: 100px; height: 150px; position: absolute; right: 6px; top: 24px; margin: 0; }
    .studio-ai-copy { width: 100%; }
    .studio-ai-start h2 { font-size: 22px; max-width: calc(100% - 100px); min-height: 88px; }
    .studio-ai-start .studio-ask { margin-top: 30px; }
    .studio-ai-copy > small { font-size: 9px; }
    .studio-section { padding-top: 32px; }
    .studio-section-heading { align-items: start; }
    .studio-section-heading h2 { font-size: 22px; }
    .studio-section-heading > a { font-size: 11px; gap: 6px; flex-shrink: 0; padding-top: 25px; }
    .studio-category-list a { gap: 10px; padding: 18px 8px 18px 0; }
    .studio-category-list a > i:first-child { font-size: 19px; }
    .studio-category-list a > i:last-child { display: none; }
    .studio-category-list strong { font-size: 14px; }
    .studio-category-list small { font-size: 11px; }
    .studio-lawyer-list, .guide-grid { grid-template-columns: minmax(0,1fr); }
    .operations-summary { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 12px; }
    .operations-summary > div { padding: 4px 0 16px; }
    .operations-summary > div + div { padding-left: 0; border: 0; }
    .operations-summary strong { font-size: 23px; }
    .operations-summary i { right: 4px; top: 28px; }
    .directory-heading { flex-wrap: wrap; gap: 18px; }
    :root body.ui-v2 .ai-chat-page .chat-room-header { padding: 8px 0 14px; min-height: 64px; }
    :root body.ui-v2 .ai-chat-page .chat-room-header h1 { font-size: 18px; }
    :root body.ui-v2 .ai-ready-pill { display: none; }
    :root body.ui-v2 .ai-chat-page .ai-chat-window { padding: 16px 0; }
    :root body.ui-v2 .ai-chat-page .chat-message { max-width: 100%; padding: 14px; font-size: 15px; }
    :root body.ui-v2 .ai-chat-page .ai-room-metrics { padding: 8px 0; gap: 6px 12px; }
    :root body.ui-v2 .ai-chat-page .ai-room-metrics span:first-child { display: none; }
    :root body.ui-v2 .ai-chat-page .ai-chat-composer.has-chat-emoji { grid-template-columns: repeat(3,42px) minmax(0,1fr) 42px; gap: 6px; padding: 10px; }
    :root body.ui-v2 .ai-chat-page .ai-chat-composer textarea { grid-column: 1/-1; grid-row: 1; }
    :root body.ui-v2 .ai-chat-page .ai-chat-composer > button[type="submit"] { grid-column: 5; }
    :root body.ui-v2 .ai-chat-page .ai-analysis-column { padding: 8px 16px; }
    :root body.ui-v2 .ai-insight-grid { grid-template-columns: 1fr; gap: 0; }
    :root body.ui-v2 .ai-insight-grid > div { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--ui-line); }
    :root body.ui-v2 .ai-chat-page .chat-contact-list { grid-template-columns: minmax(0,1fr); padding: 12px; }
    :root body.ui-v2 .ai-chat-page .ai-analysis-column .analysis-card .row { grid-template-columns: minmax(0,1fr); }
    :root body.ui-v2 .law-chat-layout { grid-template-columns: minmax(0,1fr); }
    :root body.ui-v2 .chat-contact-panel .chat-contact-list { max-height: 200px; }
    .workspace-tabs { margin-bottom: 12px; }
    .workspace-tabs button { padding: 10px 12px; font-size: 13px; gap: 6px; }
    .chat-welcome { margin: 0 auto 16px; }
    .chat-welcome h2 { font-size: 23px; }
    .chat-welcome p { font-size: 14px; }
    .chat-suggestions button { font-size: 13px; padding: 14px 0; }
    :root body.ui-v2 .auth-section { padding-top: 16px; }
    :root body.ui-v2 .auth-card { padding: 24px 20px; }
    :root body.ui-v2 .auth-title { font-size: 24px; }
    .guide-page h1 { font-size: 27px; }
    .integration-row { grid-template-columns: 28px minmax(0,1fr); }
    .integration-row > :last-child { grid-column: 2; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
    .soft-reveal { opacity: 1; transform: none; transition: none; }
    :root body.ui-v2 *, :root body.ui-v2 *::before, :root body.ui-v2 *::after { animation: none !important; scroll-behavior: auto !important; }
}

