:root {
        color-scheme: light;
        --forest: #0d4438;
        --forest-2: #123b33;
        --forest-3: #1b594a;
        --ink: #173a32;
        --muted: #63746e;
        --paper: #f6f3eb;
        --paper-2: #edf3ee;
        --white: #fff;
        --acid: #d9f596;
        --acid-2: #bfe26b;
        --wine: #8e2d34;
        --gold: #b98848;
        --line: rgba(13, 68, 56, .17);
        --shadow: 0 1.2rem 4rem rgba(13, 44, 36, .14);
        --serif: Georgia, "Times New Roman", serif;
        --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      }
      
      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; }
      body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); }
      button, input, textarea, select { font: inherit; }
      button, a { -webkit-tap-highlight-color: transparent; }
      button { cursor: pointer; }
      a { color: inherit; }
      img { max-width: 100%; }
      [hidden] { display: none !important; }
      .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
      .skip-link { position: fixed; z-index: 1000; left: 1rem; top: -5rem; padding: .8rem 1rem; background: white; border-radius: .6rem; }
      .skip-link:focus { top: 1rem; }
      
      .notice-bar { min-height: 2.1rem; display: grid; place-items: center; padding: .45rem 1rem; background: var(--acid); color: #263c24; font-size: .76rem; font-weight: 850; letter-spacing: .075em; text-align: center; text-transform: uppercase; }
      .site-header { position: sticky; top: 0; z-index: 40; min-height: 5rem; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: 1.2rem; row-gap: .35rem; padding: .65rem clamp(1rem, 4vw, 4rem) .5rem; background: rgba(246, 243, 235, .95); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
      .brand { grid-column: 1; grid-row: 1; display: flex; align-items: center; gap: .7rem; color: var(--forest); text-decoration: none; font-size: 1.15rem; font-weight: 700; white-space: nowrap; }
      .brand img { width: 2.6rem; height: 2.6rem; object-fit: contain; }
      .brand strong { color: #62a429; }
      .main-nav { grid-column: 1 / -1; grid-row: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .1rem; border-top: 1px solid var(--line); padding-top: .3rem; }
      .main-nav a { border-radius: 999px; padding: .55rem .75rem; color: #36574e; font-size: .9rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
      .main-nav a:hover, .main-nav a[aria-current="page"] { background: rgba(13, 68, 56, .08); color: var(--forest); }
      .paid-mark { margin-left: .25rem; padding: .17rem .37rem; border-radius: 999px; background: #f0ddbd; color: #70491f; font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }
      .header-actions { grid-column: 3; grid-row: 1; justify-self: end; display: flex; align-items: center; gap: .55rem; }
      .icon-button, .login-button, .logout-button, .community-button, .mobile-menu { min-height: 2.65rem; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--forest); }
      .icon-button { width: 2.65rem; font-size: 1.45rem; }
      .settings-button { display: inline-grid; place-items: center; text-decoration: none; font-size: 1.15rem; }
      .settings-button[hidden] { display: none; }
      .admin-month-stats { min-height: 2.65rem; display: inline-flex; align-items: center; padding: 0 .8rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper-2); color: var(--forest); font-size: .69rem; font-weight: 850; white-space: nowrap; }
      .admin-month-stats[hidden] { display: none; }
      .login-button { display: inline-flex; align-items: center; gap: .65rem; padding: 0 1.05rem; background: var(--forest); color: white; font-weight: 800; text-decoration: none; white-space: nowrap; }
      .login-validity { border-left: 1px solid rgba(255,255,255,.35); padding-left: .65rem; color: #d7e5e0; font-size: .68rem; font-weight: 650; }
      .logout-button { padding: 0 1rem; font-size: .84rem; font-weight: 800; }
      .community-button { display: inline-flex; align-items: center; gap: .4rem; padding: 0 1rem; border-color: #aacd58; background: var(--acid); color: #243d28; font-weight: 900; text-decoration: none; box-shadow: 0 .35rem 1rem rgba(73,112,36,.14); }
      .mobile-menu { display: none; padding: 0 .9rem; }
      
      main { min-height: 60vh; }
      .route-loading { width: min(78rem, calc(100% - 2rem)); margin: 4rem auto; color: var(--muted); }
      .shell { width: min(84rem, calc(100% - 2.2rem)); margin: 0 auto; }
      .hero { min-height: 32rem; display: grid; grid-template-columns: minmax(0, .95fr) minmax(22rem, 1.05fr); overflow: hidden; background: var(--forest); color: white; }
      .hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3.5rem, 7vw, 7.4rem) clamp(1.5rem, 6vw, 6.5rem); }
      .eyebrow, .kicker { color: #b6d978; font-size: .74rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
      .hero h1, .page-hero h1, .section-heading h2, .editorial h2 { margin: .7rem 0 1.1rem; font-family: var(--serif); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
      .hero h1 { max-width: 12ch; font-size: clamp(3.2rem, 6.4vw, 6rem); }
      .hero p { max-width: 43rem; margin: 0; color: #d6e4df; font-size: 1.08rem; line-height: 1.7; }
      .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
      .button, .primary-button, .secondary-button { min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 999px; padding: .65rem 1.15rem; font-weight: 820; text-decoration: none; }
      .button-primary, .primary-button { background: var(--acid); color: #233b29; }
      .button-ghost, .secondary-button { border-color: currentColor; background: transparent; color: inherit; }
      .hero-photo { min-height: 32rem; position: relative; background: #315d51 url('/assets/hero-advogados-tribunal.jpg') center / cover no-repeat; }
      .hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,68,56,.45), transparent 45%); }
      
      .stat-row { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); width: min(76rem, calc(100% - 2rem)); margin: -2.4rem auto 0; background: white; border: 1px solid var(--line); border-radius: 1.1rem; box-shadow: var(--shadow); }
      .stat { padding: 1.35rem 1.5rem; }
      .stat + .stat { border-left: 1px solid var(--line); }
      .stat strong { display: block; color: var(--forest); font-family: var(--serif); font-size: 2.1rem; }
      .stat span { color: var(--muted); font-size: .8rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
      .section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
      .section-soft { background: var(--paper-2); }
      .section-heading { display: grid; grid-template-columns: minmax(0, .85fr) minmax(18rem, 1fr); align-items: end; gap: 3rem; margin-bottom: 2.7rem; }
      .section-heading h2 { font-size: clamp(2.5rem, 4.3vw, 4.7rem); }
      .section-heading p { margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
      .hub-grid, .guide-grid, .law-grid, .student-grid, .profile-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
      .hub-card, .guide-card, .law-card, .student-card, .profile-card { min-height: 16rem; display: flex; flex-direction: column; justify-content: space-between; gap: 1.2rem; border: 1px solid var(--line); border-radius: 1.15rem; padding: 1.4rem; background: white; text-decoration: none; }
      .hub-card:hover, .guide-card:hover, .law-card:hover, .student-card:hover { border-color: var(--forest-3); transform: translateY(-2px); }
      .card-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: .8rem; background: var(--acid); color: var(--forest); font-weight: 950; }
      .hub-card h3, .guide-card h3, .law-card h3, .student-card h3 { margin: 0; font-family: var(--serif); font-size: 1.75rem; font-weight: 500; }
      .hub-card p, .guide-card p, .law-card p, .student-card p { margin: .5rem 0 0; color: var(--muted); line-height: 1.6; }
      .card-link { color: var(--forest); font-size: .85rem; font-weight: 850; }
      .free-badge, .warning-badge { width: fit-content; padding: .35rem .58rem; border-radius: 999px; font-size: .7rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
      .free-badge { background: #ddf2d8; color: #256230; }
      .warning-badge { background: #f4e3d1; color: #874621; }
      
      .editorial { display: grid; grid-template-columns: 1fr 1fr; min-height: 27rem; background: var(--forest); color: white; }
      .editorial-photo { background: url('/assets/biblioteca-direito.jpg') center / cover no-repeat; }
      .editorial-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.5rem, 6vw, 6rem); }
      .editorial h2 { font-size: clamp(2.5rem, 4vw, 4.2rem); }
      .editorial p { color: #d3e2dc; line-height: 1.7; }
      
      .page-hero { padding: clamp(3.8rem, 7vw, 6rem) 0 2.8rem; background: var(--forest); color: white; }
      .page-hero.compact { padding-bottom: 3.5rem; }
      .page-hero h1 { max-width: 14ch; font-size: clamp(3rem, 6vw, 5.8rem); }
      .page-hero p { max-width: 48rem; margin: 0; color: #d4e3de; font-size: 1.08rem; line-height: 1.7; }
      .legislation-hero { padding: 1.15rem 0 1rem; }
      .legislation-hero .shell { display: grid; grid-template-columns: max-content minmax(24rem, 1fr); grid-template-areas: "eyebrow eyebrow" "title description"; align-items: end; column-gap: 2.4rem; }
      .legislation-hero .eyebrow { grid-area: eyebrow; }
      .legislation-hero h1 { grid-area: title; max-width: none; margin: .25rem 0 0; font-size: clamp(2.25rem, 3.2vw, 3.65rem); line-height: .94; white-space: nowrap; }
      .legislation-hero p { grid-area: description; max-width: 52rem; padding-bottom: .25rem; font-size: 1rem; line-height: 1.5; }
      .news-hero { padding: 1.15rem 0 1rem; }
      .news-hero .shell { display: grid; grid-template-columns: max-content minmax(24rem, 1fr); grid-template-areas: "eyebrow eyebrow" "title description"; align-items: end; column-gap: 2.4rem; }
      .news-hero .eyebrow { grid-area: eyebrow; }
      .news-hero h1 { grid-area: title; max-width: none; margin: .25rem 0 0; font-size: clamp(2.15rem, 3vw, 3.45rem); line-height: .95; }
      .news-hero p { grid-area: description; max-width: 52rem; padding-bottom: .2rem; font-size: .98rem; line-height: 1.45; }
      .news-content { padding-top: 1.25rem; }
      .news-content .legal-alert { padding: .75rem 1rem; line-height: 1.45; }
      .news-section-heading { gap: 2rem; margin-bottom: 1.25rem; }
      .news-section-heading h2 { font-size: clamp(2rem, 3vw, 3.25rem); }
      .news-section-heading p { font-size: .96rem; line-height: 1.5; }
      .news-leading-heading { margin-top: 1.2rem; }
      .news-archive-heading { margin-top: 3rem; }
      .page-tools { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem; }
      .content-section { padding: 3rem 0 6rem; }
      .legislation-content { padding-top: 1.35rem; }
      .legislation-content .search-row { margin-bottom: .8rem; }
      .legislation-content .legal-alert { padding: .8rem 1rem; font-size: .9rem; line-height: 1.45; }
      .search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; margin-bottom: 1.2rem; }
      .search-field, .field, .message-field, select { width: 100%; border: 1px solid var(--line); border-radius: .8rem; padding: .8rem 1rem; background: white; color: var(--ink); }
      .search-field { min-height: 3.25rem; font-size: 1rem; }
      .filter-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
      .filter-button { border: 1px solid var(--line); border-radius: 999px; padding: .55rem .8rem; background: transparent; color: var(--forest); }
      .filter-button.active { background: var(--forest); color: white; }
      .result-count { margin: 0 0 1rem; color: var(--muted); }
      .list-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
      .result-card { display: flex; flex-direction: column; min-height: 15rem; border: 1px solid var(--line); border-radius: 1rem; padding: 1.25rem; background: white; }
      .result-card small { color: var(--muted); }
      .result-card h2 { margin: .75rem 0 .55rem; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; line-height: 1.15; }
      .result-card p { display: -webkit-box; overflow: hidden; margin: 0 0 1rem; color: var(--muted); line-height: 1.55; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
      .result-card button, .result-card a { margin-top: auto; align-self: flex-start; border: 0; background: transparent; color: var(--forest); font-weight: 850; text-decoration: none; }
      .pagination { display: flex; justify-content: center; align-items: center; gap: .7rem; margin-top: 2rem; }
      .pagination button { border: 1px solid var(--line); border-radius: 999px; padding: .65rem 1rem; background: white; }
      
      .guide-card { min-height: 25rem; }
      .guide-card ol, .check-list { margin: .5rem 0 0; padding-left: 1.2rem; color: #49645c; line-height: 1.65; }
      .source-links { display: flex; flex-wrap: wrap; gap: .5rem; }
      .source-links a { border-bottom: 1px solid currentColor; color: var(--forest); font-size: .82rem; font-weight: 800; text-decoration: none; }
      .legal-alert, .disclaimer { border-left: .35rem solid var(--gold); padding: 1.2rem 1.35rem; background: #fff8e8; color: #5b4a2e; line-height: 1.65; }
      .disclaimer h2 { margin-top: 0; color: var(--ink); font-family: var(--serif); font-size: 2rem; font-weight: 500; }
      .law-grid { margin-top: 1rem; }
      .law-grid.law-grid-primary { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
      .law-grid-primary > .law-card { flex: 0 1 calc((100% - 2.8rem) / 5); min-width: 0; min-height: 9.4rem; padding: .78rem; gap: .48rem; }
      .law-grid-primary > .law-card h3 { font-size: 1.05rem; line-height: 1.06; }
      .law-grid-primary > .law-card .card-icon { width: auto; min-width: 2.15rem; height: 2.15rem; padding: 0 .32rem; border-radius: .62rem; font-size: .69rem; }
      .law-grid-primary > .law-card .law-storage-note { margin-top: .42rem; font-size: .66rem; line-height: 1.28; }
      .law-grid-primary > .law-card .law-actions { gap: .32rem; align-items: center; }
      .law-grid-primary > .law-card .law-pdf-link { padding: .35rem .48rem; font-size: .68rem; }
      .law-grid-primary > .law-card .law-source-confirm { font-size: .61rem; }
      .law-grid-primary > .law-card .law-refresh-button { font-size: .59rem; }
      .law-grid.law-grid-sources { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.25rem; }
      .law-card { min-height: 11.5rem; padding: 1.05rem; gap: .8rem; }
      .law-card h3 { font-size: 1.4rem; line-height: 1.08; }
      .law-card .card-icon { width: 2.65rem; height: 2.65rem; font-size: .86rem; }
      .law-grid-sources .law-card { min-height: 13rem; padding: 1.35rem; }
      .law-grid-sources .law-card h3 { font-size: 1.7rem; }
      .law-card .law-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
      .law-card a { color: var(--forest); font-size: .82rem; font-weight: 850; text-decoration: none; }
      .law-card .law-source-link { display: inline-flex; align-items: center; justify-content: center; width: 2.7rem; height: 2.7rem; border: 1px solid var(--line); border-radius: 50%; background: var(--paper-2); font-size: 1.45rem; line-height: 1; }
      .law-card .law-storage-note { margin-top: .7rem; color: var(--muted); font-family: var(--sans); font-size: .78rem; line-height: 1.35; }
      .law-card .law-pdf-link { padding: .48rem .72rem; border-radius: 999px; background: var(--acid); }
      .law-card .law-search-link { display: inline-grid; width: 1.65rem; height: 1.65rem; flex: 0 0 1.65rem; place-items: center; align-self: center; padding: 0; border-radius: 50%; background: transparent; color: #71837c; opacity: .72; }
      .law-card .law-search-link svg { width: 1.12rem; height: 1.12rem; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; }
      .law-card .law-search-link:hover, .law-card .law-search-link:focus-visible { background: var(--lime-soft); color: var(--forest); opacity: 1; }
      .law-card .law-source-confirm { align-self: center; color: #71837c; font-size: .69rem; font-weight: 650; opacity: .68; }
      .law-card .law-source-confirm:hover, .law-card .law-source-confirm:focus-visible { color: var(--forest); opacity: 1; text-decoration: underline; }
      .law-refresh-button { align-self: center; border: 0; padding: .16rem .28rem; background: transparent; color: #81918b; font-size: .67rem; font-weight: 650; line-height: 1.1; opacity: .62; cursor: pointer; }
      .law-refresh-button:hover, .law-refresh-button:focus-visible { color: var(--forest); opacity: 1; text-decoration: underline; }
      .law-refresh-button:disabled { cursor: wait; opacity: .38; }
      .law-search-shell { max-width: 62rem; }
      .law-code-search { position: sticky; z-index: 3; top: .5rem; padding: .7rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(247, 244, 236, .96); box-shadow: 0 .5rem 1.5rem rgba(12, 54, 45, .08); backdrop-filter: blur(10px); }
      .law-code-search .primary-button { min-width: 9rem; }
      .law-search-result { overflow: hidden; margin-bottom: .7rem; border: 1px solid var(--line); border-radius: 1rem; background: white; }
      .law-search-result summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.15rem; color: var(--forest); cursor: pointer; list-style: none; }
      .law-search-result summary::-webkit-details-marker { display: none; }
      .law-search-result summary strong { font-family: var(--serif); font-size: 1.25rem; }
      .law-search-result summary small { display: block; margin-top: .25rem; color: var(--muted); font-size: .72rem; }
      .law-search-result[open] summary { border-bottom: 1px solid var(--line); background: var(--acid); }
      .law-search-result > div { padding: 1rem 1.2rem 1.25rem; }
      .law-search-result p { margin: 0 0 .72rem; line-height: 1.6; }
      .student-banner { display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border-radius: 1.2rem; background: #e7eee8; }
      .student-banner-image { min-height: 25rem; background: url('/assets/livros-juridicos.jpg') center / cover no-repeat; }
      .student-banner-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); }
      .student-banner-copy h2 { font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 500; }
      .student-banner-copy p { color: var(--muted); line-height: 1.7; }
      .student-card { min-height: 14rem; }
      .community-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 2rem; align-items: start; }
      .community-form { border: 1px solid var(--line); border-radius: 1.2rem; padding: 1.4rem; background: white; }
      .community-form form { display: grid; gap: .9rem; }
      .field-label { display: grid; gap: .4rem; color: var(--ink); font-size: .86rem; font-weight: 750; }
      .account-page { min-height: calc(100dvh - 16rem); display: grid; place-items: start center; padding: clamp(1.1rem, 3vw, 2.5rem) 1rem 5rem; }
      .account-card { width: min(40rem, 100%); border: 1px solid var(--line); border-radius: 1.2rem; padding: clamp(1.4rem, 4vw, 2.6rem); background: white; box-shadow: 0 .8rem 2.5rem rgba(13,44,36,.08); }
      .account-card-wide { width: min(52rem, 100%); }
      .account-card h1 { margin: .45rem 0 .75rem; font-family: var(--serif); font-size: clamp(2.25rem, 5vw, 3.6rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
      .account-card h2 { margin: 1.6rem 0 .5rem; font-family: var(--serif); font-weight: 500; }
      .account-intro, .account-card > p { color: var(--muted); line-height: 1.6; }
      .account-form { display: grid; gap: 1rem; margin-top: 1.4rem; }
      .account-form .button { width: 100%; }
      .account-note { margin: 1.35rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .88rem; }
      .account-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 1.4rem 0; }
      .account-meta div { display: grid; gap: .25rem; border: 1px solid var(--line); border-radius: .85rem; padding: .9rem 1rem; background: var(--paper-2); }
      .account-meta small { color: var(--muted); }
      .payment-reference { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .payment-reference strong { font-size: clamp(1.05rem, 2.5vw, 1.35rem); overflow-wrap: anywhere; }
      .payment-warning { margin-top: 1.4rem; }
      .consent { display: flex; gap: .65rem; align-items: flex-start; color: var(--muted); font-size: .86rem; line-height: 1.5; }
      .profile-card { min-height: 12rem; }
      .profile-card img { width: 5rem; height: 5rem; border-radius: 50%; object-fit: cover; background: var(--paper-2); }
      .profile-card h3 { margin: 0; font-family: var(--serif); font-weight: 500; }
      .profile-card p { margin: 0; color: var(--muted); line-height: 1.55; }
      
      .site-footer { display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding: 3.5rem clamp(1rem, 5vw, 5rem); background: #092f28; color: #d7e5e0; }
      .footer-brand { color: white; font-family: var(--serif); font-size: 2rem; text-decoration: none; }
      .site-footer p { color: #9db6ae; }
      .site-footer nav { display: flex; flex-wrap: wrap; gap: 1rem; align-content: start; }
      .site-footer nav a { color: #d7e5e0; text-decoration: none; }
      .site-footer nav button { padding: 0; border: 0; background: transparent; color: #d7e5e0; font: inherit; text-decoration: underline; cursor: pointer; }
      .site-footer small { grid-column: 1 / -1; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); color: #90aba2; }

      .policy-document { max-width: 68rem; color: var(--ink); line-height: 1.72; }
      .policy-document h2 { margin: 2.4rem 0 .65rem; color: var(--forest); font-family: var(--serif); font-size: clamp(1.65rem, 3vw, 2.15rem); font-weight: 600; }
      .policy-document h2:first-of-type { margin-top: 1.2rem; }
      .policy-document p, .policy-document li { color: #52665f; }
      .policy-document a { color: var(--forest); font-weight: 750; }
      .policy-document ul { display: grid; gap: .45rem; padding-left: 1.25rem; }
      .policy-updated { display: inline-block; margin: 0; padding: .6rem .85rem; border-radius: .7rem; background: #edf4f0; }
      .policy-table-wrap { overflow-x: auto; margin: 1rem 0; border: 1px solid var(--line); border-radius: 1rem; background: white; }
      .policy-table { width: 100%; min-width: 42rem; border-collapse: collapse; }
      .policy-table th, .policy-table td { padding: .9rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
      .policy-table th { background: #edf4f0; color: var(--forest); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
      .policy-table tr:last-child td { border-bottom: 0; }
      .policy-table code { color: var(--forest); font-size: .85rem; }
      
      .community-actions { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 55; display: flex; gap: .55rem; }
      .forum-launcher, .chat-launcher, .whatsapp-launcher { min-height: 3rem; border: 0; border-radius: 999px; padding: 0 1rem; background: var(--forest); color: white; box-shadow: 0 .7rem 2rem rgba(6,33,28,.22); font-weight: 820; }
      .forum-launcher { background: white; color: var(--forest); border: 1px solid var(--line); }
      .whatsapp-launcher { display: inline-flex; align-items: center; justify-content: center; background: #25d366; color: #093923; text-decoration: none; }
      .whatsapp-launcher:hover { background: #47e47e; }
      .whatsapp-launcher:focus-visible { outline: 3px solid #0b65c2; outline-offset: 3px; }
      .chat-panel, .forum-panel { position: fixed; z-index: 80; overflow: hidden; background: white; border: 1px solid var(--line); box-shadow: var(--shadow); }
      .chat-panel { right: 1.2rem; bottom: 5rem; width: min(27rem, calc(100vw - 2rem)); height: min(42rem, calc(100dvh - 7rem)); border-radius: 1.2rem; }
      .forum-panel { inset: 3rem; width: auto; height: auto; border-radius: 1.2rem; }
      .community-header { min-height: 5.8rem; display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1.2rem 1.35rem; background: var(--forest); color: white; }
      .community-header h2 { margin: .2rem 0; font-family: var(--serif); font-size: 1.8rem; font-weight: 500; }
      .chat-online { color: #bdd2cb; font-size: .8rem; }
      .close-button { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: inherit; font-size: 1.4rem; }
      .community-warning { padding: .8rem 1.2rem; background: #fff1d8; color: #664c22; font-size: .8rem; line-height: 1.45; }
      .chat-join, .forum-join { padding: 1.4rem; }
      .chat-join form, .forum-join form { display: grid; gap: .8rem; }
      .chat-room { height: calc(100% - 9rem); display: flex; flex-direction: column; }
      .chat-list { flex: 1; list-style: none; overflow: auto; margin: 0; padding: 1rem; }
      .chat-list li { max-width: 85%; margin-bottom: .7rem; border-radius: .9rem; padding: .7rem .8rem; background: var(--paper-2); }
      .chat-list li.mine { margin-left: auto; background: #dff0d3; }
      .chat-list li > div { display: flex; justify-content: space-between; gap: 1rem; }
      .chat-list time { color: var(--muted); font-size: .72rem; }
      .chat-list p { margin: .35rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
      .chat-footer { border-top: 1px solid var(--line); padding: .8rem; }
      .message-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .55rem; }
      .message-field { resize: vertical; }
      .text-button { border: 0; padding: .6rem; background: transparent; color: var(--muted); }
      .community-status { min-height: 1.2rem; margin: .35rem 1.2rem; color: var(--muted); font-size: .8rem; }
      .community-status[data-error="true"] { color: #a11e25; }
      .forum-room { height: calc(100% - 9rem); }
      .forum-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .7rem 1rem; border-bottom: 1px solid var(--line); }
      .forum-layout { height: calc(100% - 4rem); display: grid; grid-template-columns: minmax(16rem, 30%) minmax(0, 1fr); }
      .forum-index { overflow: auto; border-right: 1px solid var(--line); }
      .forum-post-list { list-style: none; margin: 0; padding: .6rem; }
      .forum-post-list button { width: 100%; display: grid; gap: .4rem; border: 0; border-radius: .7rem; padding: .8rem; background: transparent; color: inherit; text-align: left; }
      .forum-post-list button.selected { background: var(--paper-2); }
      .forum-post-list span { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
      .forum-post-list small { color: var(--muted); }
      .forum-content { overflow: auto; padding: 1.2rem; }
      .forum-empty { height: 100%; display: grid; place-items: center; color: var(--muted); text-align: center; }
      .forum-empty strong, .forum-empty span { display: block; }
      .forum-form { display: grid; gap: .8rem; }
      .forum-form-actions { display: flex; justify-content: flex-end; gap: .6rem; }
      .file-field { color: var(--muted); font-size: .8rem; }
      .file-field input { display: block; margin-top: .35rem; }
      .forum-image-preview, .forum-detail-image, .forum-comment-image { max-width: 100%; max-height: 26rem; border-radius: .8rem; object-fit: contain; }
      .forum-detail-meta { color: var(--muted); }
      .forum-detail-body { white-space: pre-wrap; line-height: 1.65; }
      .forum-comments { list-style: none; margin: 0; padding: 0; }
      .forum-comments li { margin-top: .6rem; border-radius: .8rem; padding: .75rem; background: var(--paper-2); }
      .forum-comments li > div { display: flex; justify-content: space-between; gap: 1rem; }
      .forum-comments p { white-space: pre-wrap; }
      .forum-comment-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem; margin-top: 1rem; }
      .forum-comment-form .file-field, .forum-comment-form img { grid-column: 1 / -1; }
      
      dialog { border: 1px solid var(--line); border-radius: 1.2rem; padding: 0; color: var(--ink); box-shadow: var(--shadow); }
      dialog::backdrop { background: rgba(6, 32, 27, .68); backdrop-filter: blur(5px); }
      .search-dialog { width: min(42rem, calc(100vw - 2rem)); padding: 1.3rem; }
      .content-dialog { width: min(66rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.5rem; }
      .dialog-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
      .dialog-top h2 { margin: 0; font-family: var(--serif); font-weight: 500; }
      .search-dialog [data-global-search-form] { display: grid; grid-template-columns: 1fr auto; gap: .6rem; }
      .content-dialog article h1 { font-family: var(--serif); font-size: clamp(2rem, 5vw, 3.8rem); font-weight: 500; }
      .content-dialog article .dialog-body { white-space: pre-wrap; line-height: 1.7; }
      .minute-ready-badge { align-self: flex-start; margin-top: .65rem; border-radius: 999px; padding: .3rem .6rem; background: var(--acid); color: var(--forest); font-size: .72rem; font-weight: 850; letter-spacing: .02em; }
      .content-dialog.minute-dialog { width: min(92rem, calc(100vw - 2rem)); padding: 1.2rem; }
      .minute-intro { max-width: 70ch; color: var(--muted); }
      .minute-builder { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(19rem, .8fr); gap: 1.2rem; align-items: start; }
      .minute-paper { border: 1px solid var(--line); border-radius: 1rem; padding: clamp(1.3rem, 3vw, 2.6rem); background: #fff; box-shadow: 0 .8rem 2.2rem rgba(7, 61, 50, .08); }
      .minute-paper h2 { margin: 0 0 2rem; text-align: center; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.12; }
      .minute-paper h3 { margin: 1.6rem 0 .45rem; font-family: var(--serif); font-size: 1.15rem; }
      .minute-paper p { margin: .55rem 0; line-height: 1.75; }
      .minute-placeholder { border-bottom: 2px dotted #a4b4ad; color: #6e7d77; }
      .minute-signing { margin-top: 2rem !important; }
      .minute-fields { position: sticky; top: 1rem; max-height: calc(100dvh - 11rem); overflow: auto; border: 1px solid var(--line); border-radius: 1rem; padding: 1rem; background: var(--paper-2); }
      .minute-fields form { display: grid; gap: .9rem; }
      .minute-fields fieldset { display: grid; gap: .7rem; min-width: 0; margin: 0; padding: 1rem 0 0; border: 0; border-top: 1px solid var(--line); }
      .minute-fields fieldset:first-child { padding-top: 0; border-top: 0; }
      .minute-fields legend { padding: 0 0 .45rem; font-family: var(--serif); font-size: 1.15rem; font-weight: 700; }
      .minute-fields .field-label { display: grid; gap: .35rem; font-weight: 750; }
      .minute-fields .field { width: 100%; }
      .minute-fields input:disabled, .minute-fields textarea:disabled { background: #f7f7f3; cursor: not-allowed; opacity: .72; }
      .minute-register-invitation { border-radius: 1rem; padding: 1rem; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
      .minute-register-invitation strong { display: block; margin-bottom: .35rem; font-family: var(--serif); font-size: 1.3rem; }
      .minute-register-invitation a { display: inline-flex; margin: .35rem .55rem .15rem 0; }
      .minute-form-status { min-height: 1.5rem; margin: 0; color: var(--forest); font-weight: 700; }

      @media (max-width: 68rem) {
        .minute-builder { grid-template-columns: 1fr; }
        .minute-fields { position: static; max-height: none; }
      }
      .dialog-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
      .automation-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin-bottom: 1.4rem; }
      .automation-stat, .automation-panel { border: 1px solid var(--line); border-radius: 1rem; padding: 1.2rem; background: white; }
      .automation-stat strong { display: block; font-family: var(--serif); font-size: 2rem; }
      .automation-stat span, .automation-note { color: var(--muted); font-size: .82rem; }
      .automation-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 1rem; align-items: start; }
      .automation-form { display: grid; gap: .85rem; }
      .automation-jobs { display: grid; gap: .6rem; padding: 0; list-style: none; }
      .automation-job { display: grid; grid-template-columns: 1fr auto; gap: .7rem; border-top: 1px solid var(--line); padding-top: .8rem; }
      .automation-status { min-height: 1.4rem; color: var(--forest); font-weight: 750; }
      .automation-status[data-error="true"] { color: #a11e25; }
      .campaign-click-report { margin: 1.4rem 0 1.8rem; border: 1px solid var(--line); border-radius: 1rem; overflow: hidden; background: #f8fbf9; }
      .campaign-click-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem; border-bottom: 1px solid var(--line); }
      .campaign-click-heading h3, .campaign-click-heading p { margin: 0; }
      .campaign-click-heading > strong { flex: 0 0 auto; color: var(--forest); }
      .campaign-click-scroll { overflow-x: auto; }
      .campaign-click-table { width: 100%; min-width: 62rem; border-collapse: collapse; background: #fff; }
      .campaign-click-table th { padding: .75rem 1rem; background: #edf4f0; color: var(--muted); text-align: left; font-size: .74rem; letter-spacing: .04em; text-transform: uppercase; }
      .campaign-click-table td { padding: .85rem 1rem; border-top: 1px solid var(--line); vertical-align: top; }
      .campaign-click-table td:first-child { min-width: 15rem; }
      .campaign-click-table td small, .campaign-click-table td a { display: block; margin-top: .2rem; color: var(--muted); font-size: .76rem; }
      .campaign-click-table td a { color: var(--forest); font-weight: 750; }
      .campaign-payment { display: inline-flex; border-radius: 999px; padding: .35rem .65rem; background: #edf1ef; color: var(--muted); font-size: .76rem; font-weight: 800; }
      .campaign-payment-paid { background: #dff4df; color: #1f643c; }
      .campaign-payment-pending { background: #fff0cf; color: #7c5508; }
      .campaign-click-empty { padding: 1.2rem; color: var(--muted); }
      .automation-launch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
      .automation-launch-card { min-height: 15rem; display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; gap: 1rem 1.25rem; padding: 1.6rem; border: 2px solid rgba(13, 68, 56, .16); border-radius: 1.25rem; background: white; box-shadow: 0 .7rem 2rem rgba(13, 44, 36, .07); }
      .automation-launch-card:hover { border-color: var(--acid-2); transform: translateY(-2px); box-shadow: 0 1rem 2.4rem rgba(13, 44, 36, .11); }
      .automation-launch-number { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border-radius: 50%; background: var(--acid); color: var(--forest); font-size: .78rem; font-weight: 900; }
      .automation-launch-card h2 { margin: .1rem 0 .55rem; color: var(--forest); font: 500 2rem/1.05 var(--serif); }
      .automation-launch-card p { max-width: 32rem; margin: 0; color: var(--muted); line-height: 1.55; }
      .automation-launch-card .primary-button { grid-column: 1 / -1; justify-self: start; min-width: 14rem; }
      .automation-window-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0 1.3rem; padding: 1rem 1.2rem; border-radius: 1rem; background: var(--forest); color: white; }
      .automation-window-bar span, .automation-window-bar strong { display: block; }
      .automation-window-bar span { color: #cfe0da; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
      .automation-window-bar strong { margin-top: .2rem; font-size: 1.1rem; }
      .automation-window-bar .secondary-button { background: white; color: var(--forest); }
      .automation-modal-backdrop { position: fixed; z-index: 120; inset: 0; background: rgba(25, 49, 42, .28); backdrop-filter: blur(7px); }
      .automation-modal-window { position: fixed; z-index: 121; inset: clamp(.7rem, 1.8vw, 1.35rem); width: min(88rem, calc(100% - 1.4rem)); max-height: calc(100dvh - 1.4rem); margin: auto; overflow: auto; padding: clamp(1.45rem, 2.6vw, 2.35rem); border: 1px solid #88ae9f; border-radius: 1.35rem; background: #fff; box-shadow: 0 2rem 6rem rgba(4, 38, 30, .3); }
      .automation-modal-window h1 { margin: .35rem 3.5rem .25rem 0; color: var(--forest); font: 500 clamp(2.3rem, 4vw, 3.35rem)/1 var(--serif); letter-spacing: -.04em; }
      .automation-modal-intro { margin: .8rem 0 1.25rem; color: var(--muted); font-size: clamp(.95rem, 1.5vw, 1.18rem); }
      .automation-modal-close { position: absolute; top: 1.35rem; right: 1.55rem; width: 3rem; height: 3rem; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--forest); font: 300 2.2rem/1 sans-serif; text-decoration: none; cursor: pointer; }
      .automation-modal-close:hover { background: var(--paper-2); }
      .automation-modal-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
      .automation-modal-option { min-height: 5.45rem; display: grid; grid-template-columns: 3.85rem minmax(0, 1fr) auto; align-items: center; gap: .85rem; padding: .8rem 1rem; border: 1px solid #b6d0c6; border-radius: 1.05rem; background: #f7faf8; color: var(--forest); text-decoration: none; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
      .automation-modal-option:hover { border-color: var(--forest-3); background: #fff; transform: translateY(-1px); }
      .automation-modal-option:focus-visible { outline: 3px solid #0b65c2; outline-offset: 2px; }
      .automation-modal-icon { width: 3.85rem; height: 3.85rem; display: grid; place-items: center; border-radius: .9rem; background: #ddf7a4; color: var(--forest); font: 800 1.55rem/1 var(--serif); }
      .automation-modal-copy strong, .automation-modal-copy small { display: block; }
      .automation-modal-copy strong { margin-bottom: .3rem; font-size: clamp(1.05rem, 1.65vw, 1.35rem); }
      .automation-modal-copy small { color: var(--muted); font-size: clamp(.78rem, 1.05vw, .92rem); line-height: 1.35; }
      .automation-modal-arrow { padding-left: .6rem; color: var(--forest); font-size: 1.65rem; }
      .automation-detail-window { position: fixed; z-index: 121; inset: clamp(.8rem, 2vw, 1.5rem); width: min(82rem, calc(100% - 1.6rem)); max-height: calc(100dvh - 1.6rem); margin: auto; overflow: auto; padding: clamp(1.5rem, 3vw, 2.6rem); border: 1px solid #88ae9f; border-radius: 1.35rem; background: var(--paper); box-shadow: 0 2rem 6rem rgba(4, 38, 30, .3); }
      .automation-detail-heading { display: grid; grid-template-columns: 5rem minmax(0, 1fr); align-items: center; gap: 1.25rem; padding: 0 4rem 1.4rem 0; border-bottom: 1px solid var(--line); }
      .automation-detail-heading h1 { margin: .25rem 0; color: var(--forest); font: 500 clamp(2.2rem, 4vw, 3.35rem)/1 var(--serif); letter-spacing: -.04em; }
      .automation-detail-heading p { margin: .45rem 0 0; color: var(--muted); font-size: 1rem; }
      .automation-detail-body { margin-top: 1.2rem; }
      .automation-detail-body > [data-automation-section] { display: block; }
      .automation-action-row { display: grid; grid-template-columns: minmax(14rem, .65fr) minmax(0, 1.35fr); align-items: end; gap: 1rem; margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
      .automation-action-row .page-tools { margin: 0; }
      .implementation-groups { display: grid; gap: 1rem; margin-top: 1rem; }
      .implementation-group h2 { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
      .implementation-group h2 small { color: var(--muted); font: 700 .85rem/1 var(--sans); }
      .implementation-group .automation-job { align-items: center; }
      .admin-navigation { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 1.2rem; }
      .admin-navigation a { border: 1px solid var(--line); border-radius: 999px; padding: .7rem 1rem; color: var(--forest); background: white; text-decoration: none; font-weight: 800; }
      .admin-navigation a.is-active { border-color: var(--forest); background: var(--forest); color: white; }
      .sales-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
      .sales-projection-stat { background: #f3f8e8; border-color: #c9dda8; }
      .sales-panel { overflow: hidden; }
      .sales-range-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
      .sales-range-toolbar h2, .sales-range-toolbar p { margin: 0; }
      .sales-range-toolbar p { max-width: 47rem; margin-top: .35rem; line-height: 1.5; }
      .sales-range-toggle { display: inline-flex; flex: 0 0 auto; gap: .2rem; padding: .25rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper-2); }
      .sales-range-toggle button { border: 0; border-radius: 999px; padding: .65rem 1rem; background: transparent; color: var(--forest); font: 800 .84rem/1 var(--sans); cursor: pointer; }
      .sales-range-toggle button.is-active { background: var(--forest); color: white; }
      .sales-chart { margin: 0; border: 1px solid var(--line); border-radius: 1rem; overflow: hidden; background: #fbfcfa; }
      .sales-chart figcaption { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); background: white; }
      .sales-chart figcaption h3, .sales-chart figcaption p { margin: 0; }
      .sales-chart figcaption p { margin-top: .3rem; color: var(--muted); font-size: .82rem; }
      .sales-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem .9rem; color: var(--muted); font-size: .76rem; font-weight: 800; }
      .sales-legend span::before { width: .8rem; height: .8rem; display: inline-block; margin-right: .35rem; border-radius: 50%; content: ''; vertical-align: -.08rem; }
      .sales-legend-customers::before { background: #155b46; }
      .sales-legend-subscriptions::before { background: #2878a8; }
      .sales-legend-revenue::before { background: #c5891c; }
      .sales-legend-projection::before { border-radius: .18rem !important; background: #d8e8ae; }
      .sales-chart-scroll { overflow-x: auto; }
      .sales-chart-svg { display: block; width: 100%; min-width: 46rem; height: auto; color: var(--forest); }
      .sales-grid-line { stroke: #dfe7e2; stroke-width: 1; }
      .sales-axis-label { fill: #6d7e77; font: 700 12px/1 var(--sans); }
      .sales-x-label { font-size: 13px; text-transform: capitalize; }
      .sales-line { fill: none; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
      .sales-line-customers { stroke: #155b46; }
      .sales-line-subscriptions { stroke: #2878a8; }
      .sales-line-revenue { stroke: #c5891c; }
      .sales-point { stroke: white; stroke-width: 2; }
      .sales-point-customers { fill: #155b46; }
      .sales-point-subscriptions { fill: #2878a8; }
      .sales-point-revenue { fill: #c5891c; }
      .sales-projection-bar { fill: #d8e8ae; fill-opacity: .7; stroke: #aac66e; stroke-width: 1; }
      .sales-method-note { margin: .9rem .15rem 0; }
      .subscriber-filter-buttons { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1rem; }
      .subscriber-filter-buttons a { border: 1px solid var(--line); border-radius: 999px; padding: .7rem 1.15rem; background: white; color: var(--forest); text-decoration: none; font-weight: 850; }
      .subscriber-filter-buttons a.is-active { border-color: var(--forest); background: var(--forest); color: white; }
      .subscriber-filters { display: grid; grid-template-columns: minmax(15rem, 1fr) auto; gap: .8rem; align-items: end; margin-bottom: 1rem; }
      .subscriber-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 1rem; }
      .subscriber-table { width: 100%; min-width: 72rem; border-collapse: collapse; background: white; }
      .subscriber-table th, .subscriber-table td { padding: .85rem .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
      .subscriber-table th { position: sticky; top: 0; background: var(--paper-2); color: var(--forest); font-size: .77rem; letter-spacing: .05em; text-transform: uppercase; }
      .subscriber-table tbody tr:last-child td { border-bottom: 0; }
      .subscriber-table small { display: block; margin-top: .3rem; color: var(--muted); }
      .subscriber-table a { color: var(--forest); overflow-wrap: anywhere; }
      .subscriber-name-link { text-decoration-thickness: .08em; text-underline-offset: .16em; }
      .status-pill { display: block; width: max-content; margin-top: .35rem; border-radius: 999px; padding: .23rem .55rem; font-size: .72rem; font-weight: 800; }
      .status-active, .status-paid { background: #e6f7cc; color: #315c20; }
      .status-expired, .status-unpaid { background: #fff1d4; color: #7a4b00; }
      .subscriber-edit-form { display: grid; gap: 1rem; }
      .subscriber-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
      .subscriber-edit-wide { grid-column: 1 / -1; }
      .subscriber-form-section { min-width: 0; margin: 0; padding: 1.1rem; border: 1px solid var(--line); border-radius: 1rem; background: white; }
      .subscriber-form-section legend { padding: 0 .45rem; color: var(--forest); font-family: Georgia, serif; font-size: 1.25rem; font-weight: 800; }
      .subscriber-form-section textarea.field { min-height: 7rem; resize: vertical; }
      .subscriber-checkbox-field { align-self: end; min-height: 3.4rem; border: 1px solid var(--line); border-radius: .8rem; padding: .8rem; background: var(--paper-2); }
      .subscriber-access-options { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; border: 1px solid var(--line); border-radius: .9rem; padding: 1rem; background: var(--paper-2); }
      .subscriber-record-nav { position: sticky; top: .5rem; z-index: 8; display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 1rem; padding: .7rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(250, 248, 241, .96); box-shadow: 0 .3rem 1.2rem rgba(13, 68, 56, .08); backdrop-filter: blur(10px); }
      .subscriber-record-nav a { border-radius: 999px; padding: .65rem .95rem; background: white; color: var(--forest); text-decoration: none; font-weight: 850; }
      .subscriber-record-nav a:first-child { background: var(--lime); }
      .subscriber-overview, .subscriber-edit-panel, .subscriber-data-panel, .subscriber-payments, .subscriber-audit { margin-top: 1rem; scroll-margin-top: 6rem; }
      .subscriber-overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
      .subscriber-overview-grid > div { min-width: 0; padding: 1rem; border-radius: .9rem; background: var(--forest); color: white; }
      .subscriber-overview-grid span, .subscriber-overview-grid small { display: block; color: #d9e8e3; }
      .subscriber-overview-grid span { font-size: .76rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
      .subscriber-overview-grid strong { display: block; margin: .4rem 0 .25rem; font-size: 1.15rem; overflow-wrap: anywhere; }
      .subscriber-data-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 0; }
      .subscriber-data-grid > div { min-width: 0; padding: .85rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--paper-2); }
      .subscriber-data-grid dt { color: var(--muted); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
      .subscriber-data-grid dd { margin: .3rem 0 0; color: var(--forest); font-weight: 700; overflow-wrap: anywhere; white-space: pre-wrap; }
      .subscriber-data-wide { grid-column: span 2; }
      
      @media (max-width: 68rem) {
        .site-header { grid-template-columns: auto auto 1fr; }
        .mobile-menu { display: block; }
        .main-nav { grid-column: auto; grid-row: auto; position: absolute; top: 100%; left: 0; right: 0; display: none; padding: .8rem; background: var(--paper); border-bottom: 1px solid var(--line); }
        .main-nav.open { display: grid; }
        .header-actions { justify-self: end; }
        .hero { grid-template-columns: 1fr; }
        .hero-photo { min-height: 24rem; order: -1; }
        .hero-copy { padding-top: 3rem; }
        .hub-grid, .guide-grid, .law-grid, .law-grid.law-grid-primary, .law-grid.law-grid-sources, .student-grid, .profile-grid, .list-grid { grid-template-columns: repeat(2, 1fr); }
        .law-grid-primary > .law-card { flex-basis: calc((100% - .7rem) / 2); }
        .legislation-hero .shell, .news-hero .shell { grid-template-columns: 1fr; grid-template-areas: "eyebrow" "title" "description"; gap: .35rem; }
        .automation-summary { grid-template-columns: repeat(2, 1fr); }
        .sales-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .automation-grid { grid-template-columns: 1fr; }
        .automation-launch-grid { grid-template-columns: 1fr; }
        .subscriber-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .stat-row { grid-template-columns: repeat(2, 1fr); margin-top: 1rem; }
        .stat:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
        .stat:nth-child(4) { border-top: 1px solid var(--line); }
      }
      @media (max-width: 50rem) { .community-button { padding: 0 .75rem; } .icon-button:not(.settings-button) { display:none; } }
      
      @media (max-width: 46rem) {
        .notice-bar { font-size: .66rem; }
        .site-header { gap: .5rem; padding: .6rem .7rem; }
        .brand span { display: none; }
        .login-button { padding: 0 .75rem; }
        .logout-button { padding: 0 .7rem; font-size: .76rem; }
        .hero-photo { min-height: 18rem; }
        .hero h1 { font-size: 3.5rem; }
        .section-heading, .editorial, .student-banner, .community-intro { grid-template-columns: 1fr; }
        .hub-grid, .guide-grid, .law-grid, .law-grid.law-grid-primary, .law-grid.law-grid-sources, .student-grid, .profile-grid, .list-grid { grid-template-columns: 1fr; }
        .law-grid-primary > .law-card { flex-basis: 100%; }
        .legislation-hero { padding: 1rem 0 .9rem; }
        .legislation-hero h1 { font-size: clamp(1.7rem, 8vw, 2.45rem); white-space: nowrap; }
        .news-hero { padding: 1rem 0 .9rem; }
        .news-hero h1 { font-size: clamp(1.9rem, 8vw, 2.45rem); }
        .news-content { padding-top: 1rem; }
        .news-section-heading { gap: .45rem; }
        .automation-summary { grid-template-columns: 1fr 1fr; }
        .campaign-click-heading { align-items: start; flex-direction: column; }
        .sales-range-toolbar, .sales-chart figcaption { align-items: stretch; flex-direction: column; }
        .sales-range-toggle { align-self: flex-start; }
        .sales-legend { justify-content: flex-start; }
        .automation-window-bar { align-items: stretch; flex-direction: column; }
        .automation-modal-window { inset: .5rem; width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); padding: 2.7rem 1rem 1rem; border-radius: 1rem; }
        .automation-modal-window h1 { font-size: 2.5rem; }
        .automation-modal-intro { margin: .8rem 0 1.2rem; }
        .automation-modal-close { top: .7rem; right: .7rem; }
        .automation-modal-option { min-height: 6rem; grid-template-columns: 3.7rem minmax(0, 1fr) auto; gap: .8rem; padding: .85rem; }
        .automation-modal-icon { width: 3.7rem; height: 3.7rem; border-radius: .85rem; font-size: 1.45rem; }
        .automation-modal-list { grid-template-columns: 1fr; }
        .automation-detail-window { inset: .5rem; width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); padding: 2.8rem .85rem .85rem; border-radius: 1rem; }
        .automation-detail-heading { grid-template-columns: 3.7rem minmax(0, 1fr); gap: .8rem; padding: 0 0 1rem; }
        .automation-detail-heading h1 { font-size: 2rem; }
        .automation-action-row { grid-template-columns: 1fr; }
        .section-heading { gap: 1rem; }
        .student-banner-image { min-height: 17rem; }
        .site-footer { grid-template-columns: 1fr; padding-bottom: 7rem; }
        .site-footer small { grid-column: 1; }
        .community-actions { left: .7rem; right: .7rem; bottom: .7rem; }
        .forum-launcher, .chat-launcher, .whatsapp-launcher { flex: 1; min-width: 0; padding-inline: .55rem; }
        .chat-panel { right: .5rem; bottom: 4.5rem; width: calc(100vw - 1rem); height: calc(100dvh - 5rem); }
        .forum-panel { inset: .4rem; }
        .forum-layout { grid-template-columns: 1fr; grid-template-rows: minmax(9rem, 32%) minmax(0, 1fr); }
        .forum-index { border-right: 0; border-bottom: 1px solid var(--line); }
        .forum-comment-form, .message-form, .search-row, .search-dialog [data-global-search-form], .subscriber-filters, .subscriber-edit-grid, .subscriber-data-grid, .subscriber-overview-grid { grid-template-columns: 1fr; }
        .law-code-search { top: .25rem; }
        .law-code-search .primary-button { min-height: 3.2rem; }
        .subscriber-edit-wide, .subscriber-data-wide { grid-column: auto; }
        .account-meta, .payment-reference { grid-template-columns: 1fr; }
      }
      
      @media print {
        .minute-dialog .dialog-top, .minute-dialog .minute-fields, .minute-dialog .dialog-actions, .minute-dialog > form { display: none !important; }
        .minute-builder { display: block; }
        .minute-paper { border: 0; box-shadow: none; padding: 0; }
        .notice-bar, .site-header, .community-actions, .site-footer, .dialog-top, .dialog-actions { display: none !important; }
        body { background: white; }
        .content-dialog[open] { position: static; width: 100%; max-height: none; border: 0; box-shadow: none; }
        .content-dialog[open]::backdrop { display: none; }
      }