From 68b781700590e4cfb75aed34343f2cb7a905c3da Mon Sep 17 00:00:00 2001 From: Ben de Roo Date: Tue, 18 Aug 2026 14:46:56 +0200 Subject: [PATCH] Delete style.css --- style.css | 861 ------------------------------------------------------ 1 file changed, 861 deletions(-) delete mode 100644 style.css diff --git a/style.css b/style.css deleted file mode 100644 index b3d07b2..0000000 --- a/style.css +++ /dev/null @@ -1,861 +0,0 @@ -/* ============================================================ - Design tokens - ------------------------------------------------------------ - Palette: warm paper background, ink-dark sidebar "spine", - deep pine accent (not the generic AI-blue). - Type: Source Serif 4 for headings (editorial, planner-like), - Inter for body copy, IBM Plex Mono for time/data. - ============================================================ */ - -@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,500;8..60,600&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap'); - -:root { - /* Surfaces */ - --bg: #f7f6f3; - --panel: #ffffff; - --sidebar: #15171c; - --sidebar-hover: #1f222a; - - /* Text */ - --text: #16181d; - --text-inverse: #eceae4; - --muted: #74716a; - --muted-inverse: #8b8e97; - - /* Structure */ - --border: #e5e2da; - --border-strong: #d3cfc3; - - /* Accent */ - --accent: #1f5c52; - --accent-hover: #164941; - --accent-tint: #e8efec; - - /* Status (used as tint + left-bar, not solid fills) */ - --status-confirmed: #1f5c52; - --status-confirmed-tint: #e8efec; - --status-busy: #a15c14; - --status-busy-tint: #f6ede1; - --status-private: #4b4d57; - --status-private-tint: #eceae7; - --status-proposed: #2f5d86; - --status-proposed-tint: #e6eef6; - - --danger: #ad2b38; - - /* Scale */ - --space-1: 4px; - --space-2: 8px; - --space-3: 12px; - --space-4: 16px; - --space-5: 24px; - --space-6: 32px; - --space-7: 40px; - - --radius-sm: 6px; - --radius-md: 8px; - --radius-lg: 12px; - - --shadow-sm: 0 1px 2px rgba(21, 23, 28, 0.06); - --shadow-md: 0 4px 16px rgba(21, 23, 28, 0.08); - - --ease: cubic-bezier(0.4, 0, 0.2, 1); - - --font-display: "Source Serif 4", Georgia, serif; - --font-body: Inter, system-ui, sans-serif; - --font-mono: "IBM Plex Mono", ui-monospace, monospace; - - /* Accessibility */ - --font-scale: 1; -} - -.dark { - --bg: #0e0f12; - --panel: #17191d; - --sidebar: #0a0b0d; - --sidebar-hover: #161821; - - --text: #eceae4; - --text-inverse: #16181d; - --muted: #91908a; - --muted-inverse: #6b6d75; - - --border: #2a2c31; - --border-strong: #3a3d43; - - --accent: #4fa393; - --accent-hover: #63b6a5; - --accent-tint: #16221f; - - --status-confirmed: #4fa393; - --status-confirmed-tint: #16221f; - --status-busy: #d1934f; - --status-busy-tint: #26200f; - --status-private: #9294a0; - --status-private-tint: #1c1d21; - --status-proposed: #6ba2d6; - --status-proposed-tint: #101c28; - - --danger: #e2707c; - - --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); - --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4); -} - -* { - box-sizing: border-box; -} - -body { - margin: 0; - background: var(--bg); - color: var(--text); - font-family: var(--font-body); - font-size: calc(14px * var(--font-scale)); - line-height: 1.5; - -webkit-font-smoothing: antialiased; - transition: background 0.2s var(--ease), color 0.2s var(--ease); -} - -/* ============================================================ - Skip link - ============================================================ */ - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -.skip-link { - position: absolute; - left: -9999px; - top: 0; - z-index: 1000; - background: var(--accent); - color: #fff; - padding: 10px 16px; - border-radius: var(--radius-sm); -} - -.skip-link:focus { - left: var(--space-4); - top: var(--space-4); -} - -/* ============================================================ - Layout - ============================================================ */ - -.layout { - display: grid; - grid-template-columns: 248px 1fr; - height: 100vh; -} - -.sidebar { - background: var(--sidebar); - color: var(--text-inverse); - border-right: 1px solid rgba(255, 255, 255, 0.06); - padding: var(--space-5) var(--space-4); - display: flex; - flex-direction: column; -} - -.logo { - display: flex; - align-items: center; - gap: var(--space-2); - margin-bottom: var(--space-6); - padding: 0 var(--space-2); -} - -.logo h2 { - margin: 0; - font-family: var(--font-display); - font-weight: 600; - font-size: 19px; - letter-spacing: -0.01em; -} - -nav { - display: flex; - flex-direction: column; - gap: 2px; -} - -nav a { - cursor: pointer; - padding: 10px 14px; - border-radius: var(--radius-sm); - color: var(--muted-inverse); - font-size: 13.5px; - font-weight: 500; - transition: background 0.15s var(--ease), color 0.15s var(--ease); -} - -nav a:hover { - background: var(--sidebar-hover); - color: var(--text-inverse); -} - -nav .active { - background: var(--accent); - color: #ffffff; -} - -.sidebar-bottom { - margin-top: auto; - padding-top: var(--space-4); - border-top: 1px solid rgba(255, 255, 255, 0.08); -} - -button { - width: 100%; - padding: 10px 14px; - border-radius: var(--radius-sm); - border: 1px solid var(--border); - background: var(--panel); - color: var(--text); - font-family: var(--font-body); - font-size: 13.5px; - font-weight: 500; - cursor: pointer; - margin-top: var(--space-2); - transition: border-color 0.15s var(--ease), background 0.15s var(--ease); -} - -button:hover { - border-color: var(--border-strong); - background: var(--bg); -} - -button:focus-visible, -a:focus-visible, -input:focus-visible, -select:focus-visible, -textarea:focus-visible { - outline: 2px solid var(--accent); - outline-offset: 2px; -} - -/* button variants */ - -.btn-primary { - background: var(--accent); - color: #fff; - border-color: var(--accent); -} - -.btn-primary:hover { - background: var(--accent-hover); - border-color: var(--accent-hover); -} - -.btn-danger { - color: var(--danger); - border-color: var(--danger); - background: transparent; -} - -.btn-danger:hover { - background: var(--danger); - color: #fff; - border-color: var(--danger); -} - -.btn-sm { - width: auto; - padding: 6px 12px; - font-size: 12.5px; - margin-top: 0; -} - -.sidebar button { - background: transparent; - border-color: rgba(255, 255, 255, 0.12); - color: var(--text-inverse); -} - -.sidebar button:hover { - background: var(--sidebar-hover); - border-color: rgba(255, 255, 255, 0.2); -} - -/* Content */ - -.content { - padding: var(--space-6) var(--space-7); - overflow-y: auto; -} - -h1 { - margin-top: 0; - font-family: var(--font-display); - font-weight: 600; - font-size: 26px; - letter-spacing: -0.01em; -} - -.card { - background: var(--panel); - border: 1px solid var(--border); - border-radius: var(--radius-lg); - padding: var(--space-5); - margin-top: var(--space-4); - box-shadow: var(--shadow-sm); -} - -.card h3 { - margin-top: 0; - font-family: var(--font-display); - font-weight: 600; -} - -/* forms */ - -input, -select, -textarea { - width: 100%; - padding: 10px 12px; - border-radius: var(--radius-sm); - border: 1px solid var(--border); - background: var(--bg); - color: var(--text); - font-family: var(--font-body); - font-size: 13.5px; - margin-top: var(--space-2); - transition: border-color 0.15s var(--ease); -} - -textarea { - resize: vertical; - min-height: 64px; -} - -input:focus, -select:focus, -textarea:focus { - border-color: var(--accent); -} - -form { - display: flex; - flex-direction: column; -} - -.field-label { - display: block; - margin-top: var(--space-3); - font-size: 12px; - font-weight: 600; - letter-spacing: 0.01em; - color: var(--muted); - text-transform: uppercase; -} - -.field-row { - display: flex; - gap: var(--space-3); -} - -.field-row > div { - flex: 1; -} - -.muted { - color: var(--muted); -} - -.error { - color: var(--danger); -} - -.success { - color: var(--accent); -} - -/* list items */ - -.list-item { - padding: 10px 14px; - border: 1px solid var(--border); - border-radius: var(--radius-md); - margin-top: var(--space-2); - transition: border-color 0.15s var(--ease); -} - -.list-item:hover { - border-color: var(--border-strong); -} - -/* badges */ - -.badge { - display: inline-block; - padding: 2px 9px; - border-radius: 999px; - font-family: var(--font-mono); - font-size: 10.5px; - letter-spacing: 0.02em; - text-transform: uppercase; - border: 1px solid transparent; -} - -.badge-confirmed { background: var(--status-confirmed-tint); color: var(--status-confirmed); } -.badge-busy { background: var(--status-busy-tint); color: var(--status-busy); } -.badge-private { background: var(--status-private-tint); color: var(--status-private); } -.badge-proposed { background: var(--status-proposed-tint); color: var(--status-proposed); } - -/* event actions */ - -.event-actions { - display: flex; - flex-wrap: wrap; - gap: var(--space-2); - margin-top: var(--space-4); -} - -.event-actions button { - margin-top: 0; - width: auto; - padding: 8px 14px; -} - -.event-head { - display: flex; - align-items: center; - justify-content: space-between; - gap: var(--space-3); -} - -/* radio kind picker */ - -.kind-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: var(--space-2); - margin-top: var(--space-2); -} - -.kind-option { - position: relative; - display: block; - border: 1px solid var(--border); - border-radius: var(--radius-md); - padding: 12px 14px; - cursor: pointer; - transition: border-color 0.15s var(--ease), background 0.15s var(--ease); -} - -.kind-option:hover { - border-color: var(--border-strong); -} - -.kind-option input { - position: absolute; - opacity: 0; - width: 0; - height: 0; - margin: 0; -} - -.kind-option-title { - display: block; - font-weight: 600; -} - -.kind-option-desc { - display: block; - font-size: 12px; - color: var(--muted); - margin-top: 2px; -} - -.kind-option:has(input:checked) { - border-color: var(--accent); - background: var(--accent-tint); -} - -/* settings toggles */ - -.setting-row { - display: flex; - align-items: center; - justify-content: space-between; - gap: var(--space-4); - padding: var(--space-3) 0; - border-bottom: 1px solid var(--border); -} - -.setting-row:last-child { - border-bottom: none; -} - -.setting-info { - max-width: 70%; -} - -.setting-title { - font-weight: 600; -} - -.setting-desc { - font-size: 12.5px; - color: var(--muted); - margin-top: 2px; -} - -.setting-control { - flex-shrink: 0; -} - -.setting-control select { - width: auto; - margin-top: 0; -} - -/* switch */ - -.switch { - position: relative; - display: inline-block; - width: 44px; - height: 24px; -} - -.switch input { - opacity: 0; - width: 0; - height: 0; - margin: 0; -} - -.switch .slider { - position: absolute; - inset: 0; - background: var(--border-strong); - border-radius: 999px; - transition: background 0.15s var(--ease); -} - -.switch .slider::before { - content: ""; - position: absolute; - height: 18px; - width: 18px; - left: 3px; - top: 3px; - background: #fff; - border-radius: 50%; - transition: transform 0.15s var(--ease); - box-shadow: var(--shadow-sm); -} - -.switch input:checked + .slider { - background: var(--accent); -} - -.switch input:checked + .slider::before { - transform: translateX(20px); -} - -.switch input:focus-visible + .slider { - outline: 2px solid var(--accent); - outline-offset: 2px; -} - -/* member list */ - -.member-list { - display: flex; - flex-wrap: wrap; - gap: var(--space-2); - margin-top: var(--space-2); -} - -.member-chip { - padding: 4px 10px; - border: 1px solid var(--border); - border-radius: 999px; - font-size: 12px; -} - -/* calendar */ - -.calendar-header { - display: flex; - align-items: center; - justify-content: space-between; -} - -.calendar-header h3 { - margin: 0; - font-family: var(--font-display); - font-weight: 600; - font-size: 17px; - text-transform: capitalize; -} - -.calendar-nav-btn { - width: auto; - padding: 6px 12px; - margin-top: 0; -} - -.calendar-legend { - display: flex; - flex-wrap: wrap; - gap: var(--space-5); - margin-top: var(--space-4); - font-size: 12px; - color: var(--muted); -} - -.legend-item { - display: flex; - align-items: center; - gap: 6px; -} - -.legend-dot { - width: 8px; - height: 8px; - border-radius: 2px; - display: inline-block; -} - -/* week grid */ - -.calendar-week { - display: flex; - margin-top: var(--space-4); - overflow-x: auto; -} - -.calendar-gutter { - width: 52px; - flex-shrink: 0; - padding-top: 0px; -} - -.calendar-hour-label { - height: 48px; - font-family: var(--font-mono); - font-size: 10.5px; - color: var(--muted); - text-align: right; - padding-right: var(--space-2); - display: flex; - justify-content: flex-end; - align-items: flex-start; - transform: translateY(-6px); -} - -.calendar-days { - display: flex; - flex: 1; - min-width: 700px; -} - -.calendar-day-column { - flex: 1; - display: flex; - flex-direction: column; - border-left: 1px solid var(--border); -} - -.calendar-day-header { - height: 32px; - text-align: center; - padding: 6px 0; - font-family: var(--font-mono); - font-size: 11px; - letter-spacing: 0.02em; - text-transform: uppercase; - color: var(--muted); -} - -.calendar-day-header.today { - color: var(--accent); - font-weight: 600; -} - -.calendar-day-track { - position: relative; - height: 576px; /* 12 uur zichtbaar x 48px */ - background-image: repeating-linear-gradient( - to bottom, - var(--border) 0, - var(--border) 1px, - transparent 1px, - transparent 48px - ); -} - -.calendar-event { - position: absolute; - left: 4px; - right: 4px; - border-radius: var(--radius-sm); - padding: 4px 8px 4px 9px; - font-size: 11px; - color: var(--text); - cursor: pointer; - overflow: hidden; - border-left: 3px solid transparent; - background: var(--panel); - box-shadow: var(--shadow-sm); - transition: box-shadow 0.15s var(--ease); -} - -.calendar-event:hover { - box-shadow: var(--shadow-md); -} - -.calendar-event-time { - display: block; - font-family: var(--font-mono); - font-size: 9.5px; - color: var(--muted); -} - -.calendar-event-title { - display: block; - font-weight: 600; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.event-confirmed { - background: var(--status-confirmed-tint); - border-left-color: var(--status-confirmed); -} - -.event-busy { - background: var(--status-busy-tint); - border-left-color: var(--status-busy); -} - -.event-private { - background: var(--status-private-tint); - border-left-color: var(--status-private); -} - -.event-proposed { - background: var(--status-proposed-tint); - border-left-color: var(--status-proposed); - border-left-style: dashed; -} - -.legend-dot.event-confirmed, -.legend-dot.event-busy, -.legend-dot.event-private, -.legend-dot.event-proposed { - border-radius: 2px; - border-left: none; -} - -.legend-dot.event-confirmed { background: var(--status-confirmed); } -.legend-dot.event-busy { background: var(--status-busy); } -.legend-dot.event-private { background: var(--status-private); } -.legend-dot.event-proposed { background: var(--status-proposed); } - -/* login screen */ - -.login-screen { - height: 100vh; - width: 100%; - display: flex; - align-items: center; - justify-content: center; - background: var(--bg); -} - -.login-box { - background: var(--panel); - border: 1px solid var(--border); - border-radius: var(--radius-lg); - padding: var(--space-6); - width: 320px; - box-shadow: var(--shadow-md); -} - -.login-box h2 { - margin-top: 0; - margin-bottom: var(--space-5); - font-family: var(--font-display); - font-weight: 600; - text-align: center; -} - -/* ============================================================ - Accessibility preference classes (toggled on ) - ============================================================ */ - -/* High contrast: stronger borders + pure ink/paper text */ -body.a11y-contrast { - --border: #000000; - --border-strong: #000000; - --muted: #2a2a2a; - --text: #000000; -} - -body.a11y-contrast.dark { - --border: #ffffff; - --border-strong: #ffffff; - --muted: #d8d8d8; - --text: #ffffff; -} - -body.a11y-contrast .card, -body.a11y-contrast .list-item, -body.a11y-contrast input, -body.a11y-contrast select, -body.a11y-contrast textarea { - border-width: 2px; -} - -/* Underline all links for clarity */ -body.a11y-underline a { - text-decoration: underline; -} - -/* Reduce motion */ -body.a11y-reduce-motion, -body.a11y-reduce-motion * { - transition: none !important; - animation: none !important; - scroll-behavior: auto !important; -} - -/* Dyslexia-friendly reading: readable stack + generous spacing */ -body.a11y-dyslexic { - font-family: "Atkinson Hyperlegible", "Comic Sans MS", Verdana, sans-serif; - letter-spacing: 0.03em; - word-spacing: 0.12em; - line-height: 1.8; -} - -body.a11y-dyslexic h1, -body.a11y-dyslexic h2, -body.a11y-dyslexic h3, -body.a11y-dyslexic .card h3 { - font-family: "Atkinson Hyperlegible", "Comic Sans MS", Verdana, sans-serif; -} - -/* Respect the OS-level reduced motion request too */ -@media (prefers-reduced-motion: reduce) { - * { - transition: none !important; - animation: none !important; - } -}