* { box-sizing: border-box; }
html { min-height: 100%; background: var(--scene-c); }
body { margin: 0; min-height: 100vh; color: var(--ink); font-family: Inter, "SF Pro Text", "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif; letter-spacing: -.015em; background: radial-gradient(1300px 760px at 14% -10%, rgba(18,60,124,.16), transparent 58%), radial-gradient(1200px 720px at 88% -8%, rgba(235,102,139,.10), transparent 58%), radial-gradient(900px 700px at 50% 120%, rgba(47,107,255,.10), transparent 60%), linear-gradient(180deg, var(--scene-a), var(--scene-b) 48%, var(--scene-c)); background-attachment: fixed; }
button, input, select, textarea { font: inherit; color: inherit; }
button, select { min-height: 44px; }
button { cursor: pointer; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.scene { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.scene i { position: absolute; width: 35vw; aspect-ratio: 1; border-radius: 50%; filter: blur(110px); opacity: .42; }
.scene i:nth-child(1) { background: rgba(18,60,124,.46); top: -18%; left: -5%; }
.scene i:nth-child(2) { background: rgba(235,102,139,.26); top: 8%; right: -12%; }
.scene i:nth-child(3) { background: rgba(47,107,255,.20); bottom: -18%; left: 38%; }
.glass-card { background: linear-gradient(135deg, var(--glass-hi), var(--glass-lo) 58%); border: 1px solid var(--glass-edge); box-shadow: var(--shadow-deep), inset 0 1px 0 rgba(255,255,255,.34); backdrop-filter: blur(34px) saturate(2.2) brightness(1.08); -webkit-backdrop-filter: blur(34px) saturate(2.2) brightness(1.08); border-radius: var(--r-lg); }
.glass-edge { position: relative; isolation: isolate; overflow: hidden; }
.glass-edge::before { content: ""; position: absolute; inset: 0; padding: 1px; border-radius: inherit; pointer-events: none; background: conic-gradient(from var(--angle-1), rgba(var(--shadow-ink),.45), transparent 5% 40%, rgba(var(--shadow-ink),.45) 50%, transparent 60% 95%, rgba(var(--shadow-ink),.45)), linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,.6)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; transition: --angle-1 .5s ease; }
.glass-edge:hover::before { --angle-1: -125deg; }
.topbar { position: sticky; top: max(10px, env(safe-area-inset-top)); z-index: 20; display: flex; align-items: center; gap: 16px; width: min(1500px, calc(100% - 28px)); min-height: 76px; margin: 10px auto 16px; padding: 10px 14px 10px 22px; border-radius: 24px; background: linear-gradient(135deg, rgba(255,255,255,.52), rgba(214,228,244,.28)); border: 1px solid var(--glass-edge); box-shadow: var(--shadow-soft); backdrop-filter: blur(24px) saturate(1.8); }
.brand-copy { min-width: 0; }
.eyebrow, .section-label { display: block; margin: 0 0 3px; color: var(--muted); font-size: .72rem; font-weight: 760; letter-spacing: .10em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 0; color: var(--blue-dk); font-size: clamp(1.15rem, 3vw, 1.45rem); line-height: 1.05; }
h2 { color: var(--blue-dk); letter-spacing: -.035em; }
.top-actions { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.icon-button, .secondary-button, .nav-item, select, .danger-button { border: 1px solid var(--glass-edge); background: linear-gradient(-75deg, rgba(255,255,255,.05), rgba(255,255,255,.20), rgba(255,255,255,.05)); backdrop-filter: blur(6px) saturate(1.8); box-shadow: inset 0 2px 2px rgba(0,0,0,.05), inset 0 -2px 2px rgba(255,255,255,.45), 0 12px 22px -10px rgba(var(--shadow-ink),.30); border-radius: var(--pill); }
.icon-button { width: 44px; height: 44px; display: inline-grid; place-items: center; padding: 0; }
.primary-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 19px; color: white; font-weight: 760; text-shadow: 0 1px 2px rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.4); border-radius: var(--pill); background: linear-gradient(-75deg, rgba(255,255,255,.10), rgba(255,255,255,.28), rgba(255,255,255,.10)), linear-gradient(135deg, rgba(235,102,139,.92), rgba(201,87,119,.92)); box-shadow: 0 12px 30px rgba(235,102,139,.28), inset 0 -2px 3px rgba(255,255,255,.3); }
.secondary-button, .danger-button { padding: 0 17px; font-weight: 700; }
.danger-button { color: var(--rose-dk); border-color: rgba(201,87,119,.35); }
button:hover { transform: scale(.975); }
button:active { transform: scale(.96); }
.app-shell { width: min(1500px, calc(100% - 28px)); margin: 0 auto 40px; display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 18px; align-items: start; }
.sidebar { position: sticky; top: 104px; padding: 14px; }
.sidebar nav, .sidebar-section { display: grid; gap: 5px; }
.sidebar-section { margin-top: 20px; }
.section-label { padding: 0 11px; }
.nav-item { width: 100%; display: flex; align-items: center; gap: 10px; padding: 0 13px; border-color: transparent; box-shadow: none; color: var(--muted); text-align: left; }
.nav-item.active { color: white; border-color: rgba(255,255,255,.28); background: linear-gradient(135deg, rgba(18,60,124,.88), rgba(47,107,255,.78)); text-shadow: 0 1px 2px rgba(0,0,0,.22); }
.filter-check { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 0 11px; color: var(--muted); font-size: .88rem; cursor: pointer; }
.filter-check input { position: absolute; opacity: 0; }
.filter-check:has(input:not(:checked)) { opacity: .44; text-decoration: line-through; }
.source-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 11%, transparent); }
.source-dot.personal { background: var(--rose); }.source-dot.work { background: #123C7C }.source-dot.union { background: #2F6BFF }.source-dot.gmail { background: #7B4B94 }.source-dot.plan-work { background: #4D6076 }.source-dot.plan-union { background: #6896E8 }.source-dot.holiday { background: #D7952A }.source-dot.imported { background: #6D8098 }
main { min-width: 0; display: grid; gap: 14px; }
.hero { padding: 26px 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; overflow: hidden; }
.hero h2 { font-size: clamp(1.55rem, 3vw, 2.25rem); margin-bottom: 8px; }
.hero p { color: var(--muted); margin-bottom: 0; }
.conflict-button { display: flex; align-items: center; gap: 11px; min-height: 58px; padding: 0 20px; white-space: nowrap; border: 1px solid rgba(235,102,139,.38); border-radius: var(--pill); color: var(--rose-dk); background: linear-gradient(135deg, rgba(235,102,139,.15), rgba(255,255,255,.16)); box-shadow: 0 15px 34px rgba(201,87,119,.16); font-size: .84rem; font-weight: 780; letter-spacing: .04em; }
.toolbar { min-height: 68px; padding: 10px 13px; border-radius: var(--r-md); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.date-nav, .toolbar-actions { display: flex; align-items: center; gap: 8px; }
.date-nav h2 { margin: 0 0 0 7px; font-size: 1.1rem; white-space: nowrap; }
.search-field { display: flex; align-items: center; gap: 7px; height: 44px; min-width: 210px; padding: 0 13px; border: 1px solid var(--line); border-radius: var(--pill); background: var(--field-bg); backdrop-filter: blur(10px); }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; }
select { padding: 0 36px 0 14px; }
.calendar { min-height: 520px; padding: 18px; overflow: hidden; }
.loading, .empty-state { min-height: 360px; display: grid; place-items: center; color: var(--muted); text-align: center; }
.week-grid { display: grid; grid-template-columns: repeat(7, minmax(120px, 1fr)); gap: 8px; overflow-x: auto; padding-bottom: 6px; }
.day-column { min-height: 430px; padding: 10px; border: 1px solid var(--line); border-radius: var(--r-sm); background: rgba(255,255,255,.10); }
.day-column.today { border-color: var(--blue-lt); box-shadow: inset 0 0 0 1px rgba(47,107,255,.18); }
.day-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; color: var(--muted); font-size: .76rem; text-transform: uppercase; }
.day-heading strong { color: var(--blue-dk); font-size: 1.25rem; }
.event-card { position: relative; width: 100%; margin-bottom: 7px; padding: 9px 10px 9px 13px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--chip-bg); color: var(--ink); text-align: left; box-shadow: 0 8px 18px -14px rgba(var(--shadow-ink),.7); }
.event-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--source-color, var(--blue)); }
.event-card strong, .event-card small { display: block; }
.event-card strong { overflow: hidden; text-overflow: ellipsis; font-size: .86rem; }
.event-card small { margin-top: 3px; color: var(--muted); font-size: .72rem; }
.event-card.conflict { border-color: rgba(201,87,119,.55); box-shadow: inset 0 0 0 1px rgba(235,102,139,.18); }
.event-card.off { opacity: .72; border-style: dashed; }
.event-card.audit { border-color: var(--rose); }
.source-Personnel { --source-color: var(--rose); }.source-Travail { --source-color: #123C7C }.source-Syndicat { --source-color: #2F6BFF }.source-Gmail { --source-color: #7B4B94 }.source-Planning-Travail { --source-color: #4D6076 }.source-Planning-Syndicat { --source-color: #6896E8 }.source-Jour-férié { --source-color: #D7952A }.source-Import { --source-color: #6D8098 }
.month-grid { display: grid; grid-template-columns: repeat(7, 1fr); border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; }
.month-weekday { min-height: 38px; display: grid; place-items: center; color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; background: rgba(18,60,124,.06); }
.month-day { min-height: 118px; padding: 7px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); overflow: hidden; }
.month-day.muted { opacity: .45; }.month-day.today { background: rgba(47,107,255,.07); }
.month-day-number { display: block; margin-bottom: 6px; color: var(--muted); font-size: .78rem; }
.month-day .event-card { min-height: 0; padding: 5px 7px 5px 10px; margin-bottom: 4px; }.month-day .event-card small { display: none; }
.list-view { display: grid; gap: 9px; }.list-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) 150px auto; gap: 16px; align-items: center; padding: 14px; border-bottom: 1px solid var(--line); }.list-row button { border: 0; background: transparent; text-align: left; }.list-date { color: var(--blue-dk); font-weight: 750; }.source-badge, .status-badge { display: inline-flex; align-items: center; gap: 6px; width: fit-content; min-height: 27px; padding: 0 10px; border-radius: var(--pill); background: var(--chip-bg); color: var(--muted); font-size: .72rem; font-weight: 700; }.status-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.modal { width: min(720px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 0; color: var(--ink); border: 1px solid var(--glass-edge); overflow: auto; }
.modal::backdrop { background: rgba(7,26,58,.38); backdrop-filter: blur(8px); }
.modal form, .modal > div:not(.modal-header) { padding: 0; }
.modal-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 22px 24px 14px; background: linear-gradient(180deg, var(--field-focus), transparent); backdrop-filter: blur(12px); }.modal-header h2 { margin: 0; }.modal form > .modal-header { margin-right: -24px; margin-left: -24px; padding-right: 24px; padding-left: 24px; }
.modal form { padding: 0 24px 22px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid label, fieldset { display: grid; gap: 7px; color: var(--muted); font-size: .78rem; font-weight: 680; }
.form-grid .wide { grid-column: 1 / -1; }
input, textarea, .form-grid select { width: 100%; border: 1px solid var(--line); border-radius: 13px; background: var(--field-bg); padding: 11px 12px; min-height: 46px; outline: 0; }
input:focus, textarea:focus, select:focus { background: var(--field-focus); box-shadow: 0 0 0 2px var(--blue); }
textarea { resize: vertical; }
.toggle-row { display: flex !important; align-items: center; gap: 10px !important; min-height: 44px; }.toggle-row input { width: 22px; min-height: 22px; }
.link-button { text-decoration: none; min-height: 44px; }.label-color { width: 12px; height: 12px; display: inline-block; vertical-align: -1px; }.recovery-codes { font-size: 1.05rem; line-height: 1.8; letter-spacing: .1em; columns: 2; padding: 18px; border-radius: 14px; background: var(--field-bg); }
fieldset { margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 13px; }.label-options { display: flex; flex-wrap: wrap; gap: 8px; }.label-pill { display: flex !important; grid-template-columns: auto auto; align-items: center; gap: 6px !important; min-height: 34px; padding: 0 10px; border-radius: var(--pill); background: var(--chip-bg); }.label-pill input { width: 16px; min-height: 16px; padding: 0; }
.modal-actions { display: flex; gap: 9px; align-items: center; margin-top: 22px; }.modal-actions span { flex: 1; }
.panel-modal { width: min(920px, calc(100% - 24px)); }.panel-modal #panelContent { padding: 0 24px 24px; }
.panel-modal.modal { display: flex; flex-direction: column; overflow: hidden; }.panel-modal.modal .modal-header { position: relative; z-index: 4; flex: 0 0 auto; background: linear-gradient(135deg, rgba(246,250,255,.94), rgba(229,237,252,.89)); backdrop-filter: blur(30px) saturate(1.35); -webkit-backdrop-filter: blur(30px) saturate(1.35); }.panel-modal.modal #panelContent { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.panel-modal.gmail-health-modal { height: min(820px, calc(100dvh - 24px)); }
[data-theme="dark"] .panel-modal.modal .modal-header { background: linear-gradient(135deg, rgba(19,40,72,.96), rgba(31,50,84,.92)); }
.audit-list { display: grid; gap: 11px; }.audit-item { padding: 16px; border: 1px solid var(--line); border-radius: var(--r-sm); background: rgba(255,255,255,.10); }.audit-item h3 { margin-bottom: 6px; }.audit-meta { color: var(--muted); font-size: .82rem; }.audit-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }.audit-actions button,.audit-actions .link-button { min-height: 44px; }
.conflict-batch-bar { position: sticky; top: 0; z-index: 2; margin-bottom: 12px; }.conflict-batch-bar > label { display: grid; gap: 6px; font-weight: 700; }.conflict-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 10px 0; }.conflict-choice { min-height: 56px; display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 13px; background: var(--field-bg); cursor: pointer; }.conflict-choice input { width: 20px; height: 20px; min-height: 20px; margin: 0; }.conflict-choice strong,.conflict-choice small { display: block; }.conflict-choice small { margin-top: 3px; color: var(--muted); font-size: .76rem; }
.nav-badge { margin-left: auto; min-width: 24px; min-height: 24px; display: inline-grid; place-items: center; padding: 0 7px; border-radius: 999px; background: var(--rose); color: white; font-size: .72rem; }.gmail-choice { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; }.gmail-choice > input { width: 22px; min-height: 22px; margin-top: 2px; accent-color: var(--rose); }.gmail-decision { display: grid; gap: 7px; margin-top: 12px; color: var(--muted); font-size: .78rem; font-weight: 680; }.gmail-decision select { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 13px; background: var(--field-bg); }.gmail-decision select:disabled { opacity: .45; }.gmail-suggestions { display: grid; gap: 8px; margin-top: 12px; }.gmail-suggestion { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: start; padding: 10px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); font-size: .8rem; }.gmail-suggestion input { width: 20px; min-height: 20px; }.gmail-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }.gmail-links a { color: var(--blue); font-weight: 700; }
.gmail-health-controls { margin: 10px 0 18px; }.gmail-health-controls button { min-height: 40px; padding-inline: 14px; font-size: .78rem; }.gmail-section-title { display: flex; align-items: center; gap: 8px; margin: 22px 0 10px; color: var(--blue-dk); font-size: .88rem; letter-spacing: -.01em; }.gmail-section-title span { min-width: 24px; min-height: 24px; display: inline-grid; place-items: center; padding: 0 7px; border-radius: 999px; background: var(--chip-bg); color: var(--muted); font-size: .7rem; }
.gmail-help { margin-bottom: 10px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.12); color: var(--muted); font-size: .76rem; }.gmail-help summary { min-height: 28px; display: flex; align-items: center; color: var(--blue-dk); font-weight: 730; cursor: pointer; }.gmail-help summary::before { content: "+"; width: 22px; font-size: 1rem; }.gmail-help[open] summary::before { content: "−"; }.gmail-help p { margin: 7px 0 2px 22px; max-width: 72ch; line-height: 1.45; }
.gmail-selection-panel { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 13px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.16); }.gmail-selection-heading { flex: 0 0 auto; }.gmail-selection-heading strong { display: block; font-size: .78rem; }.gmail-bulk-actions { position: static; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; border: 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }.gmail-bulk-actions button { flex: 0 1 auto; min-height: 40px; max-width: 220px; padding: 6px 13px; font-size: .73rem; line-height: 1.18; }.gmail-bulk-actions .primary-button { color: var(--rose-dk); text-shadow: none; border-color: rgba(235,102,139,.28); background: linear-gradient(135deg, rgba(235,102,139,.17), rgba(255,255,255,.22)); box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 7px 16px -12px rgba(201,87,119,.7); }
.gmail-thread-listing { gap: 8px; }.gmail-thread { display: grid; gap: 8px; padding: 13px 14px; border-radius: 16px; }.gmail-thread-title,.gmail-suspect-row { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }.gmail-thread-title { grid-template-columns: 22px minmax(0,1fr); padding-bottom: 8px; border-bottom: 1px solid var(--line); }.gmail-thread-title h3 { margin: 2px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .84rem; font-weight: 720; }.gmail-thread-list { display: grid; gap: 6px; }.gmail-suspect-row { padding: 8px 10px; border: 1px solid rgba(18,60,124,.09); border-radius: 12px; background: rgba(255,255,255,.14); }.gmail-suspect-row.gmail-suspect-single { padding: 2px 0; border: 0; background: transparent; }.gmail-suspect-row strong,.gmail-suspect-row small { display: block; }.gmail-suspect-row strong { font-size: .82rem; line-height: 1.3; }.gmail-suspect-row small { margin-top: 3px; color: var(--muted); font-size: .71rem; line-height: 1.35; }.gmail-suspect-row a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: flex-end; color: var(--blue); font-size: .76rem; font-weight: 700; }.gmail-similar-button { justify-self: start; min-height: 36px; padding: 0 8px; color: var(--blue); border: 0; background: transparent; box-shadow: none; font-size: .72rem; font-weight: 700; }.gmail-similar-button::before,.gmail-similar-button::after { display: none; }
.notice { padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; color: var(--muted); background: rgba(18,60,124,.06); }.notice.warning { border-color: rgba(235,102,139,.42); color: var(--rose-dk); }.table-wrap { width: 100%; max-width: 100%; overflow-x: auto; }.preview-table { width: 100%; border-collapse: collapse; font-size: .82rem; }.preview-table th,.preview-table td { padding: 9px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.toast-region { position: fixed; z-index: 100; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); display: grid; gap: 8px; }.toast { max-width: 360px; padding: 13px 16px; border-radius: 15px; color: white; background: rgba(11,42,91,.94); box-shadow: var(--shadow-deep); animation: toast-in .25s ease-out; }.toast.error { background: rgba(151,52,80,.96); }
.hidden { display: none !important; }.mobile-menu { display: none; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) { .glass-card,.topbar,.icon-button,.secondary-button,.nav-item { background: var(--field-focus); } }
@media (max-width: 900px) { .app-shell { grid-template-columns: 1fr; }.sidebar { position: fixed; z-index: 30; top: 96px; left: 14px; width: min(300px, calc(100% - 28px)); max-height: calc(100dvh - 112px); overflow: auto; transform: translateX(calc(-100% - 24px)); transition: transform .25s ease; }.sidebar.open { transform: translateX(0); }.mobile-menu { display: inline-grid; }.hero { align-items: flex-start; flex-direction: column; }.conflict-button { width: 100%; justify-content: center; }.toolbar { align-items: stretch; flex-direction: column; }.toolbar-actions { width: 100%; }.search-field { flex: 1; }.week-grid { grid-template-columns: repeat(7, minmax(210px, 70vw)); }.month-day { min-height: 95px; }.list-row { grid-template-columns: 95px 1fr; }.list-row > :nth-child(n+3) { grid-column: 2; } }
@media (max-width: 640px) { body { padding-bottom: env(safe-area-inset-bottom); }.topbar,.app-shell { width: calc(100% - 20px); }.topbar { margin-top: max(6px, env(safe-area-inset-top)); padding: 8px; gap: 8px; }.top-actions { gap: 4px; }.top-actions .compact span { display: none; }.top-actions .compact { width: 44px; padding: 0; }.brand-copy .eyebrow { display: none; }.glass-card { backdrop-filter: blur(18px) saturate(1.65); -webkit-backdrop-filter: blur(18px) saturate(1.65); }.glass-edge::before { transition: none; }.scene i { display: none; }.app-shell { margin-bottom: 20px; }.hero { padding: 20px; }.hero h2 { font-size: 1.55rem; }.calendar { padding: 10px; min-height: 470px; }.date-nav h2 { width: 100%; order: -1; margin: 0; }.date-nav { flex-wrap: wrap; }.date-nav .secondary-button { flex: 1; }.toolbar-actions select { max-width: 120px; }.search-field { min-width: 0; }.month-grid { grid-template-columns: 1fr; border: 0; gap: 8px; }.month-weekday { display: none; }.month-day { min-height: auto; border: 1px solid var(--line); border-radius: 13px; }.month-day:empty { display: none; }.month-day.muted { display: none; }.month-day .event-card small { display: block; }.form-grid { grid-template-columns: 1fr; }.form-grid .wide { grid-column: auto; }.modal { width: calc(100% - 12px); max-height: calc(100dvh - 12px); }.panel-modal.gmail-health-modal { inset: max(12px, env(safe-area-inset-top)) 0 0; height: auto; max-height: none; margin: 0; }.modal form { padding: 0 16px 18px; }.modal-header { padding: 18px 16px 12px; }.panel-modal #panelContent { padding: 0 16px 18px; }.modal-actions { position: sticky; bottom: 0; padding: 10px 0 max(10px, env(safe-area-inset-bottom)); background: var(--field-focus); }.list-row { grid-template-columns: 1fr; gap: 5px; }.list-row > :nth-child(n) { grid-column: 1; }.gmail-health-controls { display: grid; grid-template-columns: 1fr 1fr; }.gmail-selection-panel { display: block; }.gmail-selection-heading { margin-bottom: 9px; }.gmail-bulk-actions { display: grid; grid-template-columns: 1fr 1fr; }.gmail-bulk-actions button { width: 100%; max-width: none; }.gmail-bulk-actions button:first-child { grid-column: 1 / -1; }.gmail-thread { padding: 12px; }.gmail-suspect-row { grid-template-columns: 22px minmax(0,1fr); }.gmail-suspect-row a { grid-column: 2; justify-content: flex-start; min-height: 36px; }.gmail-thread-title h3 { white-space: normal; }.gmail-help p { margin-left: 0; } button:hover { transform: none; } button:active { transform: scale(.98); } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }.glass-edge::before { --angle-1: -75deg !important; } }
