/* SpeedM brand layer: overrides Vikunja's CSS custom properties; no functionality hidden. Inter (OFL) self-hosted. */
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/speedm/fonts/inter-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/speedm/fonts/inter-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/speedm/fonts/inter-latin-ext-500.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/speedm/fonts/inter-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/speedm/fonts/inter-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/speedm/fonts/inter-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(/speedm/fonts/inter-latin-ext-700.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(/speedm/fonts/inter-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root,html{
  --speedm-navy:#1F3A5F; --speedm-teal:#2E7D7B;
  --primary-h:215deg !important; --primary-s:51% !important; --primary-l:24% !important;
  --link-h:178deg !important; --link-s:46% !important; --link-l:34% !important;
  --family-primary:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif !important;
}
html.dark{--primary-h:178deg !important;--primary-s:46% !important;--primary-l:44% !important;--link-h:178deg !important;--link-s:46% !important;--link-l:56% !important}
html:not(.dark){--site-background:#f5f7fa !important}
html,body,button,input,select,textarea{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif !important}
body{letter-spacing:-.003em !important;-webkit-font-smoothing:antialiased !important}
h1,h2,h3,.title,.subtitle{font-weight:650 !important;letter-spacing:-.015em !important}
html:not(.dark) .title,html:not(.dark) h1,html:not(.dark) h2{color:var(--speedm-navy) !important}

/* top bar */
.navbar{background:#fff !important;border-top:3px solid var(--speedm-teal) !important;border-bottom:1px solid #e3e8ef !important;box-shadow:0 4px 14px rgba(31,58,95,.05) !important}
html.dark .navbar{background:#0f1b2d !important;border-bottom-color:#243449 !important}
.navbar .logo-link{display:flex !important;align-items:center !important}
.navbar .logo-link svg,.navbar .logo-link img{display:none !important}
.navbar .logo-link::before{content:"" !important;display:block !important;width:190px !important;height:34px !important;background:url(/speedm/logo.svg) left center/contain no-repeat !important}
html.dark .navbar .logo-link::before{background-image:url(/speedm/logo-light.svg) !important}

/* sidebar */
html:not(.dark) .menu-container{background:#fff !important;border-right:1px solid #e3e8ef !important}
.menu-container .menu-list li a{border-radius:8px !important}
.menu-container .menu-list li a:hover{background:rgba(46,125,123,.08) !important}
html:not(.dark) .menu-container .menu-list li a.router-link-exact-active{background:rgba(31,58,95,.08) !important;color:var(--speedm-navy) !important;font-weight:600 !important}

/* calm cards, more whitespace */
.card,.box,.modal-content{border-radius:12px !important}
html:not(.dark) .card,html:not(.dark) .box{box-shadow:0 1px 2px rgba(31,58,95,.06),0 6px 18px rgba(31,58,95,.06) !important;border:1px solid #e6ebf2 !important}
html:not(.dark) .kanban .bucket{background:#eef2f6 !important;border:1px solid #e3e8ef !important;box-shadow:none !important}
.kanban .bucket{border-radius:12px !important}
.tasks .task{padding-top:.55rem !important;padding-bottom:.55rem !important}
.button{border-radius:8px !important;font-weight:550 !important}
html:not(.dark) .button.is-primary{background:var(--speedm-navy) !important;border-color:var(--speedm-navy) !important}
html:not(.dark) .button.is-primary:hover{background:#27487a !important}
.input,.textarea,.select select{border-radius:8px !important}
.tag{border-radius:999px !important}

/* login / register */
html:not(.dark) .no-auth-wrapper{background:#f5f7fa !important}
html.dark .no-auth-wrapper{background:#0f1b2d !important}
.no-auth-wrapper > .logo{display:block !important;width:260px !important;height:52px !important;max-width:260px !important;margin:1.5rem auto .5rem !important}
.no-auth-wrapper > .logo svg,.no-auth-wrapper .llama-cool{display:none !important}
.no-auth-wrapper > .logo::before{content:"" !important;display:block !important;height:52px !important;background:url(/speedm/logo.svg) center/contain no-repeat !important}
html.dark .no-auth-wrapper > .logo::before{background-image:url(/speedm/logo-light.svg) !important}
.noauth-container{border-radius:16px !important;overflow:hidden !important;box-shadow:0 10px 40px rgba(31,58,95,.16) !important}
.noauth-container .image{background:linear-gradient(180deg,rgba(31,58,95,.05),rgba(31,58,95,.65)),url(/speedm/login-hero.jpg) center/cover no-repeat !important}
.noauth-container .image .image-title{color:#fff !important;font-weight:650 !important;text-shadow:0 2px 12px rgba(0,0,0,.4) !important}
.noauth-container .content{padding:2.5rem 2.25rem !important}

h1,h2,h3,.title,.subtitle,.image-title,.project-title,.menu-container .menu-label{font-family:Inter,system-ui,sans-serif !important}
/* attachment viewer (viewer.js) */
.speedm-viewer{position:fixed;inset:0;z-index:100000;background:rgba(15,27,45,.78);display:flex;align-items:center;justify-content:center;padding:2vh 2vw}
.speedm-viewer__box{background:#fff;border-radius:14px;overflow:hidden;width:min(1100px,96vw);height:94vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.speedm-viewer__bar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:#1F3A5F;color:#fff;font-weight:600}
.speedm-viewer__bar span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.speedm-viewer__bar a,.speedm-viewer__bar button{color:#fff;background:rgba(255,255,255,.14);border:0;border-radius:8px;padding:.35rem .8rem;cursor:pointer;font:inherit;text-decoration:none}
.speedm-viewer__bar a:hover,.speedm-viewer__bar button:hover{background:rgba(255,255,255,.28)}
.speedm-viewer__body{flex:1;display:flex;align-items:center;justify-content:center;background:#e9edf2;overflow:auto;color:#1F3A5F}
.speedm-viewer__body iframe{width:100%;height:100%;border:0;background:#fff}
.speedm-viewer__body img{max-width:100%;max-height:100%;object-fit:contain}
.speedm-hint{display:inline-block;margin-left:.5rem;padding:.1rem .6rem;border-radius:999px;background:rgba(46,125,123,.12);color:#2E7D7B;font-size:.8rem;cursor:pointer;border:0}

/* Login: technischen Hinweis zur Vikunja-Installation ausblenden */
.api-config{display:none!important}
