/* Base & accessible defaults */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 1rem; }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font: var(--text-base)/var(--leading-normal) var(--font-body); }
a { color: var(--color-herb); text-underline-offset: 4px; }
button, input, textarea, select { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
h1, h2, h3, p { margin: 0; }
h1 { display: inline-block; font: var(--weight-normal) var(--text-3xl)/var(--leading-tight) var(--font-display); letter-spacing: -.035em; }
h2 { font-size: var(--text-xl); line-height: var(--leading-tight); letter-spacing: -.025em; }
h3 { font-size: var(--text-base); line-height: 1.4; }
p + p { margin-top: var(--space-3); }
small, .small { font-size: var(--text-sm); }
.muted, .help { color: var(--color-secondary); }
.eyebrow { color: var(--color-secondary); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; left: 1rem; top: -100px; z-index: 10; background: white; padding: 1rem; }
.skip-link:focus { top: 1rem; }
/* Shell & layout */
.sidebar { padding: var(--space-4); background: var(--color-surface); border-bottom: var(--border); }
.brand { display: flex; align-items: center; gap: .7rem; color: var(--color-text); text-decoration: none; font: 700 1.65rem var(--font-display); }
.brand-mark { display: grid; place-items: center; width: 36px; height: 36px; background: var(--color-herb); color: white; border-radius: 50% 50% 40% 50%; font: 1.2rem var(--font-display); }
.brand small { display: block; font: .65rem var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--color-secondary); margin-top: .2rem; }
.nav-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: .25rem; margin-top: 1.25rem; }
.nav-links a { display: flex; align-items: center; gap: .6rem; min-height: 44px; padding: .6rem; border-radius: var(--radius-sm); text-decoration: none; color: var(--color-secondary); font-size: var(--text-sm); }
.nav-links a:hover, .nav-links .active { color: var(--color-herb); background: var(--color-herb-soft); }
.nav-icon { width: 1.1rem; text-align: center; }
.sidebar-note { display: none; }
main { min-width: 0; padding: var(--space-6) var(--space-4); max-width: var(--width-content); margin-inline: auto; }
.topbar, .section-heading, .row, .actions { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.topbar, .section-heading { justify-content: space-between; }
.topbar { padding-bottom: var(--space-8); font-size: var(--text-xs); color: var(--color-secondary); }
.mode-toggle { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin: 0; color: var(--color-secondary); font-size: var(--text-sm); font-weight: 600; cursor: pointer; }
.mode-toggle input { margin: 0; }
.mode-toggle > span:last-child { font-family: "Comic Sans MS", "Comic Sans", "Chalkboard SE", cursive; }
.breadcrumbs ol { display: flex; gap: .6rem; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li + li::before { content: '/'; margin-right: .6rem; color: #999e91; }
.avatar { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--color-butter); color: var(--color-warning); font-weight: 700; }
.page-heading { margin-bottom: var(--space-6); }
.page-heading p { margin-top: .65rem; }
.section-heading { margin-bottom: var(--space-5); }
.section-heading a { font-size: var(--text-sm); }
.product-section { padding-top: var(--space-12); margin-top: var(--space-12); border-top: var(--border); scroll-margin-top: 1rem; }
.product-section > .eyebrow { margin-bottom: .6rem; }
.stack { display: grid; gap: var(--space-5); }
.grid, .dashboard-grid, .recipe-grid, .recipe-detail-grid, .form-grid, .shopping-grid { display: grid; gap: var(--space-5); min-width: 0; }
.grid > *, .dashboard-grid > *, .form-grid > * { min-width: 0; }
.spaced { margin-top: var(--space-6); }
.full { grid-column: 1 / -1; }
footer { margin-top: var(--space-12); border-top: var(--border); padding-block: var(--space-6); color: var(--color-secondary); font-size: var(--text-xs); }
/* Buttons, tabs & selections */
.button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .65rem 1rem; border: 1px solid transparent; border-radius: var(--radius-sm); font-size: var(--text-sm); font-weight: 600; text-decoration: none; cursor: pointer; background: var(--color-herb); color: white; transition: background var(--duration-fast) var(--ease); }
.button:hover { background: var(--color-herb-hover); }
.button.secondary { border: var(--border); background: var(--color-surface); color: var(--color-text); }
.button.secondary:hover, .button.quiet:hover { background: var(--color-muted); }
.button.quiet { color: var(--color-herb); background: transparent; }
.button.is-loading::before { content: ''; width: .9rem; height: .9rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: import-spinner .7s linear infinite; }
.button.danger { color: var(--color-danger); background: var(--color-danger-soft); }
.button.danger:hover { background: #f4d8d0; }
.button[aria-pressed=true] { border-color: var(--color-herb); background: var(--color-herb-soft); color: var(--color-herb); }
.button.icon { width: 44px; padding: .5rem; flex-shrink: 0; font-size: 1.2rem; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.tabs { display: flex; flex-wrap: wrap; gap: .75rem; border-bottom: var(--border); margin-bottom: var(--space-6); }
.tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: .6rem .4rem; color: var(--color-secondary); text-decoration: none; font-size: var(--text-sm); }
.tabs .selected { color: var(--color-herb); border-bottom: 2px solid var(--color-herb); font-weight: 600; }
.segmented { display: flex; flex-wrap: wrap; padding: .25rem; border: var(--border); border-radius: var(--radius-md); gap: .25rem; }
.segmented label { position: relative; flex: 1; }
.segmented span { min-height: 44px; display: grid; place-items: center; padding: .5rem .8rem; border-radius: var(--radius-sm); font-size: var(--text-sm); }
.segmented input:checked + span { background: var(--color-herb); color: white; }
.segmented input:focus-visible + span { outline: var(--focus-ring); }
/* Cards and recipe building blocks */
.card { background: var(--color-surface); border: var(--border); border-radius: var(--radius-lg); padding: var(--space-5); box-shadow: var(--shadow-sm); }
.card.soft { background: var(--color-herb-soft); }
.card.butter { background: var(--color-butter); }
.today-card { overflow: hidden; padding: 0; }
.today-copy { padding: var(--space-6); }
.today-copy h2 { font: 1.8rem/1.2 var(--font-display); margin-block: .7rem; }
.today-copy .actions { margin-top: var(--space-5); }
.meal-art { min-height: 180px; display: grid; place-items: center; background: #e5e8db; color: #536647; position: relative; overflow: hidden; }
.meal-art::before { content: ''; width: 132px; height: 132px; border: 1px solid #bdc8b2; border-radius: 50%; box-shadow: 0 0 0 15px #ffffff32, 0 0 0 16px #cbd3c1; position: absolute; }
.meal-art span { z-index: 1; font: italic 1.1rem var(--font-display); text-align: center; }
.meal-art.tomato { background: #efded0; color: #885b43; }
.meal-art.butter { background: #efe7cd; color: #796745; }
.meal-art.berry { background: #e9dfe5; color: var(--color-berry); }
.recipe-card { overflow: hidden; padding: 0; }
.recipe-card-hero { position: relative; }
.recipe-card-image-link { display: block; color: inherit; text-decoration: none; }
.recipe-card .meal-art { min-height: 160px; }
.recipe-card .meal-art::before { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .recipe-card { --recipe-base-tilt: 0deg; --recipe-tilt: var(--recipe-base-tilt); transform: rotate(var(--recipe-tilt)); transition: transform var(--duration-normal) var(--ease); }
}
.recipe-image { display: block; width: 100%; height: 190px; object-fit: cover; }
.recipe-delete-form { position: absolute; top: .75rem; right: .75rem; z-index: 1; }
.recipe-delete-form .button { margin: 0; }
.recipe-body { padding: var(--space-5); }
.recipe-body h3 { font-size: var(--text-lg); }
.recipe-body h2 { font-size: var(--text-lg); }
.recipe-body p { margin-top: .5rem; font-size: var(--text-sm); color: var(--color-secondary); }
.recipe-body .recipe-subtitle { color: var(--color-text); font-weight: 600; }
.recipe-body .button { margin-top: 1rem; }
.recipe-detail-image { display: block; width: 100%; max-height: 420px; object-fit: cover; border-radius: var(--radius-md); }
.recipe-detail-grid { align-items: start; }
.card.recipe-hero-card { padding: 0; }
.recipe-detail-main { min-width: 0; }
.recipe-detail-card { display: grid; gap: var(--space-5); min-width: 0; }
.recipe-detail-panel h2 { margin-bottom: .65rem; }
.recipe-facts { display: grid; gap: .45rem; }
.recipe-facts p { display: flex; justify-content: space-between; gap: .75rem; margin: 0; font-size: var(--text-sm); }
.recipe-facts strong { text-align: right; }
.recipe-summary-label { display: block; color: var(--color-secondary); font-size: var(--text-xs); }
.recipe-macro-list { display: grid; gap: .15rem; margin-top: .15rem; }
.recipe-macro-list > div { display: flex; justify-content: space-between; gap: .5rem; font-size: var(--text-sm); line-height: 1.3; }
.recipe-macro-list span { color: var(--color-secondary); }
.recipe-macro-list strong { margin-top: 0; }
.recipe-detail-card .recipe-ingredients li { display: block; padding-block: .15rem; }
.recipe-detail-card .choice { align-items: flex-start; gap: .45rem; height: auto; font-size: var(--text-sm); }
.recipe-detail-card .choice input { width: 16px; height: 16px; margin-top: .15rem; }
.recipe-detail-card .choice span { display: grid; gap: .1rem; line-height: 1.3; }
.cook-action .button { width: 100%; }
.cook-history-list { padding: 0; margin: 0; list-style: none; }
.cook-history-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 0; border-bottom: var(--border); }
.cook-history-row:last-child { border-bottom: 0; padding-bottom: 0; }
.cook-history-row time { color: var(--color-secondary); font-size: var(--text-sm); }
.cook-history-remove { margin: 0; }
.cook-history-remove .button { min-height: 40px; padding: .45rem .65rem; }
.import-panel { margin-bottom: var(--space-6); }
.import-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: end; }
.import-row .button { white-space: nowrap; }
.import-status { margin-top: 0; }
.recipe-meta { display: flex; gap: 1rem; flex-wrap: wrap; color: var(--color-secondary); font-size: var(--text-xs); margin-top: 1rem; }
.favorite { position: absolute; right: .75rem; top: .75rem; z-index: 1; }
.favorite input + span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--color-surface); font-size: 1.25rem; cursor: pointer; }
.favorite input:checked + span { color: var(--color-tomato); }
.favorite input:focus-visible + span { outline: var(--focus-ring); }
.tags { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .9rem; }
.tag, .badge { display: inline-flex; align-items: center; padding: .2rem .55rem; border-radius: var(--radius-pill); background: var(--color-muted); color: var(--color-secondary); font-size: var(--text-xs); font-weight: 500; }
.tag.green, .badge.success { background: var(--color-herb-soft); color: var(--color-herb); }
.badge.warning { background: var(--color-butter); color: var(--color-warning); }
.badge.error { background: var(--color-danger-soft); color: var(--color-danger); }
.scribble, h1 { position: relative; display: inline-block; border-bottom: 0; padding-bottom: .28rem; }
.scribble::before, .scribble::after, h1::before, h1::after { content: ''; position: absolute; bottom: 0; width: 51%; height: .28rem; border-bottom: 2px solid #a5b58c; pointer-events: none; transform-origin: center bottom; }
.scribble::before, h1::before { left: 0; border-radius: 0 0 0 var(--scribble-left-radius, 15%); transform: scaleY(var(--scribble-left-direction, 1)); }
.scribble::after, h1::after { right: 0; border-radius: 0 0 var(--scribble-right-radius, 45%) 0; transform: scaleY(var(--scribble-right-direction, 1)); }
.list-row { display: flex; align-items: center; gap: .8rem; padding-block: .9rem; border-bottom: var(--border); }
.list-row:last-child { border-bottom: 0; }
.list-row > .grow { flex: 1; min-width: 0; }
.list-row small { display: block; color: var(--color-secondary); }
.day-chip { width: 43px; flex-shrink: 0; text-align: center; font-size: .65rem; color: var(--color-secondary); text-transform: uppercase; }
.day-chip strong { display: block; font-size: 1.15rem; color: var(--color-text); }
/* Forms */
form { margin: 0; }
fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
legend { font-weight: 600; margin-bottom: 1rem; }
.form-section + .form-section { padding-top: var(--space-6); margin-top: var(--space-6); border-top: var(--border); }
.field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.field > label, .field-label { font-size: var(--text-sm); font-weight: 600; }
input:not([type=checkbox]):not([type=radio]), textarea, select { width: 100%; min-width: 0; min-height: 44px; border: var(--border); border-radius: var(--radius-sm); padding: .65rem .75rem; background: var(--color-surface); color: var(--color-text); }
textarea { resize: vertical; min-height: 100px; }
input::placeholder, textarea::placeholder { color: var(--color-secondary); opacity: 1; }
input[type=checkbox], input[type=radio] { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--color-herb); }
.choice { display: flex; align-items: center; gap: .6rem; min-height: 44px; font-size: var(--text-sm); cursor: pointer; }
.toggle input { appearance: none; width: 38px; height: 23px; border: var(--border); background: #d4d8ce; border-radius: 99px; position: relative; }
.toggle input::before { content: ''; position: absolute; width: 17px; height: 17px; top: 2px; left: 2px; background: white; border-radius: 50%; }
.toggle input:checked { background: var(--color-herb); }
.toggle input:checked::before { left: 17px; }
.search { position: relative; }
.search > span { position: absolute; left: .9rem; top: .6rem; color: var(--color-secondary); }
.search input { padding-left: 2.5rem !important; }
.help { font-size: var(--text-xs); }
[aria-invalid=true] { border-color: var(--color-danger) !important; }
.validation { color: var(--color-danger); font-size: var(--text-sm); }
.dropzone { padding: var(--space-6); border: 1px dashed #a6b19c; border-radius: var(--radius-md); text-align: center; background: var(--color-bg); }
.dropzone input { margin-top: .75rem; font-size: var(--text-sm); }
.ingredient-row { display: grid; gap: .7rem; grid-template-columns: 1fr 1fr; padding: 1rem 0; border-bottom: var(--border); }
.ingredient-row .ingredient-name, .ingredient-row .ingredient-note { grid-column: 1 / -1; }
.step-row { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: 1rem; }
.step-number { display: grid; place-items: center; background: var(--color-herb-soft); border-radius: 50%; width: 30px; height: 30px; flex-shrink: 0; font-size: var(--text-sm); }
.step-row .field { flex: 1; }
.recipe-ingredients { padding: 0; list-style: none; }
.recipe-ingredients li { display: grid; grid-template-columns: 80px 1fr; gap: 1rem; padding: .9rem 0; border-bottom: var(--border); }
.instructions { padding-left: 1.5rem; }
.instructions li { padding-left: .5rem; margin-bottom: 1.4rem; line-height: var(--leading-relaxed); }
.instructions li::marker { color: var(--color-herb); font-weight: 700; }
/* Planner */
.week-grid { display: grid; gap: .65rem; }
.day { border: var(--border); border-radius: var(--radius-md); background: var(--color-surface); padding: .65rem; min-width: 0; }
.day.today { border-color: #7f9672; }
.day h3 { font-size: var(--text-sm); margin: .25rem 0 .75rem; }
.day h3 span { color: var(--color-secondary); font-weight: 400; }
.meal-slot { padding: .65rem; border-radius: var(--radius-sm); background: var(--color-muted); margin-top: .5rem; min-height: 75px; font-size: var(--text-xs); }
.meal-slot strong { display: block; font-weight: 600; margin-top: .2rem; }
.meal-slot.dinner { background: var(--color-herb-soft); }
.meal-slot.empty { border: 1px dashed var(--color-border); background: transparent; }
.meal-slot .button { font-size: var(--text-xs); padding: .3rem; width: 100%; }
.slot-label { color: var(--color-secondary); font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; }
.drag { float: right; color: var(--color-secondary); }
.review { border-left: 3px solid var(--color-herb); }
/* Shopping, tables, states & dialog */
.shopping-group h3 { display: flex; justify-content: space-between; padding-bottom: .75rem; border-bottom: var(--border); }
.shopping-item { display: flex; align-items: flex-start; gap: .65rem; padding-block: .8rem; min-height: 56px; border-bottom: var(--border); }
.shopping-item input { margin-top: .2rem; }
.shopping-item .item-copy { flex: 1; min-width: 0; }
.shopping-item small { display: block; color: var(--color-secondary); font-size: var(--text-xs); margin-top: .2rem; }
.shopping-item .quantity { white-space: nowrap; font-size: var(--text-sm); }
.shopping-item:has(input:checked) { color: var(--color-secondary); }
.shopping-item input:checked + .item-copy > span { text-decoration: line-through; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: var(--text-sm); }
th, td { padding: .9rem .65rem; text-align: left; border-bottom: var(--border); }
th { font-size: var(--text-xs); color: var(--color-secondary); font-weight: 600; }
.empty-state { text-align: center; padding: var(--space-8) var(--space-5); border: 1px dashed var(--color-border); border-radius: var(--radius-md); }
.empty-state p { color: var(--color-secondary); font-size: var(--text-sm); margin: .5rem 0 1rem; }
.empty-symbol { display: block; font: 2rem var(--font-display); color: #7d8d70; margin-bottom: .5rem; }
.notice, .toast { padding: 1rem; border-radius: var(--radius-md); background: var(--color-herb-soft); color: var(--color-herb); font-size: var(--text-sm); }
.toast { border: 1px solid #ccd8c4; display: flex; gap: .75rem; align-items: flex-start; }
.toast.import-status { position: fixed; inset: auto 1rem 1rem; left: 50%; z-index: 10; width: min(calc(100% - 2rem), 28rem); box-shadow: var(--shadow-md); animation: toast 4s var(--ease) forwards; }
.toast.error { color: var(--color-danger); background: var(--color-danger-soft); border-color: #e7c9c3; }
.notice.warning { background: var(--color-butter); color: var(--color-warning); }
@keyframes toast {
  0% { opacity: 0; transform: translate(-50%, 1rem); }
  8% { opacity: 1; transform: translate(-50%, 0); }
  88% { opacity: 1; transform: translate(-50%, 0); }
  100% { opacity: 0; transform: translate(-50%, 1rem); }
}
@keyframes import-spinner { to { transform: rotate(360deg); } }
.skeleton { height: 14px; margin: .8rem 0; border-radius: var(--radius-sm); background: var(--color-muted); }
.skeleton.image { height: 110px; margin-top: 0; }
.skeleton.short { width: 60%; }
.import-dialog { width: min(calc(100% - 2rem), 36rem); max-width: none; padding: 0; border: 0; background: transparent; color: var(--color-text); }
.import-dialog .card { box-shadow: var(--shadow-md); }
.dialog-example { position: static; width: 100%; max-width: 480px; margin: 0; padding: var(--space-6); background: var(--color-surface); color: var(--color-text); border: var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.dialog-example p { margin: .8rem 0 1.4rem; color: var(--color-secondary); font-size: var(--text-sm); }
dialog::backdrop { background: #29352c66; }
.mobile-preview { max-width: 375px; padding: 1rem; border: var(--border); border-radius: 1.5rem; background: var(--color-bg); margin-inline: auto; }
.mobile-preview .meal-art { min-height: 140px; border-radius: var(--radius-md); }
.mobile-nav { display: flex; justify-content: space-around; gap: .25rem; background: var(--color-surface); border-top: var(--border); padding-top: .5rem; }
.mobile-nav a { display: grid; place-items: center; min-width: 44px; min-height: 48px; text-decoration: none; font-size: .7rem; }
.mobile-nav span { font-size: 1.1rem; }
/* Responsive: stacked by default, expanded only when comfortable */
@media (max-width: 479px) {
  .actions { flex-direction: column; align-items: stretch; }
  .actions > * { width: 100%; }
  .topbar > .row .muted { display: none; }
  .nav-icon { display: none; }
  .card { padding: 1rem; }
  .recipe-card, .today-card { padding: 0; }
  .section-heading { align-items: flex-start; }
  .import-row { grid-template-columns: 1fr; }
  .import-row .button { width: 100%; }
  .table-wrap table, .table-wrap tbody, .table-wrap tr, .table-wrap td { display: block; }
  .table-wrap thead { display: none; }
  .table-wrap tr { padding-block: .75rem; border-bottom: var(--border); }
  .table-wrap td { border: 0; padding: .3rem 0; }
  .table-wrap td::before { content: attr(data-label) ': '; color: var(--color-secondary); }
}
@media (min-width: 600px) {
  main { padding: 2rem; }
  .grid.two, .form-grid, .shopping-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recipe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .today-card { display: grid; grid-template-columns: 1.3fr 1fr; }
  .week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ingredient-row { grid-template-columns: 70px 90px 1fr 44px; align-items: end; }
  .ingredient-row .ingredient-name { grid-column: auto; }
  .ingredient-row .ingredient-note { grid-column: 1 / 4; }
}
@media (min-width: 700px) {
  .recipe-detail-grid { grid-template-columns: minmax(0, 7fr) minmax(200px, 3fr); }
  .recipe-detail-card { grid-column: 2; }
}
@media (min-width: 1000px) {
  .app-shell { display: grid; grid-template-columns: var(--width-sidebar) minmax(0, 1fr); }
  .sidebar { position: sticky; top: 0; height: 100vh; padding: 2rem 1rem; border-right: var(--border); border-bottom: 0; display: flex; flex-direction: column; }
  .brand { padding-left: .5rem; }
  .nav-links { grid-template-columns: 1fr; margin-top: 2.5rem; gap: .35rem; }
  .nav-links a { padding: .8rem 1rem; }
  .sidebar-note { display: block; margin-top: auto; padding: 1rem; }
  .sidebar-note p { font: italic 1.2rem var(--font-display); margin-bottom: .6rem; }
  main { width: 100%; padding: 2rem 2.5rem; }
  .dashboard-grid { grid-template-columns: minmax(0, 1.9fr) minmax(230px, 1fr); }
  .recipe-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .week-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .4rem; }
  .day { padding: .4rem; }
  .meal-slot { padding: .45rem; min-height: 99px; overflow-wrap: anywhere; }
  .shopping-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
@media print { .sidebar, .topbar, .button, .mobile-nav { display: none; } .app-shell { display: block; } main { padding: 0; } .card, .day { break-inside: avoid; box-shadow: none; } body { background: white; } }
