/* All rules are scoped to the shortcode. No fonts, frameworks, or remote assets. */
.lccg { --lccg-ink:#152b32; --lccg-teal:#11665f; --lccg-line:#d9e4e1; --lccg-muted:#52666b; --lccg-accent:#e5ee9c; color:var(--lccg-ink); background:#fff; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; line-height:1.6; max-width:1120px; margin:30px auto; border:1px solid var(--lccg-line); border-radius:20px; overflow:hidden; box-shadow:0 12px 35px rgba(21,43,50,.05); text-align:left; }
.lccg *, .lccg *::before, .lccg *::after { box-sizing:border-box; }
.lccg [hidden] { display:none !important; }
.lccg .lccg-header { position:relative; padding:35px 36px 30px; background:#f4f7f1; border-bottom:1px solid var(--lccg-line); }
.lccg .lccg-kicker { display:inline-flex; align-items:center; gap:8px; color:#326059; font-size:11px; font-weight:750; letter-spacing:1.5px; }
.lccg .lccg-book { font-size:23px; line-height:1; }
.lccg .lccg-header h2 { color:var(--lccg-ink); font-size:clamp(25px,3vw,35px); line-height:1.2; margin:13px 0 12px; padding:0; font-weight:750; letter-spacing:-1px; }
.lccg .lccg-header p { max-width:660px; color:var(--lccg-muted); margin:0 0 17px; font-size:15px; }
.lccg .lccg-tag { display:inline-block; font-size:11px; color:#365c54; background:#e8ede0; padding:4px 10px; border-radius:5px; }
.lccg .lccg-workspace { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); }
.lccg .lccg-form { min-width:0; margin:0; padding:30px 32px; }
.lccg .lccg-section-label { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:1px; margin-bottom:24px; }
.lccg .lccg-section-label > span { color:var(--lccg-teal); font-size:11px; letter-spacing:0; border:1px solid #c9ddd5; padding:2px 6px; border-radius:5px; }
.lccg .lccg-row { display:flex; gap:16px; align-items:flex-start; }
.lccg .lccg-field { min-width:0; flex:1; margin-bottom:19px; }
.lccg .lccg-length { flex:1.08; }
.lccg .lccg-year { flex:0 0 105px; }
.lccg label { display:block; color:var(--lccg-ink); font-size:13px; font-weight:650; margin:0 0 7px; }
.lccg input[type=text], .lccg select { width:100%; min-width:0; height:46px; margin:0; padding:10px 12px; border:1px solid #bacbc7; border-radius:7px; background-color:#fff; color:var(--lccg-ink); font:inherit; font-size:14px; line-height:1.3; box-shadow:none; text-transform:none; letter-spacing:normal; }
.lccg select { padding-right:24px; cursor:pointer; }
.lccg input::placeholder { color:#74868a; opacity:1; }
.lccg input[aria-invalid=true] { border-color:#a83928; }
.lccg input:focus-visible, .lccg select:focus-visible, .lccg button:focus-visible, .lccg summary:focus-visible, .lccg a:focus-visible { outline:3px solid #1c8d80; outline-offset:3px; }
.lccg .lccg-help { color:var(--lccg-muted); font-size:12px; font-weight:400; margin:8px 0 0; line-height:1.55; }
.lccg .lccg-check { display:flex; align-items:flex-start; gap:9px; font-size:12px; font-weight:400; line-height:1.5; margin:0 0 15px; cursor:pointer; }
.lccg input[type=checkbox] { appearance:auto; -webkit-appearance:checkbox; accent-color:var(--lccg-teal); width:16px; height:16px; margin:2px 0 0; flex:none; }
.lccg .lccg-examples { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:0 0 23px; font-size:11px; color:var(--lccg-muted); }
.lccg button { font-family:inherit; cursor:pointer; text-transform:none; letter-spacing:normal; box-shadow:none; min-height:36px; transition:background-color .12s ease; }
.lccg .lccg-examples button { color:#1c5d53; background:#f1f5f0; border:1px solid #dce6dd; padding:5px 9px; border-radius:5px; font-size:11px; font-weight:550; line-height:1.3; }
.lccg .lccg-examples button:hover { background:#e3ede0; }
.lccg .lccg-details { border-top:1px solid var(--lccg-line); padding:14px 0; margin:0; }
.lccg summary { cursor:pointer; color:var(--lccg-ink); font-size:12px; font-weight:650; line-height:1.6; }
.lccg summary > span { color:var(--lccg-muted); font-size:11px; font-weight:400; margin-left:4px; }
.lccg .lccg-details[open] > summary { margin-bottom:17px; }
.lccg .lccg-details .lccg-field:last-child { margin-bottom:0; }
.lccg .lccg-details .lccg-check { margin-bottom:0; }
.lccg .lccg-actions { display:flex; align-items:center; gap:17px; margin-top:16px; }
.lccg .lccg-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; color:#fff; background:var(--lccg-teal); border:1px solid var(--lccg-teal); border-radius:7px; padding:12px 17px; font-size:13px; font-weight:650; min-height:46px; }
.lccg .lccg-primary:hover { background:#0b504b; }
.lccg .lccg-primary span { font-size:19px; }
.lccg .lccg-reset { color:var(--lccg-muted); background:transparent; border:0; font-size:12px; padding:8px; border-radius:5px; }
.lccg .lccg-reset:hover { background:#eef2ef; }
.lccg .lccg-error { color:#923822; font-size:13px; margin:16px 0 0; }
.lccg .lccg-result { min-width:0; background:#163b3b; color:#f3f8f4; padding:30px 30px 27px; margin:0; }
.lccg .lccg-result-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.lccg .lccg-result .lccg-section-label { color:#d3e5df; margin:0; }
.lccg .lccg-result .lccg-section-label > span { color:#c7ded5; border-color:#53726c; }
.lccg .lccg-status { background:#2b514b; color:#e5ee9c; padding:4px 8px; font-size:10px; line-height:1.4; border-radius:4px; }
.lccg .lccg-status[data-state=manual] { color:#ffe0a0; background:#604c2b; }
.lccg .lccg-status[data-state=reviewed] { color:#c9e8ef; background:#2b5263; }
.lccg .lccg-number { color:var(--lccg-accent); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:clamp(45px,6vw,76px); letter-spacing:-3px; line-height:1.12; font-weight:600; padding:31px 0 12px; overflow-wrap:anywhere; }
.lccg .lccg-number-range { font-size:clamp(29px,4vw,51px); letter-spacing:-1px; }
.lccg .lccg-filing { color:#d0e1da; font-size:12px; line-height:1.6; margin:0 0 22px; overflow-wrap:anywhere; }
.lccg .lccg-copy-row { display:flex; gap:9px; flex-wrap:wrap; }
.lccg .lccg-copy { color:#153a36; background:var(--lccg-accent); border:1px solid var(--lccg-accent); border-radius:5px; padding:9px 13px; font-size:11px; line-height:1.4; font-weight:700; }
.lccg .lccg-copy:hover { background:#d8e383; }
.lccg .lccg-copy-secondary { color:#e0ece7; background:transparent; border-color:#66867d; }
.lccg .lccg-copy-secondary:hover { background:#254f4a; }
.lccg button:disabled { opacity:.43; cursor:default; }
.lccg .lccg-label-preview { background:#214947; border:1px solid #45665f; border-radius:6px; padding:12px; margin-top:18px; }
.lccg .lccg-label-preview > span { display:block; font-size:9px; letter-spacing:1.2px; color:#b9d0c7; margin-bottom:5px; }
.lccg .lccg-label-preview output { display:block; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; color:#f5f8f5; font-size:15px; overflow-wrap:anywhere; }
.lccg .lccg-label-error { color:#ffe0a0; font-size:12px; margin-top:15px; }
.lccg .lccg-explanation { margin-top:28px; }
.lccg .lccg-explanation h3 { font-size:12px; font-weight:650; margin:0 0 10px; padding:0; color:#eff7f0; }
.lccg .lccg-explanation table { border-collapse:collapse; border:0; width:100%; margin:0; background:transparent; font-size:11px; line-height:1.55; }
.lccg .lccg-explanation th, .lccg .lccg-explanation td { border:0; border-bottom:1px solid #40615b; background:transparent; padding:9px 5px; text-align:left; color:#e6f0e9; overflow-wrap:anywhere; }
.lccg .lccg-explanation th { color:#b9d0c7; font-size:10px; font-weight:500; }
.lccg .lccg-explanation td:last-child { color:#e5ee9c; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-weight:600; }
.lccg .lccg-notes { margin:20px 0 0; padding:0 0 0 16px; color:#d0e1da; font-size:11px; line-height:1.7; }
.lccg .lccg-notes li { margin:7px 0 0; padding:0; }
.lccg .lccg-bottom { background:#fcfdfb; border-top:1px solid var(--lccg-line); padding:22px 32px; }
.lccg .lccg-bottom > p { margin:0 0 13px; color:var(--lccg-muted); font-size:12px; line-height:1.7; }
.lccg .lccg-bottom strong { color:#294a42; }
.lccg .lccg-method { margin:0 0 13px; }
.lccg .lccg-method p { font-size:12px; color:var(--lccg-muted); margin:10px 0; }
.lccg .lccg-source { color:#0d645c; font-size:12px; font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.lccg .lccg-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
@media (max-width:760px) { .lccg .lccg-workspace { grid-template-columns:minmax(0,1fr); } .lccg .lccg-header { padding:25px 23px; } .lccg .lccg-form,.lccg .lccg-result { padding:25px 23px; } .lccg .lccg-bottom { padding:21px 23px; } .lccg .lccg-number { font-size:62px; } }
@media (max-width:420px) { .lccg { border-radius:12px; margin:15px auto; } .lccg .lccg-row { flex-direction:column; gap:0; } .lccg .lccg-field { width:100%; } .lccg .lccg-year { flex:auto; } .lccg .lccg-primary { gap:25px; } .lccg summary > span { display:block; margin-left:14px; } }
@media (prefers-reduced-motion:reduce) { .lccg button { transition:none; } }
