/* RadarCantieri — tema A, Minerale chiara */
:root {
  color-scheme: light;
  --bg: #f3f7f4;
  --p: #ffffff;
  --l: #cfe0d6;
  --t: #153f32;
  --m: #5c746a;
  --g: #35b979;
  --panel: #ffffff;
  --line: #cfe0d6;
  --text: #153f32;
  --muted: #5c746a;
  --green: #35b979;
}

body {
  background:
    radial-gradient(circle at 12% 0, rgba(53, 185, 121, 0.12), transparent 31rem),
    linear-gradient(135deg, #f7faf8 0%, #edf5f0 100%);
  color: var(--t);
}

a { color: #19714b; }
::selection { background: #b9ead0; color: #123b2f; }
.top { border-color: var(--l); }
.pill { background: rgba(255, 255, 255, 0.72); color: #506b60; }
.pill.ok, .ok { color: #17643f; border-color: #93cfac; background: #eef9f2; }
.hero p,
.account-hero p,
.auth-heading p,
#accountSubtitle { color: var(--m); }

.card {
  background: linear-gradient(145deg, #ffffff, #fbfdfc);
  border-color: var(--l);
  box-shadow: 0 14px 36px rgba(25, 83, 59, 0.07);
}
.k { color: #19714b; }
.field > label { color: #4f695e; }
.in,
textarea {
  background: #f9fcfa;
  border-color: #bfd5c8;
  color: var(--t);
  box-shadow: inset 0 1px 1px rgba(20, 63, 50, 0.03);
}
.in::placeholder,
textarea::placeholder { color: #81968d; }
.in:focus,
textarea:focus,
.field .in:focus,
.field textarea:focus {
  outline-color: #258a5c;
  background: #ffffff;
}
.in[readonly] { background: #edf3ef; }
.check {
  background: #f6faf7;
  border-color: #c7dbcf;
  color: var(--t) !important;
}
.check:hover { background: #edf7f1; border-color: #9fc9b1; }
.check:focus-within,
.region-list .check:focus-within,
.specialty-list .check:focus-within { outline-color: #258a5c; }

.primary {
  background: var(--g);
  color: #0d2d22;
  box-shadow: 0 6px 16px rgba(35, 138, 89, 0.16);
}
.primary:hover { background: #2eaa6e; }
.secondary {
  background: #edf5f0;
  color: #173f33;
  border-color: #bdd3c6;
}
.secondary:hover { background: #e3efe8; }
.ghost { background: transparent; color: #526e62; border-color: #c6d9ce; }
.btn:focus-visible,
.pill:focus-visible,
.auth-tab:focus-visible,
.password-toggle:focus-visible,
.auth-text-button:focus-visible { outline-color: #176f49; }

.stat,
.msg,
.r,
.source-card,
.recovery-card,
.optional-consents,
.consent-status {
  background: #f7faf8;
  border-color: var(--l);
}
.stat span,
.small,
.meta { color: var(--m); }
.msg { color: #60786e; }
.err,
.auth-notice-error {
  border-color: #e2a6a0;
  background: #fff2f0;
  color: #9b302b;
}
.r { background: #ffffff; }
.desc { color: #456158; }
.score {
  border-color: #95cfad;
  background: #e7f7ee;
  color: #17623f;
}
.tag { border-color: #b8d6c5; background: #edf7f1; color: #315b49; }
pre { background: #f6faf7; border-color: var(--l); color: #385a4c; }
.note { border-color: #e2c579; background: #fff8e6; color: #735315; }

.source-nav .btn[aria-pressed="true"] { color: #0d2d22; }
.discovery-intro,
.discovery-help,
.source-card p { color: var(--m); }
.discovery-summary {
  color: #315c4a;
  background: #edf7f1;
  border-left-color: var(--g);
}
.source-card { background: #ffffff; }
.discovery-help,
.manual-sources { border-color: var(--l); }
.deadline-note { color: #617d70; }

.cookie-banner,
.cookie-modal {
  background: #ffffff;
  border-color: #abcbbb;
  box-shadow: 0 20px 55px rgba(20, 63, 50, 0.18);
}
.cookie-settings-btn {
  background: #ffffff;
  border-color: #91bea7;
  color: #19714b;
  box-shadow: 0 8px 24px rgba(20, 63, 50, 0.16);
}
.cookie-modal-backdrop { background: rgba(21, 63, 50, 0.44); }
.cookie-modal-head,
.cookie-modal-foot { background: #ffffff; border-color: var(--l); }
.cookie-close { color: #536f63; }
.cookie-cat { background: #f7faf8; border-color: var(--l); }
.slider { background: #b7c8bf; }
.slider::before { background: #ffffff; box-shadow: 0 1px 4px rgba(20, 63, 50, 0.18); }
.cookie-meta { background: #f1f6f3; border-color: var(--l); color: #536f63; }
.site-footer { border-color: var(--l); color: var(--m); }
.site-footer .contact-link {
  display: inline-flex;
  position: relative;
  z-index: 1;
  padding: 6px 0;
}
.contact-email { color: #176f49; }
.copy-status { color: #17623f; }
.contact-note { color: var(--m); border-color: var(--l); }
.construction-badge { background: #fff8e8; border-color: #d9b56a; color: #8a641e; }
.linkbtn,
.cookie-policy-link,
.privacy-ack a,
.auth-help a,
.auth-consents a,
.marketing-card a,
.auth-text-button { color: #19714b; }
#identityError { color: #a5342e; }

.account-greeting { color: #315f4c; }
.auth-tabs { background: #edf5f0; border-color: var(--l); }
.auth-tab { color: #61786e; }
.auth-tab[aria-selected="true"] {
  background: #ffffff;
  color: #17623f;
  box-shadow: inset 0 -3px 0 var(--g);
}
.auth-fieldset { border-color: #c7dbcf; }
.auth-fieldset legend { color: #236948; }
.password-toggle { background: #e5f1e9; color: #17623f; }
.auth-help { color: var(--m); }
.auth-notice {
  border-color: #8bc7a7;
  background: #e9f8ef;
  color: #1d6844;
}
.auth-notice-error { color: #9b302b; }
.account-avatar {
  background: linear-gradient(145deg, #65d69a, #2da66b);
  color: #0d2d22;
  box-shadow: 0 9px 22px rgba(35, 138, 89, 0.18);
}
.search-account-line {
  border-color: #a6ceb9;
  background: #edf8f2;
  color: #245f44;
}
.search-account-line::before { color: #0d2d22; }
.recovery-card { background: #f7faf8; }
.optional-consents { background: #f5faf7; }
.consent-status { color: #285f47; }
.digest-switch,
.digest-settings .digest-filter-block { border-color: #c7dbcf; }
.digest-switch,
.digest-card .consent-status { background: #f5faf7; color: #285f47; }
.digest-filter-label { color: #236948; }

/* Privacy e Cookie Policy */
.wrap .back,
.toc a {
  background: #edf5f0;
  border-color: var(--l);
  color: #173f33;
}
.hero p,
.card p,
.card li { color: #4f695e; }
.notice {
  background: #edf7f1;
  color: #315c4a;
  border-left-color: var(--g);
}
.table th { color: #256c4b; }
.table th,
.table td { border-color: var(--l); }
footer { border-color: var(--l); color: var(--m); }

@media (max-width: 620px) {
  body { background: linear-gradient(160deg, #f7faf8, #edf5f0); }
  .card { box-shadow: 0 10px 26px rgba(25, 83, 59, 0.06); }
}
