/* Shared visual contract. Loaded after page Header styles; no authorization or workflow changes. */
body.liet-ui {
 --accent:#174d41;--accent-dark:#103e35;--accent-light:#eaf3ed;--bg:#f7faf7;--white:#fff;--text:#253e34;
 --green:#103e35;--green2:#236351;--mint:#eaf3ed;--gold:#e4c588;--gold-light:#f6efdf;--line:#dce7de;--muted:#596e61;
 --m-bg:var(--bg);--m-card:#fff;--m-text:var(--text);--m-muted:var(--muted);--m-border:var(--line);--m-accent:var(--green2);
 --a-bg:var(--bg);--a-card:#fff;--a-text:var(--text);--a-muted:var(--muted);--a-border:var(--line);--a-accent:var(--green2);
 margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.liet-ui *, .liet-ui *::before,.liet-ui *::after {box-sizing:border-box}
.liet-ui :where(img,video,canvas,iframe){max-width:100%}
.liet-ui :where(h1,h2,h3){font-family:Georgia,"Times New Roman",serif;line-height:1.18;color:var(--green);letter-spacing:-.025em;overflow-wrap:anywhere}
.liet-ui h1{font-size:clamp(1.85rem,3.5vw,2.8rem)}
.liet-ui h2{font-size:clamp(1.4rem,2.7vw,2rem)}
.liet-ui :where(p,td,dd,a){overflow-wrap:break-word}
.liet-ui a{color:var(--green2);text-underline-offset:3px}
.liet-ui a:hover{text-decoration:underline}
.liet-ui .container,.liet-ui .a-container,.liet-ui .m-container {width:100%;max-width:1220px;margin-inline:auto;padding-inline:24px}
.liet-ui .liet-topline {background:var(--green);color:#d7e6dc;font-size:11px;padding:8px 0;letter-spacing:.025em}
.liet-ui .liet-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 20px #103e3507;position:sticky;top:0;z-index:40}
.liet-ui .top-bar{min-height:82px;gap:24px;padding-block:14px}
.liet-ui .logo{display:flex;align-items:center;gap:10px;color:var(--green);font-size:22px;line-height:1.2;font-weight:800;flex-shrink:0;text-decoration:none}
.liet-ui .logo small{display:block;font:9px/1.5 system-ui,sans-serif;letter-spacing:.055em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.liet-ui .liet-seal{display:grid;place-items:center;border:2px solid var(--gold);background:var(--green);color:var(--gold);border-radius:50%;width:40px;height:40px;font:25px Georgia,serif;flex-shrink:0}
.liet-ui .header-actions{display:flex;gap:16px;align-items:center}
.liet-ui .header-actions form{margin:0}
.liet-ui .liet-desktop-nav{display:flex;align-items:center;gap:20px}
.liet-ui .liet-desktop-nav a{color:var(--green);font-size:13px;font-weight:650;text-decoration:none}
.liet-ui .liet-desktop-nav a:hover{text-decoration:underline}
.liet-ui .menu-toggle{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);width:44px;height:44px;font-size:22px;cursor:pointer}
.liet-ui .dropdown-menu{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px #103e351f;max-height:75vh;overflow-y:auto;right:24px;left:auto;min-width:260px;max-width:calc(100vw - 32px)}
.liet-ui .dropdown-menu a,.liet-ui .menu-link{color:var(--green);border-radius:7px;padding:10px 14px;display:block;min-height:44px}
.liet-ui .dropdown-menu a:hover,.liet-ui .menu-link:hover{background:var(--mint)}
.liet-ui #liet-main{min-height:60vh;outline:0}
.liet-ui[data-area="admin"] #liet-main{background:var(--bg)}
.liet-ui :where(.auth-hero,.a-hero,.m-hero,.page-hero){background:linear-gradient(120deg,#edf4ed,#fafcf9);border-bottom:1px solid var(--line);padding-block:32px}
.liet-ui :where(.auth-wrap,.a-wrap,.m-wrap,.page-wrap){background:var(--bg);padding-block:32px 48px}
.liet-ui :where(.auth-card,.card,.a-card,.m-card,.panel,.init-card-wrap,.init-card,.notice-subscribe){background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #103e3507}
.liet-ui .auth-card{padding:32px;max-width:540px}
.liet-ui :where(.a-card,.m-card,.panel){padding:24px}
.liet-ui :where(.muted,.text-muted){color:var(--muted)}
.liet-ui :where(input,select,textarea,button){font:inherit}
.liet-ui :where(input:not([type]),input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="search"],input[type="date"],input[type="tel"],input[type="url"],select,textarea,.form-control,.input){
 max-width:100%;border:1px solid #b7cbbd;border-radius:9px;padding:11px 13px;background:#fff;color:var(--text);min-height:44px;
}
.liet-ui :where(input[type="checkbox"],input[type="radio"]){accent-color:var(--green2);width:18px;height:18px;vertical-align:middle}
.liet-ui :where(label,.label,.control-label){font-size:13px;font-weight:650;color:var(--green)}
.liet-ui :where(.field,.form-group){margin-bottom:18px}
.liet-ui :where(.btn,.btn-cta,.btn-primary,.btn-subscribe,.a-btn,.m-btn,button[type="submit"]){
 display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:11px 17px;border:1px solid var(--green);border-radius:9px;background:var(--green);color:#fff;font-size:13px;font-weight:700;line-height:1.35;text-decoration:none;cursor:pointer;white-space:normal;
}
.liet-ui :where(.btn-outline,.btn-outline-primary,.btn-secondary,.btn-default){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:var(--mint);color:var(--green);font-size:13px;font-weight:700;text-decoration:none}
.liet-ui :where(.btn,.btn-cta,.btn-primary,.btn-subscribe,.a-btn,.m-btn):hover{filter:brightness(1.1);text-decoration:none}
/* Preserve destructive/warning/error semantics rather than recoloring them green. */
.liet-ui :where(.btn-danger,button.danger,.btn.danger){background:#a52f35;color:white;border-color:#a52f35}
.liet-ui :where(.text-danger,.error,.validation-summary-errors,.field-validation-error){color:#a32632}
.liet-ui :where(.input-validation-error,[aria-invalid="true"]){border-color:#a32632}
.liet-ui :where(button:disabled,input:disabled,.btn.disabled){opacity:.55;cursor:not-allowed;filter:none}
.liet-ui :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #a87520;outline-offset:3px}
.liet-ui :where(.actions,.a-actions,.m-actions,.hero-actions){display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.liet-ui :where(.table-wrap,.table-responsive,.m-table-wrap,.a-table-wrap){max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.liet-ui table{border-collapse:collapse;width:100%;font-size:13px;background:#fff}
.liet-ui th{text-align:left;background:var(--mint);color:var(--green);font-size:12px;font-weight:750;padding:13px 16px;border-bottom:1px solid var(--line)}
.liet-ui td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.liet-ui tbody tr:hover{background:#f6faf5}
.liet-ui :where(.a-grid,.m-grid,.grid-3,.init-grid){gap:20px}
.liet-ui .section{padding-block:28px}
.liet-ui .liet-footer{background:#092c26;color:#cfdfd4;border-top:1px solid #194b3e;margin-top:32px;padding:32px 0}
.liet-ui .liet-footer a{color:#d9e7df}
.liet-ui .footer-inner{gap:24px;flex-wrap:wrap}
.liet-ui .footer-copy{font-size:13px}
.liet-ui .security-badge{background:#164a3e;border-color:#446b57;color:#d9e7df}
.liet-ui .security-badge .badge-text{color:#c2d7c9}
.liet-ui .cookie-banner{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 48px #103e3526;max-width:1000px;margin-inline:auto}
.liet-ui .liet-skip{position:fixed;top:-100px;left:16px;z-index:10000;background:var(--green);color:#fff;padding:12px 18px;border-radius:8px}
.liet-ui .liet-skip:focus{top:12px}
.liet-ui.liet-standalone{padding:32px;max-width:100%;min-height:100vh}
.liet-ui.liet-standalone h1{max-width:900px}
/* Home content stays dynamic; only the visual surface is replaced. */
.liet-ui .liet-home .liet-home-content{padding-block:24px}
.liet-ui .liet-home .hero h1{color:#fff}
.liet-ui .liet-home .hero-desc{color:#d0e1d7}
.liet-ui .liet-home .hero{background:linear-gradient(110deg,#0a302a,#1e604e)}
.liet-ui .liet-home .hero .btn-primary{background:var(--gold);border-color:var(--gold);color:#173c30}
.liet-ui .liet-home .hero .btn-outline-light{background:transparent;border-color:#668c78;color:white}
.liet-ui .liet-home .liet-planned{padding-bottom:40px}
.liet-ui .liet-home .wrap{max-width:100%}
.liet-ui .liet-home .hero .hero-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:60px;padding-inline:24px}
@media(max-width:1100px){.liet-ui .liet-desktop-nav{display:none}}
@media(max-width:760px){
 .liet-ui .container,.liet-ui .a-container,.liet-ui .m-container{padding-inline:18px}
 .liet-ui .top-bar{min-height:70px;gap:10px}.liet-ui .logo{font-size:19px}.liet-ui .logo small{display:none}
 .liet-ui .liet-seal{width:33px;height:33px;font-size:22px}.liet-ui .header-actions{gap:8px}
 .liet-ui .header-actions .btn-cta{padding:10px;font-size:12px}
 .liet-ui .auth-card{padding:22px}.liet-ui :where(.a-card,.m-card,.panel){padding:18px}
 .liet-ui :where(.grid-3,.a-grid,.m-grid,.init-grid){grid-template-columns:1fr}
 .liet-ui .row-split{flex-wrap:wrap;gap:12px}
 .liet-ui table{display:block;overflow-x:auto;max-width:100%;white-space:normal}
 .liet-ui :where(.a-wrap,.m-wrap,.auth-wrap){padding-block:24px 32px}
 .liet-ui .footer-inner{flex-direction:column;align-items:flex-start}
 .liet-ui .liet-home .hero .hero-inner{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:38px;padding-inline:18px}
 .liet-ui .liet-home .hero h1{font-size:37px}
}
@media(prefers-reduced-motion:reduce){.liet-ui *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.liet-ui .liet-header,.liet-ui .liet-topline,.liet-ui .cookie-banner,.liet-ui .liet-skip{display:none}.liet-ui{background:white;color:black}.liet-ui .liet-footer{background:white;color:black}}
.liet-ui .liet-home .member-feature h2{color:#fff}
.liet-ui .liet-home .member-note{color:#d6e4dc!important}
.liet-ui :where(.m-linkbtn--danger,.a-btn--danger){background:#a52f35;border-color:#a52f35;color:#fff}
.liet-ui :where(.a-btn--primary,.m-btn--primary){background:var(--green);border-color:var(--green);color:#fff}
@media(max-width:760px){.liet-ui :where(.m-field,.a-field){min-width:0!important;max-width:100%;flex-basis:100%!important}.liet-ui .m-filter{flex-wrap:wrap}.liet-ui .m-filter>*{max-width:100%}}
/* Anchor colors must beat the base link rule; retain readable labels on filled buttons. */
.liet-ui a:is(.btn,.btn-cta,.btn-primary,.btn-subscribe,.a-btn,.m-btn,.btn-danger){color:#fff}
.liet-ui a:is(.btn-outline,.btn-outline-primary,.btn-secondary,.btn-default){color:var(--green)}
.liet-ui .liet-home a.btn-soft{background:var(--mint);border-color:var(--line);color:var(--green)}
.liet-ui .liet-home .hero a.btn-primary{color:#173c30}
body.liet-ui{--app-bg:var(--bg)}
.liet-ui .d-wrap{background:var(--bg);padding-block:32px 48px}
.liet-ui .d-container{width:100%;max-width:1220px;margin-inline:auto;padding-inline:24px}
.liet-ui .d-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #103e3507;padding:24px}
.liet-ui .d-title{font-family:Georgia,"Times New Roman",serif;color:var(--green)}
@media(max-width:760px){.liet-ui .d-container{padding-inline:18px}.liet-ui .d-card{padding:18px}}

/* Secondary admin buttons use dark text on their light background. */
.liet-ui a.a-btn:not(.a-btn--primary):not(.a-btn--danger){background:var(--mint);border-color:var(--line);color:var(--green)}
.liet-ui #pending,.liet-ui #access{scroll-margin-top:110px}

/* Match button frames to the gold border on the L seal. */
body.liet-ui :is(button,input[type="submit"],input[type="button"],input[type="reset"],.btn,.btn-cta,.btn-primary,.btn-subscribe,.btn-outline,.btn-outline-primary,.btn-secondary,.btn-default,.a-btn,.m-btn),
body.liet-ui .liet-home :is(button,.btn,.btn-primary,.btn-soft,.login),
body.liet-ui .portal-nav nav a.selected{
 border:2px solid var(--gold);
}
