/* DMJ / WPL / SailTechCo shared visual language. Keep chart and safety colours semantic. */
:root {
 --dmj-paper:#f9f9f5;--dmj-ink:#202522;--dmj-muted:#5f645e;--dmj-lime:#e2e635;--dmj-olive:#626b32;--dmj-line:#d9dcd5;
 --color-navy:#202522;--color-navy-deep:#171d19;--color-sea:#626b32;--color-sea-dark:#424923;--color-sun:#e2e635;--color-sun-dark:#d5d72b;
 --color-mist:#f9f9f5;--color-fog:#e5e6dd;--color-stone:#c8cbbd;--color-slate:#5f645e;--color-charcoal:#384138;--color-ink:#202522;
 --navy:#202522;--navy-deep:#171d19;--navy-soft:#384138;--sea:#626b32;--sea-soft:#edf0df;--sun:#e2e635;--sun-soft:#f5f6d4;--mist:#f9f9f5;--slate:#5f645e;--charcoal:#384138;
 --dmj-font:Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif;
}
body{font-family:var(--dmj-font);-webkit-font-smoothing:antialiased}
:where(h1,h2,h3,p,label,summary){word-break:keep-all;overflow-wrap:break-word}
:where(h1,h2,h3){text-wrap:balance}
:where(p,li){line-height:1.75}
:where(input,select,textarea,button){font-family:inherit}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--dmj-olive);outline-offset:3px}
:where(button,a,summary){touch-action:manipulation}
.dmj-legacy{background:var(--dmj-paper);color:var(--dmj-ink)}
.dmj-legacy :is(.site-header,.profile-section,.card){border-color:var(--dmj-line)}
.dmj-legacy .site-header{background:var(--dmj-paper);box-shadow:none}
.dmj-legacy :is(.btn,.profile-section,.profile-hero,.form-input,.form-select,.form-textarea){border-radius:8px}
.dmj-legacy :is(.btn--primary,.btn--accent),.dmj .btn--primary{background:var(--dmj-lime);border-color:#d1d329;color:var(--dmj-ink)}
.dmj-legacy :is(.btn--primary,.btn--accent):hover,.dmj .btn--primary:hover{background:#d5da2c;color:var(--dmj-ink)}
.dmj-legacy :is(.site-footer,.trust-bar){background:var(--dmj-ink);color:var(--dmj-paper)}
.dmj-legacy :is(.section-title,.profile-section h2){letter-spacing:-.035em;line-height:1.3}
.dmj-legacy :is(input,select,textarea){accent-color:var(--dmj-olive)}
.dmj-legacy :is(.profile-section,.profile-hero){box-shadow:0 3px 18px #20252208}
.dmj-bridge{background:var(--dmj-paper);color:var(--dmj-ink);border-bottom:1px solid var(--dmj-line);font-family:var(--dmj-font);min-height:64px}
.dmj-bridge>div>a{font-weight:650}
.dmj-bridge>div>a:hover{text-decoration:underline;text-underline-offset:5px}
.dmj .t-lead{line-height:1.8}
@media(max-width:600px){
 .dmj-legacy :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;max-width:100%;min-width:0}
 .dmj-legacy :is(.container,.wrap){max-width:100%}
 .dmj-bridge{padding:12px 16px;gap:12px;flex-wrap:wrap}
 .dmj-bridge>div{gap:16px;flex-wrap:wrap}
 .dmj-bridge>div>a{min-height:32px;display:inline-flex;align-items:center}
 .dmj-bridge>div>a:last-child{display:inline-flex}
 .dmj-legacy :is(.section-title,h1){overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.dmj-unified-wordmark{display:flex;flex-direction:column;font:900 36px/.95 Arial,sans-serif;letter-spacing:-.075em;color:var(--dmj-ink)}
.dmj-unified-wordmark small{font:650 8px/1.4 var(--dmj-font);letter-spacing:.12em;margin-top:8px}
.dmj-legacy .nav__link--login{color:var(--dmj-ink)!important}
/* Dashboard controls use the same neutral surfaces in both display modes. */
html[data-bs-theme=dark]{--tblr-body-bg:#202522;--tblr-body-color:#f1f2eb;--tblr-border-color:#454c40}
html[data-bs-theme=dark] :is(.form-control,.form-select,.nav-tabs){background-color:#242a23!important;color:#f1f2eb;border-color:#454c40}
html[data-bs-theme=dark] .nav-tabs .nav-link{color:#c5cabf}
html[data-bs-theme=dark] .nav-tabs .nav-link.active{background:#30372c;color:#e2e635;border-color:#454c40}
html[data-bs-theme=light] :is(.form-control,.form-select,.nav-tabs){background-color:#f0f1e9!important;color:#202522;border-color:#c8cdbf}
html[data-bs-theme=light] .nav-tabs .nav-link.active{background:#e2e635;color:#202522;border-color:#c8cdbf}
/* Filled lime actions: no visible edge or shadow; preserve size and focus outline. */
:is(.button.lime,.action.lime,.dmj-legacy .btn--primary,.dmj-legacy .btn--accent,.dmj .btn--primary,html[data-bs-theme] .btn-primary,html[data-bs-theme] .btn-outline-primary.active,html[data-bs-theme] .btn-outline-primary:hover){border-color:transparent!important;box-shadow:none!important}
:is(.button.lime,.action.lime,.dmj-legacy .btn--primary,.dmj-legacy .btn--accent,.dmj .btn--primary,html[data-bs-theme] .btn-primary):hover{background:#d5da2c!important;box-shadow:none!important}
body:has(.ops-nav) button:not(.card-actions button){border-color:transparent;box-shadow:none}
body:has(.ops-nav) button:not(.card-actions button):hover{background:#d5da2c}
body:has(header .logo) .button:not(.secondary):not(.band .button){border-color:transparent;box-shadow:none}
body:has(header .logo) .button:not(.secondary):not(.band .button):hover{background:#d5da2c}
