:root {
  --ink: #2d2428;
  --muted: #746b6f;
  --line: #e7dedf;
  --paper: #fffdfb;
  --canvas: #f7f3f1;
  --berry: #8c2444;
  --berry-dark: #68152f;
  --berry-soft: #f8e9ee;
  --gold: #d59324;
  --gold-soft: #fff4d9;
  --green: #287355;
  --green-soft: #e7f5ef;
  --shadow: 0 8px 28px rgba(73, 43, 52, .07);
  --radius: 14px;
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.5; }
a { color: var(--berry); text-decoration: none; }
a:hover { color: var(--berry-dark); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
input, select, textarea { width: 100%; color: var(--ink); background: white; border: 1px solid #cfc4c7; border-radius: 8px; padding: .68rem .75rem; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(140, 36, 68, .13); border-color: var(--berry); }
textarea { resize: vertical; }
[hidden] { display: none !important; }

.site-header { min-height: 86px; display: flex; align-items: center; gap: 2rem; padding: .8rem max(2rem, calc((100vw - 1500px) / 2)); background: var(--paper); border-bottom: 1px solid var(--line); }
.portal-header { height: 58px; display: grid; place-items: center; background: var(--paper); border-bottom: 1px solid var(--line); }
.portal-logo { width: 46px; height: 46px; display: block; object-fit: cover; border-radius: 10px; }
.corny-rain { position: fixed; inset: 0; z-index: 1000; overflow: hidden; visibility: hidden; pointer-events: none; }
.corny-rain.is-playing { visibility: visible; }
.corny-visitor { position: absolute; top: 50%; left: 50%; width: min(90vw, 90vh); height: min(90vw, 90vh); object-fit: cover; opacity: 0; border: 5px solid rgba(255, 255, 255, .9); border-radius: 50%; box-shadow: 0 22px 70px rgba(21, 72, 83, .32); }
.corny-rain.is-playing .corny-visitor { animation: corny-visit 2.1s cubic-bezier(.3, .72, .35, 1) both; }
@keyframes corny-visit {
  0% { opacity: .25; transform: translate3d(calc(-50% - 58vw), calc(-50% + 55vh), 0) rotate(-12deg) scale(.05); }
  7% { opacity: .9; }
  31% { opacity: 1; transform: translate3d(-50%, -50%, 0) rotate(1deg) scale(1.06); }
  41% { transform: translate3d(-50%, calc(-50% - 16px), 0) rotate(-1deg) scale(1.12); }
  51% { transform: translate3d(-50%, calc(-50% + 8px), 0) rotate(1deg) scale(1.07); }
  61% { transform: translate3d(-50%, calc(-50% - 9px), 0) rotate(-1deg) scale(1.11); }
  71% { opacity: 1; transform: translate3d(-50%, -50%, 0) rotate(0) scale(1.08); }
  100% { opacity: 0; transform: translate3d(calc(-50% + 60vw), calc(-50% - 58vh), 0) rotate(10deg) scale(.05); }
}
.picture-of-day { position: fixed; inset: 0; z-index: 1100; width: 100%; display: grid; place-items: center; padding: clamp(1rem, 4vw, 3rem); color: var(--ink); background: rgba(32, 25, 28, .62); border: 0; opacity: 0; visibility: hidden; pointer-events: none; cursor: pointer; backdrop-filter: blur(7px); }
.picture-of-day.is-showing { visibility: visible; pointer-events: auto; animation: picture-backdrop-in .32s ease both; }
.picture-of-day.is-leaving { visibility: visible; animation: picture-backdrop-out .78s ease both; }
.picture-of-day-card { max-width: min(850px, 92vw); display: grid; padding: clamp(.75rem, 2vw, 1.15rem); background: var(--paper); border: 3px solid rgba(255, 255, 255, .92); border-radius: 22px; box-shadow: 0 30px 90px rgba(20, 14, 16, .42); }
.picture-of-day.is-showing .picture-of-day-card { animation: picture-pop-in .58s cubic-bezier(.2, .85, .3, 1.15) both; }
.picture-of-day.is-leaving .picture-of-day-card { animation: picture-fly-away .75s cubic-bezier(.55, 0, .8, .38) both; }
.picture-of-day-card img { width: auto; max-width: 100%; height: auto; max-height: min(72dvh, 760px); display: block; justify-self: center; object-fit: contain; border-radius: 14px; }
@keyframes picture-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes picture-backdrop-out {
  from { opacity: 1; }
  to { opacity: 0; }
}
@keyframes picture-pop-in {
  0% { opacity: 0; transform: translate3d(0, 35px, 0) rotate(-3deg) scale(.66); }
  70% { opacity: 1; transform: translate3d(0, -7px, 0) rotate(1deg) scale(1.025); }
  100% { opacity: 1; transform: none; }
}
@keyframes picture-fly-away {
  0% { opacity: 1; transform: none; }
  18% { transform: translate3d(-8px, 10px, 0) rotate(-2deg) scale(1.02); }
  100% { opacity: 0; transform: translate3d(70vw, -70vh, 0) rotate(24deg) scale(.12); }
}
.brand { display: flex; align-items: center; gap: .75rem; flex: 0 0 auto; color: var(--ink); font-weight: 780; font-size: 1.08rem; letter-spacing: -.02em; }
.brand:hover { color: var(--ink); }
.brand small { display: block; color: var(--muted); font-weight: 500; font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: var(--berry); border-radius: 50% 46% 48% 44%; font-size: .82rem; letter-spacing: .02em; transform: rotate(-3deg); }
nav { display: flex; align-items: center; gap: .25rem; overflow-x: auto; padding: .3rem; }
nav a { white-space: nowrap; padding: .58rem .74rem; border-radius: 8px; color: #554a4e; font-weight: 650; }
nav a:hover, nav a.active { color: var(--berry); background: var(--berry-soft); }
nav a.nav-primary { color: white; background: var(--berry); margin-right: .25rem; }
nav a.nav-primary:hover, nav a.nav-primary.active { background: var(--berry-dark); }
nav form { margin: 0; }
.nav-link-button { width: auto; padding: .58rem .74rem; color: #554a4e; background: transparent; border: 0; border-radius: 8px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.nav-link-button:hover { color: var(--berry); background: var(--berry-soft); }

.page-shell { max-width: 1500px; margin: 0 auto; padding: 2.2rem 2rem 5rem; }
.portal-page .page-shell { padding-top: .45rem; }
.schedule-page { min-height: 100vh; background-color: #d7eceb; background-image: linear-gradient(rgba(247, 243, 241, .58), rgba(247, 243, 241, .68)), url("/corny.png"); background-position: center top; background-size: cover; background-attachment: fixed; }
.schedule-page .page-shell { max-width: 1680px; min-height: 100vh; padding: .9rem 1rem 3rem; }
.schedule-picture-control { display: flex; justify-content: center; margin: .3rem 0 .2rem; }
.corny-replay { width: 68px; height: 68px; padding: 0; overflow: hidden; background: white; border: 3px solid rgba(140, 36, 68, .28); border-radius: 50%; cursor: pointer; box-shadow: 0 8px 24px rgba(45, 36, 40, .2); transition: transform .15s ease, box-shadow .15s ease; }
.corny-replay:hover { transform: translateY(-1px) scale(1.04); box-shadow: 0 5px 14px rgba(45, 36, 40, .17); }
.corny-replay:focus-visible { outline: 3px solid rgba(140, 36, 68, .28); outline-offset: 2px; }
.corny-replay img { width: 100%; height: 100%; display: block; object-fit: cover; }
.corny-replay:disabled { cursor: default; filter: grayscale(1); opacity: .55; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin: 0 0 1.6rem; }
.page-heading.compact { margin-bottom: 1rem; }
.page-heading h1 { margin: .15rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.035em; font-weight: 700; }
.page-heading p { margin: .6rem 0 0; }
.eyebrow { margin: 0; color: var(--berry); font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.muted { color: var(--muted); }
.small { font-size: .82rem; }
.large-copy { font-size: 1.1rem; }
.back-link { display: inline-block; margin-bottom: .8rem; color: var(--muted); font-weight: 650; }
.heading-inline, .heading-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; }
.heading-actions form { margin: 0; }

.button { width: auto; min-height: 41px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .55rem .85rem; color: var(--ink); background: white; border: 1px solid #cfc4c7; border-radius: 8px; font-weight: 720; cursor: pointer; box-shadow: 0 1px 1px rgba(45, 36, 40, .03); }
.button:hover { color: var(--berry); border-color: #bfa8af; background: #fffafb; }
.button-primary { color: white; background: var(--berry); border-color: var(--berry); }
.button-primary:hover { color: white; background: var(--berry-dark); border-color: var(--berry-dark); }
.button-quiet { border-color: transparent; background: transparent; box-shadow: none; }
.button-small { min-height: 34px; padding: .35rem .65rem; font-size: .84rem; }
.button-icon { min-width: 41px; font-size: 1.1rem; }
.button-success { color: white; background: var(--green); border-color: var(--green); }
.button-count { min-width: 23px; height: 23px; display: inline-grid; place-items: center; padding: 0 .3rem; color: white; background: var(--berry); border-radius: 99px; font-size: .75rem; }
.button-count.inverse { color: var(--berry); background: white; }
.button:disabled { color: #8b8184; background: #eee9e7; border-color: #d9d1d3; cursor: not-allowed; box-shadow: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.flash-stack { display: grid; gap: .5rem; margin-bottom: 1rem; }
.flash-stack:empty { display: none; }
.flash { padding: .75rem .9rem; border: 1px solid var(--line); border-left-width: 4px; border-radius: 8px; background: white; box-shadow: var(--shadow); }
.flash-success { border-left-color: var(--green); background: var(--green-soft); }
.flash-warning { border-left-color: var(--gold); background: var(--gold-soft); }
.flash-error { border-left-color: var(--berry); background: var(--berry-soft); }

.login-wrap { min-height: calc(100vh - 190px); display: grid; place-items: center; }
.login-card { width: min(430px, 100%); padding: 2rem; text-align: center; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 55px rgba(73, 43, 52, .1); }
.login-mark { margin: 0 auto 1rem; }
.login-card h1 { margin: .25rem 0 .5rem; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; }
.login-card p { margin: .5rem 0 1.4rem; }
.login-form { display: grid; gap: 1rem; text-align: left; }
.login-form .button { width: 100%; min-height: 48px; }

.panel { padding: 1.35rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.panel.flush { padding: 0; overflow: hidden; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.panel-heading h2 { margin: .12rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; }
.panel-heading p { margin: .25rem 0 0; }
.two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; margin-top: 1.2rem; }
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.stat-card { min-height: 150px; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.2rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.stat-card:hover { color: var(--ink); border-color: #d4bdc4; transform: translateY(-1px); }
.stat-card.attention { background: linear-gradient(145deg, var(--gold-soft), var(--paper) 70%); }
.stat-number { margin-bottom: .5rem; font-family: Georgia, "Times New Roman", serif; font-size: 2.5rem; line-height: 1; font-weight: 700; }
.stat-card strong { font-size: 1.02rem; }
.stat-card .muted { margin-top: .2rem; font-size: .82rem; }
.plain-list { margin: 0; padding: 0; list-style: none; }
.plain-list li { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .8rem 0; border-top: 1px solid var(--line); }
.plain-list li:first-child { border-top: 0; }
.plain-list li span { display: block; font-size: .83rem; }
.empty-state { padding: 2rem 1rem; text-align: center; color: var(--muted); }
.empty-state strong { display: block; color: var(--ink); font-size: 1.05rem; }
.empty-state p { margin: .25rem 0 1rem; }
.notice, .success-note, .note-box { padding: .8rem .9rem; border-radius: 8px; background: var(--gold-soft); }
.success-note { background: var(--green-soft); color: var(--green); }
.note-box { background: var(--canvas); }

.search-bar { margin-bottom: 1rem; padding: 1rem; background: #eee6e4; border-radius: 12px; }
.search-bar > label { display: block; margin-bottom: .35rem; font-weight: 750; }
.search-row { display: flex; gap: .5rem; }
.search-row input { flex: 1; font-size: 1.05rem; }
.catalog-filters { display: flex; gap: .35rem; margin: -.25rem 0 1rem; }
.catalog-filters a { padding: .42rem .7rem; color: var(--muted); border-radius: 8px; font-size: .8rem; font-weight: 720; }
.catalog-filters a:hover, .catalog-filters a.is-active { color: var(--berry); background: var(--berry-soft); }
.pagination { width: 100%; display: flex; justify-content: center; gap: 1rem; margin-top: 1rem; padding: .5rem; color: var(--muted); font-size: .82rem; }
.pagination a { padding: .25rem .5rem; color: var(--berry); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .9rem 1rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
thead th { color: #65595d; background: #f3eeec; font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
.table-subtext { display: block; margin-top: .15rem; color: var(--muted); font-size: .8rem; }
.actions { text-align: right; }
.row-muted { opacity: .6; }
.status { display: inline-flex; align-items: center; width: fit-content; padding: .25rem .48rem; color: #62575a; background: #eee9e7; border-radius: 99px; font-size: .73rem; font-weight: 800; text-transform: capitalize; }
.status-draft { color: var(--berry); background: var(--berry-soft); }
.status-sent, .status-received { color: var(--green); background: var(--green-soft); }
.status-awaiting { color: #7d5708; background: var(--gold-soft); }
.status-awaiting_response, .status-awaiting_delivery, .status-invoice_missing, .status-unpaid { color: #7d5708; background: var(--gold-soft); }
.status-partial { color: #315e78; background: #e3f2f6; }
.status-partially_available, .status-backordered, .status-partially_paid { color: #315e78; background: #e3f2f6; }
.status-confirmed, .status-paid { color: var(--green); background: var(--green-soft); }
.status-ready, .status-added { color: var(--green); background: var(--green-soft); }
.status-unmapped, .status-needs_review, .status-failed, .status-product_not_found { color: var(--berry); background: var(--berry-soft); }
.status-disabled, .status-inactive, .status-skipped { color: #62575a; background: #eee9e7; }
.status-processing, .status-mapped, .status-partially_added, .status-login_required { color: #315e78; background: #e3f2f6; }
.status-unavailable { color: #62575a; background: #eee9e7; }
.status-not_started, .status-not_invoiced { color: #62575a; background: #eee9e7; }
.status-warning { color: #865b08; background: var(--gold-soft); }
.text-warning { color: #8b5a00; }
.text-success { color: var(--green); }

.form-panel { max-width: 900px; }
.form-panel.narrow { max-width: 720px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.field { display: flex; flex-direction: column; gap: .35rem; font-weight: 720; }
.field input, .field select, .field textarea { font-weight: 450; }
.span-2 { grid-column: span 2; }
.required { float: right; color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; }
.section-divider { margin: 1.5rem 0 1rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.section-divider h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; }
.section-divider p { margin: .3rem 0; }
.supplier-status-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.supplier-history-field { padding: .75rem; background: var(--canvas); border: 1px solid var(--line); border-radius: 9px; }
.mapping-link { display: inline-block; margin-top: .45rem; font-size: .78rem; font-weight: 720; }
.mapping-switches { display: flex; flex-wrap: wrap; gap: 0 1.5rem; }
.check-field { display: flex; align-items: center; gap: .55rem; margin-top: 1.2rem; font-weight: 650; }
.check-field input, .off-check input { width: 18px; height: 18px; accent-color: var(--berry); }
.form-actions { display: flex; gap: .5rem; margin-top: 1.25rem; }
.danger-zone { max-width: 900px; padding: 1rem 0; text-align: right; }
.link-danger { width: auto; padding: .25rem; color: var(--berry); background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
.card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.supplier-card .panel-heading { align-items: center; }
.detail-list { display: grid; gap: .6rem; margin: 0; }
.detail-list div { display: grid; grid-template-columns: 90px 1fr; gap: .75rem; }
.detail-list dt { color: var(--muted); }
.detail-list dd { margin: 0; }

.automation-summary { display: grid; grid-template-columns: repeat(7, minmax(110px, 1fr)); gap: .65rem; margin-bottom: 1rem; }
.automation-stat { min-height: 92px; display: flex; flex-direction: column; justify-content: flex-end; padding: .8rem .9rem; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.automation-stat strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.75rem; line-height: 1; }
.automation-stat span { margin-top: .3rem; color: var(--muted); font-size: .69rem; font-weight: 750; }
.automation-stat-ready, .automation-stat-added { background: linear-gradient(145deg, var(--green-soft), var(--paper) 75%); }
.automation-stat-missing, .automation-stat-failed { background: linear-gradient(145deg, var(--berry-soft), var(--paper) 75%); }
.review-warning { margin-bottom: 1rem; }
.automation-table-wrap { overflow-x: auto; }
.automation-review-table { min-width: 1320px; }
.automation-review-table th, .automation-review-table td { padding: .7rem .75rem; }
.automation-review-table td { font-size: .82rem; }
.automation-review-table td:first-child { min-width: 190px; }
.automation-review-table td:nth-child(4) { min-width: 210px; }
.automation-review-table td:nth-child(9) { min-width: 180px; }
.automation-review-table td:last-child { min-width: 155px; }
.automation-message { color: var(--muted); }
.table-actions { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; }
.table-actions form { margin: 0; }
.automation-run-panel { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1rem; }
.automation-run-panel h2 { margin: .15rem 0 0; font-family: Georgia, "Times New Roman", serif; }
.automation-run-panel p { margin: .35rem 0 0; }

.order-product-list { display: grid; gap: .6rem; }
.order-product { display: grid; grid-template-columns: minmax(260px, 1.4fr) minmax(180px, .8fr) auto; align-items: center; gap: 1.2rem; padding: 1rem 1.1rem; background: var(--paper); border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 3px 13px rgba(73, 43, 52, .04); }
.product-main h2 { margin: 0; font-size: 1.05rem; }
.product-main p, .product-supplier span { margin: .18rem 0 0; color: var(--muted); font-size: .82rem; }
.product-main .product-note { color: #855e14; font-style: italic; }
.product-supplier { display: flex; flex-direction: column; }
.product-supplier .label { margin: 0 0 .08rem; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.quantity-form { display: grid; grid-template-columns: 70px auto; gap: .35rem .5rem; align-items: end; }
.quantity-form label { grid-column: 1; color: var(--muted); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.quantity-form input { grid-column: 1; grid-row: 2; width: 70px; }
.quantity-form button { grid-column: 2; grid-row: 2; }
.supplier-order { margin-bottom: 1rem; }
.supplier-order-heading { padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.order-editor { display: grid; }
.order-item-row { display: grid; grid-template-columns: minmax(200px, 1.4fr) 90px minmax(180px, .8fr) auto; gap: .75rem; align-items: end; padding: .8rem 0; border-top: 1px solid var(--line); }
.order-item-row:first-child { border-top: 0; }
.order-item-name { align-self: center; }
.order-item-name span { display: block; color: var(--muted); font-size: .8rem; }
.order-item-name .item-note { color: #7b5b1c; font-style: italic; }
.compact-field { display: flex; flex-direction: column; gap: .2rem; color: var(--muted); font-size: .7rem; font-weight: 750; }
.compact-field input, .compact-field select { padding: .48rem .55rem; color: var(--ink); font-size: .83rem; font-weight: 450; }
.compact-value { align-self: center; display: flex; flex-direction: column; gap: .08rem; }
.compact-value span { color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.compact-value strong { font-size: .84rem; }
.row-actions { display: flex; flex-direction: column; align-items: center; }
.email-preview { margin-top: .7rem; padding-top: .8rem; border-top: 1px dashed var(--line); }
.email-preview summary { color: var(--berry); font-weight: 700; cursor: pointer; }
.email-preview pre { padding: 1rem; white-space: pre-wrap; background: var(--canvas); border-radius: 8px; font: .92rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.count-badge { min-width: 34px; height: 34px; display: grid; place-items: center; color: #7e5300; background: var(--gold-soft); border-radius: 50%; font-weight: 800; }
.supplier-picker { max-width: 760px; margin-bottom: 1rem; padding: 1rem; }
.supplier-picker > label { display: block; margin-bottom: .35rem; font-weight: 800; }
.supplier-picker > div { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: .5rem; }
.supplier-picker small { display: block; margin-top: .45rem; color: var(--muted); }
.choose-supplier-empty { max-width: 760px; }
.orders-workflow-section { max-width: 1100px; margin-bottom: 2rem; }
.completed-orders-section { padding-top: .5rem; border-top: 1px solid var(--line); }
.completed-count { color: var(--green); background: var(--green-soft); }
.order-workflow-list { display: grid; gap: .65rem; }
.order-workflow-card { display: grid; grid-template-columns: minmax(250px, 1fr) minmax(310px, .9fr) auto; align-items: center; gap: 1.2rem; padding: 1rem 1.1rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 4px 18px rgba(73, 43, 52, .05); }
.order-workflow-card:hover { color: var(--ink); border-color: #d3b9c1; transform: translateY(-1px); }
.order-workflow-card.is-complete { background: #fbfdfc; }
.order-card-main .eyebrow { font-size: .63rem; }
.order-card-title { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.order-card-title h3 { margin: .08rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; }
.order-card-main > p:last-child { margin: .22rem 0 0; color: var(--muted); font-size: .76rem; }
.order-card-progress { display: grid; gap: .38rem; }
.order-card-progress > strong { font-size: .8rem; }
.order-card-progress > small { display: flex; justify-content: space-between; color: var(--muted); font-size: .62rem; }
.order-card-progress > small span { color: #b4a9ac; }
.mini-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: .3rem; }
.mini-steps span { height: 7px; background: #e7dfdd; border-radius: 99px; }
.mini-steps span.is-current { background: var(--gold); }
.mini-steps span.is-complete { background: var(--green); }

.week-nav { display: flex; justify-content: center; align-items: flex-end; gap: .5rem; margin-bottom: 1rem; }
.week-nav label { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.week-nav input { display: block; min-width: 180px; margin-top: .2rem; color: var(--ink); font-size: .95rem; font-weight: 600; text-transform: none; }
.inline-add { display: flex; justify-content: flex-end; margin-bottom: .65rem; }
.inline-add form { display: flex; align-items: end; gap: .5rem; }
.inline-add label { color: var(--muted); font-size: .75rem; font-weight: 750; }
.inline-add input { width: 180px; display: block; margin-top: .2rem; }
.schedule-wrap { overflow-x: auto !important; }
.schedule-table { min-width: 1180px; table-layout: fixed; }
.schedule-table th, .schedule-table td { padding: .55rem; }
.schedule-table thead th { text-align: center; }
.schedule-table thead th span, .schedule-table thead th strong { display: block; }
.schedule-table thead th strong { color: var(--ink); font-size: .83rem; text-transform: none; }
.schedule-table .employee-column { position: sticky; left: 0; z-index: 2; width: 145px; background: var(--paper); font-size: .95rem; text-align: left; text-transform: none; }
.schedule-table thead .employee-column { z-index: 3; background: #f3eeec; }
.schedule-table td { width: 137px; background: var(--paper); vertical-align: top; }
.schedule-table .today { background: #fff9e9; }
.time-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; }
.time-pair label, .break-note label { color: var(--muted); font-size: .61rem; font-weight: 750; text-transform: uppercase; }
.time-pair input { min-width: 0; margin-top: .16rem; padding: .4rem .18rem; font-size: .75rem; }
.off-check { display: flex; align-items: center; gap: .25rem; width: fit-content; margin: .35rem auto 0; color: var(--muted); font-size: .72rem; font-weight: 700; }
.off-check input { width: 15px; height: 15px; }
.row-total { color: var(--berry); font-weight: 800; text-align: center; }
.schedule-notes { max-width: 700px; margin-top: 1rem; }
.sticky-actions { position: sticky; bottom: 1rem; z-index: 5; display: flex; align-items: center; justify-content: flex-end; gap: 1rem; width: fit-content; margin: 1rem 0 0 auto; padding: .65rem .75rem .65rem 1rem; background: rgba(255, 253, 251, .96); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 32px rgba(45, 36, 40, .14); }
.hours-table { min-width: 1540px; }
.hours-table td { width: 195px; }
.scheduled-reference { display: block; min-height: 1.2rem; margin-bottom: .3rem; color: var(--berry); font-size: .68rem; font-weight: 700; }
.break-note { display: grid; grid-template-columns: 70px 1fr; gap: .3rem; margin-top: .3rem; }
.break-note input { min-width: 0; margin-top: .16rem; padding: .4rem .35rem; font-size: .75rem; }
.hours-total { color: var(--muted); text-align: center; }
.hours-total strong, .hours-total span { display: block; white-space: nowrap; }

.calendar-heading { align-items: center; }
.undo-banner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: .8rem 1rem; color: #205f46; background: var(--green-soft); border: 1px solid #bfdcca; border-radius: 11px; }
.undo-banner > div { min-width: 0; }
.undo-banner strong, .undo-banner span { display: block; }
.undo-banner span { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.undo-banner form { flex: 0 0 auto; }
.schedule-glance { margin-bottom: .85rem; padding: 1rem; background: rgba(255, 253, 251, .84); border: 1px solid rgba(255, 255, 255, .78); border-radius: 20px; box-shadow: 0 18px 46px rgba(45, 36, 40, .15); backdrop-filter: blur(8px); }
.schedule-toolbar { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; margin: -.15rem 0 .65rem; }
.schedule-toolbar form { margin: 0; }
.schedule-toolbar .button { color: var(--berry-dark); background: rgba(255, 255, 255, .88); border-color: rgba(140, 36, 68, .28); box-shadow: 0 4px 14px rgba(45, 36, 40, .08); }
.glance-weeks { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.glance-weeks::-webkit-scrollbar { display: none; }
.glance-week { min-width: 100%; overflow: hidden; background: rgba(255, 255, 255, .9); border: 1px solid rgba(215, 202, 205, .92); border-radius: 15px; box-shadow: 0 5px 18px rgba(45, 36, 40, .06); scroll-snap-align: start; }
.glance-week > header { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .8rem; padding: .75rem 1rem; background: rgba(243, 238, 236, .88); border-bottom: 1px solid var(--line); }
.glance-week > header strong { font-size: 1rem; }
.glance-week > header span { color: var(--muted); font-size: .8rem; font-weight: 700; }
.glance-week-logo { width: clamp(94px, 13vw, 145px); height: 54px; display: block; object-fit: contain; opacity: .78; }
.glance-week-meta { display: flex; align-items: flex-end; flex-direction: column; text-align: right; }
.glance-week-meta small { color: var(--berry); font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.glance-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.glance-day { min-width: 0; min-height: 210px; padding: .9rem .7rem; background: rgba(255, 255, 255, .42); border-right: 1px solid var(--line); cursor: pointer; transition: background .15s ease, box-shadow .15s ease; }
.glance-day:last-child { border-right: 0; }
.glance-day.is-today { position: relative; z-index: 1; background: #fffaf0; box-shadow: inset 0 0 0 3px var(--berry), 0 5px 16px rgba(104, 21, 47, .16); }
.glance-day:hover { background: rgba(248, 233, 238, .72); box-shadow: inset 0 0 0 2px rgba(140, 36, 68, .14); }
.glance-day:focus-visible { outline: 3px solid rgba(140, 36, 68, .28); outline-offset: -3px; }
.glance-day.is-locked { cursor: default; }
.glance-day.is-locked:hover { background: rgba(255, 255, 255, .42); box-shadow: none; }
.glance-day.is-confirmed { background: rgba(235, 246, 241, .72); box-shadow: inset 0 3px 0 rgba(40, 115, 85, .72); }
.glance-day.is-confirmed:hover { background: rgba(229, 244, 237, .9); }
.glance-date { display: flex; align-items: center; justify-content: space-between; gap: .35rem; margin-bottom: .7rem; }
.glance-day-name { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem; }
.glance-date strong { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.glance-day-number { width: 31px; height: 31px; display: grid; flex: 0 0 31px; place-items: center; background: #f0eae8; border-radius: 50%; font-size: .82rem; font-weight: 800; }
.glance-day.is-today .glance-date strong { color: var(--berry-dark); }
.glance-day.is-today .glance-day-number { color: white; background: var(--berry); }
.today-tag { padding: .12rem .34rem; color: white; background: var(--berry); border-radius: 99px; font-size: .56rem; font-weight: 850; letter-spacing: .05em; line-height: 1.3; text-transform: uppercase; }
.confirmed-tag { padding: .12rem .34rem; color: #205f46; background: var(--green-soft); border: 1px solid #b8ddcd; border-radius: 99px; font-size: .54rem; font-weight: 850; letter-spacing: .04em; line-height: 1.3; text-transform: uppercase; }
.glance-people { display: grid; gap: .45rem; }
.glance-person { position: relative; z-index: 1; width: 100%; min-height: 50px; overflow: hidden; padding: .5rem .55rem; color: var(--berry-dark); background: var(--berry-soft); border: 0; border-radius: 8px; text-align: left; cursor: pointer; }
.glance-person:hover { filter: saturate(1.08) brightness(.98); }
.glance-person:disabled { cursor: default; filter: grayscale(.15); opacity: .72; }
.glance-person strong, .glance-person small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.glance-person strong { font-size: .78rem; }
.glance-person small { margin-top: .08rem; font-size: .69rem; font-weight: 650; opacity: .82; }
.glance-empty { display: block; padding: .5rem .15rem; color: #9a8e92; font-size: .72rem; line-height: 1.3; }
.schedule-primary-action { display: flex; justify-content: flex-end; }
.schedule-primary-action .button { min-width: 210px; min-height: 48px; box-shadow: 0 9px 24px rgba(104, 21, 47, .2); }
.bulletin-board { margin-bottom: 1.1rem; padding: 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.bulletin-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.bulletin-heading h2 { margin: .08rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; }
.bulletin-heading > span { padding: .25rem .55rem; color: var(--muted); background: var(--canvas); border-radius: 99px; font-size: .72rem; font-weight: 750; }
.bulletin-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 1rem; }
.bulletin-posts { display: grid; align-content: start; gap: .5rem; }
.bulletin-post { display: flex; align-items: flex-start; justify-content: space-between; gap: .7rem; padding: .75rem .8rem; background: var(--canvas); border-left: 4px solid #cbbfc2; border-radius: 9px; }
.bulletin-post.is-important { background: var(--gold-soft); border-left-color: var(--gold); }
.bulletin-copy { min-width: 0; }
.bulletin-copy p { margin: 0; white-space: pre-wrap; }
.bulletin-copy small { display: block; margin-top: .3rem; color: var(--muted); font-size: .68rem; }
.bulletin-important { display: block; margin-bottom: .18rem; color: #805600; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.bulletin-empty { padding: 1rem; color: var(--muted); background: var(--canvas); border-radius: 9px; text-align: center; }
.bulletin-compose { align-self: start; padding: .8rem; background: #f3eeec; border-radius: 10px; }
.bulletin-compose summary { color: var(--berry); font-weight: 800; cursor: pointer; }
.bulletin-compose[open] summary { margin-bottom: .7rem; }
.bulletin-form { display: grid; gap: .65rem; }
.bulletin-form textarea { min-height: 80px; }
.bulletin-form-actions { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.important-check { display: flex; align-items: center; gap: .4rem; font-weight: 700; }
.important-check input { width: 18px; height: 18px; accent-color: var(--berry); }
.resolved-posts { margin-top: .75rem; padding-top: .65rem; border-top: 1px solid var(--line); }
.resolved-posts summary { color: var(--muted); font-size: .76rem; font-weight: 700; cursor: pointer; }
.resolved-post { display: flex; justify-content: space-between; gap: .8rem; padding: .5rem 0; color: var(--muted); border-bottom: 1px solid var(--line); font-size: .75rem; }
.resolved-post:last-child { border-bottom: 0; }
.link-button { width: auto; padding: 0; color: var(--berry); background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
.mobile-week-tabs { display: none; }
.calendar-weeks { display: grid; gap: 1.2rem; }
.calendar-week { overflow-x: auto; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.calendar-week-heading { min-width: 1050px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.15rem; border-bottom: 1px solid var(--line); }
.calendar-week-heading h2 { margin: .12rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.42rem; }
.week-summary { display: flex; align-items: center; gap: .85rem; color: var(--muted); font-size: .82rem; }
.week-summary strong { color: var(--ink); font-size: 1rem; }
.calendar-grid { min-width: 1050px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-day { min-height: 190px; padding: .65rem; background: var(--paper); border-right: 1px solid var(--line); }
.calendar-day:last-child { border-right: 0; }
.calendar-day.is-past { background: #fbf8f6; }
.calendar-day.is-today { background: #fffaf0; box-shadow: inset 0 3px 0 var(--gold); }
.calendar-day > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; }
.calendar-day > header div { display: flex; align-items: center; gap: .45rem; }
.calendar-day > header span { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.calendar-day > header strong { width: 28px; height: 28px; display: grid; place-items: center; background: #f0eae8; border-radius: 50%; font-size: .8rem; }
.calendar-day.is-today > header strong { color: white; background: var(--gold); }
.day-add { width: 27px; height: 27px; padding: 0; color: var(--berry); background: white; border: 1px solid var(--line); border-radius: 50%; font-size: 1.05rem; line-height: 1; cursor: pointer; }
.day-add:hover { color: white; background: var(--berry); border-color: var(--berry); }
.day-shifts { display: grid; gap: .4rem; }
.shift-card { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: .05rem .35rem; padding: .55rem .6rem; text-align: left; border: 0; border-left: 4px solid var(--berry); border-radius: 8px; background: var(--berry-soft); cursor: pointer; }
.shift-card:hover { filter: saturate(1.1) brightness(.98); transform: translateY(-1px); }
.shift-employee { overflow: hidden; font-size: .82rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.shift-time { grid-column: 1 / -1; color: #5f5055; font-size: .74rem; font-weight: 650; }
.shift-hours { grid-column: 2; grid-row: 1; color: var(--muted); font-size: .66rem; font-weight: 750; white-space: nowrap; }
.employee-color-1 { color: #224e62; background: #e3f2f6; border-left-color: #3180a0; }
.employee-color-2 { color: #4d4721; background: #f5f1d9; border-left-color: #a38d2a; }
.employee-color-3 { color: #31583e; background: #e5f2e9; border-left-color: #4e9567; }
.employee-color-4 { color: #573b67; background: #f1e8f6; border-left-color: #8657a0; }
.employee-color-5 { color: #6b432d; background: #f7e9df; border-left-color: #b96b3e; }
.empty-day { width: 100%; min-height: 53px; color: #9a8e92; background: transparent; border: 1px dashed #d8cdd0; border-radius: 8px; font-size: .75rem; cursor: pointer; }
.empty-day:hover { color: var(--berry); background: var(--berry-soft); border-color: #d3aeb9; }

.hours-dialog { width: min(520px, calc(100vw - 2rem)); padding: 0; color: var(--ink); background: var(--paper); border: 0; border-radius: 16px; box-shadow: 0 24px 70px rgba(45, 36, 40, .28); }
.hours-dialog::backdrop { background: rgba(45, 36, 40, .46); backdrop-filter: blur(2px); }
.hours-dialog form { padding: 1.35rem; }
.account-switch-listener { position: fixed; left: 50%; bottom: max(.5rem, env(safe-area-inset-bottom)); z-index: -1; width: 1px; height: 1px; padding: 0; opacity: .01; pointer-events: none; }
.account-switch-dialog { width: min(430px, calc(100vw - 2rem)); }
.account-switch-copy { margin: -.25rem 0 1rem; color: var(--muted); line-height: 1.6; }
.account-switch-actions { justify-content: flex-end; }
.confirm-hours-dialog { width: min(440px, calc(100vw - 2rem)); }
.confirm-hours-copy { margin: 0; color: #5f5559; line-height: 1.65; }
.confirm-hours-actions { justify-content: flex-end; }
.field-hint { color: var(--muted); font-size: .72rem; font-weight: 500; }

.archive-shell { max-width: 1180px; margin: 0 auto; padding: 1rem; }
.archive-controls { margin-bottom: 1rem; padding: .85rem; }
.archive-week-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.archive-week-link { display: flex; min-width: 0; flex-direction: column; gap: .15rem; padding: .75rem .85rem; color: var(--ink); background: rgba(255, 255, 255, .72); border: 1px solid var(--line); border-radius: 10px; }
.archive-week-link:hover { color: var(--berry-dark); border-color: #d3aeb9; }
.archive-week-link strong { font-size: .8rem; }
.archive-week-link span { color: var(--muted); font-size: .68rem; font-weight: 650; }
.archive-week-link.is-active { color: white; background: var(--berry); border-color: var(--berry); box-shadow: 0 6px 18px rgba(104, 21, 47, .16); }
.archive-week-link.is-active span { color: rgba(255, 255, 255, .78); }
.archive-filters { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(150px, .55fr)) auto; align-items: end; gap: .8rem; padding-top: .8rem; }
.archive-report-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1.15rem 1rem; border-bottom: 1px solid var(--line); }
.archive-report-heading h2 { margin-bottom: .15rem; }
.archive-grand-total { flex: 0 0 auto; text-align: right; }
.archive-grand-total strong, .archive-grand-total span { display: block; }
.archive-grand-total strong { color: var(--berry-dark); font-family: Georgia, "Times New Roman", serif; font-size: 2rem; line-height: 1; }
.archive-grand-total span { margin-top: .2rem; color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.archive-summary-table tfoot { background: #f3eeec; border-top: 2px solid #d7c8cb; }
.archive-summary-table tfoot th, .archive-summary-table tfoot td { font-weight: 800; }
.archive-details { border-top: 1px solid var(--line); }
.archive-details summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; color: var(--berry-dark); font-weight: 800; cursor: pointer; list-style-position: inside; }
.archive-details summary:hover { background: var(--berry-soft); }
.archive-details summary small { color: var(--muted); font-size: .68rem; font-weight: 700; }
.archive-details[open] summary { border-bottom: 1px solid var(--line); }
.table-scroll { overflow-x: auto; }
.dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1.2rem; }
.dialog-heading h2 { margin: .12rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; }
.dialog-close { width: 35px; height: 35px; padding: 0; color: var(--muted); background: transparent; border: 0; border-radius: 50%; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.dialog-close:hover { color: var(--ink); background: var(--canvas); }
.dialog-fields { display: grid; gap: .9rem; }
.dialog-time-fields { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: .65rem; }
.dialog-time-fields > span { padding-bottom: .7rem; color: var(--muted); }
.hours-preview { padding: .7rem .8rem; color: var(--green); background: var(--green-soft); border-radius: 8px; font-weight: 750; text-align: center; }
.dialog-actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.3rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.dialog-actions > div { display: flex; gap: .45rem; margin-left: auto; }
.optional-label { color: var(--muted); font-size: .65rem; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.activity-panel { margin-bottom: 1rem; background: var(--paper); border: 1px solid #d9c4ca; border-radius: var(--radius); box-shadow: var(--shadow); }
.activity-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; background: linear-gradient(90deg, var(--berry-soft), var(--paper)); border-radius: var(--radius) var(--radius) 0 0; }
.activity-heading strong, .activity-heading small { display: block; }
.activity-heading strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; }
.activity-heading small { margin-top: .05rem; color: var(--muted); font-size: .7rem; }
.activity-count { min-width: 28px; height: 28px; display: grid; place-items: center; color: var(--berry); background: var(--berry-soft); border-radius: 50%; font-size: .72rem; font-weight: 800; }
.activity-list { border-top: 1px solid #eadde0; }
.activity-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.activity-item:last-child { border-bottom: 0; }
.activity-item.is-undone { opacity: .58; }
.activity-item p { margin: 0; font-size: .82rem; font-weight: 650; }
.activity-item small { color: var(--muted); font-size: .68rem; }
.activity-item blockquote { margin: .4rem 0 0; padding-left: .55rem; color: #65595d; border-left: 2px solid #d6c9cc; font-size: .75rem; font-style: italic; }
.activity-empty { padding: .85rem 1rem; color: var(--muted); font-size: .78rem; }
.activity-empty strong, .activity-empty p { display: block; margin: 0; }
.activity-empty p { margin-top: .15rem; }
.activity-more > summary { padding: .65rem 1rem; color: var(--berry); font-size: .75rem; font-weight: 750; cursor: pointer; }
.activity-more[open] > summary { border-bottom: 1px solid var(--line); }
.change-log-shell { max-width: 960px; }
.change-log-copy { min-width: 0; display: flex; align-items: flex-start; gap: .75rem; }
.change-log-copy > div { min-width: 0; }
.change-log-action { min-width: 66px; display: inline-flex; justify-content: center; padding: .22rem .42rem; color: var(--berry-dark); background: var(--berry-soft); border-radius: 99px; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.change-log-action-create { color: #236746; background: var(--green-soft); }
.change-log-action-delete { color: #7a4c1c; background: #fff1dc; }
.change-log-item time { flex: 0 0 auto; color: var(--muted); font-size: .72rem; font-weight: 700; text-align: right; }
.change-log-item time small { display: block; margin-top: .08rem; }

.receiving-heading { margin-bottom: 1.2rem; }
.delivery-section { max-width: 950px; margin-bottom: 2rem; }
.section-heading-simple { display: flex; align-items: center; gap: .6rem; margin-bottom: .7rem; }
.section-heading-simple h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; }
.delivery-list { display: grid; gap: .65rem; }
.delivery-card { display: grid; grid-template-columns: minmax(230px, 1fr) minmax(240px, .85fr) auto; align-items: center; gap: 1.2rem; padding: 1rem 1.1rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 4px 18px rgba(73, 43, 52, .05); }
.delivery-card:hover { color: var(--ink); border-color: #d3b9c1; transform: translateY(-1px); }
.delivery-card-title { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.delivery-card-title h3 { margin: 0; font-size: 1.02rem; }
.delivery-card-main p { margin: .2rem 0 0; color: var(--muted); font-size: .8rem; }
.delivery-progress-block { display: grid; gap: .35rem; }
.progress-copy { display: flex; justify-content: space-between; gap: .75rem; color: var(--muted); font-size: .74rem; }
.progress-copy strong { color: var(--ink); }
.progress-track, .receive-progress { height: 7px; overflow: hidden; background: #ebe4e2; border-radius: 99px; }
.progress-track span, .receive-progress span { display: block; height: 100%; background: var(--green); border-radius: inherit; transition: width .2s ease; }
.delivery-arrow { color: #a09296; font-size: 1.8rem; line-height: 1; }
.delivery-card-complete { background: #fbfdfc; }
.received-date { display: flex; flex-direction: column; color: var(--muted); font-size: .72rem; text-align: right; }
.received-date strong { color: var(--green); font-size: .86rem; }
.received-section { padding-top: .4rem; border-top: 1px solid var(--line); }

.receive-page { max-width: 820px; margin: 0 auto; }
.receive-heading { margin-bottom: 1rem; }
.receive-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-bottom: 1rem; padding: 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.receive-summary > div:not(.receive-progress) { display: flex; flex-direction: column; }
.receive-summary strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.receive-summary span { color: var(--muted); font-size: .72rem; }
.receive-summary .receive-progress { grid-column: 1 / -1; }
.receive-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; padding: .75rem .85rem; background: #eee6e4; border-radius: 10px; }
.receive-toolbar p { margin: 0; color: #675b5f; font-size: .82rem; }
.receive-toolbar .button { flex: 0 0 auto; }
.receiving-items { display: grid; gap: .55rem; }
.receiving-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .85rem; min-height: 92px; padding: .85rem 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 3px 14px rgba(73, 43, 52, .04); transition: background .15s, border-color .15s; }
.receiving-item.is-received { background: #f5fbf8; border-color: #bcdccc; }
.receive-check { position: relative; width: 42px; height: 42px; display: block; flex: 0 0 auto; cursor: pointer; }
.receive-check input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.receive-check span { width: 42px; height: 42px; display: grid; place-items: center; color: transparent; background: white; border: 2px solid #cbbfc2; border-radius: 50%; font-size: 1.25rem; font-weight: 900; transition: all .15s; }
.receive-check input:focus-visible + span { outline: 3px solid rgba(140, 36, 68, .16); }
.receive-check input:checked + span { color: white; background: var(--green); border-color: var(--green); }
.receiving-product h2 { margin: 0; font-size: 1rem; }
.receiving-product p { margin: .12rem 0 0; color: var(--muted); font-size: .76rem; }
.item-received-date { display: block; margin-top: .25rem; color: var(--green); font-size: .68rem; font-weight: 700; }
.received-quantity { display: flex; flex-direction: column; align-items: flex-end; color: var(--muted); font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .03em; }
.quantity-control { display: flex; align-items: center; gap: .35rem; margin: .18rem 0 .08rem; }
.quantity-control input { width: 64px; padding: .48rem .4rem; font-size: 1.05rem; font-weight: 800; text-align: center; }
.quantity-control strong { color: var(--ink); font-size: .9rem; white-space: nowrap; }
.received-quantity small { font-size: .62rem; }
.receive-actions { position: sticky; bottom: .8rem; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .8rem; padding: .7rem .75rem .7rem 1rem; background: rgba(255, 253, 251, .97); border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 10px 34px rgba(45, 36, 40, .16); }

.supplier-workflow-heading { margin-bottom: 1rem; }
.workflow-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 1rem; overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.workflow-step { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .65rem; padding: .85rem 1rem; color: var(--muted); border-right: 1px solid var(--line); }
.workflow-step:last-child { border-right: 0; }
.workflow-step > span { grid-row: 1 / 3; width: 31px; height: 31px; display: grid; place-items: center; align-self: center; color: #766a6e; background: #eee9e7; border-radius: 50%; font-size: .75rem; font-weight: 850; }
.workflow-step strong { color: var(--ink); font-size: .85rem; }
.workflow-step small { font-size: .7rem; }
.workflow-step.is-current { background: #fffaf0; }
.workflow-step.is-current > span { color: white; background: var(--gold); }
.workflow-step.is-complete > span { color: white; background: var(--green); }
.workflow-step.is-complete small { color: var(--green); }
.workflow-panel { margin-bottom: 1rem; }
.saved-note { color: var(--green); font-size: .74rem; font-weight: 700; }
.response-summary-fields { display: grid; grid-template-columns: 220px minmax(300px, 1fr); gap: .85rem; margin-bottom: 1rem; padding: .85rem; background: var(--canvas); border-radius: 10px; }
.response-summary-fields label, .invoice-form-grid label, .payment-form label { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .02em; }
.response-summary-fields input, .response-summary-fields textarea, .invoice-form-grid input, .invoice-form-grid textarea, .payment-form input { display: block; margin-top: .2rem; color: var(--ink); font-size: .86rem; font-weight: 450; }
.response-items { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.response-item { min-width: 880px; display: grid; grid-template-columns: minmax(210px, 1.35fr) 80px 145px 110px minmax(200px, 1fr); gap: .55rem; align-items: center; padding: .68rem .75rem; border-top: 1px solid var(--line); }
.response-item:first-child { border-top: 0; }
.response-item-header { color: var(--muted); background: #f3eeec; font-size: .66rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.response-item label > span { display: none; }
.response-item input, .response-item select { padding: .5rem .55rem; font-size: .82rem; }
.response-product { min-width: 0; }
.response-product strong, .response-product small { display: block; }
.response-product small { overflow: hidden; color: var(--muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.requested-quantity { font-size: .8rem; }
.panel-actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; }
.collapsible-workflow > summary { margin-bottom: 0; list-style: none; cursor: pointer; }
.collapsible-workflow > summary::-webkit-details-marker { display: none; }
.collapsible-workflow[open] > summary { margin-bottom: 1rem; }
.collapse-summary { display: flex; align-items: center; gap: .75rem; }
.collapse-chevron { color: var(--muted); font-size: 1.35rem; line-height: 1; transition: transform .15s ease; }
.collapsible-workflow[open] .collapse-chevron { transform: rotate(180deg); }
.step-content-heading { display: grid; grid-template-columns: minmax(180px, 1fr) auto; align-items: center; gap: 1rem; }
.large-progress { height: 10px; }
.invoice-list { display: grid; gap: .8rem; margin-bottom: 1rem; }
.invoice-card { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.invoice-card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: .9rem 1rem; background: var(--canvas); }
.invoice-card-heading h3 { margin: 0; font-size: 1rem; }
.invoice-card-heading p { margin: .15rem 0 0; color: var(--muted); font-size: .75rem; }
.invoice-total { display: flex; align-items: center; gap: .65rem; }
.invoice-total > strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; }
.attachment-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(115px, 1fr)); gap: .65rem; padding: .9rem 1rem 0; }
.attachment { min-width: 0; overflow: hidden; color: var(--ink); background: var(--canvas); border: 1px solid var(--line); border-radius: 8px; }
.attachment:hover { color: var(--berry); border-color: #d3aeb9; }
.attachment img, .attachment-file { width: 100%; height: 105px; display: grid; place-items: center; object-fit: cover; background: #eee9e7; }
.attachment-file { color: var(--berry); font-size: 1.1rem; font-weight: 850; }
.attachment small { display: block; overflow: hidden; padding: .4rem .5rem; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.invoice-notes { margin: .8rem 1rem 0; color: var(--muted); font-size: .82rem; }
.invoice-actions { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; padding: .9rem 1rem; }
.payment-form { display: grid; grid-template-columns: 150px minmax(170px, 1fr) auto; align-items: end; gap: .55rem; }
.payment-form input { padding: .5rem .55rem; }
.paid-summary { display: flex; flex-direction: column; color: var(--green); font-size: .78rem; }
.invoice-edit, .add-invoice { border-top: 1px solid var(--line); }
.invoice-edit summary, .add-invoice summary { padding: .7rem 1rem; color: var(--berry); font-size: .8rem; font-weight: 750; cursor: pointer; }
.invoice-edit form, .add-invoice form { padding: 0 1rem 1rem; }
.add-invoice { margin-top: .5rem; border: 1px dashed #d1c4c7; border-radius: 10px; }
.invoice-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin-bottom: .8rem; }
.invoice-form-grid .span-2 { grid-column: span 2; }
.payables-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; max-width: 900px; margin-bottom: 1.5rem; }
.payables-summary > div { display: flex; flex-direction: column; padding: 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: 11px; box-shadow: var(--shadow); }
.payables-summary strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; }
.payables-summary span { color: var(--muted); font-size: .73rem; }
.payables-section { max-width: 1050px; margin-bottom: 1.7rem; }
.payables-list { display: grid; gap: .55rem; }
.payable-row { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto auto; align-items: center; gap: 1rem; padding: .9rem 1rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 3px 14px rgba(73, 43, 52, .04); }
.payable-row:hover { color: var(--ink); border-color: #d3b9c1; }
.payable-row > div { min-width: 0; }
.payable-row > div strong, .payable-row > div span { display: block; }
.payable-row > div span { color: var(--muted); font-size: .75rem; }
.payable-amount { font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; }
.paid-invoices-section { padding-top: .5rem; border-top: 1px solid var(--line); }

.print-page { background: #e8e3e1; }
.print-toolbar { display: flex; justify-content: center; gap: .5rem; padding: 1rem; }
.paper { max-width: 850px; min-height: 1050px; margin: 0 auto 3rem; padding: .7in; background: white; box-shadow: 0 12px 40px rgba(45, 36, 40, .15); }
.paper-landscape { max-width: 1200px; min-height: 780px; }
.paper-header { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-start; margin-bottom: 2.2rem; padding-bottom: 1rem; border-bottom: 3px solid var(--ink); }
.paper-header h1 { margin: .1rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 2.2rem; }
.paper-meta { display: flex; flex-direction: column; text-align: right; }
.print-order-table { margin: 1.5rem 0 2rem; }
.print-order-table th:last-child, .print-order-table td:last-child { width: 100px; text-align: center; }
.print-order-table td span { display: block; color: var(--muted); font-size: .82rem; }
.signoff { margin-top: 2rem; }
.paper footer { margin-top: 4rem; padding-top: .5rem; color: var(--muted); border-top: 1px solid var(--line); font-size: .82rem; }
.printed-schedule { table-layout: fixed; }
.printed-schedule th, .printed-schedule td { padding: .8rem .45rem; text-align: center; border: 1px solid #bcb4b7; }
.printed-schedule th:first-child { width: 130px; text-align: left; }
.printed-schedule thead th { color: var(--ink); background: #eee9e7; font-size: .75rem; }
.printed-schedule thead span { display: block; color: var(--muted); font-size: .65rem; }
.print-note { margin-top: 1.2rem; }
.blank-lines { min-height: 90px; padding-bottom: 70px; border-bottom: 1px solid #999; }

@media (max-width: 1050px) {
  .site-header { align-items: flex-start; flex-direction: column; gap: .5rem; padding: .8rem 1rem; }
  nav { width: 100%; }
  .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .order-item-row { grid-template-columns: minmax(180px, 1fr) 80px repeat(2, minmax(140px, .8fr)); }
  .note-field { grid-column: 1 / 4; }
  .invoice-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .automation-summary { grid-template-columns: repeat(4, minmax(110px, 1fr)); }
}

@media (max-width: 720px) {
  .page-shell { padding: 1.4rem 1rem 4rem; }
  input, select, textarea { font-size: 16px; }
  .page-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .add-hours-main { width: 100%; min-height: 48px; }
  .login-wrap { min-height: calc(100vh - 155px); align-items: start; padding-top: 1rem; }
  .login-card { padding: 1.4rem 1rem; border-radius: 14px; }
  .undo-banner { align-items: stretch; }
  .undo-banner span { white-space: normal; }
  .undo-banner .button { height: 100%; min-width: 72px; }
  .portal-header { height: 52px; }
  .portal-logo { width: 42px; height: 42px; border-radius: 9px; }
  .schedule-page { background-attachment: scroll; }
  .schedule-page .page-shell { padding: .65rem .65rem 2.5rem; }
  .schedule-picture-control { margin-top: .45rem; }
  .corny-replay { width: 72px; height: 72px; }
  .schedule-glance { padding: .65rem; border-radius: 16px; }
  .schedule-toolbar { margin: 0 0 .55rem; }
  .glance-weeks { display: flex; gap: .7rem; overflow-x: auto; padding: 0 .05rem .3rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .glance-weeks::-webkit-scrollbar { display: none; }
  .glance-week { min-width: min(370px, calc(100vw - 2.6rem)); scroll-snap-align: start; }
  .glance-week > header { gap: .45rem; padding: .65rem .75rem; }
  .glance-week > header strong { font-size: .87rem; }
  .glance-week > header span { font-size: .7rem; }
  .glance-week-logo { width: 82px; height: 44px; opacity: .76; }
  .glance-days { grid-template-columns: 1fr; }
  .glance-day { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: .6rem; min-height: 68px; padding: .55rem .65rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .glance-day:last-child { border-bottom: 0; }
  .glance-date { align-self: start; width: 100%; margin: 0; }
  .glance-day-name { min-width: 0; align-content: start; }
  .glance-day-name .confirmed-tag { white-space: nowrap; }
  .glance-people { display: flex; flex-wrap: wrap; gap: .35rem; }
  .glance-person { width: auto; min-width: 105px; min-height: 48px; padding: .45rem .5rem; }
  .glance-person strong { font-size: .76rem; }
  .glance-person small { font-size: .68rem; }
  .glance-empty { font-size: .72rem; }
  .schedule-primary-action .button { width: 100%; min-height: 50px; }
  .activity-panel { margin-right: -.25rem; margin-left: -.25rem; }
  .bulletin-board { padding: .85rem; }
  .bulletin-layout { grid-template-columns: 1fr; }
  .bulletin-post { align-items: center; }
  .bulletin-post .button { min-height: 44px; }
  .bulletin-compose { padding: .75rem; }
  .bulletin-form-actions .button { min-height: 46px; }
  .two-column, .card-grid, .form-grid, .supplier-status-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: span 1; }
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .stat-card { min-height: 125px; }
  .search-row { flex-wrap: wrap; }
  .order-product { grid-template-columns: 1fr; gap: .7rem; }
  .quantity-form { justify-content: start; }
  .order-item-row { grid-template-columns: 1fr 90px; }
  .order-item-name { grid-column: 1 / -1; }
  .compact-field:not(:first-of-type), .note-field { grid-column: 1 / -1; }
  .row-actions { align-items: flex-start; }
  .table-wrap { overflow-x: auto; }
  .table-wrap > table { min-width: 760px; }
  .mobile-week-tabs { position: sticky; top: 0; z-index: 8; display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; margin: 0 -.2rem .7rem; padding: .45rem .2rem; background: rgba(247, 243, 241, .96); backdrop-filter: blur(8px); }
  .mobile-week-tabs button { min-height: 50px; padding: .35rem .25rem; color: var(--muted); background: white; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
  .mobile-week-tabs button span, .mobile-week-tabs button strong { display: block; }
  .mobile-week-tabs button span { font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; }
  .mobile-week-tabs button strong { margin-top: .08rem; font-size: .78rem; }
  .mobile-week-tabs button.is-active { color: white; background: var(--berry); border-color: var(--berry); }
  .calendar-week { display: none; overflow: visible; }
  .calendar-week.is-mobile-active { display: block; }
  .calendar-week-heading { min-width: 0; align-items: flex-start; flex-direction: column; }
  .calendar-grid { min-width: 0; grid-template-columns: 1fr; }
  .week-summary { width: 100%; justify-content: space-between; }
  .calendar-day { min-height: 0; padding: .75rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .calendar-day:last-child { border-bottom: 0; }
  .calendar-day > header { margin-bottom: .5rem; }
  .calendar-day > header span { font-size: .75rem; }
  .calendar-day > header strong { width: 32px; height: 32px; font-size: .86rem; }
  .day-add { width: 44px; height: 44px; font-size: 1.35rem; }
  .shift-card { min-height: 54px; padding: .65rem .7rem; }
  .shift-employee { font-size: .9rem; }
  .shift-time { font-size: .82rem; }
  .empty-day { min-height: 48px; }
  .hours-dialog { width: 100%; max-width: none; max-height: calc(100dvh - .35rem); margin: auto 0 0; border-radius: 18px 18px 0 0; }
  .hours-dialog form { max-height: calc(100dvh - .35rem); overflow-y: auto; padding: 1rem; }
  .archive-shell { padding: .25rem; }
  .archive-week-nav { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .archive-week-link { min-width: 145px; scroll-snap-align: start; }
  .archive-filters { grid-template-columns: 1fr; }
  .archive-filters .button { width: 100%; }
  .archive-report-heading { align-items: flex-start; }
  .archive-grand-total strong { font-size: 1.7rem; }
  .dialog-heading { margin-bottom: .85rem; }
  .dialog-heading h2 { font-size: 1.55rem; }
  .dialog-fields { gap: .75rem; }
  .dialog-actions { position: sticky; bottom: -1rem; margin: 1rem -1rem -1rem; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)); background: var(--paper); }
  .dialog-actions .button { min-height: 46px; }
  .activity-item { align-items: stretch; flex-direction: column; }
  .activity-item form, .activity-item .button { width: 100%; }
  .change-log-copy { flex-direction: column; gap: .45rem; }
  .change-log-item time { padding-left: 0; text-align: left; }
  .delivery-card { grid-template-columns: 1fr auto; gap: .7rem; }
  .delivery-progress-block { grid-column: 1 / -1; grid-row: 2; }
  .received-date { grid-column: 1; grid-row: 2; align-items: flex-start; text-align: left; }
  .receive-summary { grid-template-columns: 1fr 1fr; }
  .receive-summary > div:nth-child(3) { grid-column: 1 / -1; }
  .receive-toolbar { align-items: stretch; flex-direction: column; }
  .receiving-item { grid-template-columns: auto minmax(0, 1fr); }
  .received-quantity { grid-column: 2; align-items: flex-start; margin-top: .25rem; }
  .receive-actions { align-items: stretch; flex-direction: column; }
  .receive-actions .button { width: 100%; }
  .workflow-strip { grid-template-columns: 1fr 1fr; }
  .workflow-step:nth-child(2) { border-right: 0; }
  .workflow-step:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .response-summary-fields { grid-template-columns: 1fr; }
  .response-items { overflow: visible; border: 0; }
  .response-item-header { display: none; }
  .response-item { min-width: 0; grid-template-columns: 1fr 1fr; margin-bottom: .65rem; padding: .8rem; border: 1px solid var(--line); border-radius: 9px; }
  .response-product { grid-column: 1 / -1; padding-bottom: .45rem; border-bottom: 1px solid var(--line); }
  .response-item label > span, .requested-quantity::before { display: block; margin-bottom: .18rem; color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
  .panel-actions, .invoice-card-heading, .invoice-actions { align-items: stretch; flex-direction: column; }
  .panel-actions .button { width: 100%; }
  .payment-form { width: 100%; grid-template-columns: 1fr; }
  .invoice-total { justify-content: space-between; }
  .invoice-form-grid { grid-template-columns: 1fr; }
  .invoice-form-grid .span-2 { grid-column: span 1; }
  .payables-summary { grid-template-columns: 1fr 1fr 1fr; }
  .payable-row { grid-template-columns: 1fr auto; gap: .5rem; }
  .payable-row .status { grid-column: 1; grid-row: 2; }
  .payable-row .delivery-arrow { grid-column: 2; grid-row: 1 / 3; }
  .payable-amount { grid-column: 2; grid-row: 1; }
  .step-content-heading { grid-template-columns: 1fr; }
  .step-content-heading .button { width: 100%; }
  .supplier-picker > div { grid-template-columns: 1fr; }
  .order-workflow-card { grid-template-columns: 1fr auto; gap: .7rem; }
  .order-card-progress { grid-column: 1 / -1; grid-row: 2; }
  .order-workflow-card > .delivery-arrow { grid-column: 2; grid-row: 1 / 3; }
  .automation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .automation-run-panel { align-items: stretch; flex-direction: column; }
  .automation-run-panel .heading-actions, .automation-run-panel .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .corny-rain { display: none; }
  .picture-of-day.is-showing, .picture-of-day.is-leaving, .picture-of-day.is-showing .picture-of-day-card, .picture-of-day.is-leaving .picture-of-day-card { animation-duration: .01ms; }
}

@media print {
  @page { size: portrait; margin: .45in; }
  .paper-landscape { page: landscape-page; }
  @page landscape-page { size: landscape; margin: .35in; }
  body, .print-page { color: #000; background: white; font-size: 11pt; }
  .no-print, .site-header, .flash-stack { display: none !important; }
  .calendar-week { display: block !important; }
  .page-shell { max-width: none; padding: 0; }
  .paper, .paper-landscape { max-width: none; min-height: 0; margin: 0; padding: 0; box-shadow: none; }
  .paper-header { margin-bottom: 1.4rem; }
  a { color: #000; }
}
