/** * kDots main styles * * Note that light / dark colors should go in kdots_light.less & kdots_dark.less */ /** Theme customisations **/ @import "./less/light.less"; @import "./less/dark.less"; /** End theme customisations **/ html, body { width: 100vw; height: 100vh; overflow: clip; padding: 0px; margin: 0px; /** Messages **/ .sl-toast-stack { top: auto; bottom: 0px; sl-alert et2-checkbox { padding-top: var(--sl-spacing-large); } } #egw_message { display: none } /** end messages **/ } .egw_menu::part(popup) { z-index: var(--sl-z-index-dropdown); } egw-framework#egw_fw_basecontainer { --icon-size: 32px; --sl-tooltip-arrow-size: 0; /* Internals */ &::part(status-split) { /* This limits the max size of the status panel */ --max: 32px; } &::part(header) { --icon-size: 32px; --tab-icon-size: var(--icon-size); --tab-icon-size-active: 40px; color: var(--primary-background-color); gap: var(--sl-spacing-medium); font-size: var(--icon-size); } /* Content slotted inside */ [slot="logo"] img { max-width: 220px; max-height: var(--icon-size); display: block; text-align: center; } sl-icon-button[slot="header"], et2-image[slot="header"] { font-size: var(--icon-size); color: inherit } div#egw_fw_toggler { position: initial; display: none; } #egw_fw_topmenu_info_items { position: relative; order: 99; margin-left: auto; display: flex; .topmenu_info_item { min-width: 1em; min-height: 1em; } } div#egw_fw_sidebar_r { position: initial; top: initial; et2-avatar, et2-lavatar { --size: 26px; } } .egw_fw_ui_sidemenu_entry_header { display: flex; gap: var(--sl-spacing-medium); padding-left: 1em; } } /*** HEADER ***/ #egw_fw_topmenu_info_items { display: flex; flex-direction: row-reverse; & > * { border: none; background: transparent; } et2-avatar { --size: var(--icon-size); &::part(base) { vertical-align: initial; } } .topmenu_info_item { height: var(--icon-size); width: var(--icon-size); display: inline-block; padding-left: 0px; background-size: 20px; background-position: center center; background-repeat: no-repeat; cursor: pointer; &:hover { background-color: var(--sl-input-background-color-hover); } } #topmenu_info_timer { order: 1; position: relative; display: flex; align-items: center; padding: 0px; #topmenu_timer { display: block; width: 100%; z-index: 2; } &:hover { cursor: pointer; } &:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(../../timesheet/templates/default/images/navbar.svg); background-repeat: no-repeat; background-size: 32px; background-position: center center; filter: opacity(0.3); } } #topmenu_info_quick_add { position: relative; span#quick_add { display: block; background-image: url(../../api/templates/default/images/add.svg); background-repeat: no-repeat; background-size: 24px; background-position: center; width: 100%; height: 100%; padding-right: 3px; &:before { content: " "; font-size: 2em; line-height: 0.6em; background-color: white; } } #quick_add_selectbox { height: 0px; display: inline-block; text-align: initial; sl-option { white-space: nowrap; } } #quick_add_selectbox::part(emptyLabel) { /* do NOT show empty label, required for clearing value */ display: none; } #quick_add_selectbox::part(form-control-input), #timer_selectbox::part(form-control-input) { border: none !important; } #quick_add_selectbox::part(form-control), #timer_selectbox::part(form-control) { margin-left: -3em; } #quick_add_selectbox::part(listbox), #timer_selectbox::part(menu) { max-height: 60vh; } #quick_add_selectbox { height: 0px; overflow: hidden; } #quick_add_selectbox::part(combobox) { visibility: hidden; } } #topmenu_info_user_avatar { sl-menu-item et2-image { width: 1em; } } button#topmenu_info_search { background-image: url(../../api/templates/default/images/topmenu_items/search.svg); } } #topmenu_info_print_title { background-image: url(../../../api/templates/default/images/print.svg); span { width: 45px; height: 45px; display: inline-block; } } /*** END HEADER ***/ /*** APPLICATION ***/ egw-app { &::part(name) { display: flex; align-items: center; text-wrap: nowrap; } &::part(content) { flex-direction: column; overflow-y:hidden; } & > div[id] > div { height: 100%; } } /* Individual application colors, should go in each app's CSS */ body, :root { // Color code for applications - not used by framework --addressbook-color: #003366; --admin-color: #333333; --bookmarks-color: #CC6633; --calendar-color: #CC0033; --filemanager-color: #ff9933; --infolog-color: #660033; --mail-color: #006699; --projectmanager-color: #669999; --resources-color: #003333; --timesheet-color: #330066; --tracker-color: #009966; --wiki-color: #797979; --ranking-color: #404040; --default-color: #797979; --kanban-color: #4663c8; egw-app[name="addressbook"] { --application-color: var(--addressbook-color); } egw-app[name="admin"] { --application-color: var(--admin-color); } egw-app[name="bookmarks"] { --application-color: var(--bookmarks-color); } egw-app[name="calendar"] { --application-color: var(--calendar-color); } egw-app[name="filemanager"] { --application-color: var(--filemanager-color); } egw-app[name="infolog"] { --application-color: var(--infolog-color); } egw-app[name="mail"] { --application-color: var(--mail-color); } egw-app[name="projectmanager"] { --application-color: var(--projectmanager-color); } egw-app[name="resources"] { --application-color: var(--resources-color); } egw-app[name="timesheet"] { --application-color: var(--timesheet-color); } egw-app[name="tracker"] { --application-color: var(--tracker-color); } egw-app[name="wiki"] { --application-color: var(--wiki-color); } egw-app[name="ranking"] { --application-color: var(--ranking-color); } } /*** END APPLICATION ***/ /*** WIDGETS ***/ /* This should mostly go away with webcomponents */ /* Get nextmatch sizing more nicely without messing with dynheight */ div.et2_nextmatch { display: flex; flex-direction: column; align-items: stretch; height: 100%; width: 100%; overflow: hidden; & > div:not(:first-child) { flex: 1 1 100%; max-height: 100%; } .egwGridView_outer { border-collapse: collapse; thead > tr { background-color: var(--sl-color-neutral-50); border-bottom: var(--sl-panel-border-width) solid var(--sl-color-neutral-200); th { border-right: var(--sl-panel-border-width) solid var(--sl-color-neutral-200); div.innerContainer { max-height: 10em; overflow-x: hidden; overflow-y: auto; } } th.optcol span.selectcols { height: 9px; padding: 4px 14px 0 2px; margin-top: 4px; background-image: url(../../api/templates/default/images/selectcols.svg); background-repeat: no-repeat; background-size: 10px 10px; display: inline-block; background-position: top; } } .egwGridView_scrollarea { overflow-x: hidden; overflow-y: auto; table { border-collapse: collapse; tr { border-bottom: var(--sl-panel-border-width) solid var(--sl-color-neutral-200); } tr.selected { background-color: var(--highlight-background-color); } } } } } /*** END WIDGETS ***/