/* Area operatore: stessi token di Terra Nota, stato solo in memoria. */
.operator-page-frame { width:min(1240px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:0; border:1px solid var(--line); background:var(--bg); color:var(--ink); box-shadow:var(--frame-shadow); font:14px/1.6 var(--sans); -webkit-user-select:text; user-select:text; }
.operator-page-frame::backdrop { background:var(--bar-bg); opacity:.9; }
.op-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; border-bottom:1px solid var(--line); }
.op-header h2 { font:500 26px var(--serif); max-width:none; margin:0; }
.op-header p { color:var(--muted); font-size:11px; }
.op-disclaimer { margin:0; padding:10px 24px; background:var(--surface); color:var(--muted); font-size:11px; border-bottom:1px solid var(--line); }
.op-login { max-width:640px; margin:0 auto; padding:40px 32px; }
.operator-page-frame h3 { font:500 clamp(25px,3vw,36px) var(--serif); margin:10px 0 20px; }
.op-login>p { margin:16px 0; }
.op-login-identity { border:1px solid var(--line); padding:18px; margin:24px 0; display:flex; flex-direction:column; }
.op-login-identity span { color:var(--muted); font-size:12px; }
.op-layout { display:grid; grid-template-columns:210px minmax(0,1fr); height:min(720px,calc(100dvh - 180px)); min-height:300px; }
.op-nav { padding:24px 16px; border-right:1px solid var(--line); background:var(--side); overflow:auto; }
.op-nav>button { display:flex; gap:12px; width:100%; text-align:left; padding:13px 10px; min-height:44px; color:var(--ink); font:600 13px var(--sans); background:none; border:1px solid transparent; cursor:pointer; margin-top:5px; }
.op-nav>button span { color:var(--muted); font-size:11px; }
.op-nav>button[aria-current] { background:var(--bg); border-color:var(--line); border-left:3px solid var(--primary); }
.op-user { display:flex; flex-direction:column; gap:8px; margin-top:32px; padding-top:16px; border-top:1px solid var(--line); font-size:12px; }
.op-user>span { color:var(--muted); }
.op-user button { padding:10px 0; min-height:40px; text-align:left; border:0; color:var(--accent); background:none; text-decoration:underline; font:12px var(--sans); cursor:pointer; }
.op-main { overflow:auto; min-width:0; padding:28px; }
.op-intro { color:var(--muted); max-width:75ch; margin-bottom:24px; }
.op-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.op-metrics>div { padding:20px; background:var(--surface); border:1px solid var(--line); }
.op-metrics strong { display:block; font:500 38px var(--serif); margin-bottom:8px; }
.op-metrics span { color:var(--muted); font-size:12px; }
.op-two { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.op-card { padding:22px; border:1px solid var(--line); background:var(--surface); min-width:0; }
.op-card h4,.op-task h4 { font:500 23px var(--serif); margin:0 0 14px; }
.op-card p { margin:12px 0; }
.op-card .demo-primary { margin-top:12px; }
.op-card blockquote { margin:16px 0; padding-left:14px; border-left:2px solid var(--line); color:var(--muted); font-size:13px; }
.op-note { padding:14px; background:var(--surface); border-left:3px solid var(--line); font-size:12px; color:var(--muted); line-height:1.7; margin:16px 0; }
.op-badge { display:inline-block; padding:5px 9px; border:1px solid var(--line); background:var(--bg); color:var(--accent); font-size:11px; }
.op-feedback { color:var(--accent); font-size:13px; }
.op-feedback:not(:empty) { padding:12px 0 20px; }
.op-log { padding-left:20px; font-size:12px; }
.op-log li { margin-bottom:14px; }
.op-log small { display:block; color:var(--muted); }
.op-filter { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.op-filter select { padding:10px; color:var(--ink); background:var(--bg); border:1px solid var(--line); font:13px var(--sans); }
.op-task { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }
.op-task p { color:var(--muted); margin-bottom:12px; }
.op-task .demo-primary { flex-shrink:0; }
.op-context { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-bottom:24px; color:var(--muted); font-size:12px; }
.op-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.op-form legend { font-weight:600; margin-bottom:14px; }
.op-form label:not(.op-radio) { display:block; font-weight:600; margin:14px 0 6px; font-size:12px; }
.op-form input:not([type=radio]),.op-form textarea,.op-form select { width:100%; min-width:0; border:1px solid var(--line); background:var(--bg); color:var(--ink); padding:12px; font:14px/1.5 var(--sans); }
.op-form textarea { resize:vertical; }
.op-form .demo-primary { margin-top:18px; }
.op-form fieldset:disabled { opacity:.7; }
.op-review { margin-top:28px; }
.op-radio { display:flex; align-items:flex-start; gap:10px; margin:16px 0; }
.op-radio input { margin-top:6px; accent-color:var(--accent); }
.op-source h4 { font-size:38px; }
.op-source details { border-top:1px solid var(--line); margin-top:18px; padding-top:12px; }
.op-source summary { cursor:pointer; color:var(--accent); padding:8px 0; }
.operator-page-frame :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.operator-page-frame button:disabled { opacity:.5; cursor:default; }
@media(max-width:760px) {
 .op-header { flex-wrap:wrap; padding:16px; gap:12px; }
 .op-disclaimer { padding:10px 16px; }
 .op-layout { display:block; height:auto; }
 .op-nav { border-right:0; border-bottom:1px solid var(--line); display:flex; gap:6px; flex-wrap:wrap; padding:12px; overflow:visible; }
 .op-nav>p { flex-basis:100%; }
 .op-nav>button { width:auto; flex:1 1 40%; margin:0; }
 .op-user { flex-basis:100%; margin:12px 0 0; display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px; padding-top:10px; }
 .op-main { padding:24px 16px; overflow:visible; }
 .op-two { grid-template-columns:1fr; }
 .op-metrics { grid-template-columns:1fr; }
 .op-metrics>div { display:flex; align-items:center; gap:20px; padding:14px; }
 .op-metrics strong { margin:0; }
 .op-task { flex-direction:column; align-items:flex-start; }
 .op-login { padding:28px 18px; }
}

/* Pagina autonoma: scorrimento naturale, nessun contenitore modale. */
body.operator-page { display:block; height:auto; min-height:100svh; overflow:auto; }
.operator-page-frame { width:100%; max-height:none; border:0; box-shadow:none; }
.operator-page-frame .op-layout { height:auto; min-height:calc(100svh - 146px); align-items:start; }
.operator-page-frame .op-main { overflow:visible; max-width:1300px; width:100%; }
.operator-page-frame .op-nav { position:sticky; top:0; max-height:100dvh; min-height:calc(100svh - 146px); }
.op-header-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.op-header-actions a { text-decoration:none; }
@media(max-width:760px) {
 .operator-page-frame .op-nav { position:static; min-height:0; max-height:none; }
}

.op-mobile-navigation { display:none; }
.op-account { margin-top:28px; padding-top:12px; border-top:1px solid var(--line); }
.op-account summary { min-height:44px; padding:12px 0; color:var(--muted); font-size:12px; cursor:pointer; }
.op-account .op-user { margin:0; padding-top:8px; border:0; }
.op-form input:not([type=radio]),.op-form select { min-height:44px; }
@media(max-width:760px) {
 .op-header { padding:16px; }
 .op-header-actions { width:100%; }
 .op-header-actions a { flex:1; text-align:center; font-size:12px; }
 .operator-page-frame .op-nav { padding:12px 16px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; }
 .op-nav>p,.op-nav>button { display:none; }
 .op-mobile-navigation { display:flex; flex-direction:column; gap:5px; min-width:0; font:600 10px var(--sans); color:var(--muted); }
 .op-mobile-navigation select { width:100%; min-height:44px; min-width:0; padding:10px; color:var(--ink); background:var(--bg); border:1px solid var(--line); font:14px var(--sans); }
 .op-account { margin:0; padding:0; border:0; max-width:130px; }
 .op-account summary { font-size:11px; }
 .op-account[open] { grid-column:1/-1; max-width:none; }
 .op-account .op-user { flex-direction:column; align-items:flex-start; }
 .op-main { padding-top:20px; }
 .op-main h3 { font-size:29px; line-height:1.2; }
 .op-card { padding:18px; }
 .op-task .demo-primary { width:100%; }
 .op-form input:not([type=radio]),.op-form textarea,.op-form select { font-size:16px; }
}

.op-current-version { border-left:3px solid var(--primary); margin:22px 0; }
.op-current-version h4 { margin:12px 0; font-size:30px; }
.op-version-meta { font-size:12px; color:var(--muted); margin:14px 0; }
.op-version-section { border-top:1px solid var(--line); padding-top:24px; margin-top:28px; }
.op-version-section>h4 { font:500 26px var(--serif); margin:0 0 16px; }
.op-compare-selects { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.op-compare-selects label { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:600; min-width:0; }
.op-compare-selects select { width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid var(--line); color:var(--ink); background:var(--bg); font:14px var(--sans); }
.op-version-table { overflow:auto; border:1px solid var(--line); margin:16px 0; }
.op-version-table table { width:100%; border-collapse:collapse; font-size:12px; }
.op-version-table caption { text-align:left; padding:12px; color:var(--muted); }
.op-version-table th,.op-version-table td { padding:12px; border-top:1px solid var(--line); text-align:left; }
.op-version-table tbody th { font-weight:400; overflow-wrap:anywhere; min-width:130px; }
.op-version-history { list-style:none; padding:0; }
.op-version-history>li { padding:22px 0; border-bottom:1px solid var(--line); }
.op-version-heading { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.op-version-heading time { color:var(--muted); font-size:12px; }
.op-version-history h5 { margin:12px 0; font:500 21px var(--serif); }
.op-version-history summary { color:var(--accent); cursor:pointer; padding:12px 0; font-size:13px; }
@media(max-width:760px) {
 .op-compare-selects { grid-template-columns:1fr; }
 .op-compare-selects select { font-size:16px; }
}

.arpa-real-label { border-left:3px solid var(--accent); background:var(--surface); padding:12px 16px; margin-bottom:18px; font-weight:600; }
.arpa-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.arpa-actions a { text-decoration:none; }
.arpa-connection { font-size:13px; margin:16px 0; color:var(--accent); }
.arpa-provenance { padding:16px; border:1px solid var(--line); margin:20px 0; }
.arpa-provenance summary { color:var(--accent); cursor:pointer; font-weight:600; padding:8px 0; }
.arpa-provenance a { color:var(--accent); }
.arpa-hash { font-size:11px; color:var(--muted); overflow-wrap:anywhere; }
.arpa-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:end; margin:24px 0 16px; }
.arpa-filters label { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:600; min-width:0; }
.arpa-filters select { width:100%; min-width:0; min-height:44px; padding:10px; color:var(--ink); background:var(--bg); border:1px solid var(--line); font:14px var(--sans); }
#arpa-count { font-size:12px; color:var(--muted); }
#arpa-table small { display:block; margin-top:6px; color:var(--muted); }
.arpa-filters button { grid-column:1/-1; justify-self:start; }
@media(max-width:760px) {
 .arpa-filters { grid-template-columns:1fr; }
 .arpa-filters select { font-size:16px; }
 #arpa-data .op-metrics strong { font-size:27px; }
}

/* Soglie sperimentali: testo e simbolo accompagnano sempre il colore. */
.arpa-status{display:inline-block;padding:.3rem .55rem;border:1px solid currentColor;border-radius:4px;font-size:.8rem;font-weight:600;margin:.15rem 0}
.arpa-status-below{color:#226644;background:#e5f3e9}.arpa-status-below::before{content:"↓ ";}
.arpa-status-equal{color:#765500;background:#fff2c6}.arpa-status-equal::before{content:"= ";}
.arpa-status-above{color:#9a2633;background:#fde8eb}.arpa-status-above::before{content:"↑ ";}
.arpa-status-unknown{color:var(--text-muted,#666);background:var(--surface)}.arpa-status-unknown::before{content:"— ";}
.arpa-comparison{min-width:220px;max-width:320px}.arpa-comparison small{display:block;margin-top:.4rem;line-height:1.5;font-weight:400}
