:target { outline: none!important; padding: 0!important; } .dashboard h1:first-of-type { margin-top: 0!important; } main > footer { max-width: 100%!important; position: fixed; z-index: var(--z-top); bottom: 0; left: 0; right: 0; width: 100%; margin: 4rem 0 0 0!important; height: var(--height); padding: 0!important; background-color: var(--base); box-shadow: var(--shadow); } main>* { max-width: min(768px, 90vw)!important; margin: 0 auto!important; } main h1 { margin: 0!important; font-size: var(--large); } .item-grid .item { position: relative; } img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; } .replace { margin-bottom: var(--offHeight)!important; } /******************************************** GRID VIEW ********************************************/ .item-grid:has(.select-item:checked) .item { padding: .75rem; opacity : .8; filter: var(--filter); } .item-grid .item:has(.select-item:checked) { padding: .5rem; filter: none; opacity: 1; background-color: var(--action-0); } .grid-view .item > input[type=checkbox]:not(.label-button) + label { padding-left: 0; margin: 0; } .grid-view .item > input[type=checkbox] + label::before { transform: unset; top: .5rem; left: .5rem; } .grid-view .item > input[type=checkbox] + label::after { top: .5rem; left: .75rem; transform: translateY(20%) rotate(45deg); } .grid-view .item .item-actions { position: absolute; bottom: 0; right: 0; } .list-view h3, .list-view p { margin: 0!important; } @media (min-width: 768px) { .grid-view { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); } .grid-view .item .item-actions { bottom: unset; top: 0; } } .bulk-controls { margin: 1rem 0; } .bulk-controls .selected-count { font-weight: normal; font-size: var(--small); text-transform: none; font-style: italic; display: flex; gap: .25rem; margin-left: 2rem; } .selected-count::before { content: '{'; } .selected-count::after { content: '}'; } .bulk-edit-form .selected { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 4px; } .selected label { padding: .5rem; opacity: .6; filter: var(--filter); border: 2px solid transparent; transition: filter var(--transition-base), opacity var(--transition-base), border var(--transition-base), padding var(--transition-base); } .selected label:has(:checked) { border-color: var(--action-0); padding: 0; opacity: 1; filter: none; transition: filter var(--transition-base), opacity var(--transition-base), border var(--transition-base), padding var(--transition-base); } /****************************************************** TABLE VIEW ******************************************************/ form.table img { max-height: 4rem; } /****************************************************** FILTERS ******************************************************/ .all-filters { margin: 2rem 0; padding: 1rem 0; border-top: 1px solid var(--base-200); border-bottom: 1px solid var(--base-200); } details.uploader + .items-list .all-filters { border-top: none; } .all-filters .filters{ width: 100%; } .filters.row.start, .controls .radio-options { --align: center; --justify: flex-start; --gap: .5rem; } .all-filters span.label { text-transform: uppercase; font-size: var(--small); font-weight: 900; width: 15vw; display: inline-flex; align-items: center; padding-right: 2rem; } .controls .icon { --w: 1.4rem; } /****************************************************** SEARCH ******************************************************/ .search-container:not(.open) input[type=search], .search-container:not(.open) .clear-search { transform: scaleX(0); transform-origin: left; width: 0; padding: 0; transition: transform var(--transition-base), width var(--transition-base), padding var(--transition-base); } .search-container button { padding: .5rem; } .search-container .icon { --w: 1.5rem; } .search-container.open input[type=search], .search-container.open .clear-search { transform: scaleX(1); transform-origin: left; transition: transform var(--transition-base), width var(--transition-base), padding var(--transition-base); } .all-filters > .search, input[type=search], .search-container { width: 100%; } /*********************************************************** TABLE FIELDS ***********************************************************/ form.table textarea { width: 250px; padding: .5rem; } .multi-select summary { --gap: 2rem; padding-right: 2.5rem; } /************************************************************ TABS ************************************************************/ dialog.edit[open], dialog.bulk-edit[open], dialog.create[open] { height: 85vh; top: 5vh; } .tab-content h2 { display: none; } /*********************************************************** CREATE ITEM ***********************************************************/ .create-item { left: auto!important; right: 1rem; bottom: var(--offHeight)!important; } /********************************************************** HOURS **********************************************************/ .group-fields.hours .group-fields, .group-fields.hours .group-fields .field { display: flex; justify-content: space-between; align-items: center; } .group-fields.hours .group-fields { padding: 1rem .5rem; gap: 1rem; } .group-fields.hours .group-fields:nth-of-type(2n+1) { background-color: var(--base); } .group-fields.hours .group-fields .field { margin: 0; } .group-fields.hours .true-false { flex: 1; } .group-fields.hours .time { position: relative; } .group-fields.hours .time label { margin: 0; font-size: var(--small); position: absolute; top: -1rem; left: 0; color: var(--contrast-200); } /************************************************************ TODAY HOURS, specific to North'eh ************************************************************/ .today_hours { width: min(500px, 90vw); } .today_hours .group-fields { width: 100%; padding: 0; display: flex; justify-content: center; gap: .5rem; } @media (min-width: 768px) { .today_hours .group-fields { padding: 2rem; } } .today_hours .field { margin: 0; } .dash .true-false { margin: 0; } .dash [type=submit] { width: 90%; } .dashboard.settings nav.tabs { --height: 3.5rem; --x: var(--offHeight); position: fixed; bottom: var(--height); left: var(--x); right: var(--x); z-index:99; width: calc(100% - var(--x) - var(--x)); background-color: var(--base); } nav.integrations ul, nav.integrations li, nav.integrations a, nav.integrations { height: auto; } /*************************************** ***************************************/ .replace { overflow: hidden; } body.dash form#options { display: flex; flex-flow: column nowrap; justify-content: center; align-items: center; } /*************************************** INTEGRATIONS ***************************************/ .item-grid.integrations { grid-template-columns: repeat(2, 1fr); gap: 2rem; } .integration { background: var(--base); border: 2px solid var(--base-200); border-radius: var(--outerRadius); padding: 1rem; position: relative; transition: all var(--transition-base); box-shadow: var(--shadow); } .integration.connected { border-color: var(--success); } .integration.error, .integration.disconnected { border-color: var(--error); } .integration.hasChanges { border-color: var(--warning); } .integration .header { margin-bottom: .75rem; padding-bottom: .75rem; border-bottom: 2px solid var(--base-200); } .integration h3 { letter-spacing: 1px; font-size: var(--medium); margin: 0; } .integration .meta { margin-bottom: 1rem; text-align: right; color: var(--contrast-200); font-size: var(--small); } .integration .setup { font-size: var(--small); font-weight: bold; text-transform: uppercase; } .integration .setup .indicator { font-size: var(--medium); } .integration .connected .indicator, .integration .setup .connected { color: var(--success); } .integration .disconnected .indicator, .integration .setup .disconnected { color: var(--error); } .integration.hasChanges .disconnected { color: var(--warning); } .connection-status.connected { background-color: var(--successBack); color: var(--successText); } .connection-status.disconnected { background-color: var(--errorBack); color: var(--errorText); } .integration code { display: inline-block; width: 90%; margin: 0 .5rem; user-select: all; padding: .75rem; border: 2px solid var(--base); background-color: var(--base-200); word-break: break-all; } .integration details + details { margin-top: 1rem; } .integration .actions { margin-top: 1rem; } .hint { line-height: 1.2; font-style: italic; font-size: var(--small); } .hasChanges button[data-action=save_credentials] { border-color: var(--warning); animation: pulse-color 1s infinite; animation-delay: 1s; } .flash { animation: flash .5s; } .flash.connected { --b: var(--success); } .flash.disconnected { --b: var(--error); } .flash.syncing { --b: var(--success); } .flash.hasChanges, .flash.error { --b: var(--warning); } @keyframes flash { 0%, 100% {border-color: inherit} 50% {border-color: var(--b)} } .location.field { width: 80vw; } .location.field > p { text-align: center; } .location.field > p + p { margin: 0 .5rem 0 0; } .location.field .location-map { height: 20vh; } .location.field .location-links { padding: .5rem 0; display: flex; justify-content: space-evenly; } .item-grid .item, .field.upload [data-upload-id] { touch-action: none; }