:root {
--acmo-primary: #A71930;
--acmo-primary-dark: #7a1224;
--acmo-primary-light: #c93e54;
--acmo-secondary: #616365;
--acmo-secondary-light: #8a8c8e;
--acmo-bg: #ffffff;
--acmo-bg-alt: #f6f6f7;
--acmo-border: #d8d8da;
--acmo-text: #1f2125;
--acmo-text-muted: #5a5d62;
--acmo-success: #16653b;
--acmo-warning: #92400e;
--acmo-error: #991b1b;
--acmo-radius: 6px;
--acmo-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04);
--acmo-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
} .acmo-container {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.acmo-container input,
.acmo-container textarea {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
} .acmo-container {
max-width: 1180px;
margin: 0 auto;
padding: 1.5rem 1rem;
font-family: var(--acmo-font);
color: var(--acmo-text);
line-height: 1.55;
} .acmo-banner {
padding: 0.9rem 1.1rem;
border-radius: var(--acmo-radius);
margin-bottom: 1rem;
border-left: 4px solid;
}
.acmo-banner-success { background:#ecfdf5; border-color: var(--acmo-success); color:#064e3b; }
.acmo-banner-warning { background:#fffbeb; border-color: var(--acmo-warning); color:#78350f; }
.acmo-banner-error   { background:#fef2f2; border-color: var(--acmo-error);   color:#7f1d1d; } .acmo-auth-wrap {
max-width: 720px;
margin: 2rem auto;
padding: 2rem;
background: var(--acmo-bg);
border: 1px solid var(--acmo-border);
border-radius: 10px;
box-shadow: var(--acmo-shadow);
}
.acmo-auth-header { text-align: center; margin-bottom: 1.5rem; }
.acmo-auth-header h2 { color: var(--acmo-primary); font-size: 1.6rem; margin: 0 0 .5rem; }
.acmo-auth-lead { color: var(--acmo-text-muted); margin: 0; font-size: .95rem; }
.acmo-tabs { display: flex; gap: .25rem; border-bottom: 2px solid var(--acmo-border); margin-bottom: 1.5rem; }
.acmo-tab {
flex: 1;
background: transparent;
border: 0;
padding: .85rem 1rem;
font-size: 1rem;
font-weight: 600;
color: var(--acmo-secondary);
cursor: pointer;
border-bottom: 3px solid transparent;
margin-bottom: -2px;
}
.acmo-tab.is-active { color: var(--acmo-primary); border-bottom-color: var(--acmo-primary); }
.acmo-tab:focus-visible { outline: 2px solid var(--acmo-primary); outline-offset: 2px; }
.acmo-panel { display: none; }
.acmo-panel.is-active { display: block; } .acmo-form { display: grid; gap: 1rem; }
.acmo-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .acmo-row { grid-template-columns: 1fr; } }
.acmo-field { display: grid; gap: .35rem; }
.acmo-field > span,
.acmo-field > legend {
font-weight: 600; font-size: .9rem; color: var(--acmo-secondary);
}
.acmo-field input[type="text"],
.acmo-field input[type="email"],
.acmo-field input[type="password"],
.acmo-field input[type="number"],
.acmo-field input[type="search"],
.acmo-field input[type="url"],
.acmo-field select,
.acmo-field textarea {
width: 100%;
padding: .65rem .75rem;
border: 1px solid var(--acmo-border);
border-radius: var(--acmo-radius);
background: #fff;
font-size: 1rem;
color: var(--acmo-text);
min-height: 44px;
font-family: inherit;
}
.acmo-field input:focus,
.acmo-field select:focus,
.acmo-field textarea:focus {
outline: none;
border-color: var(--acmo-primary);
box-shadow: 0 0 0 3px rgba(167, 25, 48, 0.18);
}
.acmo-field small { color: var(--acmo-text-muted); font-size: .8rem; }
.acmo-field fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: .35rem; }
.acmo-check { display: flex; gap: .6rem; align-items: flex-start; font-size: .9rem; }
.acmo-check input { margin-top: .25rem; } .acmo-honeypot {
position: absolute !important; left: -9999px; height: 1px; width: 1px; overflow: hidden;
}
.acmo-btn {
display: inline-block;
padding: .8rem 1.5rem;
font-size: 1rem;
font-weight: 600;
border-radius: var(--acmo-radius);
border: 1px solid transparent;
cursor: pointer;
text-decoration: none;
min-height: 44px;
transition: background-color .15s ease, transform .05s ease;
font-family: inherit;
}
.acmo-btn:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.acmo-btn-primary { background: var(--acmo-primary); color: #fff; }
.acmo-btn-primary:hover { background: var(--acmo-primary-dark); }
.acmo-btn-secondary { background: var(--acmo-secondary); color: #fff; }
.acmo-btn-secondary:hover { background: #4a4c4f; }
.acmo-btn-ghost { background: transparent; color: var(--acmo-secondary); border-color: var(--acmo-border); }
.acmo-btn-ghost:hover { background: var(--acmo-bg-alt); }
.acmo-btn-full { width: 100%; padding: 1rem; font-size: 1.05rem; margin-top: .5rem; }
.acmo-form-help {
background: var(--acmo-bg-alt);
border-left: 3px solid var(--acmo-primary);
padding: .85rem 1rem;
margin: 0 0 1.5rem;
font-size: .9rem;
color: var(--acmo-text-muted);
border-radius: 0 var(--acmo-radius) var(--acmo-radius) 0;
}
.acmo-form-message:not(:empty) {
padding: .75rem; border-radius: var(--acmo-radius); font-size: .9rem;
}
.acmo-form-message.is-error   { background:#fef2f2; color: var(--acmo-error); border:1px solid #fecaca; }
.acmo-form-message.is-success { background:#ecfdf5; color: var(--acmo-success); border:1px solid #a7f3d0; }
.acmo-form-foot { text-align: center; margin: .5rem 0 0; font-size: .9rem; }
.acmo-form-foot a { color: var(--acmo-primary); } .acmo-dashboard { margin: 1.5rem auto; }
.acmo-dash-header { border-bottom: 2px solid var(--acmo-primary); padding-bottom: 1rem; margin-bottom: 1.5rem; }
.acmo-dash-header h2 { color: var(--acmo-primary); margin: 0 0 .3rem; font-size: 1.5rem; }
.acmo-dash-lead { color: var(--acmo-text-muted); margin: 0 0 .5rem; }
.acmo-toolbar { display: flex; justify-content: flex-end; gap: 1rem; }
.acmo-link-logout { color: var(--acmo-secondary); text-decoration: underline; font-size: .9rem; }
.acmo-grid { display: grid; grid-template-columns: 280px 1fr; gap: 1.5rem; }
@media (max-width: 900px) { .acmo-grid { grid-template-columns: 1fr; } } .acmo-filters {
background: var(--acmo-bg-alt);
border: 1px solid var(--acmo-border);
border-radius: var(--acmo-radius);
padding: 1.25rem;
align-self: start;
position: sticky; top: 1rem;
}
.acmo-filters .acmo-field { margin-bottom: 1rem; }
.acmo-range-value { font-weight: 700; color: var(--acmo-primary); }
.acmo-tag-cloud { display: flex; flex-wrap: wrap; gap: .35rem; max-height: 160px; overflow-y: auto; }
.acmo-tag-chip {
background: #fff;
border: 1px solid var(--acmo-border);
border-radius: 999px;
padding: .25rem .65rem;
font-size: .8rem;
cursor: pointer;
color: var(--acmo-text);
}
.acmo-tag-chip:hover { background: var(--acmo-primary); color:#fff; border-color: var(--acmo-primary); }
.acmo-tag-chip.is-active { background: var(--acmo-primary); color:#fff; border-color: var(--acmo-primary); } .acmo-view-switch {
display: flex;
gap: .25rem;
border-bottom: 1px solid var(--acmo-border);
margin-bottom: 1rem;
}
.acmo-view-btn {
background: transparent;
border: 0;
padding: .65rem 1rem;
font-size: .95rem;
font-weight: 600;
color: var(--acmo-secondary);
cursor: pointer;
border-bottom: 3px solid transparent;
margin-bottom: -1px;
}
.acmo-view-btn.is-active { color: var(--acmo-primary); border-bottom-color: var(--acmo-primary); } .acmo-selection-bar {
background: var(--acmo-primary);
color: #fff;
padding: .75rem 1rem;
border-radius: var(--acmo-radius);
margin-bottom: 1rem;
display: flex;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
}
.acmo-selection-bar .acmo-btn { background:#fff; color: var(--acmo-primary); }
.acmo-selection-bar .acmo-btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.acmo-results-meta { font-size: .9rem; color: var(--acmo-text-muted); margin-bottom: 1rem; } .acmo-results-list { display: grid; gap: 1rem; }
.acmo-card {
background: #fff;
border: 1px solid var(--acmo-border);
border-left: 4px solid var(--acmo-primary);
border-radius: var(--acmo-radius);
padding: 1.25rem;
box-shadow: var(--acmo-shadow);
position: relative;
}
.acmo-card-head { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; }
.acmo-card-title { margin: 0 0 .25rem; font-size: 1.05rem; color: var(--acmo-text); }
.acmo-card-meta { font-size: .85rem; color: var(--acmo-text-muted); margin: 0 0 .75rem; }
.acmo-card-meta strong { color: var(--acmo-secondary); }
.acmo-card-body { margin: .5rem 0; font-size: .92rem; color: var(--acmo-text); line-height: 1.55; } .acmo-card-massima {
margin: .5rem 0 .75rem;
font-size: .95rem;
color: var(--acmo-text);
line-height: 1.6;
text-align: justify;
} .acmo-card-principio {
margin: .6rem 0 .75rem;
padding: .75rem 1rem;
background: #F7F4F2;
border-left: 3px solid var(--acmo-primary, #A71930);
border-radius: 3px;
font-style: italic;
font-weight: 700;
line-height: 1.55;
color: var(--acmo-text);
}
.acmo-card-principio__label {
display: inline-block;
margin-right: .35rem;
font-variant: small-caps;
letter-spacing: .03em;
color: var(--acmo-primary, #A71930);
font-weight: 800;
}
.acmo-card-principio__text { font-style: italic; font-weight: 700; }
.acmo-card-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .75rem; } .acmo-card-normativa {
margin-top: .65rem;
font-size: .82rem;
line-height: 1.7;
color: var(--acmo-text-muted);
}
.acmo-card-normativa__label {
display: inline-block;
margin-right: .35rem;
font-variant: small-caps;
letter-spacing: .03em;
color: var(--acmo-secondary, #616365);
font-weight: 700;
}
.acmo-norm-chip {
display: inline-block;
margin: .15rem .25rem .15rem 0;
padding: .15rem .5rem;
background: #FFFFFF;
border: 1px solid var(--acmo-border, #E0DCD8);
border-radius: 3px;
font-size: .78rem;
color: var(--acmo-text);
}
.acmo-rilevanza { color: var(--acmo-primary); font-weight: 700; letter-spacing: 2px; }
.acmo-card-actions {
display: flex; gap: .5rem; flex-wrap: wrap;
margin-top: 1rem; padding-top: .75rem; border-top: 1px dashed var(--acmo-border);
}
.acmo-card-actions .acmo-btn { padding: .4rem .8rem; font-size: .85rem; min-height: 36px; }
.acmo-card .acmo-check { font-size: .8rem; color: var(--acmo-text-muted); } .acmo-pagination { display: flex; justify-content: center; gap: .25rem; flex-wrap: wrap; margin-top: 1.5rem; }
.acmo-pagination button {
background: #fff;
border: 1px solid var(--acmo-border);
color: var(--acmo-text);
padding: .5rem .85rem;
border-radius: var(--acmo-radius);
cursor: pointer;
min-width: 38px;
min-height: 38px;
}
.acmo-pagination button:hover { background: var(--acmo-bg-alt); }
.acmo-pagination button.is-active { background: var(--acmo-primary); color: #fff; border-color: var(--acmo-primary); }
.acmo-pagination button[disabled] { opacity: .4; cursor: not-allowed; } .acmo-timeline { position: relative; padding-left: 1.5rem; }
.acmo-timeline::before {
content: '';
position: absolute;
left: .5rem; top: 0; bottom: 0;
width: 2px; background: var(--acmo-primary);
}
.acmo-timeline-year {
position: relative;
margin-bottom: 2rem;
}
.acmo-timeline-year h3 {
color: var(--acmo-primary);
margin: 0 0 .75rem;
font-size: 1.15rem;
}
.acmo-timeline-year h3::before {
content: '';
position: absolute;
left: -1.35rem; top: .35rem;
width: 14px; height: 14px;
background: var(--acmo-primary);
border: 3px solid #fff;
border-radius: 50%;
}
.acmo-timeline-items { display: grid; gap: .75rem; }
.acmo-timeline-item {
background: #fff;
border: 1px solid var(--acmo-border);
padding: .75rem 1rem;
border-radius: var(--acmo-radius);
}
.acmo-timeline-item-title { font-weight: 600; color: var(--acmo-text); margin: 0 0 .25rem; }
.acmo-timeline-item-meta { font-size: .85rem; color: var(--acmo-text-muted); } .acmo-collections { display: grid; gap: 1rem; }
.acmo-collection-card {
background: #fff;
border: 1px solid var(--acmo-border);
border-radius: var(--acmo-radius);
padding: 1.25rem;
box-shadow: var(--acmo-shadow);
}
.acmo-collection-card h3 { margin: 0 0 .25rem; color: var(--acmo-primary); }
.acmo-collection-card .acmo-meta { font-size: .85rem; color: var(--acmo-text-muted); margin-bottom: .5rem; } .acmo-modal {
border: 0;
border-radius: 10px;
padding: 0;
max-width: 720px;
width: 92%;
box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.acmo-modal::backdrop { background: rgba(0,0,0,.55); }
.acmo-modal-inner { padding: 0; }
.acmo-modal-inner header {
padding: 1rem 1.25rem;
border-bottom: 1px solid var(--acmo-border);
display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.acmo-modal-inner header h3 { margin: 0; color: var(--acmo-primary); font-size: 1.15rem; }
.acmo-modal-close {
background: transparent; border: 0; font-size: 1.8rem; cursor: pointer; color: var(--acmo-secondary);
min-width: 44px; min-height: 44px;
}
.acmo-modal-body { padding: 1.25rem; max-height: 65vh; overflow-y: auto; }
.acmo-modal-body h4 { color: var(--acmo-secondary); margin-top: 1rem; margin-bottom: .25rem; }
.acmo-modal-body p { margin: 0 0 .75rem; }
.acmo-modal-inner footer {
padding: 1rem 1.25rem;
border-top: 1px solid var(--acmo-border);
display: flex; justify-content: flex-end;
} .acmo-help { font-size: .85rem; color: var(--acmo-text-muted); } @media (prefers-reduced-motion: reduce) {
.acmo-btn, .acmo-card, .acmo-tab { transition: none !important; }
} @media print {
.acmo-filters, .acmo-view-switch, .acmo-selection-bar, .acmo-card-actions,
.acmo-pagination, .acmo-toolbar, .acmo-modal { display: none !important; }
.acmo-grid { grid-template-columns: 1fr; }
.acmo-card { break-inside: avoid; box-shadow: none; }
} .acmo-metodologia {
margin: 0 0 1.5rem;
border: 1px solid var(--acmo-border);
border-radius: var(--acmo-radius);
background: #f9f9f9;
font-size: .85rem;
color: var(--acmo-text-muted);
}
.acmo-metodologia details { padding: .6rem 1rem; }
.acmo-metodologia summary {
cursor: pointer;
font-weight: 600;
color: var(--acmo-primary);
list-style: none;
user-select: none;
}
.acmo-metodologia summary::-webkit-details-marker { display: none; }
.acmo-metodologia summary::before { content: '+ '; font-weight: 700; }
.acmo-metodologia details[open] summary::before { content: '− '; }
.acmo-metodologia p { margin: .6rem 0 0; line-height: 1.6; }  .acmo-view-btn--sportello {
border-left: 3px solid var(--acmo-primary);
font-weight: 600;
}
.acmo-view-btn--sportello.is-active {
background: var(--acmo-primary);
color: #fff;
} .acmo-dashboard.sportello-active .acmo-filters {
display: none;
}
.acmo-dashboard.sportello-active .acmo-main {
grid-column: 1 / -1;
} .acmo-sportello-header {
margin-bottom: 1.5rem;
padding-bottom: 1rem;
border-bottom: 2px solid var(--acmo-border);
}
.acmo-sportello-title {
font-size: 1.25rem;
font-weight: 700;
color: var(--acmo-primary);
margin: 0 0 .5rem;
}
.acmo-sportello-intro {
font-size: .95rem;
color: var(--acmo-text);
margin: 0 0 .75rem;
line-height: 1.6;
}
.acmo-sportello-avvertenza {
font-size: .82rem;
color: var(--acmo-text-muted);
background: #fdf8f0;
border-left: 3px solid #c8a96e;
padding: .5rem .75rem;
border-radius: 0 var(--acmo-radius) var(--acmo-radius) 0;
margin: 0;
line-height: 1.5;
} .acmo-sportello-grid {
display: flex;
flex-direction: column;
gap: .75rem;
} .acmo-scheda {
border: 1px solid var(--acmo-border);
border-radius: var(--acmo-radius);
background: #fff;
overflow: hidden;
transition: box-shadow .15s ease;
}
.acmo-scheda:hover {
box-shadow: 0 2px 8px rgba(0,0,0,.08);
} .acmo-scheda-summary {
display: flex;
align-items: center;
gap: .6rem;
padding: .85rem 1rem;
cursor: pointer;
list-style: none;
user-select: none;
background: #fafafa;
border-bottom: 1px solid transparent;
transition: background .12s ease;
}
.acmo-scheda-summary::-webkit-details-marker { display: none; }
.acmo-scheda-details[open] > .acmo-scheda-summary {
background: #f4f4f4;
border-bottom-color: var(--acmo-border);
}
.acmo-scheda-summary::before {
content: '▶';
font-size: .65rem;
color: var(--acmo-primary);
flex-shrink: 0;
transition: transform .2s ease;
}
.acmo-scheda-details[open] > .acmo-scheda-summary::before {
transform: rotate(90deg);
}
.acmo-scheda-ordine {
font-size: .8rem;
color: var(--acmo-text-muted);
font-weight: 600;
flex-shrink: 0;
}
.acmo-scheda-titolo {
font-weight: 600;
color: var(--acmo-text);
font-size: .95rem;
flex: 1;
} .acmo-badge {
display: inline-block;
font-size: .7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .03em;
padding: .15rem .45rem;
border-radius: 3px;
flex-shrink: 0;
white-space: nowrap;
}
.acmo-stato--consolidato  { background: #e6f4ea; color: #267300; border: 1px solid #b7dfbe; }
.acmo-stato--evoluzione   { background: #fff8e1; color: #8a6200; border: 1px solid #f0d980; }
.acmo-stato--contrastante { background: #fce8e8; color: #A71930; border: 1px solid #f5b8b8; }
.acmo-stato--aperta       { background: #e8f0fe; color: #1a56ab; border: 1px solid #b3c9f9; } .acmo-scheda-body {
padding: 1rem 1.1rem;
}
.acmo-scheda-section {
margin-bottom: 1rem;
padding-bottom: 1rem;
border-bottom: 1px solid var(--acmo-border);
}
.acmo-scheda-section:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
.acmo-scheda-section-title {
font-size: .78rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
color: var(--acmo-secondary);
margin: 0 0 .4rem;
display: flex;
align-items: center;
gap: .6rem;
}
.acmo-scheda-norma {
font-size: .87rem;
color: var(--acmo-text);
font-style: italic;
margin: 0;
}
.acmo-scheda-content {
font-size: .9rem;
line-height: 1.65;
color: var(--acmo-text);
}
.acmo-scheda-content p { margin: 0 0 .6rem; }
.acmo-scheda-content p:last-child { margin-bottom: 0; }
.acmo-scheda-content em { color: var(--acmo-text-muted); font-size: .85rem; } .acmo-scheda-section--cassazione .acmo-scheda-section-title::before {
content: '';
display: inline-block;
width: 3px;
height: 14px;
background: var(--acmo-primary);
border-radius: 2px;
} .acmo-scheda-section--merito .acmo-scheda-section-title::before {
content: '';
display: inline-block;
width: 3px;
height: 14px;
background: var(--acmo-secondary);
border-radius: 2px;
} .acmo-scheda-section--nota-rs {
background: #fdf9f4;
border-radius: calc(var(--acmo-radius) - 2px);
padding: .75rem;
margin-left: -.1rem;
border-left: 3px solid #c8a96e;
border-bottom: none;
}
.acmo-scheda-section--nota-rs .acmo-scheda-section-title {
color: #7a5c00;
}
.acmo-nota-rs {
font-size: .88rem;
}
.acmo-rs-firma {
font-size: .7rem;
font-weight: 400;
color: var(--acmo-text-muted);
font-style: italic;
text-transform: none;
letter-spacing: 0;
} .acmo-scheda-footer {
display: flex;
justify-content: flex-end;
margin-top: .5rem;
}
.acmo-scheda-data {
font-size: .75rem;
color: var(--acmo-text-muted);
} .acmo-sportello-empty {
padding: 2rem;
text-align: center;
color: var(--acmo-text-muted);
background: #f9f9f9;
border-radius: var(--acmo-radius);
border: 1px dashed var(--acmo-border);
} .acmo-badge.acmo-stato--consolidato,
.acmo-badge.acmo-stato--evoluzione,
.acmo-badge.acmo-stato--contrastante,
.acmo-badge.acmo-stato--aperta { } @media (max-width: 640px) {
.acmo-scheda-summary {
flex-wrap: wrap;
}
.acmo-scheda-titolo {
width: 100%;
order: 2;
}
.acmo-badge {
order: 3;
}
} .acmo-segnala {
margin: 1rem 0 1.5rem;
padding: .75rem 1rem;
border: 1px solid #d8d8da;
border-radius: 8px;
background: #f6f6f7;
}
.acmo-segnala summary {
cursor: pointer;
font-weight: 600;
color: var(--acmo-primary, #A71930);
}
.acmo-segnala .acmo-form { margin-top: .75rem; }
.acmo-segnala .acmo-banner { margin: .75rem 0; } .acmo-container {
--acmo-primary: #A71930;
--acmo-primary-dark: #7E1224;
--acmo-ink: #1C1B1F;
--acmo-ink-2: #3A3638;
--acmo-dark: #1F1A1C;
--acmo-paper: #F7F5F2;
--acmo-line: #E6E2DD;
--acmo-line-2: #CFC8C1;
--acmo-line-3: #EFEBE6;
--acmo-text: #1C1B1F;
--acmo-text-muted: #616365;
--acmo-border: #E6E2DD;
--acmo-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
--acmo-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
font-family: var(--acmo-font);
color: var(--acmo-ink);
}
.acmo-container h2, .acmo-container h3, .acmo-container h4 { font-family: var(--acmo-serif); color: var(--acmo-ink); }
.acmo-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.acmo-container :focus-visible { outline: 3px solid var(--acmo-primary); outline-offset: 2px; } .acmo-container .acmo-btn { min-height: 44px; border-radius: 8px; font: 600 14px var(--acmo-font); padding: 0 16px; }
.acmo-container .acmo-btn-primary { background: var(--acmo-primary); border-color: var(--acmo-primary); color: #fff; }
.acmo-container .acmo-btn-primary:hover { background: var(--acmo-primary-dark); border-color: var(--acmo-primary-dark); }
.acmo-container .acmo-btn-light { background: #fff; color: var(--acmo-primary); border: 0; }
.acmo-container .acmo-btn-light:hover { background: #F4D3D9; }
.acmo-container .acmo-btn-dark-outline { background: transparent; color: #fff; border: 1px solid #5A4E53; }
.acmo-container .acmo-btn-dark-outline:hover { border-color: #fff; }
.acmo-container .acmo-btn-block { width: 100%; }
.acmo-container .acmo-link-btn { background: none; border: 0; padding: 0; min-height: 44px; display: inline-flex; align-items: center; color: var(--acmo-primary); font: 600 14px var(--acmo-font); cursor: pointer; text-decoration: none; }
.acmo-container .acmo-link-btn:hover { color: var(--acmo-primary-dark); text-decoration: underline; } .acmo-dash { max-width: 1320px; margin: 0 auto; }
.acmo-dash-top { background: var(--acmo-dark); color: #fff; border-radius: 12px 12px 0 0; padding: 16px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; }
.acmo-dash-top__brand { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.acmo-container .acmo-dash-top__title { margin: 0; font-family: var(--acmo-font); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: #E8B4BE; }
.acmo-dash-top__user { margin: 0; color: #D9D4D6; font-size: 15px; }
.acmo-dash-top__actions { display: flex; align-items: center; gap: 16px; font-size: 14px; }
.acmo-dash-top__btn { min-height: 40px; padding: 0 14px; border-radius: 6px; border: 1px solid #5A4E53; background: transparent; color: #fff; font: 500 14px var(--acmo-font); cursor: pointer; }
.acmo-dash-top__btn:hover { border-color: #fff; }
.acmo-container .acmo-link-logout { color: #BDB6B9; text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }
.acmo-container .acmo-link-logout:hover { color: #fff; }
.acmo-dash-searchbar { background: #fff; border: 1px solid var(--acmo-line); border-top: 0; padding: 20px 24px 0; display: flex; gap: 0; }
.acmo-dash-searchbar input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 18px; border: 1px solid var(--acmo-line-2); border-right: 0; border-radius: 8px 0 0 8px; font: 16px var(--acmo-font); color: var(--acmo-ink); }
.acmo-container .acmo-dash-searchbar .acmo-btn { height: 52px; border-radius: 0 8px 8px 0; padding: 0 26px; font-size: 16px; }
.acmo-container .acmo-view-switch { background: #fff; border: 1px solid var(--acmo-line); border-top: 0; padding: 12px 24px 0; display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 28px; border-radius: 0 0 12px 12px; }
.acmo-container .acmo-view-btn { min-height: 48px; padding: 0 18px; border: 0; background: transparent; border-radius: 0; color: var(--acmo-ink-2); font: 500 15px var(--acmo-font); cursor: pointer; box-shadow: none; }
.acmo-container .acmo-view-btn.is-active { color: var(--acmo-primary); font-weight: 600; box-shadow: inset 0 -3px 0 var(--acmo-primary); background: transparent; }
.acmo-container .acmo-view-btn--sportello { border-left: 0; } .acmo-container .acmo-grid { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.acmo-container .acmo-filters { flex: 1 1 270px; max-width: 320px; min-width: 0; background: #fff; border: 1px solid var(--acmo-line); border-radius: 12px; padding: 22px; position: static; }
.acmo-container .acmo-main { flex: 999 1 600px; min-width: 0; }
.acmo-filters__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.acmo-container .acmo-filters__title { margin: 0; font: 600 16px var(--acmo-font); }
.acmo-container .acmo-filters .acmo-field { margin: 0 0 20px; border: 0; padding: 0; }
.acmo-container .acmo-filters .acmo-field > span,
.acmo-container .acmo-filters legend { display: block; margin-bottom: 10px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #616365; font-weight: 600; padding: 0; }
.acmo-container .acmo-filters select,
.acmo-container .acmo-filters input[type="number"] { width: 100%; height: 44px; border: 1px solid var(--acmo-line-2); border-radius: 8px; padding: 0 12px; font: 15px var(--acmo-font); background: #fff; color: var(--acmo-ink); }
.acmo-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.acmo-two label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: #616365; min-width: 0; }
.acmo-container .acmo-two input[type="number"] { min-width: 0; width: 100%; }
.acmo-container .acmo-check { display: flex; gap: 10px; align-items: center; min-height: 36px; font-size: 15px; color: var(--acmo-ink); cursor: pointer; }
.acmo-container .acmo-check input { width: 18px; height: 18px; accent-color: var(--acmo-primary); flex: none; }
.acmo-container .acmo-check--strong { margin: 0 0 18px; }
.acmo-art-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.acmo-art-chip { min-height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--acmo-line-2); background: #fff; color: var(--acmo-ink); font: 600 13px var(--acmo-font); cursor: pointer; }
.acmo-art-chip:hover { border-color: var(--acmo-ink); }
.acmo-art-chip[aria-pressed="true"] { background: var(--acmo-primary); border-color: var(--acmo-primary); color: #fff; }
.acmo-container .acmo-tag-cloud { display: flex; flex-wrap: wrap; gap: 6px; max-height: 220px; overflow-y: auto; }
.acmo-container .acmo-tag-chip { min-height: 32px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--acmo-line-2); background: #fff; color: var(--acmo-ink-2); font: 13px var(--acmo-font); cursor: pointer; }
.acmo-container .acmo-tag-chip.is-active { background: var(--acmo-dark); border-color: var(--acmo-dark); color: #fff; } .acmo-results-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.acmo-container .acmo-results-meta { margin: 0; font-size: 15px; color: var(--acmo-ink-2); font-weight: 600; }
.acmo-sort { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #616365; }
.acmo-sort select { height: 40px; border: 1px solid var(--acmo-line-2); border-radius: 8px; padding: 0 10px; font: 14px var(--acmo-font); background: #fff; color: var(--acmo-ink); }
.acmo-container .acmo-selection-bar { position: sticky; top: 12px; z-index: 5; background: var(--acmo-dark); color: #fff; border-radius: 10px; padding: 10px 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 16px; border: 0; }
.acmo-container .acmo-selection-bar[hidden] { display: none; }
.acmo-selection-bar__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.acmo-container .acmo-results-list { display: flex; flex-direction: column; gap: 18px; }
.acmo-container .acmo-card { background: #fff; border: 1px solid var(--acmo-line); border-left: 1px solid var(--acmo-line); border-radius: 12px; padding: 22px 26px; display: flex; flex-direction: column; gap: 12px; box-shadow: none; }
.acmo-container .acmo-card.is-selected { border-color: var(--acmo-primary); box-shadow: 0 0 0 1px var(--acmo-primary); }
.acmo-container .acmo-card-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin: 0; }
.acmo-card-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.acmo-container .acmo-badge { display: inline-block; font-size: 12px; font-weight: 600; line-height: 1.3; padding: 5px 10px; border-radius: 4px; }
.acmo-container .acmo-badge--ufficio { color: #fff; background: var(--acmo-dark); letter-spacing: .06em; text-transform: uppercase; }
.acmo-container .acmo-badge--ante { color: #4A3F00; background: #F3E7B3; }
.acmo-container .acmo-badge--post { color: #0E3B5C; background: #D5E6F3; }
.acmo-container .acmo-badge--verified { color: var(--acmo-ink); background: #fff; border: 1px solid var(--acmo-line-2); }
.acmo-card-ril { font-size: 13px; color: #616365; }
.acmo-container .acmo-card-meta { margin: 0; font-size: 14px; color: #616365; }
.acmo-container .acmo-card-title { margin: 0; font-family: var(--acmo-serif); font-size: 22px; line-height: 1.3; font-weight: 600; }
.acmo-container .acmo-card-massima { margin: 0; font-family: var(--acmo-serif); font-size: 17px; line-height: 1.6; color: var(--acmo-ink); }
.acmo-card-fatto { background: var(--acmo-paper); border-radius: 8px; padding: 14px 18px; display: flex; flex-direction: column; gap: 6px; }
.acmo-card-fatto__label { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--acmo-primary); font-weight: 600; }
.acmo-card-fatto p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--acmo-ink-2); }
.acmo-card-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; padding-top: 8px; border-top: 1px solid var(--acmo-line-3); }
.acmo-card-art { font-size: 13px; font-weight: 600; color: var(--acmo-primary); }
.acmo-container .acmo-card-actions { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; } .acmo-container .acmo-timeline { background: #fff; border: 1px solid var(--acmo-line); border-radius: 12px; padding: 28px 30px; }
.acmo-tl-row { display: grid; grid-template-columns: 80px 20px minmax(0, 1fr); gap: 16px; }
.acmo-tl-year { font-family: var(--acmo-serif); font-size: 22px; font-weight: 600; color: var(--acmo-primary); text-align: right; padding-top: 2px; }
.acmo-tl-dot { display: flex; flex-direction: column; align-items: center; }
.acmo-tl-dot::before { content: ""; width: 12px; height: 12px; border-radius: 999px; background: var(--acmo-primary); margin-top: 9px; flex: none; }
.acmo-tl-dot span { width: 2px; flex: 1 1 auto; background: var(--acmo-line); min-height: 40px; }
.acmo-tl-body { padding-bottom: 26px; }
.acmo-tl-count { margin: 4px 0 8px; font-size: 14px; color: #616365; }
.acmo-tl-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.acmo-tl-item { width: 100%; text-align: left; background: none; border: 0; border-radius: 8px; padding: 8px 10px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; min-height: 44px; }
.acmo-tl-item:hover { background: var(--acmo-paper); }
.acmo-tl-item__e { font-size: 13px; color: #616365; }
.acmo-tl-item__t { font-family: var(--acmo-serif); font-size: 17px; color: var(--acmo-ink); } .acmo-container .acmo-collections { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.acmo-container .acmo-collection-card { background: #fff; border: 1px solid var(--acmo-line); border-radius: 12px; padding: 22px; }
.acmo-container .acmo-collection-card h3 { margin: 0 0 6px; font-size: 21px; }
.acmo-container .acmo-scheda { border: 1px solid var(--acmo-line); border-left: 1px solid var(--acmo-line); border-radius: 12px; background: #fff; }
.acmo-container .acmo-scheda-titolo { font-family: var(--acmo-serif); font-size: 19px; }
.acmo-container .acmo-scheda-ordine { font-family: var(--acmo-serif); color: var(--acmo-primary); } .acmo-container .acmo-modal { border: 0; border-radius: 14px; padding: 0; max-width: 760px; width: calc(100% - 32px); }
.acmo-container .acmo-modal::backdrop { background: rgba(31, 26, 28, .55); }
.acmo-container .acmo-modal-inner header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 22px 26px 0; }
.acmo-container .acmo-modal-inner h3 { margin: 0; font-size: 24px; line-height: 1.25; }
.acmo-container .acmo-modal-close { min-width: 44px; min-height: 44px; border: 0; background: var(--acmo-paper); border-radius: 8px; font-size: 22px; cursor: pointer; }
.acmo-container .acmo-modal-body { padding: 14px 26px 26px; }
.acmo-container .acmo-modal-body h4 { margin: 20px 0 6px; font-family: var(--acmo-font); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--acmo-primary); }
.acmo-container .acmo-modal-massima { font-family: var(--acmo-serif); font-size: 18px; line-height: 1.6; }
.acmo-dash-segnala { margin-top: 32px; } .acmo-container .acmo-auth-wrap { font-family: var(--acmo-font); }
.acmo-container .acmo-auth-header h2 { font-family: var(--acmo-serif); font-size: clamp(28px, 3.4vw, 40px); line-height: 1.12; }
.acmo-container .acmo-form input[type="text"],
.acmo-container .acmo-form input[type="email"],
.acmo-container .acmo-form select { min-height: 48px; border: 1px solid var(--acmo-line-2); border-radius: 8px; font: 16px var(--acmo-font); }
@media (max-width: 760px) {
.acmo-container .acmo-filters { max-width: none; flex-basis: 100%; }
.acmo-dash-top, .acmo-dash-searchbar, .acmo-container .acmo-view-switch { padding-left: 16px; padding-right: 16px; }
.acmo-tl-row { grid-template-columns: 56px 16px minmax(0, 1fr); gap: 10px; }
.acmo-container .acmo-card { padding: 18px; }
}
.acmo-container .acmo-dash *, .acmo-container .acmo-dash *::before, .acmo-container .acmo-dash *::after { box-sizing: border-box; }
.acmo-container .acmo-filters .acmo-two input[type="number"] { width: 100%; min-width: 0; margin: 0; }
.acmo-container .acmo-timeline { border-left: 1px solid var(--acmo-line); }
.acmo-container .acmo-timeline::before { display: none; }