@import url('https://ctaas.de/fc/jodit/jodit.min.css');

@font-face {font-family:'Cousine';font-weight:400;font-style:normal;font-display:swap;src:local('Cousine'), url('https://ctaas.de/fonts/Cousine-Regular.ttf') format('truetype')}
@font-face {font-family:'Office Code Pro';font-weight:400;font-style:normal;font-display:swap;src:local('Office Code Pro'), url('https://ctaas.de/fonts/OfficeCodePro-Regular.ttf') format('truetype')}

html { font-size: 14px; font-family: 'Caja', system-ui;letter-spacing: -0.015em; }
body { margin: 0; background: #eee; display: flex; min-height: 100vh; flex-direction: row; }
#mob-bar { display: none; background: #ddd; padding: 0.5rem; border-bottom: 1px solid #777; position: sticky; top: 0; z-index: 1001; width: 100%; box-sizing: border-box; }
nav { width: 17rem; height: 100vh; background: #ddd; padding: 0.4rem; box-sizing: border-box; overflow-y: auto; position: sticky; top: 0; flex-shrink: 0; }
main { flex-grow: 1; padding: 0.5rem; min-width: 0; }
a { text-decoration: none; color: #222; }
.box { background: #fff; border: 1px solid #777; padding: 1.1rem; position: relative; overflow-x: auto; }
.nav-item { border: 1px solid #777; padding: 0.2rem; background: #eee; margin-bottom: -1px; display: block; }
.nav-item:hover { background: #999 !important; color: #fff; cursor: pointer; }
.nav-item:hover a { color: #fff; }
.nav-item.active { background: #a0a0a0 !important; text-shadow: 1px 1px 1px rgba(255,255,255,0.5); border-color: #555; }
.nav-item.start-page { background: #bbb; font-weight: bold; }
.nav-item.pinned-page { background: #fff59d; }
.nav-item.pinned-page.alt { background: #fbc02d; }
.nav-item.normal-page.alt { background: #E7E7E7; }
.nav-spacer { height: 1.1rem; }
button { padding: 0.35rem 0.5rem; border: 1px solid #aaa; border-radius: 0.3rem; cursor: pointer; background: #e0e0e0; }
.btn-green { background: #b0ffb0 !important; border-color: #00aa00 !important; margin-right: 0.5em;}
.btn-yellow { background: #fff59d !important; border-color: #fbc02d !important; }
.btn-red { background: #ffb0b0 !important; border-color: #cc0000 !important; }
#edit-controls-top button { margin-left: 0.5em; }
input { padding: 0.5rem; box-sizing: border-box; }
input[name=title] { width: 75%; max-width: 43rem; padding: 0.3rem; }
.crypto-input, .edit-unlock-pw { width: 18rem; }
.search-input { width: 70%; max-width: 28rem; }
.search-prompt-pw { width: 14rem; }
.meta-info { display: inline-block; margin-left: 0.5rem; font-size: 0.85rem; color: #777; vertical-align: middle; }
.jodit-container { margin-top: 0.5rem; height: 70vh !important; max-width: 100% !important; }
#crypto-unlock-area { padding: 1.4rem; border: 2px dashed #ccc; text-align: center; background: #fafafa; }
#crypto-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); color: #fff; display: none; z-index: 10000; flex-direction: column; align-items: center; justify-content: center; }
.sess-timer { font-size: 1rem; color: #f09; display: block; margin-top: 0; }
.nav-auth { min-height: 14rem; display: flex; flex-direction: column; justify-content: flex-start; padding: 0.5rem; box-sizing: border-box; }
.nav-auth button { align-self: flex-start; margin: 0 0 0.5em 0; }
.nav-auth-logout { margin-top: 0.5rem; }
.nav-auth-search { margin-top: 0.5rem !important; }
.wc-info-area, #searchPrompt, .edit-unlock-error, .search-results-table { display: none; }
.mob-bar-title { font-size: 0.85rem; }
.edit-unlock-area { text-align: center; padding: 3.5rem; }
.edit-unlock-error { color: red; margin-top: 0.5rem; }
#searchPrompt.visible { display: inline-block; padding: 1rem; margin: 3em 0; border: 1px solid #bbb; border-radius: 0.3rem; max-width: 35rem; }
.search-status { font-weight: bold; margin-bottom: 0.5rem; }
.search-results-table { width: 100%; margin-top: 1.4rem; border-collapse: collapse; background: #fff; }
.search-results-table thead tr { text-align: left; border-bottom: 2px solid #ddd; background: #f9f9f9; }
.search-results-table th { cursor: pointer; padding: 0.5rem; }
#searchResultsBody tr:hover { background-color: #f0f0f0; cursor: pointer; border: 1px solid red; }
.search-result-link, .search-result-date { display: block; padding: 0.5rem; border-bottom: 1px solid #eee; }
.search-result-td { padding: 0; }

@media(max-width: 768px) {
    body { flex-direction: column; }
    #mob-bar { display: flex; justify-content: space-between; align-items: center; }
    nav { display: none; width: 100%; height: auto; position: static; border-bottom: 1px solid #777; }
    main { padding: 0.35rem; }
    .nav-open nav { display: block; }
    input[name=title] { width: 100%; }
    .meta-info { display: block; margin: 0.35rem 0; }
    .sess-timer { display: inline; margin-left: 0.5rem; }
}

.content-body {}