.card-details-item-date-format .card-details-item-title { font-weight: bold; color: #333; letter-spacing: 0.03em; } .card-details-item-date-format .js-date-format-selector { border: 1px solid #ddd; border-radius: 5px; background-color: #fff; transition: border-color 0.15s, box-shadow 0.15s; cursor: pointer; width: 100%; display: flex; flex: 1; } .card-details-item-date-format .js-date-format-selector:focus { outline: none; border-color: #007cba; box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.2); } .card-details h3 { font-size: 1.1em; } .card-checklists { display: flex; flex-direction: column; } .card-body { display: flex; flex-direction: column; flex: 1; padding: 2ch; align-items: stretch; gap: 0.5lh; /* for popups */ overflow-y: auto; &.is-maximized { display: grid; /* divide available space; 3/4 for main content, 1/4 for activity feed */ /* better use a grid, otherwise flexbox will not expand left pane if fullscreen > max-content, but some users may want to expend elements anyways */ grid-template-columns: 3fr 1fr; .card-details-left { border-right: solid 2px #dbdbdb; padding-right: 2ch; } } } .card-header-content { display: grid; margin: 0 1ch; grid-auto-columns: auto 1fr auto; grid-auto-flow: column; justify-content: stretch; align-items: center; min-height: 2lh; gap: 1ch; } body.mobile-mode { .card-header-content { padding-inline: 0.5ch; } .card-header-middle { padding-inline: 0; background: unset; font-size: 1.1em; } } .card-header-middle { display: flex; min-height: 1.5lh; font-size: 1.3em; justify-content: center; align-items: center; background: #dfdfdf; border-radius: 1ch; padding-inline: 1ch; justify-self: stretch; cursor: grab !important; } .assignee.add-assignee:hover, .assignee.add-assignee.is-active { box-shadow: 0 0 0 2px #666 inset; } .assignee { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.04); } .assignee .assignee-presence-status { background-color: #b3b3b3; border: 1px solid #fff; border-radius: 50%; height: 7px; width: 7px; position: absolute; right: -1px; bottom: -1px; z-index: 15; } .assignee .assignee-presence-status.active { background: #64c464; border-color: #daf1da; } .assignee .assignee-presence-status.idle { background: #e4e467; border-color: #f7f7d4; } .assignee .assignee-presence-status.disconnected { background: #bdbdbd; border-color: #ededed; } .assignee .assignee-presence-status.pending { background: #e44242; border-color: #f1dada; } .assignee.add-assignee { display: flex; align-items: center; transition: box-shadow 0.12s; } .card-header-controls-grid { display: grid; grid-template-columns: repeat(auto-fill, 2ch); gap: 0.5ch; grid-auto-flow: column; flex-direction: column; align-items: center; justify-items: center; } .copied-tooltip { position: absolute; background-color: rgba(0,0,0,0.875); color: #fff; border-radius: 0.7vw; font-size: 0.98em; } .copied-tooltip-visible { visibility: visible; opacity: 1; transition: opacity 0.1s linear; } .copied-tooltip-hidden { visibility: hidden; opacity: 0; transition: visibility 0s 0.1s, opacity 0.1s linear; } .card-details { padding: 0; display: flex; flex: 1; overflow-y: auto; overflow-x: hidden; background: #f7f7f7; border-radius: 0 0 0.4vw 0.4vw; z-index: 100; animation: flexGrowIn 0.1s; box-shadow: 0 0 0.9vh 0 #b3b3b3; transition: flex-basis 0.1s, box-shadow 0.15s; box-sizing: border-box; &:not(.collapsed) { min-height: 20lh; /* at this point, popup can still be resized but stops to shrink content, so the later stays visible */ min-width: 30vw; } } .edit-vote-question { display: flex; flex-direction: column; & > .fields { display: flex; flex-direction: column; gap: 0.2lh; margin: 0.2lh 0; } } .card-details .card-details-canvas { display: grid; background: #ededed; border-bottom: 1px solid #dbdbdb; flex: 1; grid-template-rows: auto auto; grid-auto-flow: row; grid-template-columns: auto; align-items: stretch; align-content: center; } /* Collapsed card state - hide content and set height to title row only */ .card-details.card-details.collapsed .card-details-canvas > *:not(.card-details-header) { display: none !important; } .card-details .mCustomScrollBox { padding-left: 0; } .card-details .card-details-header .card-number { color: #b3b3b3; display: inline-block; } /* Collapse toggle triangle */ .card-details .card-details-header .card-collapse-toggle { cursor: pointer; user-select: none; color: #000; } /* Bring to front / Send to back buttons */ /* #FIXME see .jade */ /* .card-details .card-details-header .card-bring-to-front, .card-details .card-details-header .card-send-to-back { float: right; font-size: 18px; padding: 7px 8px; margin-right: 5px; cursor: pointer; user-select: none; color: #333; } */ .card-details .card-details-header .card-bring-to-front:hover, .card-details .card-details-header .card-send-to-back:hover { color: #000; background: rgba(0,0,0,0.05); border-radius: 3px; } .card-details .card-details-header .card-drag-handle { cursor: move; user-select: none; } .card-details .js-card-details-title { /* override inlined forms defauts: take all width available and just what's needed to edit card title */ width: 100%; display: flex; .js-edit-card-title { height: fit-content; margin: 0; } .edit-controls { flex: 1; align-items: center; button { margin: 0; display: flex; max-width: 20ch; justify-content: center; align-items: center; } } .js-submit-edit-card-title-form { margin: 0.3lh 0; flex: 1; display: flex; } } .card-details .card-details-header .close-card-details, .card-details .card-details-header .maximize-card-details, .card-details .card-details-header .minimize-card-details { cursor: pointer; user-select: none; vertical-align: middle; line-height: 1.2; transition: color 0.13s; } .card-details .card-details-header .close-card-details-mobile-web, .card-details .card-details-header .card-mobile-desktop-toggle { cursor: pointer; user-select: none; } .card-details .card-details-header .card-mobile-desktop-toggle { cursor: pointer; user-select: none; float: right; } body:not(.mobile-mode) { .card-details-date-container, .card-details-user-container, .card-details-misc-container, card-details-description { grid-template-columns: repeat(3, 1fr) !important; gap: 1ch; } } /* Unify all card text to match title size */ .card-details { font-size: 1em; } .card-details .card-details-header .card-details-watch { color: #a6a6a6; } .card-details .card-details-header { & .card-details-title { display: inline-block; font-weight: bold; font-size: 1.33em; margin: 0; --overflow-lines: 3; & p { margin: 0; } } } .card-add-label, .card-details .js-date-format-selector { padding: 0.2lh 0.5ch; } .card-details-main { display: flex; gap: 0.3lh; flex-direction: column; hr { margin: 0; } &>div { display: flex; gap: 0.2lh; flex: 1; } &>div:empty { /* to avoid gaps */ display: none; } .card-details-misc-container { display: flex; flex-direction: column; gap: 0.3lh; } .card-details-date-container, .card-details-user-container { display: grid; grid-template-columns: 1fr 1fr; gap: 1ch; align-items: end; h3 { + *:not(:has(.member), :is(:hover)) { background-color: #f7f7f7; } + *:not(:is(form)) { display: flex; align-items: center; overflow: hidden; font-size: 0.8em; &:not(.member, :has(.member)) { border-radius: 5px; justify-content: start; height: 1.8lh; padding: 0.3lh 1ch; } &:has(select) { padding-inline: 0 !important; >select { align-self: stretch; } } time { color: black; } +form { height: 3lh; overflow: visible; margin: 0.5lh 0; > { width: 100%; } } } } } .card-details-items { gap: 0.5lh; } .card-details-comments { flex-direction: column; gap: 0.5lh; } } .card-details-description { display: flex; flex-direction: column; flex: 1; } .card-details-comments { flex-direction: column; gap: 0.5lh; } .card-details .card-details-header .card-details-watch { color: #a6a6a6; } .card-details .card-details-header .card-details-title { font-weight: bold; font-size: 1.35em; padding: 0; display: inline-block; vertical-align: middle; line-height: 1.3; letter-spacing: 0.01em; } body.mobile-mode { .card-details .card-details-header .card-details-title { --overflow-lines: 2; font-size: 0.8em; } } .card-details .card-details-header .linked-card-location { font-style: italic; font-size: 1em; margin-bottom: 0; } .card-details .card-details-header .linked-card-location p { margin-bottom: 0; } .card-details .card-description i.fa.fa-pencil-square-o { float: right; } .card-details .card-description textarea { resize: vertical; min-height: 2lh; } .card-details { .card-details-items, .card-details-item { display: flex; flex-direction: column; gap: 0.3lh; } .card-details-item { justify-content: end; align-self: stretch; } .card-details-avatar-container { display: flex; justify-content: start; gap: 0.5ch; } } .card-details-item-labels-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(12ch, auto)); grid-auto-rows: 1.5lh; align-items: stretch; justify-content: start; gap: 1ch; } .card-details .subtask-container { display: flex; flex: 1; flex-wrap: nowrap; align-items: center; gap: 1ch; h2 { margin: 0; } .subtask { min-height: 1.5lh; } } .card-details .card-details-item-title { font-weight: bold; color: #4d4d4d; display: flex; align-items: center; gap: 0.8ch; } .card-details .edit-card-details-description { display: flex; align-items: center; gap: .5ch; } .card-details .activities { padding-top: 10px; } body.mobile-mode .card-details .card-details-canvas { padding: 0 !important; } .card-details-white { background: #fff !important; color: #000 !important; border: 1px solid #eee; } .card-details-green { background: #3cb500 !important; color: #fff !important; } .card-details-yellow { background: #fad900 !important; color: #000 !important; } .card-details-orange { background: #ff9f19 !important; color: #000 !important; } .card-details-red { background: #eb4646 !important; color: #fff !important; } .card-details-purple { background: #a632db !important; color: #fff !important; } .card-details-blue { background: #0079bf !important; color: #fff !important; } .card-details-pink { background: #ff78cb !important; color: #000 !important; } .card-details-sky { background: #00c2e0 !important; color: #fff !important; } .card-details-black { background: #4d4d4d !important; color: #fff !important; } .card-details-lime { background: #51e898 !important; color: #000 !important; } .card-details-silver { background: #c0c0c0 !important; color: #000 !important; } .card-details-peachpuff { background: #ffdab9 !important; color: #000 !important; } .card-details-crimson { background: #dc143c !important; color: #fff !important; } .card-details-plum { background: #dda0dd !important; color: #000 !important; } .card-details-darkgreen { background: #006400 !important; color: #fff !important; } .card-details-slateblue { background: #6a5acd !important; color: #fff !important; } .card-details-magenta { background: #f0f !important; color: #fff !important; } .card-details-gold { background: #ffd700 !important; color: #000 !important; } .card-details-navy { background: #000080 !important; color: #fff !important; } .card-details-gray { background: #808080 !important; color: #fff !important; } .card-details-saddlebrown { background: #8b4513 !important; color: #fff !important; } .card-details-paleturquoise { background: #afeeee !important; color: #000 !important; } .card-details-mistyrose { background: #ffe4e1 !important; color: #000 !important; } .card-details-indigo { background: #4b0082 !important; color: #fff !important; } .voted { opacity: 0.7; } .vote-title { display: flex; justify-content: space-between; & + .viewer { font-size: 1.1em; font-weight: bold; } align-items: center; } .vote-title .js-edit-date { align-self: flex-start; } .vote-result { display: flex; gap: 0.5ch; .card-label { min-width: 5ch; } .js-show-positive-votes { cursor: pointer; } .poker-voted { opacity: 0.7; } .poker-title { display: flex; justify-content: space-between; align-items: center; } .poker-title .js-edit-date { align-self: flex-start; } .poker-result { display: flex; flex-wrap: wrap; gap: 7px; } .js-show-positive-poker-votes { cursor: pointer; } .poker-deck { display: grid; grid-auto-flow: row; text-align: center; gap: 6px; } .poker-card-result { width: 34px; font-size: 1em; font-weight: bold; padding: 4px 2px; cursor: default; border-radius: 3px; } .winner { font-weight: bold; outline: #2d2d2d solid 2px; } .loser { opacity: 0.5; } .responsive-table { overflow-x: auto; width: 100%; } .poker-table { display: table; width: 100%; padding-top: 10px; } .poker-table-row { display: table-row; } .poker-table-heading { background-color: #eee; display: table-header-group; } .poker-table-cell { display: table-cell; padding: 0 0 5px 2px; border-bottom: 1px solid #d2d0d0; text-align: center; min-width: 45px; } .poker-table-cell-who { width: 150px; vertical-align: middle; } .poker-table-heading-left, .poker-table-heading-right { display: table-header-group; font-weight: bold; border-top: 1px solid #808080; } @media (max-width: 400px) { .poker-table-heading-right { display: none; } } .poker-table-body { display: table-row-group; } .poker-table-side-left, .poker-table-side-right { display: inline-block; } .poker-table-side-right { padding-left: 10px; } @media (max-width: 400px) { .poker-table-side-right { padding-left: 0px; } } .estimation-add { display: block; overflow: auto; } .estimation-add button { display: inline-block; } .poker-card { width: 48px; height: 72px; float: left; background: #fff; border-radius: 5px; display: table; box-sizing: border-box; padding: 5px; margin: 3px; font-weight: bold; text-shadow: #2d2d2d 1px 1px 0; box-shadow: 0 0 5px #aaa; text-align: center; position: relative; cursor: pointer; transition: box-shadow 0.12s; } .poker-card .inner { display: table-cell; vertical-align: middle; border-radius: 5px; overflow: hidden; background-color: #cecece; } /* Drag and drop file upload visual feedback */ .js-card-details.is-dragging-over { border: 2px dashed #0079bf; background-color: #e3f2fd !important; transform: scale(1.01); transition: all 0.2s ease; } .cardMorePopup { display: flex; flex-direction: column; gap: 0.1lh; .card-add-date { display: flex; gap: 0.5ch; } }