Wave changes
This commit is contained in:
@@ -27,20 +27,25 @@
|
||||
--wird-shadow: 0 1px 4px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.22);
|
||||
}
|
||||
|
||||
/* App shell */
|
||||
#wird-app {
|
||||
display: grid;
|
||||
gap: 2.5rem;
|
||||
margin-top: 2rem;
|
||||
min-width: 0;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Shared panel */
|
||||
.wird-panel {
|
||||
background: var(--wird-card-bg);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--wird-radius);
|
||||
padding: 1.5rem;
|
||||
box-shadow: var(--wird-shadow);
|
||||
min-width: 0;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.wird-panel-header {
|
||||
@@ -58,14 +63,12 @@
|
||||
font-size: 1.15rem;
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
/* colour comes from h2 { color: var(--heading) } in styles.css */
|
||||
}
|
||||
|
||||
/* Today header */
|
||||
#today-date {
|
||||
font-size: .95rem;
|
||||
font-style: italic;
|
||||
color: var(--muted) !important; /* override heading colour */
|
||||
color: var(--muted) !important;
|
||||
font-weight: 400;
|
||||
margin: 0;
|
||||
}
|
||||
@@ -99,7 +102,6 @@
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Wird cards grid */
|
||||
#wird-cards {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
||||
@@ -173,7 +175,6 @@
|
||||
color: var(--bg);
|
||||
}
|
||||
|
||||
/* Trend controls */
|
||||
#trend-controls { display: flex; gap: .5rem; flex-wrap: wrap; }
|
||||
|
||||
#trend-controls select {
|
||||
@@ -216,7 +217,6 @@
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
/* History table */
|
||||
#history-table-wrap { overflow-x: auto; }
|
||||
|
||||
#history-table {
|
||||
@@ -249,7 +249,6 @@
|
||||
|
||||
.loading-cell { color: var(--muted); font-style: italic; }
|
||||
|
||||
/* status badges extend chip pattern from styles.css */
|
||||
.badge {
|
||||
display: inline-block;
|
||||
font-family: monospace;
|
||||
@@ -264,7 +263,6 @@
|
||||
.badge.over { background: color-mix(in oklab, var(--wird-accent) 16%, var(--bg)); color: var(--wird-accent); }
|
||||
.badge.miss { background: color-mix(in oklab, var(--wird-red) 16%, var(--bg)); color: var(--wird-red); }
|
||||
|
||||
/* Primary button matches site pill style */
|
||||
.btn-primary {
|
||||
font-family: inherit;
|
||||
font-size: .78rem;
|
||||
@@ -280,7 +278,6 @@
|
||||
}
|
||||
.btn-primary:hover { opacity: .78; }
|
||||
|
||||
/* Modal */
|
||||
dialog {
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 10px;
|
||||
@@ -300,7 +297,6 @@ dialog::backdrop {
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
|
||||
/* Modal inner layout — header / scrollable body / footer */
|
||||
dialog form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -314,10 +310,8 @@ dialog h3 {
|
||||
padding: 1.5rem 1.75rem 1.25rem;
|
||||
border-bottom: 1px solid var(--border);
|
||||
flex-shrink: 0;
|
||||
/* colour from styles.css h3 { color: var(--heading) } */
|
||||
}
|
||||
|
||||
/* Scrollable body area */
|
||||
.modal-body {
|
||||
padding: 1.4rem 1.75rem;
|
||||
overflow-y: auto;
|
||||
@@ -367,7 +361,6 @@ dialog h3 {
|
||||
box-shadow: 0 0 0 3px color-mix(in oklab, var(--wird-accent) 18%, transparent);
|
||||
}
|
||||
|
||||
/* toggle switch */
|
||||
.toggle-row { display: flex; align-items: center; gap: .52rem; }
|
||||
|
||||
input[type="checkbox"][role="switch"] {
|
||||
@@ -394,7 +387,6 @@ input[type="checkbox"][role="switch"]::after {
|
||||
input[type="checkbox"][role="switch"]:checked { background: var(--wird-green); }
|
||||
input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
|
||||
/* Shared modal footer / action row */
|
||||
.modal-footer,
|
||||
#modal-actions,
|
||||
#khatm-modal-actions,
|
||||
@@ -409,7 +401,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Cancel button — shared */
|
||||
#modal-cancel,
|
||||
#khatm-cancel,
|
||||
#motalah-cancel {
|
||||
@@ -430,13 +421,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 520px) {
|
||||
#wird-cards { grid-template-columns: 1fr; }
|
||||
.wird-panel-header { flex-direction: column; align-items: flex-start; }
|
||||
}
|
||||
|
||||
/* Shaykh Meeting Panel */
|
||||
#meeting-status-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@@ -494,7 +478,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
color: var(--chip-fg);
|
||||
}
|
||||
|
||||
/* 3-week cycle table */
|
||||
#meeting-cycles h3 {
|
||||
font-size: .88rem;
|
||||
color: var(--muted);
|
||||
@@ -531,14 +514,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
background: color-mix(in oklab, var(--bg) 90%, var(--fg) 10%);
|
||||
}
|
||||
|
||||
@media (max-width: 520px) {
|
||||
#meeting-status-row { flex-direction: column; align-items: flex-start; }
|
||||
#meeting-status-msg { margin-left: 0; }
|
||||
}
|
||||
|
||||
/* Rating pips (card + modal) */
|
||||
|
||||
/* Inline card pips clickable */
|
||||
.rating-pips {
|
||||
display: flex;
|
||||
gap: .38rem;
|
||||
@@ -567,7 +542,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
border-color: var(--wird-accent);
|
||||
}
|
||||
|
||||
/* The target pip gets a subtle ring */
|
||||
.rating-pip.target-pip {
|
||||
box-shadow: 0 0 0 2px color-mix(in oklab, var(--wird-green) 40%, transparent);
|
||||
}
|
||||
@@ -588,7 +562,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
/* Static pips in history table */
|
||||
.rating-pip-static {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
@@ -606,7 +579,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
border-color: var(--wird-accent);
|
||||
}
|
||||
|
||||
/* Modal pips larger, more tap-friendly */
|
||||
.modal-pips {
|
||||
display: flex;
|
||||
gap: .55rem;
|
||||
@@ -634,13 +606,10 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
border-color: var(--wird-accent);
|
||||
}
|
||||
|
||||
/* Pip labels on hover via title tooltip are enough,
|
||||
but add a subtle numeric hint below each pip */
|
||||
.modal-pips {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Wuqkf Qalb+ rating card pips */
|
||||
.card-pips {
|
||||
display: flex;
|
||||
gap: .4rem;
|
||||
@@ -659,7 +628,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* minimum threshold marker small tick below the pip */
|
||||
.card-pip.min-marker::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
@@ -683,7 +651,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
margin-top: .1rem;
|
||||
}
|
||||
|
||||
/* Modal pip picker */
|
||||
.modal-pips {
|
||||
display: flex;
|
||||
gap: .5rem;
|
||||
@@ -731,11 +698,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
|
||||
.modal-pip.selected .pip-lbl { color: var(--wird-accent); }
|
||||
|
||||
@media (max-width: 380px) {
|
||||
.pip-lbl { display: none; }
|
||||
.modal-pip { flex: unset; }
|
||||
}
|
||||
/* ── Mutāla'ah Panel ─────────────────────────────────────── */
|
||||
#motalah-today-row {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
@@ -763,7 +725,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
/* sessions list */
|
||||
.motalah-session {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
@@ -815,17 +776,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* motalah-modal-actions and cancel now in shared modal footer block above */
|
||||
|
||||
|
||||
|
||||
/* ============================================================
|
||||
Append to wird-tracker.css
|
||||
============================================================ */
|
||||
|
||||
|
||||
/* ── Nafl Prayers ────────────────────────────────────────── */
|
||||
|
||||
#nafl-cards {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
|
||||
@@ -926,13 +876,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
@media (max-width: 520px) {
|
||||
#nafl-cards { grid-template-columns: 1fr; }
|
||||
}
|
||||
|
||||
|
||||
/* ── Khatm Tracker ───────────────────────────────────────── */
|
||||
|
||||
#khatm-stats-row {
|
||||
display: flex;
|
||||
gap: 1.5rem;
|
||||
@@ -971,7 +914,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* Every 10th khatm */
|
||||
.khatm-item.milestone .khatm-num {
|
||||
background: var(--wird-green);
|
||||
box-shadow: 0 0 0 3px color-mix(in oklab, var(--wird-green) 28%, transparent);
|
||||
@@ -1014,11 +956,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
/* khatm-modal-actions and cancel now in shared modal footer block above */
|
||||
|
||||
|
||||
/* ── Heatmap ─────────────────────────────────────────────── */
|
||||
|
||||
#heatmap-panel .wird-panel-header select {
|
||||
font-family: monospace;
|
||||
font-size: .72rem;
|
||||
@@ -1033,18 +970,19 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
#heatmap-wrap { overflow-x: auto; padding-bottom: .4rem; }
|
||||
|
||||
#heatmap-month-labels {
|
||||
display: flex;
|
||||
padding-left: 28px; /* width of dow column */
|
||||
position: relative;
|
||||
padding-left: 28px;
|
||||
margin-bottom: .3rem;
|
||||
min-width: max-content;
|
||||
height: 1rem;
|
||||
}
|
||||
|
||||
.hm-month-lbl {
|
||||
font-family: monospace;
|
||||
font-size: .6rem;
|
||||
color: var(--muted);
|
||||
flex-shrink: 0;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#heatmap-grid {
|
||||
@@ -1136,7 +1074,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
padding-top: 1rem;
|
||||
border-top: 1px solid var(--border);
|
||||
}
|
||||
/* ── Book Search (Motalah modal) ──────────────────────────── */
|
||||
|
||||
.book-search-wrap {
|
||||
position: relative;
|
||||
@@ -1238,7 +1175,6 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Selected books chips row */
|
||||
#selected-books-chips {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@@ -1280,4 +1216,521 @@ input[type="checkbox"][role="switch"]:checked::after { left: 18px; }
|
||||
color: var(--muted);
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
wird-mobile.css
|
||||
Mobile-specific fixes and overrides for wird-tracker.
|
||||
Include this AFTER wird-tracker.css.
|
||||
|
||||
Addresses:
|
||||
- Full-width overflow from heatmap / table / chart
|
||||
- Breakpoint gap between site (600px) and wird (520/540px)
|
||||
- Tap-target sizes across all interactive elements
|
||||
- Modal sheet usability
|
||||
- Grid reflowing on small screens
|
||||
============================================================ */
|
||||
|
||||
#wird-app {
|
||||
overflow-x: hidden;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
|
||||
#wird-app {
|
||||
gap: 1.25rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.wird-panel {
|
||||
padding: 1rem;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.wird-panel-header {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: .5rem;
|
||||
}
|
||||
|
||||
#wird-cards,
|
||||
#nafl-cards {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
#history-table-wrap,
|
||||
#heatmap-wrap,
|
||||
#trend-chart {
|
||||
overflow-x: auto;
|
||||
max-width: 100%;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
#heatmap-month-labels,
|
||||
#heatmap-grid {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
#heatmap-month-labels {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#trend-chart {
|
||||
max-width: 100% !important;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
#trend-stats,
|
||||
#heatmap-stats,
|
||||
#khatm-stats-row,
|
||||
#motalah-today-row {
|
||||
gap: .6rem;
|
||||
}
|
||||
|
||||
.stat-chip .stat-val,
|
||||
.motalah-today-val {
|
||||
font-size: .88rem;
|
||||
}
|
||||
|
||||
#today-progress-wrap {
|
||||
flex-wrap: wrap;
|
||||
gap: .4rem;
|
||||
}
|
||||
|
||||
#today-progress-bar {
|
||||
width: 90px;
|
||||
}
|
||||
|
||||
#meeting-status-row {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: .75rem;
|
||||
}
|
||||
|
||||
#meeting-status-msg {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#history-table th,
|
||||
#history-table td {
|
||||
white-space: normal;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
#history-table th {
|
||||
font-size: .62rem;
|
||||
padding: .28rem .4rem;
|
||||
}
|
||||
|
||||
#history-table td {
|
||||
font-size: .8rem;
|
||||
padding: .38rem .4rem;
|
||||
}
|
||||
|
||||
.khatm-item {
|
||||
gap: .5rem;
|
||||
}
|
||||
|
||||
.khatm-note {
|
||||
white-space: normal;
|
||||
overflow: visible;
|
||||
text-overflow: unset;
|
||||
}
|
||||
|
||||
#trend-controls {
|
||||
gap: .4rem;
|
||||
}
|
||||
|
||||
#trend-controls select {
|
||||
font-size: .7rem;
|
||||
padding: .3rem .5rem;
|
||||
}
|
||||
|
||||
#nafl-completion-bar-wrap {
|
||||
flex-wrap: wrap;
|
||||
gap: .4rem;
|
||||
}
|
||||
|
||||
#book-search-results {
|
||||
max-height: 160px;
|
||||
}
|
||||
|
||||
.card-log-btn,
|
||||
.nafl-toggle {
|
||||
padding: .38rem .75rem;
|
||||
font-size: .74rem;
|
||||
min-height: 36px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.rating-pip {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
.card-pip {
|
||||
width: 13px;
|
||||
height: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
|
||||
dialog {
|
||||
position: fixed;
|
||||
inset: auto 0 0 0;
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
border-radius: 16px 16px 0 0;
|
||||
border-bottom: none;
|
||||
margin: 0;
|
||||
max-height: 92dvh;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
dialog::before {
|
||||
content: '';
|
||||
display: block;
|
||||
width: 36px;
|
||||
height: 4px;
|
||||
border-radius: 99px;
|
||||
background: var(--border);
|
||||
margin: .75rem auto .25rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
dialog form {
|
||||
max-height: calc(92dvh - 1.25rem);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
dialog h3 {
|
||||
padding: .9rem 1.1rem .85rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
padding: 1rem 1.1rem;
|
||||
overflow-y: auto;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.modal-footer,
|
||||
#modal-actions,
|
||||
#khatm-modal-actions,
|
||||
#motalah-modal-actions {
|
||||
flex-direction: column-reverse;
|
||||
padding: .85rem 1.1rem 1.25rem;
|
||||
gap: .5rem;
|
||||
}
|
||||
|
||||
.modal-footer > *,
|
||||
#modal-actions > *,
|
||||
#khatm-modal-actions > *,
|
||||
#motalah-modal-actions > * {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#modal-cancel,
|
||||
#khatm-cancel,
|
||||
#motalah-cancel {
|
||||
padding: .65rem 1rem;
|
||||
font-size: .9rem;
|
||||
min-height: 44px;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
padding: .65rem 1rem;
|
||||
font-size: .9rem;
|
||||
min-height: 44px;
|
||||
}
|
||||
|
||||
.field-group input[type="text"],
|
||||
.field-group input[type="number"],
|
||||
.field-group input[type="date"],
|
||||
.field-group select,
|
||||
.field-group textarea,
|
||||
#motalah-book-search {
|
||||
font-size: 1rem;
|
||||
padding: .72rem .8rem;
|
||||
min-height: 44px;
|
||||
}
|
||||
|
||||
.modal-pip {
|
||||
padding: .4rem .25rem;
|
||||
}
|
||||
|
||||
.pip-dot {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 380px) {
|
||||
|
||||
.wird-panel {
|
||||
padding: .75rem;
|
||||
}
|
||||
|
||||
.wird-panel-header h2 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.card-name {
|
||||
font-size: .82rem;
|
||||
}
|
||||
|
||||
.stat-chip .stat-val,
|
||||
.motalah-today-val {
|
||||
font-size: .82rem;
|
||||
}
|
||||
|
||||
.nafl-card {
|
||||
padding: .7rem .8rem;
|
||||
}
|
||||
|
||||
.nafl-name {
|
||||
font-size: .84rem;
|
||||
}
|
||||
|
||||
.khatm-num {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: .62rem;
|
||||
}
|
||||
|
||||
.meeting-cycle-table {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.motalah-session {
|
||||
flex-wrap: wrap;
|
||||
gap: .3rem;
|
||||
}
|
||||
|
||||
.pip-lbl { display: none; }
|
||||
.modal-pip { flex: unset; }
|
||||
}
|
||||
/* ============================================================
|
||||
wird-export.css
|
||||
Styles for the PDF export button and modal.
|
||||
Add to wird-tracker.css (or a separate stylesheet).
|
||||
============================================================ */
|
||||
|
||||
/* ── Export button ─────────────────────────────────────── */
|
||||
.btn-export {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: .42rem;
|
||||
font-family: inherit;
|
||||
font-size: .78rem;
|
||||
font-weight: 500;
|
||||
color: var(--wird-accent);
|
||||
background: transparent;
|
||||
border: 1.5px solid var(--wird-accent);
|
||||
border-radius: 999px;
|
||||
padding: .34rem .82rem;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background var(--wird-t),
|
||||
color var(--wird-t),
|
||||
box-shadow var(--wird-t),
|
||||
transform var(--wird-t);
|
||||
white-space: nowrap;
|
||||
/* Accessible focus */
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
.btn-export:hover {
|
||||
background: var(--wird-accent);
|
||||
color: var(--bg);
|
||||
box-shadow: 0 2px 8px color-mix(in oklab, var(--wird-accent) 30%, transparent);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.btn-export:active {
|
||||
transform: translateY(0);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.btn-export:focus-visible {
|
||||
outline: 2px solid var(--wird-accent);
|
||||
}
|
||||
|
||||
.btn-export svg {
|
||||
flex-shrink: 0;
|
||||
transition: transform var(--wird-t);
|
||||
}
|
||||
|
||||
.btn-export:hover svg {
|
||||
transform: translateY(1px);
|
||||
}
|
||||
|
||||
/* ── Export modal ──────────────────────────────────────── */
|
||||
.export-modal-desc {
|
||||
font-size: .85rem;
|
||||
color: var(--muted);
|
||||
margin: 0 0 1.25rem;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
/* Date row: two pickers side by side */
|
||||
.export-date-row {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: .75rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.export-date-row .field-group {
|
||||
flex: 1;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.export-date-sep {
|
||||
font-family: monospace;
|
||||
font-size: .9rem;
|
||||
color: var(--muted);
|
||||
padding-bottom: .65rem;
|
||||
flex-shrink: 0;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Quick presets */
|
||||
.export-presets {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: .4rem;
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
.export-preset {
|
||||
font-family: monospace;
|
||||
font-size: .68rem;
|
||||
padding: .2rem .55rem;
|
||||
border-radius: 3px;
|
||||
border: 1px solid var(--border);
|
||||
background: var(--code-bg);
|
||||
color: var(--muted);
|
||||
cursor: pointer;
|
||||
transition: border-color var(--wird-t), color var(--wird-t), background var(--wird-t);
|
||||
}
|
||||
|
||||
.export-preset:hover {
|
||||
border-color: var(--wird-accent);
|
||||
color: var(--wird-accent);
|
||||
}
|
||||
|
||||
.export-preset:focus-visible {
|
||||
outline: 2px solid var(--wird-accent);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
.export-preset.active {
|
||||
border-color: var(--wird-accent);
|
||||
background: color-mix(in oklab, var(--wird-accent) 12%, var(--bg));
|
||||
color: var(--wird-accent);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Checkbox options */
|
||||
.export-options {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: .55rem;
|
||||
padding: .85rem 1rem;
|
||||
border-radius: var(--wird-radius);
|
||||
background: color-mix(in oklab, var(--bg) 90%, var(--fg) 10%);
|
||||
border: 1px solid var(--border);
|
||||
}
|
||||
|
||||
.export-option-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: .55rem;
|
||||
font-size: .85rem;
|
||||
color: var(--fg);
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.export-option-row input[type="checkbox"] {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
accent-color: var(--wird-accent);
|
||||
cursor: pointer;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
#export-modal-actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
gap: .75rem;
|
||||
padding: 1.1rem 1.75rem 1.4rem;
|
||||
border-top: 1px solid var(--border);
|
||||
}
|
||||
|
||||
#export-cancel {
|
||||
font-family: inherit;
|
||||
font-size: .82rem;
|
||||
background: none;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 999px;
|
||||
padding: .44rem 1rem;
|
||||
cursor: pointer;
|
||||
color: var(--muted);
|
||||
transition: border-color var(--wird-t), color var(--wird-t);
|
||||
}
|
||||
|
||||
#export-cancel:hover {
|
||||
border-color: var(--fg);
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
#export-submit:disabled {
|
||||
opacity: .6;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* Mobile overrides */
|
||||
@media (max-width: 600px) {
|
||||
.export-date-row {
|
||||
flex-direction: column;
|
||||
gap: .5rem;
|
||||
}
|
||||
|
||||
.export-date-sep { display: none; }
|
||||
|
||||
.export-presets { gap: .35rem; }
|
||||
|
||||
.export-preset {
|
||||
padding: .3rem .6rem;
|
||||
font-size: .72rem;
|
||||
}
|
||||
|
||||
#export-modal-actions {
|
||||
flex-direction: column-reverse;
|
||||
padding: .85rem 1.1rem 1.25rem;
|
||||
gap: .5rem;
|
||||
}
|
||||
|
||||
#export-modal-actions > * {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#export-cancel {
|
||||
padding: .65rem 1rem;
|
||||
font-size: .9rem;
|
||||
min-height: 44px;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user