/* I CSS di enerdata, copiati dall'app da schermate.py: non modificare qui. */

/* ---- static/fonts.css ---- */
/* The characters of enerdata, the same as the site (website/v2): Inter for
   the text, Space Grotesk for titles, labels and buttons. Served from here,
   not from Google: every browser on every system shows the same, and nobody's
   address goes to a third party. Licenses: fonts/LICENSE-*.txt (OFL). */
/* the text and the titles: the pages use these two, never a name */
:root{--ed-font:Inter,"Segoe UI",Arial,sans-serif;--ed-titoli:"Space Grotesk",Inter,"Segoe UI",sans-serif}

/* ---- templates/base.html ---- */
/* the characters of the site (static/fonts.css): Inter the text, Space Grotesk the titles */
    :root{--tblr-font-sans-serif:var(--ed-font);--tblr-body-font-family:var(--ed-font);--tblr-font-monospace:var(--ed-font)}
    /* ============ enerdata chrome (mockup 5 — full bleed) ============ */
    *,*::before,*::after{box-sizing:border-box}
    html,body{height:100%;margin:0}
    body.ed-app{font:13px/1.45 var(--ed-font);background:var(--dk-ground, #f4f6f9);color:var(--dk-text, #252b33);display:flex;flex-direction:column;overflow:hidden}
    a{color:inherit}

    /* ---- Top bar (navy 48px) ---- */
    /* PALETTE NAV — primario blu navy, secondario azzurro cielo */
    .ed-top{background:#0f2350;color:#fff;display:flex;align-items:stretch;padding:0 18px 0 8px;flex-shrink:0;height:48px;border-bottom:1px solid #0a1838}
    .ed-brand{display:flex;align-items:center;gap:9px;padding:0 10px 0 0;border-right:1px solid #29406b}
    .ed-brand a{display:flex;align-items:center;color:#fff;text-decoration:none}
    .ed-brand img{width:120px;height:auto;display:block}
    /* a trial (metering/portal.demo_expiration_date): in the footer, next to the version */
    .ed-demo{font-family:var(--ed-titoli);font-size:10px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;
      color:#0f2350;background:#ffd43b;border-radius:3px;padding:1px 6px;line-height:15px;cursor:default}
    .ed-demo.late{background:#ff8787;color:#3b0a0a}
    /* the user's language and format, in the menu at the top right */
    .ed-prefs form{display:flex;flex-direction:column;gap:6px;padding:4px 14px 6px;min-width:250px}
    .ed-prefs label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--dk-muted, #667085);margin:0}
    .ed-prefs label span{display:flex;align-items:center;gap:5px}
    .ed-prefs select{font-size:12.5px;padding:3px 6px;border:1px solid var(--dk-line, #d0d5dd);border-radius:4px;
      background:var(--dk-surface, #fff);color:var(--dk-text, #16202e)}
    .ed-tabs{display:flex}
    .ed-tab{padding:0 18px;display:flex;align-items:center;gap:6px;color:#aebfdc;font-family:var(--ed-titoli);font-size:13.5px;letter-spacing:.01em;border-bottom:3px solid transparent;text-decoration:none;line-height:45px;cursor:pointer}
    .ed-tab:hover{color:#fff;background:rgba(77,171,247,.10)}
    /* Tabler sottolinea ogni link in hover. Su una voce di menu la riga non
       aggiunge nulla — il passaggio lo dicono gia' colore e sfondo — e
       comparendo e sparendo fa ballare la barra. */
    .ed-tab:hover,.ed-tab:focus,
    .ed-drop a:hover,.ed-drop a:focus,
    .ed-subnav .s:hover,.ed-subnav .s:focus,
    .ed-crumbs a:hover,.ed-status a:hover,
    .ed-btn:hover,.ed-top-export:hover{text-decoration:none}
    .ed-tab.active{color:#fff;border-bottom-color:#4dabf7;background:rgba(77,171,247,.16);font-weight:500}
    .ed-tab i{font-size:15px}
    /* ---- voci con sottomenu ----
       Si apre al passaggio del mouse, senza JavaScript: una tendina che ha
       bisogno di uno script per aprirsi e' una tendina che smette di
       funzionare quando lo script non carica. Il `padding-bottom` sulla voce
       tiene il mouse dentro mentre scende verso il menu, altrimenti si
       chiuderebbe nel varco fra i due. */
    .ed-tab-drop{position:relative;display:flex}
    button.ed-tab{background:none;border:0;font:inherit;cursor:default}
    .ed-caret{font-size:12px !important;margin-left:3px;opacity:.7}
    .ed-drop{display:none;position:absolute;top:100%;left:0;z-index:100;
             background:var(--dk-surface, #fff);border:1px solid var(--dk-line, #e3e6eb);border-top:0;
             border-radius:0 0 2px 2px;box-shadow:0 8px 20px rgba(15,35,80,.16);
             min-width:180px;padding:5px 0}
    .ed-tab-drop:hover .ed-drop,.ed-tab-drop:focus-within .ed-drop{display:block}
    .ed-drop a{display:block;padding:8px 16px;color:var(--dk-text, #252b33);font-size:13px;
               text-decoration:none;line-height:1.3}
    .ed-drop a:hover{background:var(--dk-subtle, #f1f5f9);color:var(--dk-link, #206bc4)}
    .ed-top .right{margin-left:auto;display:flex;align-items:center;gap:12px}
    .ed-search{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:5px 10px;border-radius:2px;display:flex;align-items:center;gap:6px;min-width:260px;height:32px;align-self:center}
    .ed-search input{background:transparent;border:0;outline:0;color:#fff;font-size:13px;width:100%}
    .ed-search input::placeholder{color:var(--dk-faint, #a8b4c4)}
    .ed-top .right .ic{color:var(--dk-faint, #a8b4c4);cursor:pointer;font-size:17px;text-decoration:none;align-self:center}
    .ed-top .right .ic:hover{color:#fff}
    /* Aggiorna: the arrows turn while the page comes */
    .ed-top .right #ed-refresh.spin i{display:inline-block;animation:ed-spin .8s linear infinite}
    @keyframes ed-spin{to{transform:rotate(360deg)}}
    .ed-av{width:30px;height:30px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700;text-decoration:none;align-self:center}
    .ed-user{padding:6px 16px 4px;min-width:230px;display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--dk-muted, #5a6478);white-space:nowrap}
    .ed-user b{font-size:14px;color:var(--dk-text, #0f2350);margin-bottom:2px}
    .ed-user span{display:flex;align-items:center;gap:6px}
    .ed-user i{font-size:14px;color:var(--dk-faint, #9aa3b2)}

    /* ---- Sub-tabs (white 40px) ---- */
    .ed-subnav{background:var(--dk-surface, #fff);border-bottom:1px solid var(--dk-line, #e3e6eb);padding:0 22px;display:flex;align-items:stretch;flex-shrink:0;font-size:13px;height:40px}
    .ed-subnav .s{padding:0 14px;display:flex;align-items:center;color:var(--dk-muted, #5a6478);text-decoration:none;border-bottom:2px solid transparent;cursor:pointer}
    .ed-subnav .s:hover{color:var(--dk-text, #0f2350)}
    .ed-subnav .s.active{color:var(--dk-text, #0f2350);border-bottom-color:#4dabf7;font-weight:600}
    .ed-subnav .s .b{background:var(--dk-tint-red, #fee2e2);color:var(--dk-red, #991b1b);font-size:10px;padding:1px 6px;border-radius:2px;margin-left:5px;font-weight:600}
    .ed-subnav .right{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--dk-muted, #5a6478);font-size:12px}
    .ed-subnav .right .dot{width:7px;height:7px;background:#0ca678;border-radius:50%;display:inline-block;margin-right:4px}

    /* ---- Main area (flex 1 between sub and status) ---- */
    .ed-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--dk-ground, #f4f6f9);position:relative}
    /* Caricamento (edLoading): a filter, a page, a period, a view is a new
       page; until it comes the one shown stays under a veil, with a spinner.
       It shows after a moment: a page that comes at once does not flash */
    .ed-veil{position:absolute;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;
      background:rgba(244,246,249,.6);cursor:progress;animation:ed-veil-in .2s ease .15s both}
    [data-theme="dark"] .ed-veil{background:rgba(15,23,42,.55)}
    .ed-veil span{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:2px;
      background:var(--dk-surface, #fff);box-shadow:0 6px 24px rgba(16,24,40,.16);font:600 13px var(--ed-font);color:var(--dk-text, #16202e)}
    .ed-veil i{width:16px;height:16px;border:2px solid var(--dk-line-strong, #cbd5e1);border-top-color:#206bc4;border-radius:50%;
      animation:ed-spin .7s linear infinite}
    @keyframes ed-veil-in{from{opacity:0}to{opacity:1}}

    /* ---- Statusbar (24px) ---- */
    .ed-status{background:#182433;color:var(--dk-faint, #a8b4c4);padding:0 18px;font-size:11px;display:flex;align-items:center;gap:18px;flex-shrink:0;height:26px}
    .ed-status .dot{width:7px;height:7px;background:#0ca678;border-radius:50%;display:inline-block;margin-right:6px}
    .ed-status .srv-status{display:inline-flex;align-items:center;cursor:pointer;color:var(--dk-faint, #cdd6e3)}
    .ed-status .srv-status:hover{color:#fff}
    .ed-status{justify-content:center}
    .ed-status .legal{color:var(--dk-faint, #7d8aa3)}
    .ed-status .sep{color:var(--dk-muted, #3a4a5e)}
    .ed-status{gap:14px}

    /* ---- Page bar (page title + actions) — opzionale per pagina ---- */
    .ed-pagebar{background:var(--dk-surface, #fff);border-bottom:1px solid var(--dk-line, #e3e6eb);padding:11px 22px;display:flex;align-items:center;gap:14px;flex-shrink:0}
    .ed-crumbs{font-size:12px;color:var(--dk-muted, #5a6478)}
    .ed-crumbs a{color:var(--dk-link, #206bc4);text-decoration:none}
    .ed-crumbs .sep{margin:0 6px;color:var(--dk-faint, #b7bfca)}
    .ed-pagebar h1{margin:0;font:500 17px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;color:var(--dk-text, #252b33)}
    .ed-pagebar .actions{margin-left:auto;display:flex;gap:6px}

    /* ---- Buttons (custom, coerenti col mockup 5) ---- */
    .ed-btn{font-family:var(--ed-titoli);font-weight:500;letter-spacing:.01em;padding:6px 12px;border:1px solid var(--dk-line-strong, #cbd5e1);background:var(--dk-surface, #fff);border-radius:2px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;color:var(--dk-text, #252b33);text-decoration:none;font-family:inherit}
    .ed-btn:hover{background:var(--dk-subtle, #f1f5f9);color:var(--dk-text, #252b33)}
    .ed-btn.primary{background:#206bc4;color:#fff;border-color:#206bc4}
    .ed-btn.primary:hover{background:#1864ab;color:#fff}
    .ed-btn.danger{background:var(--dk-surface, #fff);color:var(--dk-red, #a82334);border-color:#f8cfd5}
    .ed-btn.danger:hover{background:var(--dk-tint-red, #f8cfd5)}
    .ed-btn.sm{padding:3px 9px;font-size:11px}

    /* KPI strip */
    .ed-kpis{display:grid;gap:1px;background:var(--dk-subtle, #e3e6eb);border-bottom:1px solid var(--dk-line, #e3e6eb);flex-shrink:0}
    .ed-kpi{background:var(--dk-surface, #fff);padding:14px 18px}
    .ed-kpi .lbl{font-family:var(--ed-titoli);font-size:11px;color:var(--dk-muted, #5a6478);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:5px}
    .ed-kpi .lbl i{font-size:13px;color:var(--dk-faint, #8b95a3)}
    .ed-kpi .val{font:700 24px var(--ed-font);color:var(--dk-text, #252b33);font-variant-numeric:tabular-nums;margin-top:5px;line-height:1.1}
    .ed-kpi.ok .val{color:var(--dk-green, #0f5132)}
    .ed-kpi.warn .val{color:var(--dk-amber, #b8770b)}
    .ed-kpi.err .val{color:var(--dk-red, #a82334)}
    .ed-kpi.info .val{color:var(--dk-link, #206bc4)}
    .ed-kpi .delta{font-size:11px;color:var(--dk-muted, #5a6478);margin-top:3px}
    .ed-kpi .delta .up{color:#0ca678}
    .ed-kpi .delta .down{color:var(--dk-red, #d63939)}

    /* Pills */
    .pill{display:inline-block;padding:1px 8px;border-radius:2px;font-size:11px;font-weight:500}
    .pill.ok{background:var(--dk-tint-green, #d1f3da);color:var(--dk-green, #0f5132)}
    .pill.warn{background:var(--dk-tint-amber, #fde9c5);color:var(--dk-amber, #664208)}
    .pill.err{background:var(--dk-tint-red, #f8cfd5);color:var(--dk-red, #5a141d)}
    .pill.neut{background:var(--dk-subtle, #e7eaf0);color:var(--dk-muted, #3d4451)}

    .mono{font-family:var(--ed-font);font-size:11px;color:var(--dk-text, #252b33)}

    /* Helpers */
    .num{text-align:right;font-variant-numeric:tabular-nums}

    /* Flash messages */
    .ed-flash{padding:8px 22px;background:var(--dk-surface, #fff);border-bottom:1px solid var(--dk-line, #e3e6eb);flex-shrink:0}
    .ed-flash .alert{margin:0}
    .ed-payment{display:flex;align-items:flex-start;gap:8px;padding:9px 22px;background:var(--dk-tint-red, #fdecec);color:var(--dk-red, #a61e1e);
      border-bottom:1px solid #f3c4c4;font-size:13px;line-height:1.45;flex-shrink:0}
    .ed-payment i{font-size:17px;margin-top:1px}

    /* Container wrapper for legacy pages (uses Tabler classes) */
    .ed-legacy{padding:20px 22px;overflow-y:auto;flex:1}
    .ed-legacy .page-header{margin-bottom:16px}
    .ed-legacy .card{border:1px solid var(--dk-line, #e3e6eb)}

    /* spaziatore flessibile nelle barre (pagine coordinatore) */
    .sp{flex:1;display:flex;min-height:0;overflow:hidden;background:var(--dk-surface, #fff)}
    /* badge portali */
    .sp-b{display:inline-flex;align-items:center;gap:3px;font:600 10px var(--ed-font);padding:2px 8px;border-radius:2px;line-height:1.3;letter-spacing:.02em}
    .sp-b.neut{background:var(--dk-subtle, #eef2f7);color:var(--dk-muted, #5a6478)}

    /* striscia coordinatore (impersonation tenant) */
    .ed-imp{background:#2a1d5e;color:#d9ccff;display:flex;align-items:center;gap:10px;padding:5px 18px;font-size:12px;flex-shrink:0;border-bottom:1px solid #3a2a6e}
    .ed-imp i{font-size:14px;vertical-align:-2px}
    .ed-imp b{color:#fff}
    .ed-imp .r{margin-left:auto;display:flex;gap:14px}
    .ed-imp a{color:#c9b6ff;text-decoration:none;font-weight:600}
    .ed-imp a:hover{color:#fff;text-decoration:underline}

    /* ===== Modale generico per form anagrafiche (edit/new via fetch) ===== */
    .edm-overlay{position:fixed;inset:0;background:rgba(15,25,45,.45);z-index:2000;display:none;align-items:flex-start;justify-content:center;padding:38px 16px;overflow:auto}
    .edm-overlay.show{display:flex}
    .edm-dialog{background:var(--dk-surface, #fff);border-radius:2px;width:100%;max-width:880px;box-shadow:0 24px 60px rgba(0,0,0,.32);display:flex;flex-direction:column;max-height:calc(100vh - 76px)}
    .edm-head{display:flex;align-items:center;padding:13px 18px;border-bottom:1px solid var(--dk-line, #e3e6eb);flex-shrink:0}
    .edm-head .edm-title{font:500 15px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;color:var(--dk-text, #0f2350)}
    .edm-head .edm-x{margin-left:auto;border:0;background:none;font-size:24px;line-height:1;color:var(--dk-faint, #8b95a3);cursor:pointer;padding:0 4px}
    .edm-head .edm-x:hover{color:var(--dk-text, #252b33)}
    .edm-body{padding:16px 18px;overflow:auto}
    .edm-body .ed-legacy,.edm-body .container-fluid,.edm-body .card,.edm-body .card-body{padding:0!important;border:0!important;box-shadow:none!important;margin:0!important;background:transparent!important}
    .edm-body .page-header{display:none}
    .edm-load{padding:44px;text-align:center;color:var(--dk-faint, #8b95a3)}

/* ---- static/ed-list.css ---- */
/* ==========================================================================
   VISTA — lo scheletro di ogni pagina elenco di enerdata
   ==========================================================================
   Una sola struttura per tutta la piattaforma (vedi templates/_list.html):

     ┌ filtri ─┬ barra: [«] [cerca] n/N  [viste]            [azioni] ┐
     │ gruppo  ├──────────────────────────────────────────────────────┤
     │ gruppo  │ tabella                                              │
     └─────────┴──────────────────────────────────────────────────────┘

   Il modello di riferimento e' Teleletture. Una pagina non ridefinisce queste
   regole: se le serve qualcosa di diverso, lo aggiunge qui per tutte, oppure
   usa una classe sua che non tocca lo scheletro.
   ========================================================================== */

/* --- telaio ------------------------------------------------------------ */
.ed-body-flex{flex:1;display:flex;min-height:0;overflow:hidden}
.ed-body-flex .ed-center{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--dk-ground, #f4f6f9);overflow:hidden}

/* --- pannello filtri, a scomparsa ------------------------------------- */
.ed-filters{width:240px;background:var(--dk-surface, #fff);border-right:1px solid var(--dk-line, #e3e6eb);flex-shrink:0;overflow-y:auto;
  padding:14px 14px;transition:width .18s ease,padding .18s ease,border-color .18s ease}
.ed-body-flex.nofilters .ed-filters{width:0;padding-left:0;padding-right:0;border-right-color:transparent;overflow:hidden}
.ed-filters h3{margin:18px 0 8px;font:500 11.5px var(--ed-titoli);color:var(--dk-muted, #5a6478);text-transform:uppercase;letter-spacing:.06em}
.ed-filters h3:first-child{margin-top:0}
.ed-filters .sel-links{float:right;display:inline-flex;gap:8px;text-transform:none;letter-spacing:0}
.ed-filters .sel-links a{font:600 9px var(--ed-font);color:var(--dk-link, #206bc4);text-decoration:none;cursor:pointer}
.ed-filters .sel-links a:hover{text-decoration:underline}
.ed-filters .grp{margin-bottom:18px}
.ed-filters .grp label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dk-text, #252b33);padding:3px 0;cursor:pointer;margin:0}
.ed-filters .grp label input{margin:0;flex:none}
.ed-filters .grp label .lbl-txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-filters .grp label .lbl-txt small{display:block;font-size:10.5px;color:var(--dk-faint, #8b95a3);overflow:hidden;text-overflow:ellipsis}
/* entry on one line (gruppo(..., one_line=True)): the whole name, the rest with dots */
.ed-filters .grp-oneline label .lbl-txt{display:flex;align-items:baseline;gap:5px}
.ed-filters .grp-oneline .lbl-name{flex:none;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ed-filters .grp-oneline label .lbl-txt small{flex:1 1 auto;min-width:0;font-size:11px}
.ed-filters .grp label .cnt{margin-left:auto;color:var(--dk-faint, #8b95a3);font-size:11px;font-variant-numeric:tabular-nums}
.ed-filters .grp.az-list{max-height:300px;overflow-y:auto;padding-right:4px}
.ed-filters .azsearch{width:100%;box-sizing:border-box;padding:6px 9px;margin-bottom:8px;border:1px solid var(--dk-line, #e3e6eb);
  border-radius:2px;background:var(--dk-subtle, #f8fafc);font-size:12px;color:var(--dk-text, #252b33)}
.ed-filters .azsearch::placeholder{color:var(--dk-faint, #9aa3b0)}
.ed-filters .azsearch:focus{outline:none;border-color:#206bc4;background:var(--dk-surface, #fff)}

/* --- barra ------------------------------------------------------------- */
.ed-tools{background:var(--dk-surface, #fff);border-bottom:1px solid var(--dk-line, #e3e6eb);padding:8px 16px;display:flex;align-items:center;
  gap:10px;flex-shrink:0;flex-wrap:wrap;min-height:47px}
.ed-tools-right{margin-left:auto;display:inline-flex;align-items:center;gap:8px}
.filt-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;
  border:1px solid var(--dk-line, #e3e6eb);background:var(--dk-surface, #fff);color:var(--dk-muted, #5a6478);border-radius:2px;cursor:pointer;padding:0}
.filt-toggle:hover{border-color:var(--dk-line-strong, #cbd5e1);background:var(--dk-subtle, #f8fafc);color:var(--dk-link, #206bc4)}
.filt-toggle i{font-size:18px}
.filt-toggle.on{background:#0f2350;color:#fff;border-color:#0f2350}
.ed-search{display:flex;align-items:center;gap:6px;background:var(--dk-subtle, #f8fafc);border:1px solid var(--dk-line, #e3e6eb);border-radius:2px;
  padding:0 9px;height:30px;width:280px;max-width:100%}
.ed-search i{color:var(--dk-faint, #8b95a3);font-size:15px}
.ed-search input{border:0;background:transparent;outline:0;font-size:12px;color:var(--dk-text, #252b33);width:100%}
.ed-count{font:600 12px var(--ed-font);color:var(--dk-muted, #5a6478);font-variant-numeric:tabular-nums;white-space:nowrap}
.ed-count b{color:var(--dk-text, #16202e)}

/* selettore di vista: stesse proporzioni di Curve | Registri */
.ed-seg{display:inline-flex;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;overflow:hidden}
.ed-seg a,.ed-seg button{border:0;border-left:1px solid var(--dk-line-strong, #cbd5e1);background:var(--dk-surface, #fff);color:var(--dk-muted, #5a6478);font:500 12px var(--ed-titoli);letter-spacing:.01em;
  border-radius:0;height:30px;padding:0 12px;margin:0;cursor:pointer;display:inline-flex;align-items:center;
  gap:6px;text-decoration:none}
.ed-seg a:first-child,.ed-seg button:first-child{border-left:0}
.ed-seg a:hover:not(.on),.ed-seg button:hover:not(.on){background:var(--dk-subtle, #f1f5f9);color:var(--dk-muted, #5a6478)}
.ed-seg a.on,.ed-seg button.on{background:#3b82f6;color:#fff}
.ed-seg i{font-size:14px}

/* righe per pagina: una tendina, alta come i selettori (partials/_page_size.html) */
.ed-pgsize{height:30px;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;background:var(--dk-surface, #fff);color:var(--dk-muted, #5a6478);
  font:600 11px var(--ed-font);padding:0 6px;cursor:pointer}
.ed-pgsize:hover{background:var(--dk-subtle, #f1f5f9)}
.ed-pgsize:focus{outline:none;border-color:#206bc4}

/* azione principale della barra (Nuovo …) */
.ed-top-export{align-self:center;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 13px;
  border-radius:2px;background:#206bc4;color:#fff;font:600 12px var(--ed-font);text-decoration:none;border:1px solid #206bc4;cursor:pointer}
.ed-top-export:hover{background:#1864ab;color:#fff;text-decoration:none}
.ed-top-export i{font-size:15px}
.ed-tools .ed-btn{height:30px}

/* pannello sotto la barra, aperto da un'azione (es. Nuovo token) */
.ed-panel{background:var(--dk-surface, #fff);border-bottom:1px solid var(--dk-line, #e3e6eb);padding:14px 16px;flex-shrink:0}
.ed-panel[hidden]{display:none}

/* --- tabella ----------------------------------------------------------- */
.ed-tbl-wrap{flex:1;overflow:auto;background:var(--dk-surface, #fff);min-height:0}
table.ed-t{border-collapse:separate;border-spacing:0;background:var(--dk-surface, #fff);font-size:12px;width:100%;min-width:640px;
  font-variant-numeric:tabular-nums}
table.ed-t thead th{padding:7px 10px;font:500 10px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;color:var(--dk-muted, #5a6478);
  background:var(--dk-subtle, #f8fafc);border-bottom:2px solid var(--dk-line, #e3e6eb);border-right:1px solid var(--dk-line, #eef1f5);text-align:left;
  position:sticky;top:0;z-index:5;white-space:nowrap}
table.ed-t thead th.num,table.ed-t tbody td.num{text-align:right}
table.ed-t thead th.ed-first{padding-left:14px;position:sticky;left:0;z-index:6;border-right:1px solid var(--dk-line, #e3e6eb)}
table.ed-t thead th.ed-act{width:1%}
table.ed-t tbody td{padding:5px 10px;border-bottom:1px solid var(--dk-line, #f1f3f6);border-right:1px solid var(--dk-line, #f1f3f6);color:var(--dk-text, #252b33);
  vertical-align:middle;height:31px;box-sizing:border-box}
table.ed-t tbody td.ed-first{padding-left:14px;position:sticky;left:0;background:var(--dk-surface, #fff);z-index:4;border-right:1px solid var(--dk-line, #e3e6eb)}
table.ed-t tbody tr:hover td{background:var(--dk-subtle, #f8fafc)}
table.ed-t tbody tr:hover td.ed-first{background:var(--dk-subtle, #f3f6fa)}
table.ed-t tbody tr.ed-hidden{display:none}
table.ed-t tbody td.ed-act{white-space:nowrap;text-align:right}
table.ed-t .mono{font:600 11px var(--ed-font);color:var(--dk-muted, #5a6478)}
table.ed-t .ed-link{color:var(--dk-link, #206bc4);text-decoration:none;font-weight:600}
table.ed-t .ed-link:hover{text-decoration:underline}
table.ed-t .row-actions{display:inline-flex;gap:5px}
table.ed-t .ed-btn.sm{padding:3px 7px;font-size:12px;line-height:1;height:auto}
table.ed-t .ed-btn.sm.danger{color:var(--dk-red, #c92a2a);border-color:#f3c6d6}
table.ed-t tr.ed-empty td{padding:28px;text-align:center;color:var(--dk-muted, #5a6478);height:auto}
/* riga di gruppo: intestazione di un blocco di righe (es. un portale e i suoi dati) */
table.ed-t tbody tr.ed-grp td{background:var(--dk-ground, #f4f6f9);border-top:2px solid var(--dk-line, #e3e6eb);font-weight:600;color:var(--dk-text, #16202e)}
table.ed-t tbody tr.ed-grp:hover td{background:var(--dk-subtle, #eef2f7)}
/* badge di stato: un solo disegno per tutte le tabelle */
.ed-badge{display:inline-flex;align-items:center;gap:4px;font:700 10px var(--ed-font);padding:2px 8px;border-radius:2px;white-space:nowrap}
.ed-badge.ok{background:var(--dk-tint-green, #e6fcf0);color:#0ca678}
.ed-badge.info{background:var(--dk-tint-blue, #e7f0fb);color:var(--dk-fed, #1864ab)}
.ed-badge.warn{background:var(--dk-tint-amber, #fff4e0);color:var(--dk-amber, #b8770b)}
.ed-badge.ko{background:var(--dk-tint-red, #ffe3e3);color:var(--dk-red, #c92a2a)}
.ed-badge.neut{background:var(--dk-subtle, #eef1f5);color:var(--dk-muted, #5a6478)}
/* cella account: portale sopra, utente sotto (la rigenera anche la modifica in riga) */
.acct-cell{display:flex;flex-direction:column;line-height:1.3}
.acct-cell .acct-portal{font:500 9px var(--ed-titoli);text-transform:uppercase;letter-spacing:.02em;color:var(--dk-muted, #5a6478)}
.acct-cell .mono{font-size:12px}
/* testo lungo in una cella: una riga sola, coi puntini */
table.ed-t td.ed-trunc{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.ed-t td.ed-nowrap{white-space:nowrap}

/* --- selezione righe ----------------------------------------------------
   Prima colonna di ogni lista: una casella. Con almeno una riga selezionata
   compare nella barra il gruppo «n [⋮] [×]» con il menu delle azioni: lo
   stesso di Teleletture, che usa queste classi. */
.ed-tbl-wrap th.ed-sel,.ed-tbl-wrap td.ed-sel{position:sticky;left:0;z-index:6;width:34px;min-width:34px;max-width:34px;
  padding:0 0 0 12px;text-align:left;background:var(--dk-surface, #fff);border-right:0}
.ed-tbl-wrap thead th.ed-sel{background:var(--dk-subtle, #f8fafc);z-index:7}
.ed-tbl-wrap th.ed-sel + th.ed-first,.ed-tbl-wrap td.ed-sel + td.ed-first{left:34px;padding-left:8px}
.ed-tbl-wrap .ed-sel input{margin:0;cursor:pointer;vertical-align:middle}
.ed-tbl-wrap tbody tr.ed-sel-on td{background:var(--dk-subtle, #f2f7fe)}
.ed-tbl-wrap tbody tr.ed-sel-on td.ed-sel{box-shadow:inset 3px 0 0 #206bc4}
.ed-tbl-wrap tbody tr.ed-sel-on td.ed-sel,.ed-tbl-wrap tbody tr.ed-sel-on td.ed-first{background:var(--dk-tint-blue, #dbeafe)}

.ps-wrap{position:relative;display:inline-flex;align-items:center}
.ps-wrap[hidden]{display:none}
.ps-seg{display:inline-flex;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;overflow:hidden;align-items:stretch}
.ps-seg .ps-n{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;
  background:var(--dk-subtle, #eef4fc);color:var(--dk-link, #1a4b8c);font:600 11px var(--ed-font);white-space:nowrap}
.ps-seg .ps-n b{font:700 12px var(--ed-font);color:var(--dk-link, #206bc4)}
.ps-seg button{border:0;border-left:1px solid var(--dk-line-strong, #cbd5e1);border-radius:0;background:var(--dk-surface, #fff);
  color:var(--dk-muted, #5a6478);font:600 11px var(--ed-font);height:30px;padding:0 11px;margin:0;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px}
.ps-seg button[hidden]{display:none}
.ps-seg button:hover{background:var(--dk-subtle, #f1f5f9)}
.ps-seg button.on{background:#0f2350;color:#fff}
.ps-seg .ps-do{color:var(--dk-link, #206bc4)}
.ps-seg .ps-act{padding:0 8px;color:var(--dk-muted, #5f7d9c)}
.ps-seg .ps-act i{font-size:16px}
.ps-seg .ps-x{padding:0 9px;color:var(--dk-faint, #8b95a3)}
.ps-seg .ps-x:hover{color:var(--dk-red, #c92a2a);background:var(--dk-tint-red, #fdecec)}
.ps-seg i{font-size:13px;line-height:1}
.ps-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;padding:4px;z-index:50;
  background:var(--dk-surface, #fff);border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;box-shadow:0 8px 22px rgba(15,35,80,.16)}
.ps-menu[hidden]{display:none}
.ps-menu .ps-sep{height:1px;background:var(--dk-subtle, #e6edf6);margin:4px 0}
.ps-menu .ps-mi{display:flex;align-items:center;gap:7px;width:100%;text-align:left;border:0;
  background:transparent;color:var(--dk-text, #252b33);font:600 11.5px var(--ed-font);padding:7px 9px;cursor:pointer;white-space:nowrap}
.ps-menu .ps-mi i{font-size:14px;line-height:1;color:var(--dk-muted, #5f7d9c);flex:none}
.ps-menu .ps-mi[hidden]{display:none}
.ps-menu .ps-mi:disabled{color:var(--dk-faint, #98a2b3);cursor:default;font-weight:500}
.ps-menu .ps-mi:not(:disabled):hover{background:var(--dk-subtle, #f1f5f9)}
.ps-menu .ps-mi.danger,.ps-menu .ps-mi.danger i{color:var(--dk-red, #c92a2a)}

/* ==========================================================================
   SCHEDA — la pagina di un oggetto (templates/_card.html)
   ========================================================================== */
.ed-bc{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--dk-muted, #5a6478);white-space:nowrap;min-width:0}
.ed-bc a{color:var(--dk-link, #206bc4);text-decoration:none;font-weight:600}
.ed-bc a:hover{text-decoration:underline}
.ed-bc .sep{color:var(--dk-faint, #b7bfca)}
.ed-bc b{font:500 13px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;color:var(--dk-text, #16202e);overflow:hidden;text-overflow:ellipsis}
.ed-card-body{flex:1;overflow:auto;padding:18px 22px 40px;background:var(--dk-ground, #f4f6f9);min-height:0}
.ed-sheet{max-width:1180px;margin:0}
.ed-section[hidden]{display:none}
.ed-group{background:var(--dk-surface, #fff);border:1px solid var(--dk-line, #e3e6eb);border-radius:2px;margin:0 0 14px}
.ed-group > h3{margin:0;padding:9px 14px;font:500 12px var(--ed-titoli);color:var(--dk-muted, #5a6478);text-transform:uppercase;
  letter-spacing:.06em;background:var(--dk-subtle, #f8fafc);border-bottom:1px solid var(--dk-line, #e3e6eb);display:flex;align-items:center;gap:10px}
.ed-group > h3 .ed-note{text-transform:none;letter-spacing:0;font-weight:400;color:var(--dk-faint, #8b95a3);font-size:12px}
.ed-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px 16px;padding:14px}
.ed-field{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0}
.ed-field > span{font:600 12px var(--ed-font);color:var(--dk-text, #16202e)}
.ed-field .req{color:var(--dk-red, #d63939)}
.ed-field input,.ed-field select{width:100%;box-sizing:border-box;height:32px;padding:0 9px;border:1px solid var(--dk-line-strong, #cbd5e1);
  border-radius:2px;font-size:13px;background:var(--dk-surface, #fff);color:var(--dk-text, #252b33)}
.ed-field input:focus,.ed-field select:focus{outline:0;border-color:#206bc4;box-shadow:0 0 0 2px rgba(32,107,196,.12)}
.ed-field small{font-size:11px;color:var(--dk-faint, #8b95a3)}
.ed-field.wide{grid-column:span 2}
.ed-group .ed-tbl-wrap{flex:none;overflow:auto;max-height:none}
.ed-group .ed-blank{padding:18px 14px;color:var(--dk-faint, #8b95a3);font-size:12px}
@media (max-width:760px){.ed-field.wide{grid-column:auto}}
/* link che apre la scheda di un oggetto (il codice nella prima colonna) */
a.ed-open{color:var(--dk-link, #206bc4);text-decoration:none;cursor:pointer}
a.ed-open:hover{text-decoration:underline}
table.ed-t a.ed-open.mono{color:var(--dk-link, #206bc4)}

/* ---- static/ed-modals.css ---- */
/* Modali comuni (.edx-*): riquadro, testata, corpo, piede, pulsanti.
   Li usano il modale OTP (accounts/_otp_modal.html) e "Richiesta periodo"
   (requests/_modal.html). */
.edx-overlay{position:fixed;inset:0;background:rgba(16,24,40,.45);display:none;align-items:flex-start;justify-content:center;z-index:1000;padding:8vh 16px}
.edx-overlay.on{display:flex}
.edx-modal{background:var(--dk-surface, #fff);border:1px solid var(--dk-line, #d7dce4);border-radius:0;width:100%;max-width:640px;box-shadow:0 20px 60px rgba(16,24,40,.3);animation:edxIn .14s ease}
@keyframes edxIn{from{transform:translateY(-8px);opacity:.6}to{transform:none;opacity:1}}
.edx-head{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--dk-line, #e3e6eb);background:var(--dk-subtle, #f8fafc)}
.edx-head>div{display:flex;align-items:center;gap:8px;font:500 14px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;color:var(--dk-text, #0f2350)}
.edx-head i{color:var(--dk-link, #206bc4);font-size:18px}
.edx-x{margin-left:auto;background:none;border:0;cursor:pointer;color:var(--dk-faint, #8b95a3);font-size:18px;line-height:1;display:grid;place-items:center}
.edx-x:hover{color:var(--dk-text, #16202e)}
.edx-body{padding:14px 16px}
.edx-sec{display:flex;align-items:center;gap:6px;font:500 11px var(--ed-titoli);text-transform:uppercase;letter-spacing:.05em;color:var(--dk-muted, #5a6478);margin:0 0 6px}
.edx-period{position:relative}
.edx-period-btn{width:100%;text-align:left;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:0;background:var(--dk-surface, #fff);color:var(--dk-text, #16202e);font:600 13px var(--ed-font);font-variant-numeric:tabular-nums;padding:7px 9px;cursor:pointer}
.edx-period-btn::after{content:'▾';float:right;color:var(--dk-faint, #8b95a3);font-size:11px}
.edx-period-btn:hover{border-color:#206bc4}
.edx-period.on .edx-period-btn{border-color:#206bc4;box-shadow:0 0 0 2px rgba(32,107,196,.12)}

.edx-all{margin-left:auto;display:inline-flex;gap:8px;text-transform:none}
.edx-all button{border:0;background:none;padding:0;cursor:pointer;font:600 9px var(--ed-font);color:var(--dk-link, #206bc4)}
.edx-all button:hover{text-decoration:underline}
.edx-search{width:100%;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:0;padding:6px 9px;font-size:12px;margin-bottom:5px}
.edx-list{border:1px solid var(--dk-line, #e6edf6);border-radius:0;max-height:118px;overflow:auto;background:var(--dk-surface, #fff)}
.edx-opt{display:flex;align-items:center;gap:8px;padding:5px 9px;font-size:12px;color:var(--dk-text, #16202e);cursor:pointer;border-bottom:1px solid var(--dk-line, #f4f6f9)}
.edx-opt:last-child{border-bottom:0}.edx-opt:hover{background:var(--dk-subtle, #f6f9fc)}
.edx-opt.hide{display:none}
.edx-opt input{width:14px;height:14px;accent-color:#206bc4;flex:none}
.edx-opt small{color:var(--dk-faint, #8b95a3);margin-left:4px}
.edx-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.edx-btn{border:1px solid var(--dk-line-strong, #cbd5e1);background:var(--dk-surface, #fff);color:var(--dk-text, #16202e);border-radius:0;padding:8px 14px;font-family:var(--ed-titoli);font-size:13px;font-weight:500;letter-spacing:.01em;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.edx-btn:hover{background:var(--dk-subtle, #f6f8fb)}
.edx-btn.primary{background:#206bc4;border-color:#206bc4;color:#fff}.edx-btn.primary:hover{background:#1b5ca8}

/* Apple-style switch for the choices of the modal (asked explicitly: the one
   place with a rounded track; the knob is a real circle) */
.rq-sw{-webkit-appearance:none;appearance:none;position:relative;flex:none;width:38px;height:22px;margin:0;
  border-radius:11px;background:var(--dk-line-strong, #e5e5ea);cursor:pointer;transition:background .2s ease}
.rq-sw::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
  background:var(--dk-surface, #fff);box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .2s ease}
.rq-sw:checked{background:#34c759}
.rq-sw:checked::after{transform:translateX(16px)}
.rq-sw:focus-visible{outline:2px solid #206bc4;outline-offset:2px}
.rq-sw:disabled{opacity:.5;cursor:default}
/* a choice between two: one switch, a choice on each side, the one chosen
   in bold; both sides are a choice, so the track is never grey. The Esporta of
   Teleletture and of Acquisizioni use it too */
.rq-bi{display:flex;align-items:center;gap:10px;padding:4px 0}
.rq-bi[hidden]{display:none}
.rq-bi span{font-size:13px;color:var(--dk-faint, #8b95a3);cursor:pointer;transition:color .2s ease}
.rq-bi span.on{color:var(--dk-text, #16202e);font-weight:600}
.rq-bi .rq-sw,.rq-bi .rq-sw:checked{background:#339af0}

/* ---- static/ed-theme.css ---- */
/* enerdata - the dark theme.

   The colors of the pages are written as var(--dk-<group>, <the light one>):
   the --dk-* variables exist only here, under html[data-theme="dark"], so the
   light theme is the original one, unchanged. The groups:
     ground      the page behind everything
     surface     cards, tables, fields, menus
     subtle      headers, stripes, hovers, the light greys over a surface
     line        thin borders and separators; line-strong the visible ones
     text, muted, faint   the three greys of the text
     link        the blue of links and accents written in blue
     fed, drawn  energy fed in (blue) and drawn (magenta)
     red, amber, green, purple   the text of a state; tint-* its background
     veil        the white veil under the labels drawn over a chart
   The theme is chosen with the moon in the top bar (base.html, edTheme): a
   cookie, read by the server, so the page is born dark, without a white flash.
   Tabler follows with data-bs-theme="dark". */

html[data-theme="dark"] {
  color-scheme: dark;
  --dk-ground: #0e131a;
  --dk-surface: #161c26;
  --dk-subtle: #1c2430;
  --dk-line: #29323f;
  --dk-line-strong: #3a4555;
  --dk-text: #e3e8ef;
  --dk-muted: #a7b1bf;
  --dk-faint: #7d8898;
  --dk-link: #5aa2ef;
  --dk-fed: #4dabf7;
  --dk-drawn: #f06595;
  --dk-red: #ff8787;
  --dk-amber: #f2b552;
  --dk-green: #63d297;
  --dk-purple: #b197fc;
  --dk-tint-blue: #17304d;
  --dk-tint-red: #3b1d23;
  --dk-tint-amber: #3a2e14;
  --dk-tint-green: #143329;
  --dk-tint-purple: #2a2150;
  --dk-veil: rgba(22, 28, 38, .85);
  /* Tabler's own variables, where its components read them */
  --tblr-body-bg: var(--dk-ground);
  --tblr-body-color: var(--dk-text);
  --tblr-bg-surface: var(--dk-surface);
  --tblr-border-color: var(--dk-line);
}

html[data-theme="dark"] body { background: var(--dk-ground); color: var(--dk-text); }
html[data-theme="dark"] a { color: var(--dk-link); }

/* fields and menus that take their colors from the browser or from Tabler */
html[data-theme="dark"] input, html[data-theme="dark"] select, html[data-theme="dark"] textarea {
  background-color: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-line-strong);
}
html[data-theme="dark"] input::placeholder, html[data-theme="dark"] textarea::placeholder { color: var(--dk-faint); }
html[data-theme="dark"] input:disabled, html[data-theme="dark"] select:disabled { background-color: var(--dk-subtle); color: var(--dk-muted); }
html[data-theme="dark"] .dropdown-menu { background: var(--dk-surface); border-color: var(--dk-line); color: var(--dk-text); }
html[data-theme="dark"] .dropdown-item { color: var(--dk-text); }
html[data-theme="dark"] .dropdown-item:hover, html[data-theme="dark"] .dropdown-item:focus { background: var(--dk-subtle); }
html[data-theme="dark"] .dropdown-divider { border-color: var(--dk-line); }

/* the charts drawn on the server (services/curve_svg): their lines follow the theme */
html[data-theme="dark"] svg .cs-hour { stroke: #222b37; }
html[data-theme="dark"] svg .cs-six { stroke: #2b3542; }
html[data-theme="dark"] svg .cs-day { stroke: #3a4555; }
html[data-theme="dark"] svg .cs-grid { stroke: #46526a; }
html[data-theme="dark"] svg .cs-fed { stroke: var(--dk-fed); }
html[data-theme="dark"] svg .cs-fed-area { fill: rgba(77, 171, 247, .14); }
html[data-theme="dark"] svg .cs-drawn { stroke: var(--dk-drawn); }

/* the switch in the top bar */
.ed-theme-ic .ti-sun { display: none; }
html[data-theme="dark"] .ed-theme-ic .ti-sun { display: inline; }
html[data-theme="dark"] .ed-theme-ic .ti-moon { display: none; }

/* the hover detail of the curves (readings/_curve_hover.html): the line on the
   quarter light, the box a step lighter than the page, with an edge */
html[data-theme="dark"] .cv-cursor { background: #e3e8ef; opacity: .7; }
html[data-theme="dark"] .cv-tip { background: #2a3444; box-shadow: 0 0 0 1px #3a4555, 0 6px 18px rgba(0, 0, 0, .45); }

/* ---- templates/readings/index.html ---- */
/* the day cell of the old Teleletture: 150px, fed in (blue) and drawn
     (magenta) on their own scales, the day totals as badges over the curve */
  .rd-t th.rd-g{min-width:150px;width:150px;padding:0;border-left:1px solid #51667f}
  .rd-t .rd-dh{display:flex;align-items:center;justify-content:space-between;padding:5px 8px 4px}
  .rd-t .rd-dh-fed{color:var(--dk-fed, #1864ab);font-size:13px;line-height:1}
  .rd-t .rd-dh-drawn{color:var(--dk-drawn, #c2255c);font-size:13px;line-height:1}
  .rd-t td.rd-c{padding:0;min-width:150px;border-left:1px solid #51667f;background:var(--dk-surface, #fff)}
  /* separatore fra i contatori: scuro come le linee dei giorni (vince su ed-list.css) */
  table.ed-t.rd-t tbody td{border-bottom:1px solid #51667f}
  .rd-t .rd-holiday{background:var(--dk-subtle, #fafbfd)}
  .rd-t .rd-ld{position:relative;height:40px}
  .rd-t .rd-ld svg{display:block;width:100%;height:40px}
  /* the half of the month scale, on the dashed line: fed in left, drawn right */
  .rd-t .rd-y{position:absolute;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none;
    font:600 8px/1 var(--ed-font);font-variant-numeric:tabular-nums;padding:0 2px;background:var(--dk-veil, rgba(255,255,255,.8))}
  .rd-t .rd-y-in{left:1px;color:var(--dk-fed, #1864ab)}.rd-t .rd-y-out{right:1px;color:var(--dk-drawn, #c2255c)}
  .rd-t tr[data-curve] .rd-ld{cursor:crosshair}
  .rd-t .rd-ld.rd-void{display:flex;align-items:center;justify-content:center;background:var(--dk-subtle, #f3f4f6);color:var(--dk-faint, #c4ccd6);font-size:11px}
  .rd-t .rd-tot{position:absolute;top:1px;left:0;right:0;z-index:3;display:flex;justify-content:space-between;
    padding:0 4px;pointer-events:none;font:700 10px var(--ed-font);font-variant-numeric:tabular-nums;line-height:1.1}
  .rd-t .rd-tot .rd-fed{color:var(--dk-fed, #1864ab);background:var(--dk-veil, rgba(255,255,255,.85));padding:0 3px;border-radius:2px}
  .rd-t .rd-tot .rd-drawn{color:var(--dk-drawn, #c2255c);background:var(--dk-veil, rgba(255,255,255,.85));padding:0 3px;border-radius:2px}
  .rd-t .rd-tot span:empty{background:transparent}
  /* Registri: a month per column, fed in (left, blue) and drawn (right,
     magenta) kWh, the same header as the days of the curves */
  .rd-t th.rd-gm{min-width:110px;width:110px}
  /* il mese in corso: intestazione azzurra, stessa larghezza degli altri */
  .rd-t thead th.rd-now{background:var(--dk-tint-blue, #dbeafe);color:var(--dk-fed, #1864ab)}
  .rd-t td.rd-rg{height:40px;min-width:110px;padding:0 8px;vertical-align:middle;font:700 12px var(--ed-font);
    font-variant-numeric:tabular-nums;white-space:nowrap}
  .rd-t td.rd-rg{display:table-cell}
  .rd-t td.rd-rg .rd-v{display:flex;justify-content:space-between;gap:10px}
  .rd-t td.rd-rg .rd-fed{color:var(--dk-fed, #1864ab)}
  .rd-t td.rd-rg .rd-drawn{color:var(--dk-drawn, #c2255c)}
  /* Registri: la lettura del registro in piccolo e chiara in cima alla
     cella, i kWh calcolati restano in mezzo */
  .rd-t td.rd-reg{position:relative}
  .rd-t td.rd-reg .rd-read{position:absolute;top:3px;left:8px;right:8px;display:flex;justify-content:space-between;
    gap:6px;font:600 9px/1 var(--ed-font);font-variant-numeric:tabular-nums}
  .rd-t td.rd-reg .rd-read-fed{color:#74a3d6}
  .rd-t td.rd-reg .rd-read-drawn{color:#e08aab}
  .rd-t .rd-now{background:var(--dk-subtle, #f7fafe)}
  /* Curve: the month total, fixed next to the meter while the days scroll */
  .rd-t .rd-kwh{position:sticky;left:var(--rd-kwh-left,0);border-right:1px solid #51667f}
  .rd-t thead th.rd-kwh{z-index:6}
  .rd-t tbody td.rd-kwh{z-index:4}
  /* giorni acquisiti del mese: barra sottile in cima alla cella dei kWh,
     arancione finche' non ci sono tutti, verde al 100%; la % nel tooltip */
  .rd-t td.rd-kwh .rd-bar{position:absolute;top:0;left:0;right:0;height:4px;background:var(--dk-subtle, #eef1f5)}
  .rd-t td.rd-kwh .rd-bar i{position:absolute;top:0;left:0;bottom:0;background:#f59f00}
  .rd-t td.rd-kwh .rd-bar.rd-bar-ok i{background:#2fb344}
  /* the meter column stays narrow: name and subtitle cut with "...", the
     subtitle whole in its tooltip */
  .rd-t td.rd-name{white-space:nowrap;width:150px;min-width:150px;max-width:150px;overflow:hidden;text-overflow:ellipsis}
  .rd-name .ed-open{font-weight:600}
  .rd-sub{font-size:11px;color:var(--dk-faint, #8b95a3);overflow:hidden;text-overflow:ellipsis}
  .rd-st-ko{color:var(--dk-red, #c92a2a)}
  .rd-st-warn{color:var(--dk-amber, #b8770b)}
  /* lo stato del contatore: un pallino in alto a destra della sua cella */
  .rd-t td.rd-name{padding-right:20px}
  .rd-dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%}
  .rd-dot-ok{background:#2fb344}
  .rd-dot-warn{background:#f59f00}
  .rd-dot-ko{background:#d63939}
  .rd-dot-nd{background:var(--dk-line-strong, #cbd5e1)}
  .rd-period a.on{cursor:default}
  /* Curve: the days of a meter open its month */
  .rd-t tr[data-curve] td.rd-c{cursor:pointer}
  .rd-t tr[data-curve]:hover td.rd-c{box-shadow:inset 0 0 0 9999px rgba(32,107,196,.04)}

/* ---- templates/acquisitions/grid.html ---- */
/* legenda e anno nella barra */
  .aq-legend{display:inline-flex;gap:12px;font-size:11px;color:var(--dk-muted, #5a6478)}
  /* i colori degli stati (.aq-i, .aq-dot) sono in acquisitions/_window.html */
  .aq-year{display:inline-flex;align-items:center;gap:6px}
  .aq-year .lbl{font:500 10px var(--ed-titoli);color:var(--dk-faint, #9aa3b2);text-transform:uppercase;letter-spacing:.04em}
  .aq-step{display:inline-flex;align-items:center;height:30px;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;overflow:hidden;background:var(--dk-surface, #fff)}
  .aq-step .ybtn{padding:0 9px;height:100%;display:inline-flex;align-items:center;color:var(--dk-muted, #5a6478);text-decoration:none;font-size:14px}
  .aq-step .ybtn:hover{background:var(--dk-subtle, #f1f5f9);color:var(--dk-link, #206bc4)}
  .aq-step .y{padding:0 12px;height:100%;display:inline-flex;align-items:center;font:700 13px var(--ed-font);color:var(--dk-text, #0f2350);
              border-left:1px solid var(--dk-line, #e3e6eb);border-right:1px solid var(--dk-line, #e3e6eb)}

  /* ---- la griglia per periodi ---- */
  .aq-t{border-collapse:separate;border-spacing:0;font-size:12px;background:var(--dk-surface, #fff);width:max-content;min-width:100%}
  .aq-t thead th{position:sticky;top:0;z-index:5;padding:0;font:500 9px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;
                 color:var(--dk-muted, #5a6478);background:var(--dk-subtle, #f8fafc);border-bottom:2px solid var(--dk-line, #e3e6eb);border-left:2px solid var(--dk-line-strong, #aab8c9);text-align:center}
  .aq-t thead th.now{background:var(--dk-subtle, #eef4fc);color:var(--dk-link, #206bc4)}
  .aq-t thead th .dh{padding:6px 8px 5px;display:flex;flex-direction:column;gap:1px}
  .aq-t thead th .hd{font-size:11px;letter-spacing:.03em}
  .aq-t th.pod-h{left:0;z-index:6;min-width:230px;text-align:left;padding:7px 8px 7px 14px;border-left:0;border-right:2px solid var(--dk-line-strong, #8d9db0)}
  .aq-t td.pod{position:sticky;left:0;z-index:4;background:var(--dk-surface, #fff);border-right:2px solid var(--dk-line-strong, #8d9db0);border-bottom:1px solid var(--dk-line, #f1f3f6);
               padding:5px 10px 5px 14px;min-width:230px;vertical-align:top}
  /* con la colonna di selezione davanti, la colonna POD si ferma dopo di lei */
  .aq-t th.ed-sel + th.pod-h,.aq-t td.ed-sel + td.pod{left:34px}
  .aq-t th.ed-sel{border-left:0}
  .aq-t tbody tr.ed-sel-on td.pod{background:var(--dk-tint-blue, #dbeafe)}
  .aq-t td.pod .l1{display:flex;align-items:center;gap:6px}
  .aq-t td.pod .l2{font-size:10px;color:var(--dk-faint, #9aa3b2);margin-top:1px}
  .aq-t .pcode{font:600 12px var(--ed-font);color:var(--dk-link, #206bc4)}
  .aq-t .pname{color:var(--dk-muted, #5a6478);font-size:11px}
  .aq-cell{border-left:2px solid var(--dk-line-strong, #aab8c9);border-bottom:1px solid var(--dk-line, #f1f3f6);padding:3px 5px;vertical-align:top;min-width:150px}
  .aq-cell.now{background:var(--dk-surface, #fafcff)}
  .aq-cell.year{background:var(--dk-subtle, #f8fafd);min-width:110px}
  .aq-t thead th.year{background:var(--dk-subtle, #eef2f8);color:var(--dk-text, #0f2350)}
  .aq-t tbody tr:hover td{background:var(--dk-subtle, #f8fafc)}
  .aq-t tbody tr.ed-hidden{display:none}
  /* un portale per riga: nome a sinistra, codici in orizzontale */
  .aq-portal{display:flex;align-items:center;gap:5px;margin:1px 0}
  /* the code as the connector writes it: no case change */
  .aq-pname{font:700 9px var(--ed-font);color:var(--dk-faint, #9aa3b2);min-width:38px;flex-shrink:0}
  .aq-items{display:flex;gap:2px;flex-wrap:wrap}
  .aq-t .fillcol{border-left:2px solid var(--dk-line-strong, #aab8c9);min-width:8px}

/* ---- templates/acquisitions/_window.html ---- */
/* gli stati dei codici, in tutte le pagine che li mostrano */
  .aq-i{display:inline-block;padding:1px 5px;border-radius:2px;font:600 10px var(--ed-font);text-decoration:none}
  .aq-i.collected{background:var(--dk-tint-green, #d3f0e4);color:var(--dk-green, #0a6e4e)}
  /* more versions: the file is here (green), a newer one came (yellow border) */
  .aq-i.changed{background:var(--dk-tint-green, #d3f0e4);color:var(--dk-green, #0a6e4e);box-shadow:inset 0 0 0 1.5px #f2b200}
  .aq-i.expected{background:var(--dk-subtle, #eceff3);color:var(--dk-muted, #6b7482)}
  a.aq-i{cursor:pointer}
  a.aq-i:hover{outline:1px solid #206bc4}
  .aq-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:3px;vertical-align:-1px}
  .aq-dot.collected{background:#0ca678}
  .aq-dot.changed{background:#0ca678;box-shadow:inset 0 0 0 2px #f2b200}
  .aq-dot.expected{background:var(--dk-line-strong, #c9cfd8)}

  /* la finestra: larga, testata e piede fermi, il corpo scorre */
  .edx-overlay .edx-modal.aqw{max-width:1180px;width:96vw;display:flex;flex-direction:column;max-height:86vh}
  .aqw .edx-head>div{min-width:0}
  .aqw .edx-head>div span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .aqw-meta{padding:8px 16px;font-size:12px;color:var(--dk-muted, #5a6478);border-bottom:1px solid var(--dk-line, #e3e6eb);line-height:1.6}
  .aqw-meta .aqw-kwh{display:inline-block;margin-top:4px;color:var(--dk-text, #16202e)}
  .aqw-meta .aqw-kwh .was{color:var(--dk-faint, #8b95a3)}
  .aqw-meta .st{display:inline-block;padding:1px 7px;border-radius:2px;font:500 10px var(--ed-titoli);text-transform:uppercase;margin-right:6px}
  .aqw-meta .err{color:var(--dk-red, #a82334)}
  .aqw-sum{padding:8px 16px 0}
  .aqw-sum:empty{display:none}
  .aqw-sum .aqw-note{margin:0}
  .aqw-body{padding:12px 16px;overflow:auto;min-height:120px;flex:1}
  /* la prima colonna (il giorno, il mese) resta ferma scorrendo a destra */
  table.aqw-csv td.op,table.aqw-csv th.op{position:sticky;left:-16px;z-index:1}
  table.aqw-csv td.op,table.aqw-csv td.key{background:var(--dk-surface, #fff)}     /* le righe colorate vincono */
  table.aqw-csv .key{position:sticky;left:-16px;z-index:1;box-shadow:1px 0 0 var(--dk-line, #e3e6eb)}
  table.aqw-csv.diff .key{left:10px}                            /* dopo la colonna + / − */
  table.aqw-csv th.key,table.aqw-csv th.op{z-index:3}
  .aqw-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--dk-line, #e3e6eb);flex-wrap:wrap}
  .aqw-vers{margin-right:auto;font-size:12px;color:var(--dk-muted, #5a6478);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .aqw-vers button{border:1px solid var(--dk-line-strong, #cbd5e1);background:var(--dk-surface, #fff);padding:2px 8px;font:600 11px var(--ed-font);color:var(--dk-link, #206bc4);cursor:pointer}
  .aqw-vers button:hover{background:var(--dk-subtle, #f6f8fb)}
  .aqw-note{color:var(--dk-muted, #5a6478);font-size:12px;margin:0 0 8px}
  .aqw-note b{color:var(--dk-text, #16202e)}
  .aqw-note .edx-btn{padding:3px 9px;font-size:11px;margin-left:6px}
  .aqw-key{display:inline-flex;gap:10px;margin-left:10px}
  .aqw-key i{display:inline-block;width:10px;height:10px;vertical-align:-1px;margin-right:4px}
  .aqw-empty{color:var(--dk-muted, #5a6478);padding:24px 0}
  .aqw-empty.err{color:var(--dk-red, #a82334)}
  table.aqw-csv{border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
  table.aqw-csv th{position:sticky;top:-12px;background:var(--dk-subtle, #f8fafc);border-bottom:2px solid var(--dk-line, #e3e6eb);padding:5px 8px;text-align:left;
                   font:500 10px var(--ed-titoli);text-transform:uppercase;letter-spacing:.03em;color:var(--dk-muted, #5a6478);white-space:nowrap}
  table.aqw-csv td{border-bottom:1px solid var(--dk-line, #f1f3f6);padding:4px 8px;white-space:nowrap}
  table.aqw-csv td.num{text-align:right}
  /* le differenze, dentro il file */
  /* larga 26px esatti: la prima colonna si ferma subito dopo (left:10px = -16 + 26) */
  table.aqw-csv td.op,table.aqw-csv th.op{box-sizing:border-box;width:26px;min-width:26px;max-width:26px;padding:4px 0;
                                         color:var(--dk-faint, #8b95a3);font-weight:700;text-align:center}
  table.aqw-csv tr.add td{background:var(--dk-tint-green, #e6ffec)}
  table.aqw-csv tr.add td.op{color:var(--dk-green, #1a7f37)}
  table.aqw-csv tr.del td{background:var(--dk-tint-red, #ffebe9);color:var(--dk-red, #9b2c2c);text-decoration:line-through}
  table.aqw-csv tr.del td.op{color:var(--dk-red, #cf222e);text-decoration:none}
  table.aqw-csv tr.chg td{background:var(--dk-tint-amber, #fffbe6)}
  table.aqw-csv tr.chg td.op{color:var(--dk-amber, #9a6700)}
  table.aqw-csv th.chg{background:var(--dk-tint-amber, #fff3c4);color:var(--dk-amber, #7a5200)}
  table.aqw-csv td.cell-chg{background:var(--dk-tint-amber, #fff1b8) !important}
  table.aqw-csv td.cell-chg s{color:var(--dk-red, #cf222e);margin-right:6px;font-weight:400}
  table.aqw-csv td.cell-chg b{color:var(--dk-green, #1a7f37)}
  table.aqw-csv td.cell-chg em{color:var(--dk-faint, #8b95a3);font-style:italic;margin-right:6px;text-decoration:line-through}
  table.aqw-csv tr.gap td{background:var(--dk-subtle, #f6f8fa);color:var(--dk-muted, #5a6478);text-align:center;cursor:pointer;font-size:11px;padding:3px}
  table.aqw-csv tr.gap td:hover{background:var(--dk-subtle, #eef2f6);color:var(--dk-link, #206bc4)}
  pre.aqw-raw{margin:0;font:12px/1.5 Consolas,monospace;white-space:pre-wrap;word-break:break-all}

/* ---- templates/acquisitions/register.html ---- */
.rg-sum{border-bottom:1px solid var(--dk-line, #e3e6eb)}
  .rg-kpis{grid-template-columns:repeat(3, 1fr)}
  .rg-src{margin:0;border-top:1px solid var(--dk-line, #e3e6eb)}
  .rg-ko{color:var(--dk-red, #c92a2a)}
  /* the day, as the year of the grid */
  .aq-year{display:flex;align-items:center;gap:8px}
  .aq-year .lbl{font:500 10px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;color:var(--dk-faint, #8b95a3)}
  .aq-step{display:inline-flex;align-items:center;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;background:var(--dk-surface, #fff)}
  .aq-step .ybtn{padding:4px 9px;text-decoration:none;color:var(--dk-muted, #5a6478)}
  .aq-step .y{padding:4px 10px;font-weight:700;border-left:1px solid var(--dk-line, #e3e6eb);border-right:1px solid var(--dk-line, #e3e6eb)}

/* ---- templates/requests/_modal.html ---- */
.edx-modal.rq-modal{width:94vw;max-width:560px}
  .rq-modal .edx-foot{padding:0 16px 16px;margin-top:6px}
  .rq-modal .edx-note{display:flex;align-items:flex-start;gap:6px;font-size:12.5px;line-height:1.45;color:var(--dk-muted, #475467)}
  .rq-modal .edx-note i{color:var(--dk-link, #206bc4);font-size:15px;margin-top:1px}
  /* .rq-sw (the switch) and .rq-bi (a choice between two): static/ed-modals.css */
  .rq-modal .rq-bi{margin-top:12px}
  .rq-period{display:flex;gap:12px;margin-top:12px}
  .rq-sched{margin-top:12px}
  .rq-sched[hidden],.rq-times[hidden]{display:none}
  .rq-sched .rq-period{margin-top:6px}
  /* orari scelti: un campo per orario, con la x per toglierlo */
  .rq-times{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
  .rq-times-list{display:contents}
  .rq-time{display:inline-flex;align-items:center;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;background:var(--dk-surface, #fff)}
  .rq-time input{border:0;padding:5px 4px 5px 8px;font:500 13px var(--ed-font);color:var(--dk-text, #16202e);background:transparent}
  .rq-time input:focus{outline:none}
  .rq-time button{border:0;background:transparent;color:var(--dk-faint, #8b95a3);cursor:pointer;padding:0 6px;font-size:14px;line-height:1}
  .rq-time button:hover{color:var(--dk-red, #c92a2a)}
  .rq-add-time{padding:5px 10px;font-size:12px}
  .rq-hint{text-transform:none;letter-spacing:0;font-weight:500}
  .rq-hint[hidden]{display:none}
  .rq-prev{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13px;color:var(--dk-text, #16202e);cursor:pointer}
  .rq-prev-note{margin-top:4px;font-size:12px;line-height:1.45;color:var(--dk-muted, #475467)}
  .rq-prev-note[hidden]{display:none}
  .rq-period[hidden]{display:none}
  .rq-period label{flex:1;display:flex;flex-direction:column;gap:4px;font:500 10px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;color:var(--dk-faint, #8b95a3)}
  .rq-period input,.rq-period select{border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;padding:6px 9px;font:500 13px var(--ed-font);color:var(--dk-text, #16202e);background:var(--dk-surface, #fff)}
  .rq-period input:disabled{background:var(--dk-ground, #f4f6f9);color:var(--dk-muted, #5a6478)}
  .rq-period input:focus,.rq-period select:focus{outline:none;border-color:#206bc4}
  .rq-sources{margin-top:14px}
  .rq-credits{display:flex;align-items:flex-start;gap:6px;margin-top:12px;padding:8px 10px;font-size:12.5px;line-height:1.45;
    color:var(--dk-muted, #475467);background:var(--dk-subtle, #f8fafc);border:1px solid var(--dk-line, #e3e6eb);border-radius:2px}
  .rq-credits[hidden]{display:none}
  .rq-credits i{color:var(--dk-amber, #b8770b);font-size:15px;margin-top:1px}
  .rq-credits b{color:var(--dk-text, #16202e)}
  .rq-lbl{font:500 10px var(--ed-titoli);text-transform:uppercase;letter-spacing:.04em;color:var(--dk-faint, #8b95a3);margin-bottom:6px}
  .rq-sources label{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;color:var(--dk-text, #16202e);cursor:pointer}
  .rq-sources label small{margin-left:auto;color:var(--dk-faint, #8b95a3);font-size:11px}
  .rq-sources .rq-empty{font-size:12px;color:var(--dk-red, #c92a2a)}
  /* gli account di una fonte dati, sotto la sua casella */
  .rq-accs{display:flex;flex-direction:column;gap:4px;margin:0 0 8px 48px}
  .rq-accs[hidden]{display:none}
  .rq-acc{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--dk-muted, #5a6478);min-height:24px}
  .rq-acc-u{color:var(--dk-text, #16202e);font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rq-acc-m{white-space:nowrap}
  .rq-acc-s{white-space:nowrap}
  .rq-acc-s.ok{color:var(--dk-green, #2b8a3e)}
  .rq-acc-s.warn,.rq-acc-warn{color:var(--dk-amber, #b8770b)}
  .rq-acc-s.err{color:var(--dk-red, #c92a2a);white-space:normal}
  .rq-acc-s.run{color:var(--dk-faint, #8b95a3)}
  .rq-acc-a{margin-left:auto;display:flex;align-items:center;gap:4px}
  .rq-acc-a .ed-btn{padding:1px 8px;font-size:11px}
  .rq-spin{display:inline-block;font-size:14px;animation:rq-spin 1s linear infinite}
  @keyframes rq-spin{to{transform:rotate(360deg)}}
  .rq-acc-otp{width:84px;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;padding:2px 6px;font:600 12px var(--ed-font);letter-spacing:.08em}
  .rq-test-box{border-bottom:1px solid var(--dk-line, #e6ebf1);padding-bottom:12px;margin-bottom:2px}
  .rq-test-box[hidden]{display:none}
  .rq-test-row label{flex:2;min-width:0}
  .rq-test-row label.rq-test-k{flex:1}
  .rq-test-row input{width:100%;box-sizing:border-box}

/* ---- templates/requests/list.html ---- */
.rq-source{margin-right:4px}
  .rq-progress .ed-badge{margin-right:4px}
  .rq-sched{color:var(--dk-link, #206bc4);margin-left:4px}
  .rq-closed{color:var(--dk-muted, #5a6478);cursor:default}
  .rq-hidden{color:var(--dk-faint, #8b95a3)}
  /* the requests of the fixed schedules */
  tr.rq-fixed td{background:var(--dk-tint-blue, #f1f6fd)}
  tr.rq-fixed td.ed-sel{box-shadow:inset 3px 0 0 #206bc4}
  .rq-fix{margin-left:4px;font-size:10px;vertical-align:1px;text-decoration:none}
  .rq-meters{min-width:180px;max-width:420px}
  .rq-meters .rq-n{margin-right:4px;vertical-align:1px}
  /* one line, the dots when they do not fit */
  .rq-line{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .rq-test{font-size:10px;padding:1px 5px;vertical-align:1px}
  .rq-test-btn{margin-left:8px}

/* ---- templates/requests/_views.html ---- */
.ed-seg a .vw-n{display:inline-block;min-width:16px;margin-left:6px;padding:1px 5px;border-radius:2px;box-sizing:border-box;
    font:700 10px var(--ed-font);text-align:center;line-height:14px;background:#206bc4;color:#fff}
  .ed-seg a.on .vw-n{background:var(--dk-surface, #fff);color:var(--dk-link, #206bc4)}

/* ---- templates/_inline_new.html ---- */
tr.ie-new td{background:var(--dk-subtle, #fafbfc)}
  .ie-new-in{width:100%;box-sizing:border-box;height:26px;padding:0 7px;border:1px solid var(--dk-line-strong, #cbd5e1);border-radius:2px;font-size:12px;background:var(--dk-surface, #fff);color:var(--dk-text, #252b33)}
  .ie-new-in:focus{outline:0;border-color:#206bc4}
  input.ie-new-in.mono{font:600 11px var(--ed-font)}

/* ---- templates/accounts/list.html ---- */
.pwd-cell{white-space:nowrap;line-height:1}
  .pwd-cell .pwd{font:600 11px var(--ed-font);letter-spacing:.5px;color:var(--dk-text, #16202e);background:var(--dk-ground, #f4f6f9);border:1px solid var(--dk-line, #e6e9ef);border-radius:2px;padding:1px 6px}
  .pwd-cell .pwd-eye{margin-left:4px;border:0;background:none;cursor:pointer;color:var(--dk-faint, #8b95a3);font-size:14px;vertical-align:middle;padding:0;line-height:1}
  .pwd-cell .pwd-eye:hover{color:var(--dk-link, #206bc4)}
  .acc-deleg{display:block;font-size:10.5px;color:var(--dk-muted, #5a6478);white-space:nowrap;margin-top:2px}
  .acc-deleg.ko{color:var(--dk-red, #a8071a);white-space:normal;max-width:220px;margin-left:auto}
  .acc-run{display:block;font-size:10.5px;color:var(--dk-faint, #8b95a3);margin-top:2px;white-space:nowrap}

/* ---- schermata ---- */
html,body{height:100%}body{pointer-events:none;user-select:none}.ed-top,.ed-main,.ed-status{min-width:0}
