/* Riconcilia — tema dell'Admin dal "Riconcilia Kit" (docs/07-ui-design, prompt 0).
 * Token del design system Trackting (colors_and_type.css) mappati sulle
 * variabili del Django Admin. Tema chiaro: il toggle scuro è disattivato.
 * Regole note (mockups/README.md): colonna Data a larghezza minima, nowrap,
 * cifre tabulari. */

@font-face {
  font-family: "Outfit";
  src: url("fonts/Outfit-VariableFont_wght.503761edaa25.ttf") format("truetype-variations"),
       url("fonts/Outfit-VariableFont_wght.503761edaa25.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root,
html[data-theme="light"],
html[data-theme="dark"] {
  /* ---- token Trackting ---- */
  --tt-jet: #252525;
  --tt-black-panther: #424242;
  --tt-sooty: #141414;
  --tt-rose-madder: #E7343E;
  --tt-scarlet-beebam: #B92A32;
  --tt-old-mandarin: #8B1F25;
  --tt-emerald-isle: #079455;
  --tt-orange-danger: #DC6803;
  --tt-cavernous: #525252;
  --tt-industrial-rev: #737373;
  --tt-dark-souls: #A3A3A3;
  --tt-silver-medal: #D6D6D6;
  --tt-silver-hair: #D2D6DB;
  --tt-white-smoke: #F5F5F5;
  --tt-conoration: #ECECEC;
  --tt-chefs-hat: #F2F4F7;
  --tt-bay-pearl: #F8F8F8;
  --tt-dr-white: #F9FAFB;
  --tt-placebo-red: #FDEBEC;
  --tt-success-bg: #E6F6EE;
  --tt-success-fg: #046B3E;
  --tt-warning-bg: #FDF0E1;
  --tt-warning-fg: #8A4304;
  --tt-font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --tt-font-mono: ui-monospace, Menlo, Consolas, monospace;

  /* ---- variabili del Django Admin ---- */
  --primary: var(--tt-jet);
  --secondary: var(--tt-jet);
  --accent: var(--tt-rose-madder);
  --primary-fg: #fff;
  --body-fg: var(--tt-jet);
  --body-bg: #fff;
  --body-quiet-color: var(--tt-industrial-rev);
  --body-medium-color: var(--tt-black-panther);
  --body-loud-color: var(--tt-sooty);
  --header-color: var(--tt-industrial-rev);
  --header-branding-color: var(--tt-sooty);
  --header-bg: #fff;
  --header-link-color: var(--tt-black-panther);
  --breadcrumbs-fg: var(--tt-industrial-rev);
  --breadcrumbs-link-fg: var(--tt-black-panther);
  --breadcrumbs-bg: var(--tt-white-smoke);
  --link-fg: var(--tt-scarlet-beebam);
  --link-hover-color: var(--tt-old-mandarin);
  --link-selected-fg: var(--tt-jet);
  --hairline-color: var(--tt-conoration);
  --border-color: var(--tt-silver-hair);
  --error-fg: var(--tt-scarlet-beebam);
  --message-success-bg: var(--tt-success-bg);
  --message-warning-bg: var(--tt-warning-bg);
  --message-error-bg: var(--tt-placebo-red);
  --darkened-bg: var(--tt-dr-white);
  --selected-bg: var(--tt-chefs-hat);
  --selected-row: var(--tt-placebo-red);
  --button-fg: var(--tt-jet);
  --button-bg: #fff;
  --button-hover-bg: var(--tt-bay-pearl);
  --default-button-bg: var(--tt-jet);
  --default-button-hover-bg: var(--tt-sooty);
  --close-button-bg: var(--tt-conoration);
  --close-button-hover-bg: var(--tt-silver-medal);
  --delete-button-bg: var(--tt-scarlet-beebam);
  --delete-button-hover-bg: var(--tt-old-mandarin);
  --object-tools-fg: var(--tt-jet);
  --object-tools-bg: #fff;
  --object-tools-hover-bg: var(--tt-bay-pearl);
  --font-family-primary: var(--tt-font-family);
  --font-family-monospace: var(--tt-font-mono);
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { color-scheme: light; }
}

/* ---- shell del kit: sidebar 240px fissa, topbar 64px, contenuto su white-smoke ---- */
html, body { background: var(--tt-white-smoke); }
body { font-size: 13px; color: var(--tt-jet); }
body.rc-shell #header, body.rc-shell nav[aria-label] > .breadcrumbs, body.rc-shell #main, body.rc-shell #footer { margin-left: 240px; }
#header { height: 64px; padding: 0 24px; background: #fff; border-bottom: 1px solid var(--tt-conoration); box-shadow: none; display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: 20px; }
body.rc-shell #header { flex-direction: row; padding: 0 24px; justify-content: flex-end; }
#header #user-tools { order: 3; }
#header .rc-search-form { order: 2; margin-left: auto; }
body.rc-shell #header #branding { display: none; }
#branding h1, #site-name { font: 700 16px/24px var(--tt-font-family); letter-spacing: 0; }
#site-name a { display: inline-flex; align-items: center; gap: 10px; color: var(--tt-sooty); }
.rc-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.rc-brand__logo { width: 100px; height: 36px; display: block; }
.rc-brand-tag { display: inline-flex; align-items: center; padding: 3px 6px; border-radius: 4px; background: var(--tt-conoration); color: var(--tt-industrial-rev); font: 700 11px/1.2 var(--tt-font-family); letter-spacing: 0.04em; text-transform: uppercase; }
#user-tools { display: flex; align-items: center; margin: 0 0 0 auto; padding: 0; font: 500 12px var(--tt-font-family); text-transform: none; letter-spacing: 0; color: var(--tt-cavernous); position: relative; }
.rc-user { position: relative; }
.rc-user__chip { display: flex; align-items: center; gap: 10px; padding: 4px 10px 4px 4px; border-radius: 100px; cursor: pointer; list-style: none; color: var(--tt-dark-souls); }
.rc-user__chip::-webkit-details-marker { display: none; }
.rc-user__chip:hover, .rc-user[open] > .rc-user__chip { background: var(--tt-bay-pearl); }
.rc-user__avatar { width: 32px; height: 32px; border-radius: 100px; background: var(--tt-chefs-hat); box-shadow: 0 5px 3px rgba(16,24,40,0.05); display: inline-flex; align-items: center; justify-content: center; font: 700 12px var(--tt-font-family); color: var(--tt-cavernous); flex: none; }
.rc-user__text { display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.rc-user__name { font: 600 13px/1.2 var(--tt-font-family); color: var(--tt-jet); white-space: nowrap; }
.rc-user__roles { font: 500 11px/1.3 var(--tt-font-family); color: var(--tt-industrial-rev); white-space: nowrap; }
.rc-user__menu { position: absolute; right: 0; top: calc(100% + 6px); min-width: 200px; background: #fff; border: 1px solid var(--tt-conoration); border-radius: 10px; box-shadow: 0 2px 3px rgba(0,0,0,0.16), 0 0 3px rgba(0,0,0,0.08); padding: 6px; display: flex; flex-direction: column; z-index: 30; }
#user-tools .rc-user__menu a, #user-tools .rc-user__menu button { display: block; width: 100%; text-align: left; padding: 8px 10px; border-radius: 8px; border: none; background: transparent; color: var(--tt-jet); font: 600 13px var(--tt-font-family); text-transform: none; letter-spacing: 0; cursor: pointer; text-decoration: none; box-sizing: border-box; }
.rc-user__menu a:link, .rc-user__menu a:visited { color: var(--tt-jet); }
#user-tools .rc-user__menu a:hover, #user-tools .rc-user__menu button:hover { background: var(--tt-bay-pearl); color: var(--tt-jet); }
#logout-form { display: block; margin: 0; }
.theme-toggle, #header .theme-toggle { display: none !important; }
nav[aria-label] > .breadcrumbs, div.breadcrumbs { background: #fff; border-bottom: 1px solid var(--tt-conoration); padding: 8px 24px; font: 500 12px var(--tt-font-family); color: var(--tt-industrial-rev); }
div.breadcrumbs a { color: var(--tt-black-panther); }
.skip-to-content-link { display: none; }
#toggle-nav-sidebar { display: none !important; }
#main { display: block; }
#main.shifted > #content-start, .main > #content-start { margin-left: 0; }
#content-start { display: block; width: auto; min-width: 0; }
.main > #nav-sidebar + .content { max-width: 100%; } /* Django reserves 23px for its toggle: the kit has none */
#nav-sidebar.rc-nav { position: fixed; left: 0; top: 0; bottom: 0; height: 100vh; width: 240px; margin: 0; visibility: visible; padding: 0 8px 12px; box-sizing: border-box; background: #fff; border-right: 1px solid var(--tt-conoration); display: flex; flex-direction: column; overflow-y: auto; z-index: 20; flex: none; }
.rc-nav__brand { height: 64px; display: flex; align-items: center; gap: 8px; padding: 0 8px; border-bottom: 1px solid var(--tt-conoration); margin: 0 -8px 8px; padding-left: 16px; font: 700 15px var(--tt-font-family); color: var(--tt-sooty); text-decoration: none; }
.rc-nav__brand:hover { text-decoration: none; color: var(--tt-sooty); }
.rc-nav__section { font: 700 10.5px var(--tt-font-family); letter-spacing: 0.08em; text-transform: uppercase; color: var(--tt-industrial-rev); padding: 10px 12px 4px; }
.rc-nav__gap { height: 10px; }
.rc-nav__item, .rc-nav__item:link, .rc-nav__item:visited { height: 36px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border-radius: 8px; color: var(--tt-jet); font: 600 13px var(--tt-font-family); text-decoration: none; }
.rc-nav__item:hover { background: var(--tt-bay-pearl); color: var(--tt-jet); text-decoration: none; }
.rc-nav__item--active, .rc-nav__item--active:link, .rc-nav__item--active:visited { background: var(--tt-placebo-red); color: var(--tt-scarlet-beebam); }
.rc-nav__item .rc-ico { color: var(--tt-cavernous); flex: none; }
.rc-nav__item--active .rc-ico { color: var(--tt-rose-madder); }
.rc-nav__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-nav__count { font: 700 11px/1.2 var(--tt-font-family); color: var(--tt-industrial-rev); font-variant-numeric: tabular-nums; }
.rc-nav__count--accent { background: var(--tt-rose-madder); color: #fff; border-radius: 100px; padding: 2px 7px; }
.rc-nav__review, .rc-nav__review:link, .rc-nav__review:visited { margin-top: auto; display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border-radius: 8px; color: var(--tt-cavernous); font: 600 12px var(--tt-font-family); text-decoration: none; }
.rc-nav__review .rc-dot { width: 8px; height: 8px; border-radius: 100px; background: var(--tt-orange-danger); }
#content { padding: 20px 24px; margin: 0; }
#content h1 { font: 700 24px/32px var(--tt-font-family); color: var(--tt-sooty); margin: 0; }
#content h2 { font: 700 18px/28px var(--tt-font-family); }
.module h2, .module caption, .inline-group h2 { background: var(--tt-white-smoke); color: var(--tt-jet); font: 700 12px var(--tt-font-family); letter-spacing: 0.04em; text-transform: uppercase; }
#footer { display: none; }
.rc-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.rc-page-sub { font: 400 13px/20px var(--tt-font-family); color: var(--tt-black-panther); margin-top: 2px; font-variant-numeric: tabular-nums; }
.rc-page-actions { float: none; margin: 4px 0 0; padding: 0; display: flex; gap: 8px; }
.rc-kicker { font: 700 11px var(--tt-font-family); color: var(--tt-industrial-rev); letter-spacing: 0.05em; text-transform: uppercase; }

/* ---- pulsanti (pill, jet-on-white; il rosso solo per errori e distruzioni) ---- */
.button, input[type="submit"], input[type="button"], .submit-row input, a.button, button.button {
  font: 700 12px/1 var(--tt-font-family); border-radius: 100px; padding: 9px 14px;
  border: 1px solid var(--tt-jet); box-shadow: 0 2px 3px rgba(0,0,0,0.16), 0 0 3px rgba(0,0,0,0.08);
}
.button.default, input[type="submit"].default, .submit-row input.default { border-color: var(--tt-jet); box-shadow: none; color: #fff; }
.button.default:hover, .submit-row input.default:hover { background: var(--tt-sooty); }
.button:focus-visible, input:focus-visible, button:focus-visible, a:focus-visible, select:focus-visible { outline: 2px solid var(--tt-jet); outline-offset: 2px; }
.button[disabled], button[disabled] { background: var(--tt-conoration); color: var(--tt-industrial-rev); border-color: var(--tt-silver-medal); box-shadow: none; cursor: not-allowed; }
.object-tools { float: none; margin: 0; padding: 0; display: flex; gap: 8px; }
.object-tools li { height: auto; list-style: none; margin: 0; }
.object-tools a:link, .object-tools a:visited, .object-tools button.addlink { display: inline-flex; align-items: center; height: 36px; border-radius: 100px; border: 1px solid var(--tt-jet); font: 700 13px/1 var(--tt-font-family); letter-spacing: 0; text-transform: none; padding: 0 14px; background: #fff; color: var(--tt-jet); box-shadow: 0 2px 3px rgba(0,0,0,0.16), 0 0 3px rgba(0,0,0,0.08); cursor: pointer; }
.object-tools a.addlink, .object-tools a.rc-primary, .object-tools button.addlink { background: var(--tt-jet) !important; background-image: none !important; color: #fff !important; box-shadow: none; padding-left: 14px; }
.object-tools form { display: inline; }
.submit-row { background: transparent; border: none; padding: 12px 0 0; margin: 0; display: flex; gap: 10px; align-items: center; }
.submit-row a.deletelink, .submit-row a.deletelink:hover { border-radius: 100px; }
.submit-row a.closelink { border-radius: 100px; background: transparent; color: var(--tt-cavernous); border: 1px solid transparent; }

/* ---- barra filtri del kit: chip rapidi, dropdown, ricerca ---- */
.rc-filterbar { display: flex; flex-direction: column; gap: 10px; margin: 0 0 12px; }
.rc-filterbar__quick, .rc-filterbar__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rc-chips { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.rc-chip, a.rc-chip, a.rc-chip:link, a.rc-chip:visited { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border-radius: 100px; border: 1px solid var(--tt-silver-hair); background: #fff; color: var(--tt-cavernous); font: 600 12px var(--tt-font-family); text-decoration: none; }
a.rc-chip:hover { border-color: var(--tt-cavernous); color: var(--tt-jet); text-decoration: none; }
a.rc-chip--on, a.rc-chip--on:link, a.rc-chip--on:visited { background: var(--tt-jet); border-color: var(--tt-jet); color: #fff; font-weight: 700; }
a.rc-chip--warning, a.rc-chip--warning:link, a.rc-chip--warning:visited { background: var(--tt-warning-bg); border-color: var(--tt-warning-bg); color: var(--tt-warning-fg); }
a.rc-chip--warning.rc-chip--on, a.rc-chip--warning.rc-chip--on:link { background: var(--tt-orange-danger); border-color: var(--tt-orange-danger); color: #fff; }
.rc-clear, .rc-clear:link, .rc-clear:visited { display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 10px; border-radius: 100px; color: var(--tt-scarlet-beebam); font: 700 12px var(--tt-font-family); text-decoration: none; }
.rc-clear:hover { background: var(--tt-placebo-red); text-decoration: none; }
.rc-select { display: inline-flex; align-items: center; height: 32px; padding: 0 6px 0 10px; border-radius: 8px; border: 1px solid var(--tt-silver-hair); background: #fff; gap: 4px; }
.rc-select:hover { border-color: var(--tt-cavernous); }
.rc-select__title { font: 600 12px var(--tt-font-family); color: var(--tt-cavernous); white-space: nowrap; }
.rc-select__title::after { content: ":"; }
.rc-select__input, .rc-select select { border: none !important; background: transparent !important; box-shadow: none !important; height: 30px; padding: 0 22px 0 4px !important; font: 600 12px var(--tt-font-family) !important; color: var(--tt-jet); appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16'><path fill='%23525252' d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z'/></svg>") !important; background-repeat: no-repeat !important; background-position: right 2px center !important; cursor: pointer; max-width: 220px; }
.rc-search-form { margin: 0; flex: 0 1 420px; min-width: 240px; }
.rc-search-box { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--tt-dark-souls); background: #fff; color: var(--tt-dark-souls); box-sizing: border-box; }
.rc-filterbar__count { margin-left: auto; font: 500 12px var(--tt-font-family); color: var(--tt-industrial-rev); font-variant-numeric: tabular-nums; }
.rc-search-box:focus-within { border: 1.5px solid var(--tt-jet); color: var(--tt-jet); }
.rc-search-box input { flex: 1; border: none !important; outline: none !important; box-shadow: none !important; padding: 0 !important; height: 28px; font: 400 13px var(--tt-font-family) !important; color: var(--tt-jet); background: transparent; }
.rc-search-box input::placeholder { color: var(--tt-industrial-rev); }
#toolbar, #changelist-search input[type="submit"], #changelist-filter, ul.toplinks, #changelist .actions { display: none; }
.date-hierarchy { display: none; }

/* ---- tabella densa in card (riga 40px, cifre tabulari, nowrap) ---- */
#changelist, #changelist.module { display: block; background: #fff; border: 1px solid var(--tt-conoration); border-radius: 10px; overflow: hidden; }
#changelist .changelist-form-container { width: auto; }
#changelist .results { overflow-x: auto; margin: 0; }
#result_list { width: 100%; border: none; border-collapse: collapse; }
#result_list thead th { background: var(--tt-dr-white); border-bottom: 1px solid var(--tt-conoration); font: 700 10.5px var(--tt-font-family); letter-spacing: 0.04em; text-transform: uppercase; color: var(--tt-cavernous); padding: 0 8px; height: 32px; white-space: nowrap; }
#result_list thead th a:link, #result_list thead th a:visited { color: var(--tt-cavernous); }
#result_list thead th .text, #result_list thead th.sorted .text { padding: 0 !important; float: none; display: inline-block; vertical-align: middle; line-height: 32px; }
#result_list thead th .text a, #result_list thead th .text span { display: inline-block; padding: 0 !important; line-height: 32px; }
#result_list thead th .sortoptions, #result_list thead th.sorted .sortoptions { float: none; display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 0 0 4px; margin: 0; vertical-align: middle; text-align: left; }
#result_list thead th .clear { display: none; }
#result_list thead th.sorted { background: var(--tt-chefs-hat); }
#result_list tbody th, #result_list tbody td { padding: 0 8px; height: 40px; vertical-align: middle; border-bottom: 1px solid var(--tt-conoration); font: 400 12px var(--tt-font-family); white-space: nowrap; font-variant-numeric: tabular-nums; background: #fff; }
#result_list tbody tr:last-child th, #result_list tbody tr:last-child td { border-bottom: none; }
#result_list tbody tr:hover td, #result_list tbody tr:hover th { background: var(--tt-bay-pearl); }
#result_list tbody tr.selected td, #result_list tbody tr.selected th { background: var(--tt-placebo-red); }
#result_list tbody tr.rc-row--review td, #result_list tbody tr.rc-row--review th { background: #FFF8EE; }
#result_list tbody th a, #result_list tbody td a { color: var(--tt-jet); font-weight: 600; }
#result_list .field-booked_on, #result_list .field-issued_on, #result_list .field-created_at, #result_list .field-started_at { min-width: 96px; white-space: nowrap; color: var(--tt-industrial-rev); }
#result_list .field-amount, #result_list .field-amount_cell, #result_list .field-open_amount, #result_list .field-open_amount_cell,
#result_list .field-allocated_amount, #result_list .field-confidence, #result_list .field-confidence_cell,
#result_list th.column-amount, #result_list th.column-amount_cell, #result_list th.column-open_amount, #result_list th.column-open_amount_cell, #result_list th.column-allocated_amount,
#result_list th.column-confidence, #result_list th.column-confidence_cell { text-align: right; }
#result_list .field-amount_cell, #result_list .field-open_amount_cell { font-weight: 600; }
#result_list .field-currency, #result_list th.column-currency { color: var(--tt-industrial-rev); }
#result_list .field-reference, #result_list .field-reference_mono { font-family: var(--tt-font-mono); font-size: 11px; color: var(--tt-black-panther); max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
#result_list .field-memo_short, #result_list .field-counterparty_name, #result_list .field-customer, #result_list .field-supplier_name { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
#result_list .field-counterparty_name, #result_list .field-customer, #result_list .field-supplier_name { font-weight: 600; }
#result_list .field-row_actions, #result_list th.column-row_actions { text-align: right; }
#result_list .rc-badge { font-size: 10.5px; }
.rc-amount--negative { color: var(--tt-jet); }
.rc-amount--open { font-weight: 600; }
.rc-amount--zero { color: var(--tt-industrial-rev); font-weight: 400; }
.rc-muted { color: var(--tt-industrial-rev); }
.rc-mono { font-family: var(--tt-font-mono); font-size: 11px; }
.rc-strong { font-weight: 700; }
.rc-ico { vertical-align: middle; flex: none; }
.rc-ico-btn { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 100px; color: var(--tt-cavernous) !important; margin-left: 2px; }
.rc-ico-btn:hover { background: var(--tt-conoration); }
.rc-ico-btn--danger { color: var(--tt-scarlet-beebam) !important; }
.rc-ico-btn--danger:hover { background: var(--tt-placebo-red); }
.paginator { display: flex; align-items: center; gap: 8px; height: 40px; margin: 0; padding: 0 10px; border-top: 1px solid var(--tt-conoration); background: var(--tt-dr-white); font: 500 12px var(--tt-font-family); color: var(--tt-industrial-rev); font-variant-numeric: tabular-nums; }
.paginator a:link, .paginator a:visited { min-width: 28px; height: 28px; padding: 0 8px; border-radius: 8px; border: 1px solid var(--tt-conoration); background: #fff; color: var(--tt-jet); display: inline-flex; align-items: center; justify-content: center; font-weight: 600; }
.paginator .this-page { min-width: 28px; height: 28px; padding: 0 8px; border-radius: 8px; background: var(--tt-jet); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.paginator .showall { margin-left: auto; }

/* ---- badge (tavola "Badge e stati" del kit) ---- */
.rc-notice .rc-check { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 12px; font-weight: 600; }
.rc-badge { display: inline-flex; align-items: center; gap: 4px; min-height: 21px; line-height: 19px; padding: 0 7px; border-radius: 100px; white-space: nowrap; font: 700 10.5px var(--tt-font-family); background: var(--tt-conoration); color: var(--tt-cavernous); vertical-align: middle; }
.rc-badge .rc-ico { width: 13px; height: 13px; }
/* A status that opens its action (CD-106): a thin ring at rest, ring and underline on hover and focus. */
a.rc-badge--action { cursor: pointer; text-decoration: none; box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 35%, transparent); }
a.rc-badge--action:hover, a.rc-badge--action:focus-visible { text-decoration: underline; box-shadow: inset 0 0 0 1px currentColor; }
a.rc-badge--unreconciled, a.rc-badge--pending { color: var(--tt-cavernous) !important; }
a.rc-badge--partial { color: var(--tt-warning-fg) !important; }
.rc-badge--unreconciled { background: var(--tt-conoration); color: var(--tt-cavernous); }
.rc-badge--partial { background: var(--tt-warning-bg); color: var(--tt-warning-fg); }
.rc-badge--reconciled { background: var(--tt-success-bg); color: var(--tt-success-fg); }
.rc-badge--posted { background: var(--tt-success-bg); color: var(--tt-success-fg); }
.rc-badge--partially-posted { background: var(--tt-warning-bg); color: var(--tt-warning-fg); }
.rc-badge--unposted { background: #fff; color: var(--tt-cavernous); border: 1px solid var(--tt-silver-hair); }
.rc-badge--kind { background: #fff; border: 1px solid var(--tt-silver-hair); color: var(--tt-jet); font-weight: 600; }
.rc-badge--kind-UNKNOWN { background: #fff; border: 1px dashed var(--tt-dark-souls); color: var(--tt-cavernous); }
.rc-badge--kind-REFUND, .rc-badge--kind-FEE, .rc-badge--kind-PAYOUT, .rc-badge--kind-TRANSFER { color: var(--tt-black-panther); }
.rc-badge--confidence { background: var(--tt-chefs-hat); color: var(--tt-jet); font-variant-numeric: tabular-nums; }
.rc-badge--confidence-high { background: var(--tt-success-bg); color: var(--tt-success-fg); }
.rc-badge--confidence-low { background: var(--tt-warning-bg); color: var(--tt-warning-fg); }
.rc-badge--review { background: var(--tt-warning-bg); color: var(--tt-warning-fg); }
.rc-badge--review::before { content: ""; width: 6px; height: 6px; border-radius: 100px; background: var(--tt-orange-danger); }
.rc-badge--danger { background: var(--tt-placebo-red); color: var(--tt-scarlet-beebam); }
.rc-badge--active { background: var(--tt-success-bg); color: var(--tt-success-fg); }
.rc-badge--revoked { background: var(--tt-conoration); color: var(--tt-industrial-rev); text-decoration: line-through; }
.rc-badge--type-AUTOMATIC { background: var(--tt-chefs-hat); color: var(--tt-jet); }
.rc-badge--type-MANUAL { background: #fff; border: 1px solid var(--tt-jet); color: var(--tt-jet); }
.rc-badge--type-FORCED { background: var(--tt-jet); color: #fff; }
.rc-badge--account { background: #fff; border: 1px solid var(--tt-silver-hair); color: var(--tt-jet); font-weight: 600; }
.rc-badge--pending { background: var(--tt-chefs-hat); color: var(--tt-cavernous); }
.rc-badge--authorized { background: var(--tt-success-bg); color: var(--tt-success-fg); }
.rc-badge--rejected { background: var(--tt-placebo-red); color: var(--tt-scarlet-beebam); }

/* ---- form ---- */
.aligned label { font: 600 12px var(--tt-font-family); color: var(--tt-cavernous); }
.form-row { border-bottom: 1px solid var(--tt-conoration); }
fieldset.module { border: 1px solid var(--tt-conoration); border-radius: 10px; overflow: hidden; }
input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="number"], input[type="tel"], textarea, select, .vTextField {
  border: 1px solid var(--tt-dark-souls); border-radius: 8px; font: 400 13px var(--tt-font-family); padding: 6px 10px;
}
input:focus, textarea:focus, select:focus, .vTextField:focus { border-color: var(--tt-jet); box-shadow: none; }
.readonly { font: 400 13px var(--tt-font-family); font-variant-numeric: tabular-nums; }
ul.messagelist li { border-radius: 10px; font: 500 13px var(--tt-font-family); color: var(--tt-jet); }
ul.messagelist li.success { background: var(--tt-success-bg); }
ul.messagelist li.warning { background: var(--tt-warning-bg); }
ul.messagelist li.error { background: var(--tt-placebo-red); }
ul.errorlist li { background: var(--tt-placebo-red); color: var(--tt-scarlet-beebam); border-radius: 8px; font: 600 12px var(--tt-font-family); }
.errornote { background: var(--tt-placebo-red); color: var(--tt-scarlet-beebam); border: none; border-radius: 10px; font: 600 13px var(--tt-font-family); }

/* ---- pannelli custom (dettaglio Movimento, form N:M) ---- */
.rc-panel { border: 1px solid var(--tt-conoration); border-radius: 10px; background: #fff; margin: 0 0 16px; overflow: hidden; }
.rc-panel > h2, .rc-panel__title { background: var(--tt-dr-white); border-bottom: 1px solid var(--tt-conoration); margin: 0; padding: 8px 12px; font: 700 11px var(--tt-font-family); letter-spacing: 0.05em; text-transform: uppercase; color: var(--tt-industrial-rev); }
.rc-panel__body { padding: 12px; }
.rc-panel__body p { margin: 0 0 8px; }
.rc-table { width: 100%; border-collapse: collapse; }
.rc-table th { text-align: left; font: 700 10.5px var(--tt-font-family); letter-spacing: 0.04em; text-transform: uppercase; color: var(--tt-cavernous); background: var(--tt-dr-white); padding: 0 10px; height: 30px; border-bottom: 1px solid var(--tt-conoration); white-space: nowrap; vertical-align: middle; }
.rc-table td { padding: 0 10px; height: 40px; border-bottom: 1px solid var(--tt-conoration); font: 400 12px var(--tt-font-family); font-variant-numeric: tabular-nums; vertical-align: middle; }
.rc-table tr:last-child td { border-bottom: none; }
.rc-table .rc-num, .rc-table th.rc-num { text-align: right; }
.rc-table tr.rc-revoked td { color: var(--tt-industrial-rev); }
.rc-kv { display: grid; grid-template-columns: 140px 1fr; row-gap: 4px; column-gap: 12px; font-size: 12px; }
.rc-kv dt { color: var(--tt-industrial-rev); margin: 0; }
.rc-kv dd { margin: 0; font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-inline-form { display: inline-flex; gap: 6px; align-items: center; }
.rc-inline-form input[type="text"] { height: 28px; padding: 0 8px; font-size: 12px; }
.rc-btn, a.rc-btn:link, a.rc-btn:visited { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 100px; white-space: nowrap; border: 1px solid var(--tt-jet); background: #fff; color: var(--tt-jet); font: 700 13px var(--tt-font-family); cursor: pointer; text-decoration: none; box-shadow: 0 2px 3px rgba(0,0,0,0.16), 0 0 3px rgba(0,0,0,0.08); box-sizing: border-box; }
.rc-btn:hover, a.rc-btn:hover { background: var(--tt-bay-pearl); color: var(--tt-jet); text-decoration: none; }
.rc-btn--primary, a.rc-btn--primary:link, a.rc-btn--primary:visited { background: var(--tt-jet); border-color: var(--tt-jet); color: #fff; box-shadow: none; }
.rc-btn--primary:hover, a.rc-btn--primary:hover { background: var(--tt-sooty); color: #fff; }
.rc-btn--ghost, a.rc-btn--ghost:link, a.rc-btn--ghost:visited { border-color: transparent; box-shadow: none; color: var(--tt-cavernous); background: transparent; font-weight: 600; }
.rc-btn--ghost:hover, a.rc-btn--ghost:hover { background: var(--tt-conoration); color: var(--tt-jet); }
.rc-btn--danger, a.rc-btn--danger:link, a.rc-btn--danger:visited { border-color: var(--tt-rose-madder); color: var(--tt-scarlet-beebam); }
.rc-btn--small, a.rc-btn--small:link { height: 28px; padding: 0 12px; font-size: 12px; }
.rc-btn[hidden], a.rc-btn[hidden] { display: none; }
.rc-btn[disabled], button.rc-btn[disabled] { background: var(--tt-conoration); color: var(--tt-industrial-rev); border-color: var(--tt-conoration); box-shadow: none; cursor: not-allowed; }
.rc-notice { padding: 10px 12px; border-radius: 10px; background: var(--tt-chefs-hat); font: 500 12px/18px var(--tt-font-family); color: var(--tt-cavernous); margin: 0 0 12px; }
.rc-notice--warning { background: var(--tt-warning-bg); color: var(--tt-warning-fg); }
.rc-notice--error { background: var(--tt-placebo-red); color: var(--tt-scarlet-beebam); }
.rc-notice--success { background: var(--tt-success-bg); color: var(--tt-success-fg); }
.rc-chip { display: inline-flex; align-items: center; height: 20px; padding: 0 7px; border-radius: 100px; background: var(--tt-chefs-hat); color: var(--tt-cavernous); font: 600 10.5px var(--tt-font-family); margin-right: 4px; }
.rc-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 16px; }

/* ---- form di riconciliazione N:M (Riconcilia Form) ---- */
.rc-reconcile { display: flex; gap: 20px; align-items: flex-start; }
.rc-reconcile__subject { width: 340px; flex: none; background: var(--tt-dr-white); border: 1px solid var(--tt-conoration); border-radius: 10px; padding: 16px; display: flex; flex-direction: column; gap: 14px; }
.rc-reconcile__subject .rc-kicker { font: 700 11px var(--tt-font-family); color: var(--tt-industrial-rev); letter-spacing: 0.05em; text-transform: uppercase; }
.rc-reconcile__subject .rc-headline { font: 700 18px/26px var(--tt-font-family); color: var(--tt-jet); margin-top: 4px; }
.rc-reconcile__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.rc-card { border: 1px solid var(--tt-conoration); border-radius: 10px; padding: 10px 12px; background: #fff; display: flex; align-items: center; gap: 14px; }
.rc-card--proposal { border-color: var(--tt-silver-hair); }
.rc-card__main { min-width: 0; flex: 1; }
.rc-card__title { display: flex; align-items: center; gap: 8px; min-width: 0; font: 700 13px var(--tt-font-family); }
.rc-card__title .rc-party { font: 400 12px var(--tt-font-family); color: var(--tt-black-panther); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-card__title .rc-date { font: 400 12px var(--tt-font-family); color: var(--tt-industrial-rev); font-variant-numeric: tabular-nums; }
.rc-card__chips { display: flex; align-items: center; gap: 6px; margin-top: 6px; flex-wrap: wrap; }
.rc-card__amounts { text-align: right; flex: none; font-variant-numeric: tabular-nums; }
.rc-card__amounts .rc-amount { font: 700 13px var(--tt-font-family); }
.rc-card__amounts .rc-open { font: 500 11px var(--tt-font-family); color: var(--tt-industrial-rev); }
.rc-search { position: relative; display: flex; gap: 8px; align-items: center; }
.rc-search input[type="text"] { flex: 1; height: 36px; }
.rc-search select { height: 36px; }
.rc-search-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }
.rc-search-filters__hint { margin-left: auto; font: 500 11px var(--tt-font-family); color: var(--tt-industrial-rev); }
.rc-search-filters__hint b { font-weight: 700; color: var(--tt-cavernous); }
.rc-select__field { border: none !important; background: transparent !important; box-shadow: none !important; height: 30px; padding: 0 4px !important; font: 600 12px var(--tt-font-family) !important; color: var(--tt-jet); font-variant-numeric: tabular-nums; }
.rc-select__field--amount { width: 76px; text-align: right; }
button.rc-clear { border: none; background: none; cursor: pointer; }
.rc-clear[hidden] { display: none; }
.rc-results__footer .rc-link-button { margin-left: auto; border: none; background: none; cursor: pointer; font: 700 11px var(--tt-font-family); color: var(--tt-scarlet-beebam); }
.rc-results { border: 1px solid var(--tt-conoration); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 3px rgba(0,0,0,0.16), 0 0 3px rgba(0,0,0,0.08); }
.rc-results__row { min-height: 36px; display: flex; align-items: center; gap: 10px; padding: 4px 12px; border-bottom: 1px solid var(--tt-conoration); font-size: 12px; }
.rc-results__row:last-child { border-bottom: none; }
/* the identifier wraps instead of overflowing: a charge and its fee differ only at the end (":fee") */
.rc-results__row .rc-doc { font-weight: 700; flex: 0 1 170px; min-width: 96px; overflow-wrap: anywhere; word-break: break-all; line-height: 1.3; }
.rc-results__row .rc-open, .rc-results__row .rc-amount { flex: none; white-space: nowrap; }
.rc-alloc td:first-child { min-width: 130px; }
.rc-alloc td:first-child strong { overflow-wrap: anywhere; word-break: break-all; }
/* its own column, never truncated: it tells apart two payments of the same amount at a glance (CD-104) */
.rc-results__row .rc-date { flex: none; min-width: 5.5em; white-space: nowrap; color: var(--tt-black-panther); font-variant-numeric: tabular-nums; }
.rc-results__row .rc-hit { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.rc-results__row .rc-party { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--tt-black-panther); }
/* causale of a Movement (CD-95): second line, muted, one line with the full text in the tooltip */
.rc-memo { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; color: var(--tt-industrial-rev); }
.rc-alloc .rc-memo { white-space: normal; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
/* the open amount is what the allocation will take: bold like the amount (CD-96) */
.rc-results__row .rc-open { color: var(--tt-jet); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
.rc-results__row .rc-amount { font-weight: 700; width: 110px; text-align: right; font-variant-numeric: tabular-nums; }
.rc-results__footer { min-height: 32px; display: flex; align-items: center; padding: 0 12px; background: var(--tt-dr-white); font: 500 11px var(--tt-font-family); color: var(--tt-industrial-rev); }
.rc-alloc { border: 1px solid var(--tt-conoration); border-radius: 10px; overflow: hidden; overflow-x: auto; }
.rc-alloc table { width: 100%; border-collapse: collapse; }
.rc-alloc th { height: 32px; background: var(--tt-dr-white); border-bottom: 1px solid var(--tt-conoration); font: 700 10.5px var(--tt-font-family); letter-spacing: 0.04em; text-transform: uppercase; color: var(--tt-cavernous); text-align: left; padding: 0 12px; vertical-align: middle; }
.rc-alloc td { height: 48px; padding: 0 12px; border-bottom: 1px solid var(--tt-conoration); font-size: 12px; font-variant-numeric: tabular-nums; vertical-align: middle; }
.rc-alloc__summary strong { color: var(--tt-jet); }
.rc-alloc td.rc-num, .rc-alloc th.rc-num { text-align: right; }
.rc-alloc input[type="text"] { width: 130px; height: 32px; text-align: right; font: 600 13px var(--tt-font-family); font-variant-numeric: tabular-nums; }
.rc-alloc tr.rc-error td { background: var(--tt-placebo-red); }
.rc-alloc .rc-row-errors { color: var(--tt-scarlet-beebam); font-weight: 600; font-size: 11px; white-space: normal; }
.rc-alloc__summary { height: 48px; display: flex; align-items: center; gap: 18px; padding: 0 12px; background: var(--tt-dr-white); font: 500 12px var(--tt-font-family); color: var(--tt-cavernous); font-variant-numeric: tabular-nums; }
.rc-residual { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border-radius: 100px; font: 700 13px var(--tt-font-family); background: var(--tt-conoration); color: var(--tt-cavernous); }
.rc-residual--zero { background: var(--tt-success-bg); color: var(--tt-success-fg); }
/* Preview warnings are sentences, not labels: they wrap inside their cell. */
.rc-preview__warnings { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 180px; }
.rc-preview__warnings .rc-badge { white-space: normal; line-height: 14px; padding: 3px 8px; border-radius: 8px; }
.rc-residual--over { background: var(--tt-placebo-red); color: var(--tt-scarlet-beebam); }
.rc-remove { border: none; background: transparent; color: var(--tt-scarlet-beebam); font: 700 14px var(--tt-font-family); cursor: pointer; width: 28px; height: 28px; border-radius: 100px; }
.rc-remove:hover { background: var(--tt-placebo-red); }
.rc-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 12px; border-top: 1px solid var(--tt-conoration); }
.rc-footer .rc-spacer { margin-left: auto; }
.rc-preview td.rc-closes { color: var(--tt-success-fg); font-weight: 700; }
.rc-empty-template { display: none; }
/* stacked before the results get too narrow for the counterparty: .rc-results clips, so an overflowing row would hide «Aggiungi» */
@media (max-width: 1279px) { .rc-reconcile { flex-direction: column; align-items: stretch; } .rc-reconcile__subject { width: auto; } }
@media (max-width: 860px) { .rc-results__row { flex-wrap: wrap; } .rc-results__row .rc-doc { flex-basis: 100%; } .rc-results__row .rc-hit { order: 1; flex-basis: 100%; } }

/* ---- dettaglio (kit "pannello dettaglio" come pagina) ---- */
.rc-detail__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.rc-detail__title h1 { margin: 2px 0 8px; }
.rc-detail__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-detail__actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.rc-detail__grid { display: grid; grid-template-columns: minmax(320px, 5fr) minmax(360px, 7fr); gap: 16px; align-items: start; }
.rc-detail__col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.rc-panel { margin: 0; }
.rc-panel > h2 { display: flex; align-items: center; gap: 8px; }
.rc-panel__meta { font: 600 11px var(--tt-font-family); letter-spacing: 0; text-transform: none; color: var(--tt-cavernous); font-variant-numeric: tabular-nums; }
.rc-panel__body--cards { display: flex; flex-direction: column; gap: 8px; }
.rc-kv--wide { grid-template-columns: 150px 1fr; row-gap: 6px; }
.rc-kv--wide dd { white-space: normal; }
.rc-rcard { border: 1px solid var(--tt-conoration); border-radius: 10px; padding: 10px 12px; background: #fff; }
.rc-rcard--revoked { background: var(--tt-dr-white); color: var(--tt-industrial-rev); }
.rc-rcard--revoked .rc-rcard__title { text-decoration: line-through; }
.rc-rcard__row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rc-rcard__title { font: 700 13px var(--tt-font-family); }
.rc-rcard__title a, .rc-rcard__title a:link, .rc-rcard__title a:visited { color: var(--tt-jet); }
.rc-rcard__title a:hover { color: var(--tt-scarlet-beebam); }
.rc-rcard__amount { margin-left: auto; font: 700 13px var(--tt-font-family); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-rcard__amount small { font: 500 11px var(--tt-font-family); color: var(--tt-industrial-rev); }
.rc-rcard__sub { margin-top: 6px; font: 400 11.5px/16px var(--tt-font-family); color: var(--tt-cavernous); }
.rc-rcard__actions { margin-top: 8px; display: flex; gap: 6px; }
.rc-audit { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.rc-audit li { display: flex; gap: 12px; font: 400 12px/16px var(--tt-font-family); }
.rc-audit__when { flex: none; width: 110px; color: var(--tt-industrial-rev); font-variant-numeric: tabular-nums; }
.rc-audit__details { display: block; margin-top: 3px; }
.rc-audit__details .rc-chip { margin: 0 4px 4px 0; }
@media (max-width: 1100px) { .rc-detail__grid { grid-template-columns: 1fr; } }

/* ---- home ---- */
body.dashboard #content { width: auto; max-width: 980px; }
.rc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; }
.rc-card--nav, a.rc-card--nav:link, a.rc-card--nav:visited { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--tt-jet); }
.rc-card--nav:hover { border-color: var(--tt-cavernous); text-decoration: none; }
.rc-card__label { flex: 1; font: 700 13px var(--tt-font-family); }
.rc-card__count { font: 700 16px var(--tt-font-family); font-variant-numeric: tabular-nums; }
.rc-card__count small { font: 500 11px var(--tt-font-family); color: var(--tt-industrial-rev); }

/* ---- login ---- */
body.rc-login { background: var(--tt-white-smoke); }
body.rc-login #header { display: none; }
body.rc-login #main { margin: 0; }
body.rc-login #content { padding: 96px 16px; display: flex; justify-content: center; }
body.rc-login #content-main.rc-login__card { float: none; width: 360px; max-width: 100%; box-sizing: border-box; background: #fff; border: 1px solid var(--tt-conoration); border-radius: 16px; padding: 28px; box-shadow: 0 5px 3px rgba(16,24,40,0.05); }
.rc-login__brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 20px; }
.rc-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.rc-field label { font: 600 12px var(--tt-font-family); color: var(--tt-cavernous); }
.rc-field input { width: 100%; box-sizing: border-box; height: 40px; border-radius: 8px; border: 1px solid var(--tt-dark-souls); padding: 0 12px; font: 400 14px var(--tt-font-family); }
.rc-btn--block { width: 100%; justify-content: center; height: 40px; font-size: 14px; margin-top: 6px; }

/* ---- pannelli Documenti (E6: "Documenti Passivi", "Nuovo documento da PDF") ---- */
body.model-purchasedocument #result_list tbody td, body.model-salesdocument #result_list tbody td { padding: 0 5px; font-size: 11px; }
body.model-purchasedocument #result_list thead th, body.model-salesdocument #result_list thead th { padding: 0 5px; font-size: 10px; }
body.model-purchasedocument #result_list .rc-badge, body.model-salesdocument #result_list .rc-badge { font-size: 10px; padding: 0 5px; min-height: 20px; line-height: 18px; gap: 3px; }
#result_list .field-supplier_cell, #result_list .field-customer { max-width: 150px; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
body.model-purchasedocument #result_list .field-issued_on, body.model-salesdocument #result_list .field-issued_on, body.model-purchasedocument #result_list .field-due_cell, body.model-salesdocument #result_list .field-due_cell { min-width: 64px; }
body.model-purchasedocument #content, body.model-salesdocument #content { padding: 20px 20px; }
body.model-purchasedocument #result_list .field-row_actions .rc-ico-btn, body.model-salesdocument #result_list .field-row_actions .rc-ico-btn { width: 20px; height: 20px; }
body.model-purchasedocument #result_list .field-vat_cell, body.model-salesdocument #result_list .field-vat_cell { font-size: 10px; }
body.model-purchasedocument #result_list .field-posted_cell, body.model-purchasedocument #result_list .field-row_actions, body.model-purchasedocument #result_list .field-currency_cell { padding: 0 4px; }
#result_list .field-vat_cell, #result_list .field-order_cell { font-family: var(--tt-font-mono); font-size: 11px; color: var(--tt-black-panther); }
#result_list .field-currency_cell, #result_list th.column-currency_cell { color: var(--tt-industrial-rev); }
#result_list .field-due_cell { min-width: 76px; }
#result_list .field-cost_center_cell, #result_list .field-expense_category_cell { color: var(--tt-black-panther); }
#result_list .field-reconciled_by_cell, #result_list .field-posted_by_cell { color: var(--tt-cavernous); }
#result_list .field-channel, #result_list .field-payment_method_cell { color: var(--tt-cavernous); }
.rc-ellipsis { display: inline-block; max-width: 82px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.rc-due { font-variant-numeric: tabular-nums; }
.rc-due--overdue { color: var(--tt-rose-madder); font-weight: 600; }
.rc-who { display: inline-flex; flex-direction: column; line-height: 1.15; }
.rc-who__by { font-weight: 600; color: var(--tt-jet); }
.rc-who__at { font-size: 10.5px; color: var(--tt-industrial-rev); }
.rc-incoherent { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: 4px; border-radius: 100px; background: var(--tt-warning-bg); color: var(--tt-orange-danger); font: 700 11px var(--tt-font-family); vertical-align: middle; }
.rc-badge--doctype-PDF { background: var(--tt-chefs-hat); border-color: var(--tt-chefs-hat); }
.rc-chip__count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 100px; background: var(--tt-conoration); color: var(--tt-cavernous); font: 700 10.5px var(--tt-font-family); font-variant-numeric: tabular-nums; }
a.rc-chip--on .rc-chip__count { background: rgba(255,255,255,0.22); color: #fff; }
a.rc-chip--warning .rc-chip__count { background: var(--tt-orange-danger); color: #fff; }
.rc-select--search .rc-select__input { max-width: 200px; }
.rc-accent { color: var(--tt-scarlet-beebam); font-weight: 600; }
.rc-link, a.rc-link:link, a.rc-link:visited { display: inline-flex; align-items: center; gap: 6px; color: var(--tt-jet); font: 600 12px var(--tt-font-family); text-decoration: none; }
a.rc-link:hover { color: var(--tt-scarlet-beebam); text-decoration: none; }
.rc-link--accent, a.rc-link--accent:link, a.rc-link--accent:visited { color: var(--tt-scarlet-beebam); }
.rc-spacer { flex: 1; }
.rc-kicker--spaced { margin: 14px 0 6px; }
.rc-audit--compact li { font-size: 11.5px; }
.rc-audit--compact .rc-audit__when { width: 76px; }
.rc-note { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--tt-conoration); background: var(--tt-dr-white); font: 400 12px/18px var(--tt-font-family); color: var(--tt-jet); }
.rc-note--rejected { border-color: var(--tt-rose-madder); background: var(--tt-placebo-red); }
.rc-note__title { font: 700 10.5px var(--tt-font-family); letter-spacing: 0.05em; text-transform: uppercase; color: var(--tt-scarlet-beebam); margin: 0 0 4px; }
.rc-note__by { margin-top: 4px; font: 500 11px var(--tt-font-family); color: var(--tt-scarlet-beebam); }
.rc-panel--auth > h2 .rc-badge { font-size: 10.5px; }
.rc-fields { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; }
.rc-field--inline { flex: 1 1 140px; margin: 0; gap: 4px; }
.rc-field--inline input { height: 32px; font-size: 13px; padding: 0 10px; }
.rc-fields__actions { flex-basis: 100%; display: flex; align-items: center; gap: 12px; font-size: 11.5px; }
.rc-fields__restore { margin-top: 10px; }
.rc-panel__body--flush { padding: 0; }
.rc-pdf { display: block; width: 100%; border: none; background: var(--tt-white-smoke); }
.rc-pdf--inline { height: 360px; }
.rc-panel__foot { padding: 10px 12px; border-top: 1px solid var(--tt-conoration); }
.rc-fees { list-style: none; margin: 8px 0 6px; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 12px; }
.rc-fees a, .rc-fees a:link, .rc-fees a:visited { color: var(--tt-jet); }

/* pagina di autorizzazione (pannello "Autorizzazione" del mockup, come pagina) */
.rc-auth { display: flex; justify-content: center; }
.rc-auth__panel { width: 520px; max-width: 100%; background: #fff; border: 1px solid var(--tt-conoration); border-radius: 12px; box-shadow: 0 5px 3px rgba(16,24,40,0.05); overflow: hidden; }
.rc-auth__head { display: flex; align-items: flex-start; gap: 12px; padding: 16px 16px 14px; border-bottom: 1px solid var(--tt-conoration); }
.rc-auth__head h1 { font: 700 22px/28px var(--tt-font-family); margin: 2px 0 0; }
.rc-auth__head .rc-ico-btn { margin-left: auto; }
.rc-auth__party { font: 400 13px var(--tt-font-family); color: var(--tt-black-panther); margin-top: 2px; }
.rc-auth__body { padding: 14px 16px 16px; }
.rc-auth__chips { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 12px; }
.rc-auth__card { border: 1px solid var(--tt-conoration); border-radius: 10px; padding: 4px 14px 10px; }
.rc-kv--rows { grid-template-columns: 130px 1fr; row-gap: 0; column-gap: 12px; }
.rc-kv--rows dt, .rc-kv--rows dd { padding: 7px 0; border-bottom: 1px solid var(--tt-conoration); white-space: normal; }
.rc-kv--rows dt:nth-last-of-type(1), .rc-kv--rows dd:nth-last-of-type(1) { border-bottom: none; }
.rc-auth__attachment { margin-top: 8px; color: var(--tt-scarlet-beebam) !important; }
.rc-auth__form { margin-top: 14px; }
.rc-auth__label { display: block; font: 700 12px var(--tt-font-family); color: var(--tt-jet); margin: 0 0 6px; }
.rc-auth__label .rc-muted { font-weight: 400; }
.rc-auth__form textarea { width: 100%; box-sizing: border-box; border-radius: 8px; border: 1px solid var(--tt-dark-souls); padding: 8px 12px; font: 400 13px var(--tt-font-family); resize: vertical; }
.rc-auth__foot { display: flex; align-items: center; gap: 8px; margin: 14px -16px -16px; padding: 12px 16px; border-top: 1px solid var(--tt-conoration); background: var(--tt-dr-white); font-size: 12px; }
.rc-auth__panel--rejected .rc-auth__head { background: #fff; }

/* wizard "Nuovo documento da PDF": schermata intera, senza la shell */
body.rc-wizard #nav-sidebar, body.rc-wizard #header, body.rc-wizard nav[aria-label] > .breadcrumbs, body.rc-wizard div.breadcrumbs { display: none !important; }
body.rc-wizard #main, body.rc-wizard.rc-shell #main { margin-left: 0 !important; }
body.rc-wizard #content { padding: 0; }
body.rc-wizard ul.messagelist { margin: 0; padding: 8px 24px 0; }
.rc-wizard__head { display: flex; align-items: center; gap: 14px; height: 64px; padding: 0 16px 0 20px; background: #fff; border-bottom: 1px solid var(--tt-conoration); }
.rc-wizard__head .rc-search-form { flex: 0 1 320px; min-width: 220px; }
.rc-wizard__icon { width: 36px; height: 36px; border-radius: 10px; background: var(--tt-chefs-hat); display: inline-flex; align-items: center; justify-content: center; color: var(--tt-jet); flex: none; }
.rc-wizard__crumbs { font: 400 11.5px var(--tt-font-family); color: var(--tt-industrial-rev); display: flex; gap: 6px; align-items: center; }
.rc-wizard__crumbs a, .rc-wizard__crumbs a:link, .rc-wizard__crumbs a:visited { color: var(--tt-industrial-rev); }
.rc-wizard__crumbs strong { color: var(--tt-jet); font-weight: 600; }
.rc-wizard__head h1 { font: 700 18px/24px var(--tt-font-family); margin: 0; }
.rc-upload__body { width: 760px; max-width: calc(100% - 48px); margin: 40px auto 48px; }
.rc-dropzone { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 44px 24px 40px; border: 1.5px dashed var(--tt-silver-hair); border-radius: 14px; background: var(--tt-bay-pearl); color: var(--tt-cavernous); text-align: center; transition: border-color .15s, background .15s; }
.rc-dropzone--over { border-color: var(--tt-jet); background: var(--tt-chefs-hat); }
.rc-dropzone--error { border-color: var(--tt-rose-madder); }
.rc-dropzone .rc-ico { color: var(--tt-cavernous); }
.rc-dropzone__title { font: 700 18px/26px var(--tt-font-family); color: var(--tt-jet); }
.rc-dropzone__sub { font: 400 13px var(--tt-font-family); color: var(--tt-black-panther); margin-bottom: 10px; }
.rc-dropzone__pick input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.rc-dropzone__pick { position: relative; overflow: hidden; }
.rc-dropzone ul.errorlist { margin: 0; padding: 0; }
.rc-dropzone__submit { margin-top: 6px; }
.rc-notice--row { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 12px 14px; }
.rc-notice__text { flex: 1; min-width: 0; line-height: 17px; }
.rc-notice__text strong { color: inherit; }
.rc-notice--warning .rc-ico { color: var(--tt-orange-danger); }
.rc-notice--success .rc-ico { color: var(--tt-emerald-isle); }
.rc-upload__section { display: flex; align-items: baseline; justify-content: space-between; margin: 28px 0 8px; }
.rc-upload__section h2 { font: 700 14px/20px var(--tt-font-family); margin: 0; color: var(--tt-jet); }
.rc-recent { border: 1px solid var(--tt-conoration); border-radius: 10px; background: #fff; overflow: hidden; }
.rc-recent__row, a.rc-recent__row:link, a.rc-recent__row:visited { display: grid; grid-template-columns: 130px minmax(0, 1fr) 96px 110px 130px 28px; align-items: center; gap: 12px; height: 44px; padding: 0 14px; border-bottom: 1px solid var(--tt-conoration); color: var(--tt-jet); font: 400 13px var(--tt-font-family); text-decoration: none; }
.rc-recent__row:last-child { border-bottom: none; }
a.rc-recent__row:hover { background: var(--tt-bay-pearl); text-decoration: none; }
.rc-recent__row--empty { display: flex; }
.rc-recent__number { font-weight: 700; }
.rc-recent__party { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-recent__date { color: var(--tt-industrial-rev); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-recent__amount { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-recent__go { display: inline-flex; justify-content: flex-end; color: var(--tt-industrial-rev); }

/* verifica dell'estrazione: anteprima 55% · form 45% */
.rc-extract__body { display: grid; grid-template-columns: 55fr 45fr; min-height: calc(100vh - 64px); }
.rc-extract__preview { display: flex; flex-direction: column; background: var(--tt-white-smoke); border-right: 1px solid var(--tt-conoration); }
.rc-extract__bar { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px; background: #fff; border-bottom: 1px solid var(--tt-conoration); font-size: 12px; }
.rc-extract__preview .rc-pdf { flex: 1; min-height: 620px; }
.rc-extract__hint { padding: 10px 16px; font-size: 11.5px; }
.rc-extract__form { display: flex; flex-direction: column; padding: 16px 20px 0; min-width: 0; }
.rc-extract__form .rc-notice--row { margin: 0 0 12px; }
.rc-extract__fields { border: none; margin: 0; padding: 0; min-width: 0; }
.rc-extract__fields[disabled] .rc-field input, .rc-extract__fields[disabled] .rc-field__readonly { background: var(--tt-bay-pearl); color: var(--tt-industrial-rev); }
.rc-extract__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.rc-extract .rc-field { gap: 4px; margin: 0 0 12px; position: relative; }
.rc-extract .rc-field input { height: 34px; font-size: 13px; }
.rc-field__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.rc-field__head label { font: 700 12px var(--tt-font-family); color: var(--tt-jet); }
.rc-field__meta { font: 500 11px var(--tt-font-family); color: var(--tt-industrial-rev); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-field__meta--low { color: var(--tt-orange-danger); font-weight: 700; }
.rc-field--low input { border-color: var(--tt-orange-danger); box-shadow: 0 0 0 1px var(--tt-orange-danger) inset; }
.rc-field--error input { border-color: var(--tt-rose-madder); }
.rc-field__readonly { height: 34px; box-sizing: border-box; border-radius: 8px; border: 1px solid var(--tt-conoration); background: var(--tt-dr-white); padding: 0 12px; display: flex; align-items: center; font: 400 13px var(--tt-font-family); color: var(--tt-black-panther); font-variant-numeric: tabular-nums; }
.rc-field__page, a.rc-field__page:link, a.rc-field__page:visited { font: 500 11px var(--tt-font-family); color: var(--tt-industrial-rev); text-decoration: underline dotted; }
a.rc-field__page:hover { color: var(--tt-scarlet-beebam); }
.rc-field--low .rc-field__page { color: var(--tt-warning-fg); }
.rc-required { color: var(--tt-rose-madder); }
.rc-extract .rc-field ul.errorlist { margin: 0; padding: 0; }
.rc-extract .rc-field ul.errorlist li { display: block; font-size: 11px; padding: 4px 8px; }
.rc-lines { border: 1px solid var(--tt-conoration); border-radius: 10px; background: var(--tt-dr-white); margin: 4px 0 12px; }
.rc-lines summary { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; cursor: pointer; list-style: none; font-size: 12.5px; }
.rc-lines summary::-webkit-details-marker { display: none; }
.rc-lines summary .rc-ico { transition: transform .15s; }
.rc-lines:not([open]) summary .rc-ico { transform: rotate(-90deg); }
.rc-lines__table { background: #fff; }
.rc-lines__table th:first-child, .rc-lines__table td:first-child { padding-left: 12px; }
.rc-lines__table td { height: 32px; }
.rc-extract__foot { margin-top: auto; display: flex; align-items: center; gap: 10px; padding: 14px 0 16px; border-top: 1px solid var(--tt-conoration); font-size: 12.5px; position: sticky; bottom: 0; background: #fff; }
@media (max-width: 1100px) { .rc-extract__body { grid-template-columns: 1fr; } .rc-extract__preview .rc-pdf { min-height: 420px; } }

/* selezione per «Autorizza selezionati» (solo per chi può autorizzare) */
#result_list th.action-checkbox-column, #result_list td.action-checkbox { width: 20px; padding: 0 0 0 6px; text-align: center; }
#result_list th.action-checkbox-column .text { display: inline-flex; }
#result_list input[type="checkbox"].action-select, #action-toggle { width: 16px; height: 16px; margin: 0; accent-color: var(--tt-rose-madder); border-radius: 4px; vertical-align: middle; cursor: pointer; }
#result_list tbody tr.selected td, #result_list tbody tr.selected th { background: var(--tt-placebo-red); }
#result_list tbody tr.selected td:first-child { box-shadow: inset 3px 0 0 var(--tt-rose-madder); }
.rc-btn__count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 100px; background: #fff; color: var(--tt-jet); font: 700 11px var(--tt-font-family); }
.rc-btn__count[hidden] { display: none; }
.rc-auth__panel--wide { width: 720px; }
.rc-auth__choices { display: flex; flex-wrap: wrap; gap: 10px 12px; margin: 0 0 12px; }
.rc-auth__choice { flex: 1 1 180px; min-width: 0; }
.rc-auth__choice select { width: 100%; box-sizing: border-box; height: 36px; }
.rc-auth__options { font-size: 11.5px; }
.rc-auth__notice { margin: 0 0 12px; }
.rc-dialog { width: 440px; max-width: calc(100vw - 32px); box-sizing: border-box; border: 1px solid var(--tt-conoration); border-radius: 12px; padding: 16px; color: var(--tt-jet); }
.rc-dialog::backdrop { background: rgba(16,24,40,0.45); }
.rc-dialog h2 { font: 700 18px/24px var(--tt-font-family); margin: 2px 0 6px; background: none; padding: 0; color: inherit; }
.rc-dialog__foot { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.rc-auth__table { margin: 0 0 4px; }
.rc-auth__table td { font-size: 12px; }
#changelist .actions, #changelist .actions.selected { display: none !important; }

/* ---- Registro Riconciliazioni (E7): stessa densità dei pannelli Documenti ---- */
body.model-reconciliation #result_list tbody td { padding: 0 6px; font-size: 11px; }
body.model-reconciliation #result_list thead th { padding: 0 6px; font-size: 10px; }
body.model-reconciliation #result_list .rc-badge { font-size: 10px; padding: 0 6px; min-height: 20px; line-height: 18px; }
body.model-reconciliation #content { padding: 20px 20px; }
body.model-reconciliation #result_list .field-row_actions .rc-ico-btn { width: 22px; height: 22px; }
#result_list .field-date_cell { min-width: 76px; color: var(--tt-industrial-rev); }
#result_list .field-movement_cell a, #result_list .field-document_cell a { font-weight: 700; }
/* a Document number may be up to 100 characters (CD-97): capped in the lists, whole in the tooltip */
.rc-number { display: inline-block; max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
#result_list .field-movement_cell .rc-badge--account { font-size: 9.5px; padding: 0 5px; min-height: 18px; line-height: 16px; }
#result_list .field-allocated_cell, #result_list th.column-allocated_cell { text-align: right; }
#result_list .field-allocated_cell small { font-size: 10px; }
.rc-amount--strong { font-weight: 700; }
.rc-ellipsis--party { max-width: 112px; color: var(--tt-black-panther); }
#result_list .field-rule_cell .rc-mono { color: var(--tt-black-panther); }
.rc-run, a.rc-run:link, a.rc-run:visited { display: inline-flex; color: var(--tt-industrial-rev) !important; vertical-align: middle; }
a.rc-run:hover { color: var(--tt-jet) !important; }
#result_list .field-posted_cell .rc-who__by { font-size: 11px; }
body.model-reconciliation #result_list .field-posted_cell, body.model-reconciliation #result_list .field-row_actions, body.model-reconciliation #result_list .field-cycle_cell, body.model-reconciliation #result_list .field-status_badge { padding: 0 4px; }
body.model-reconciliation #result_list .field-row_actions .rc-ico-btn { margin-left: 0; }
.rc-badge--cycle-active { background: #fff; border: 1px solid var(--tt-silver-hair); color: var(--tt-jet); font-weight: 600; }
.rc-badge--cycle-passive { background: var(--tt-chefs-hat); border: 1px solid var(--tt-chefs-hat); color: var(--tt-black-panther); font-weight: 600; }
button.rc-ico-btn { border: none; background: transparent; padding: 0; cursor: pointer; font: inherit; }
button.rc-ico-btn:hover { background: var(--tt-conoration); }
.rc-totals { margin: 0 0 12px; border: 1px solid var(--tt-conoration); border-radius: 10px; background: #fff; overflow: hidden; }
.rc-totals__title { padding: 8px 12px; background: var(--tt-dr-white); border-bottom: 1px solid var(--tt-conoration); font: 700 11px var(--tt-font-family); letter-spacing: 0.05em; text-transform: uppercase; color: var(--tt-industrial-rev); }
.rc-totals__title .rc-muted { text-transform: none; letter-spacing: 0; font-weight: 500; }
.rc-totals__table { width: 100%; border-collapse: collapse; }
#content .rc-totals__table th { text-align: left; font: 700 10.5px var(--tt-font-family); letter-spacing: 0.04em; text-transform: uppercase; color: var(--tt-cavernous); padding: 0 12px; height: 28px; border-bottom: 1px solid var(--tt-conoration); }
#content .rc-totals__table td { padding: 0 12px; height: 32px; border-bottom: 1px solid var(--tt-conoration); font: 400 12px var(--tt-font-family); font-variant-numeric: tabular-nums; }
.rc-totals__table tr:last-child td { border-bottom: none; }
.rc-totals__table .rc-num { text-align: right; }
.rc-btn--done, a.rc-btn--done:link, a.rc-btn--done:visited { color: var(--tt-success-fg); background: var(--tt-success-bg); }

/* ---- registro degli avvisi (E8): tabelle dentro un pannello, senza padding ---- */
.rc-panel__body--flush { padding: 0; }
.rc-panel__body--flush .rc-panel__empty { padding: 12px; margin: 0; }
.rc-panel__body--flush .rc-totals__table td.rc-truncate { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#result_list .field-subject_cell { max-width: 440px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#result_list .column-items_cell, #result_list .field-items_cell { padding-right: 20px; }
.rc-panel__body--flush .rc-totals__table a.rc-mono, .rc-panel__body--flush .rc-totals__table a.rc-mono:link, .rc-panel__body--flush .rc-totals__table a.rc-mono:visited { color: var(--tt-jet); }

/* Date range picker (CD-92): the kit dropdown opens presets and two months. */
.rc-daterange { position: relative; display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.rc-daterange__trigger { cursor: pointer; font: inherit; color: var(--tt-jet); padding-right: 8px; }
.rc-daterange__trigger svg { color: var(--tt-cavernous); }
.rc-daterange__value { font: 600 12px var(--tt-font-family); color: var(--tt-jet); white-space: nowrap; font-variant-numeric: tabular-nums; padding: 0 2px 0 4px; }
.rc-daterange__trigger--active { border-color: var(--tt-jet); }
.rc-daterange__panel { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; display: flex; background: #fff; border: 1px solid var(--tt-conoration); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,0.12), 0 0 3px rgba(0,0,0,0.08); font-family: var(--tt-font-family); }
.rc-daterange__panel[hidden] { display: none; }
.rc-daterange__panel--right { left: auto; right: 0; }
.rc-daterange__ranges { list-style: none; margin: 0; padding: 8px; width: 168px; border-right: 1px solid var(--tt-conoration); background: var(--tt-dr-white); border-radius: 10px 0 0 10px; }
.rc-daterange__ranges li { margin: 0; padding: 0; list-style: none; }
.rc-daterange__ranges button { width: 100%; height: 32px; padding: 0 10px; border: none; border-radius: 8px; background: none; text-align: left; font: 500 12px var(--tt-font-family); color: var(--tt-black-panther); cursor: pointer; }
.rc-daterange__ranges button:hover { background: var(--tt-chefs-hat); color: var(--tt-jet); }
.rc-daterange__ranges button.is-active { background: var(--tt-jet); color: #fff; font-weight: 700; }
.rc-daterange__body { display: flex; flex-direction: column; }
.rc-daterange__calendars { position: relative; display: flex; gap: 20px; padding: 12px 16px 8px; }
.rc-daterange__month { width: 238px; }
.rc-daterange__month-head { height: 32px; display: flex; align-items: center; justify-content: center; }
.rc-daterange__month-name { font: 700 13px var(--tt-font-family); color: var(--tt-jet); text-transform: capitalize; }
.rc-daterange__nav { position: absolute; top: 12px; width: 32px; height: 32px; border: none; border-radius: 8px; background: none; font: 400 20px/1 var(--tt-font-family); color: var(--tt-cavernous); cursor: pointer; }
.rc-daterange__nav:hover { background: var(--tt-chefs-hat); color: var(--tt-jet); }
.rc-daterange__nav--prev { left: 12px; }
.rc-daterange__nav--next { right: 12px; }
.rc-daterange__grid { display: grid; grid-template-columns: repeat(7, 34px); row-gap: 2px; }
.rc-daterange__dow { height: 26px; display: flex; align-items: center; justify-content: center; font: 600 10.5px var(--tt-font-family); color: var(--tt-industrial-rev); text-transform: uppercase; }
.rc-daterange__day { height: 32px; border: none; background: none; padding: 0; font: 500 12px var(--tt-font-family); color: var(--tt-jet); font-variant-numeric: tabular-nums; cursor: pointer; border-radius: 8px; }
.rc-daterange__day:hover { background: var(--tt-chefs-hat); }
.rc-daterange__day.is-today { box-shadow: inset 0 0 0 1px var(--tt-dark-souls); }
.rc-daterange__day.is-in-range { background: var(--tt-placebo-red); color: var(--tt-old-mandarin); border-radius: 0; }
.rc-daterange__day.is-start, .rc-daterange__day.is-end { background: var(--tt-jet); color: #fff; font-weight: 700; }
.rc-daterange__day.is-start:not(.is-end) { border-radius: 8px 0 0 8px; }
.rc-daterange__day.is-end:not(.is-start) { border-radius: 0 8px 8px 0; }
.rc-daterange__foot { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-top: 1px solid var(--tt-conoration); }
.rc-daterange__selected { font: 600 12px var(--tt-font-family); color: var(--tt-cavernous); font-variant-numeric: tabular-nums; }
.rc-daterange__fallback[hidden] { display: none; }
