/* LivWorkforce design system: bundled fonts, scales and shared controls. Loaded last on every page;
   colours come from themes.js (violet for links/focus, brass only for the primary action). */
@font-face{font-family:Manrope;src:url(/fonts/manrope.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(/fonts/bricolage.woff2) format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope Fallback";src:local("Arial"),local("Helvetica Neue"),local("Roboto");size-adjust:102.2%;ascent-override:104.3%;descent-override:29.4%;line-gap-override:0%}
@font-face{font-family:"Bricolage Fallback";src:local("Arial"),local("Helvetica Neue"),local("Roboto");size-adjust:107.9%;ascent-override:86.2%;descent-override:25%;line-gap-override:0%}
:root{
 --font-ui:Manrope,"Manrope Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
 --font-display:"Bricolage Grotesque","Bricolage Fallback",Manrope,system-ui,sans-serif;
 --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
 --fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-20:20px;--fs-24:24px;--fs-32:32px;--fs-44:44px;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-14:56px;
 --radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;
 --shadow-1:0 8px 24px rgb(5 4 20/.36);--shadow-2:0 24px 64px rgb(5 4 20/.52);
 --reading-width:720px;
 --button-height:40px;--button-radius:10px;--button-font-size:14px;--button-gap:8px;
 
 --theme-brass:#e2b867;--theme-on-brass:#1a1305;--theme-signal:#5ee6cf;--theme-danger:#ff8a80;--theme-control:#66638d;--theme-line-strong:#3d3a60;--theme-raised:#201e38;
 --theme-warning:#ffb27a;
}
html[data-theme-mode=light]{--shadow-1:0 8px 24px rgb(26 25 48/.10);--shadow-2:0 24px 64px rgb(26 25 48/.18);--theme-warning:#a24f12}
html[data-theme],html[data-theme] body{--error:var(--theme-danger)!important;--success:var(--theme-signal)!important;--warning:var(--theme-warning)!important}
@media(pointer:coarse){:root{--button-height:44px}}
html body{font-family:var(--font-ui);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body :is(button,input,select,textarea){font-family:inherit}
body :is(code,pre,kbd,samp){font-family:var(--font-mono)}
body table{font-variant-numeric:tabular-nums}
html[data-theme] ::selection{background:color-mix(in srgb,var(--theme-accent) 34%,transparent);color:inherit}
html[data-theme] *{scrollbar-color:var(--theme-line-strong) transparent}
html[data-theme] body :is(input[type=checkbox],input[type=radio],progress,input[type=range]){accent-color:var(--theme-accent)}
html body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--theme-accent,#a99dff)!important;outline-offset:2px!important}
html body :is(.form-input,.uif-dialog-input,#messageInput):focus-visible{outline-offset:0!important}
html body #messageInput:focus-visible{outline:none!important}
body :is(.btn-small,.btn,.sidebar-btn,.admin-back-btn,.login-btn,.uif-btn,.setup-btn){font-weight:600!important;letter-spacing:0!important}
html[data-theme] body :is(.login-btn,.btn-save,.btn-add,.setup-btn,.uif-btn-primary,.send-btn,#sendBtn,.theme-picker .primary){background:var(--theme-brass)!important;border:1px solid var(--theme-brass)!important;color:var(--theme-on-brass)!important;box-shadow:none!important}
html[data-theme] body :is(.login-btn,.btn-save,.btn-add,.setup-btn,.uif-btn-primary,.send-btn,#sendBtn):hover:not(:disabled){background:color-mix(in srgb,var(--theme-brass) 86%,var(--theme-text))!important;border-color:color-mix(in srgb,var(--theme-brass) 86%,var(--theme-text))!important;opacity:1}
html[data-theme] body :is(.btn-edit,.btn-cancel,.uif-btn-ghost,.uif-btn:not(.uif-btn-primary):not(.uif-btn-danger)){background:var(--theme-field)!important;border:1px solid var(--theme-line-strong)!important;color:var(--theme-text)!important}
html[data-theme] body :is(.btn-edit,.btn-cancel,.uif-btn-ghost,.uif-btn:not(.uif-btn-primary):not(.uif-btn-danger)):hover:not(:disabled){background:var(--theme-hover)!important;border-color:var(--theme-control)!important}
html[data-theme] body :is(.btn-delete,.uif-btn-danger){background:transparent!important;border:1px solid color-mix(in srgb,var(--theme-danger) 45%,var(--theme-border))!important;color:var(--theme-danger)!important}
html[data-theme] body :is(.btn-delete,.uif-btn-danger):hover:not(:disabled){background:color-mix(in srgb,var(--theme-danger) 12%,transparent)!important;border-color:var(--theme-danger)!important}
body :is(.btn-small,.admin-back-btn,.uif-btn):hover:not(:disabled){box-shadow:none!important}
body button:disabled{opacity:.5}
html[data-theme] body :is(.form-input,.uif-dialog-input){background:var(--theme-field)!important;border:1px solid var(--theme-control)!important;border-radius:var(--radius-md)!important;color:var(--theme-text)!important;box-shadow:none}
html[data-theme] body :is(.form-input,.uif-dialog-input)::placeholder{color:var(--theme-dim)!important;opacity:1}
html[data-theme] body :is(.form-input,.uif-dialog-input):focus{border-color:var(--theme-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 22%,transparent)!important}
html[data-theme] body .form-label{color:var(--theme-text);font-weight:600;font-size:var(--fs-13)}
@media(max-width:640px){body :is(.form-input,.uif-dialog-input,#messageInput,input[type=text],input[type=search],input[type=email],input[type=password],input[type=url],input[type=number],select,textarea){font-size:16px!important}}
html[data-theme] body :is(.uif-dialog-card,.modal-content,.theme-picker){border-radius:var(--radius-xl)!important;border:1px solid var(--theme-border)!important;background:var(--theme-surface)!important;box-shadow:var(--shadow-2)!important}
html[data-theme] body .uif-dialog-backdrop,.theme-picker::backdrop{background:color-mix(in srgb,var(--theme-bg) 72%,transparent)!important;backdrop-filter:blur(4px)!important}
html[data-theme] body .uif-dialog-title{font-size:var(--fs-20);font-weight:650;color:var(--theme-text)}
html[data-theme] body .uif-dialog-message{font-size:var(--fs-14);color:var(--theme-muted)}
html[data-theme] body .uif-toast{background:var(--theme-raised)!important;border:1px solid var(--theme-line-strong)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-1)!important;color:var(--theme-text)!important;font-size:var(--fs-14)}
html[data-theme] body :is(.plugin-menu,.archive-panel,.recurring-panel,.header-more-menu,.sidebar-menu){box-shadow:var(--shadow-1)!important;border-radius:var(--radius-lg)!important}
html[data-theme] body .theme-picker{padding:28px}
.theme-picker-heading h2{font:650 var(--fs-24)/1.25 var(--font-display)!important;letter-spacing:-.01em!important}
.theme-picker-intro{font-size:var(--fs-14)!important;line-height:1.55!important}
.theme-option strong{font-size:var(--fs-14)!important;font-weight:600!important}
.theme-option small{font-size:var(--fs-12)!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
