/* Gestionale Pagamenti Librerie - Claude style UI */
:root{
  --ta-bg:#f7f4ee;
  --ta-surface:#fffaf2;
  --ta-surface-2:#ffffff;
  --ta-ink:#2f2a23;
  --ta-muted:#7b7166;
  --ta-border:#e7ded2;
  --ta-border-strong:#d8cbbd;
  --ta-accent:#c96442;
  --ta-accent-dark:#a84f33;
  --ta-accent-soft:#fae7dd;
  --ta-green:#38745a;
  --ta-green-soft:#e8f3ed;
  --ta-yellow:#9a6a16;
  --ta-yellow-soft:#fff3d8;
  --ta-red:#9f3b36;
  --ta-red-soft:#fae3e0;
  --ta-shadow:0 18px 60px rgba(55,43,31,.08);
  --ta-radius:18px;
  --ta-radius-sm:12px;
  --ta-sidebar:278px;
}
*{box-sizing:border-box}
html{background:var(--ta-bg);scroll-behavior:smooth}
body.ta-claude-admin{margin:0;background:var(--ta-bg);color:var(--ta-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.45}
a{color:var(--ta-accent-dark);text-decoration:none}a:hover{text-decoration:underline}.ta-app{min-height:100vh;display:grid;grid-template-columns:var(--ta-sidebar) minmax(0,1fr)}.ta-sidebar{position:sticky;top:0;height:100vh;padding:22px 18px;background:#eee8df;border-right:1px solid var(--ta-border);display:flex;flex-direction:column;gap:20px}.ta-brand{display:flex;gap:12px;align-items:center;padding:8px 8px 18px;border-bottom:1px solid var(--ta-border)}.ta-brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#d97651,#9e4c35);display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 8px 20px rgba(201,100,66,.25)}.ta-brand-title{font-size:15px;font-weight:760;letter-spacing:-.02em}.ta-brand-subtitle{font-size:12px;color:var(--ta-muted);margin-top:2px}.ta-nav{display:flex;flex-direction:column;gap:6px}.ta-nav a,.ta-nav button{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:#4b4239;font-weight:650;text-decoration:none;border:0;background:transparent;width:100%;text-align:left;cursor:pointer;font:inherit}.ta-nav a:hover,.ta-nav a.is-active,.ta-nav button:hover,.ta-nav button.is-active{background:rgba(255,250,242,.9);box-shadow:inset 0 0 0 1px rgba(216,203,189,.6)}.ta-nav .ta-dot{width:8px;height:8px;border-radius:100px;background:var(--ta-accent)}.ta-sidebar-footer{margin-top:auto;padding:14px;border-radius:16px;background:rgba(255,250,242,.7);border:1px solid var(--ta-border);color:var(--ta-muted);font-size:12px}.ta-main{min-width:0}.ta-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 30px;background:rgba(247,244,238,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(231,222,210,.8)}.ta-topbar-title{font-size:15px;font-weight:750}.ta-topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ta-content{max-width:1480px;margin:0 auto;padding:28px 30px 54px}.ta-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;margin-bottom:20px}.ta-hero-card{background:linear-gradient(135deg,#fffaf2 0%,#fff 70%);border:1px solid var(--ta-border);border-radius:24px;padding:26px;box-shadow:var(--ta-shadow)}.ta-eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--ta-accent-dark);font-weight:760;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.ta-hero h1{font-size:34px;letter-spacing:-.04em;line-height:1.05;margin:0 0 10px}.ta-hero p{margin:0;color:var(--ta-muted);max-width:850px}.ta-status-card{min-width:290px;background:#2f2a23;color:#fff;border-radius:24px;padding:22px;box-shadow:var(--ta-shadow);display:flex;flex-direction:column;justify-content:space-between}.ta-status-card small{color:#d6c9ba}.ta-status-card strong{font-size:26px;letter-spacing:-.03em}.ta-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0}.ta-search{position:relative;min-width:min(420px,100%);flex:1}.ta-search input{width:100%;border:1px solid var(--ta-border);background:var(--ta-surface-2);border-radius:999px;padding:13px 16px 13px 40px;color:var(--ta-ink);outline:0;box-shadow:0 6px 24px rgba(55,43,31,.04)}.ta-search:before{content:"⌕";position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ta-muted);font-size:18px}.ta-actions{display:flex;gap:10px;flex-wrap:wrap}.ta-btn,.btn{appearance:none;border:1px solid var(--ta-border-strong)!important;border-radius:999px!important;padding:10px 15px!important;font-weight:730!important;background:#fffaf2!important;color:#3d342c!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;line-height:1.2!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer;white-space:nowrap}.ta-btn:hover,.btn:hover{background:#fff!important;text-decoration:none!important;transform:translateY(-1px)}.ta-btn-primary,.btn-primary{background:var(--ta-accent)!important;border-color:var(--ta-accent)!important;color:#fff!important}.ta-btn-primary:hover,.btn-primary:hover{background:var(--ta-accent-dark)!important;color:#fff!important}.ta-btn-ghost,.btn-secondary{background:transparent!important}.ta-btn-danger{background:var(--ta-red-soft)!important;color:var(--ta-red)!important;border-color:#efc0bb!important}.ta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 22px}.ta-metric{background:var(--ta-surface);border:1px solid var(--ta-border);border-radius:var(--ta-radius);padding:18px;box-shadow:0 10px 34px rgba(55,43,31,.05)}.ta-metric-label{font-size:12px;color:var(--ta-muted);font-weight:720;text-transform:uppercase;letter-spacing:.08em}.ta-metric-value{font-size:28px;font-weight:800;letter-spacing:-.04em;margin-top:8px}.ta-metric-note{font-size:12px;color:var(--ta-muted);margin-top:4px}.ta-card,.card{background:var(--ta-surface-2)!important;border:1px solid var(--ta-border)!important;border-radius:var(--ta-radius)!important;box-shadow:var(--ta-shadow)!important;overflow:hidden!important;margin-bottom:18px}.ta-card-header{padding:18px 20px;border-bottom:1px solid var(--ta-border);display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:rgba(255,250,242,.6)}.ta-card-title{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0}.ta-card-subtitle{margin:4px 0 0;color:var(--ta-muted);font-size:13px}.ta-card-body,.card-body{padding:20px!important}.ta-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:760;border:1px solid var(--ta-border);background:#fffaf2;color:var(--ta-muted)}.ta-badge-red{background:var(--ta-red-soft);border-color:#efc0bb;color:var(--ta-red)}.ta-badge-yellow{background:var(--ta-yellow-soft);border-color:#f1d39a;color:var(--ta-yellow)}.ta-badge-green{background:var(--ta-green-soft);border-color:#bad9c8;color:var(--ta-green)}.ta-table-wrap,.table-responsive{width:100%;overflow:auto;border-radius:16px;border:1px solid var(--ta-border);background:#fff}.ta-table,table.table,table{width:100%;border-collapse:separate!important;border-spacing:0!important;margin:0!important;color:var(--ta-ink)}.ta-table thead th,table.table thead th,table thead th{position:sticky;top:0;background:#fbf7ef!important;color:#6f6258!important;font-size:12px!important;letter-spacing:.07em;text-transform:uppercase;font-weight:820!important;border-bottom:1px solid var(--ta-border)!important;padding:13px 14px!important;white-space:nowrap;z-index:1}.ta-table td,table.table td,table td{padding:14px!important;border-bottom:1px solid #f0e8de!important;vertical-align:top!important;background:transparent!important}.ta-table tbody tr:hover,table.table tbody tr:hover{background:#fffaf2!important}.ta-row-ok{background:#fff!important}.ta-row-problem{background:#fff8f5!important}.ta-row-deposit{background:#fffaf0!important}.ta-row-failed{background:#fff5f3!important}.ta-row-note td{padding-top:0!important;background:#fff!important}.ta-library-title{font-weight:790;color:var(--ta-ink)}.ta-library-meta{color:var(--ta-muted);font-size:12px;margin-top:3px}.ta-inline-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.ta-link-pill{border:1px solid var(--ta-border);border-radius:999px;padding:6px 9px;background:#fffaf2;font-size:12px;font-weight:720;text-decoration:none}.ta-text-muted{color:var(--ta-muted)}.ta-money{font-weight:830;color:var(--ta-green)}.ta-note-input,.form-control,input[type="text"],input[type="email"]{width:100%!important;border:1px solid var(--ta-border)!important;border-radius:12px!important;background:#fff!important;color:var(--ta-ink)!important;padding:10px 12px!important;outline:0!important;box-shadow:none!important}.ta-note-input:focus,.form-control:focus,input:focus{border-color:#d2a18b!important;box-shadow:0 0 0 4px rgba(201,100,66,.12)!important}.ta-check{display:flex;align-items:center;gap:9px;min-width:125px}.ta-check input[type="checkbox"],input[type="checkbox"]{width:18px!important;height:18px!important;accent-color:var(--ta-accent);cursor:pointer}.ta-alert,.alert{border:1px solid var(--ta-border)!important;border-radius:16px!important;padding:14px 16px!important;background:#fffaf2!important;color:var(--ta-ink)!important;margin:12px 0!important}.alert-info,.alert-primary{background:#f5efe6!important}.alert-warning{background:var(--ta-yellow-soft)!important;color:var(--ta-yellow)!important}.alert-danger{background:var(--ta-red-soft)!important;color:var(--ta-red)!important}.ta-empty{padding:34px;text-align:center;color:var(--ta-muted);background:#fffaf2;border-radius:16px;border:1px dashed var(--ta-border-strong)}.ta-footer{padding:18px 30px;color:var(--ta-muted);border-top:1px solid var(--ta-border);font-size:12px}.is-hidden-by-search{display:none!important}@media(max-width:1100px){.ta-app{grid-template-columns:1fr}.ta-sidebar{position:relative;height:auto;flex-direction:row;align-items:center;overflow:auto}.ta-sidebar-footer{display:none}.ta-nav{flex-direction:row}.ta-hero{grid-template-columns:1fr}.ta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.ta-topbar,.ta-content,.ta-footer{padding-left:16px;padding-right:16px}.ta-hero h1{font-size:27px}.ta-grid{grid-template-columns:1fr}.ta-card-header{flex-direction:column}.ta-sidebar{padding:12px}.ta-brand-subtitle{display:none}.ta-status-card{min-width:0}.ta-actions,.ta-topbar-actions{width:100%}.ta-btn,.btn{width:100%}}


/* v2 interactions: collapsible cards + tabs */
.ta-card-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.ta-card-toggle{
  appearance:none;
  border:1px solid var(--ta-border);
  background:#fffaf2;
  color:var(--ta-muted);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.ta-card-toggle:hover{
  background:#fff;
  border-color:var(--ta-border-strong);
  color:var(--ta-ink);
  transform:translateY(-1px);
}
.ta-card.is-collapsed .ta-card-body{
  display:none;
}
.ta-tabs{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  margin:0 0 16px;
  border:1px solid var(--ta-border);
  background:#f3ede5;
  border-radius:999px;
}
.ta-tab{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--ta-muted);
  border-radius:999px;
  padding:9px 14px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.ta-tab:hover{
  color:var(--ta-ink);
}
.ta-tab.is-active{
  background:#fffaf2;
  color:var(--ta-ink);
  box-shadow:0 1px 2px rgba(55,43,31,.08), inset 0 0 0 1px rgba(216,203,189,.6);
}
.ta-tab-panel{
  display:none;
}
.ta-tab-panel.is-active{
  display:block;
}
.ta-card-body > .ta-alert:first-child{
  margin-top:0!important;
}@media(max-width:720px){
  .ta-card-header-actions{width:100%;justify-content:space-between}
  .ta-tabs{display:flex;width:100%;overflow:auto;border-radius:16px}
  .ta-tab{flex:1}
  .ta-card-toggle{min-width:72px}
}


/* v3: chiamato dentro la colonna Libreria */
.ta-library-check{
  display:grid;
  grid-template-columns:auto minmax(140px,220px);
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:10px;
  border:1px solid var(--ta-border);
  border-radius:14px;
  background:#fffaf2;
}
.ta-note-input-small{
  padding:8px 10px!important;
  font-size:12px!important;
}
@media(max-width:720px){
  .ta-library-check{grid-template-columns:1fr}
}

/* v4: card rigenerazione dati ripristinata, senza output tecnico */
.ta-regen-card .ta-card-body{
  background:linear-gradient(135deg,#fffaf2 0%,#ffffff 100%);
}
.ta-regen-status{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ta-muted);
  font-size:14px;
}
.ta-regen-status strong{
  color:var(--ta-ink);
  font-weight:760;
}
.ta-regen-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--ta-green);
  box-shadow:0 0 0 6px rgba(45,121,76,.12);
  flex:0 0 auto;
}


/* Dettaglio rigenerazione: mantiene il contenuto per singola libreria ma lo rende coerente con la UI Claude */
.ta-regen-output {
    margin-top: 16px;
    border: 1px solid var(--ta-border);
    border-radius: 18px;
    background: #fffdf8;
    overflow: hidden;
}

.ta-regen-output > hr:first-child,
.ta-regen-output > hr:nth-child(3) {
    display: none;
}

.ta-regen-output h1 {
    margin: 0;
    padding: 18px 20px 10px;
    font-size: 18px;
    line-height: 1.35;
    color: var(--ta-text);
    border-top: 1px solid var(--ta-border);
    background: linear-gradient(180deg, rgba(250, 246, 238, .92), rgba(255, 253, 248, .92));
}

.ta-regen-output h1:first-of-type {
    border-top: 0;
}

.ta-regen-output h3 {
    margin: 0;
    padding: 12px 20px 8px;
    font-size: 14px;
    color: var(--ta-text);
}

.ta-regen-output p {
    margin: 0;
    padding: 6px 20px 12px;
    color: var(--ta-muted);
    font-size: 13px;
}

.ta-regen-output hr {
    margin: 0;
    border: 0;
    border-top: 1px solid var(--ta-border);
}

.ta-regen-output .table-responsive {
    width: 100%;
    overflow-x: auto;
    padding: 0 20px 18px;
}

.ta-regen-output table,
.ta-regen-output .table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    background: #fffaf1;
    border: 1px solid var(--ta-border);
    border-radius: 14px;
    overflow: hidden;
}

.ta-regen-output th,
.ta-regen-output td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--ta-border);
    vertical-align: top;
}

.ta-regen-output th {
    text-align: left;
    color: var(--ta-muted);
    background: rgba(250, 246, 238, .82);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ta-regen-output tr:last-child td {
    border-bottom: 0;
}

.ta-regen-output .table-success,
.ta-regen-output tr.table-success td {
    background: #f1f8f1;
}

.ta-regen-output .table-secondary,
.ta-regen-output tr.table-secondary td {
    background: #fbf5ec;
}

.ta-regen-output input[type="text"],
.ta-regen-output .form-control {
    width: 100%;
    border: 1px solid var(--ta-border);
    border-radius: 12px;
    min-height: 38px;
    padding: 8px 10px;
    background: #fff;
    color: var(--ta-text);
    outline: none;
}

.ta-regen-output input[type="text"]:focus,
.ta-regen-output .form-control:focus {
    border-color: rgba(184, 120, 86, .6);
    box-shadow: 0 0 0 3px rgba(184, 120, 86, .12);
}

.ta-regen-output a {
    color: #8f4f33;
    font-weight: 650;
    text-decoration: none;
}

.ta-regen-output a:hover {
    text-decoration: underline;
}

/* Rigenerazione dati avanzata */
.ta-regen-dashboard{
  display:grid;
  gap:18px;
}
.ta-regen-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border:1px solid rgba(100, 82, 64, .12);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(250,247,242,.86));
}
.ta-regen-toolbar h3{
  margin:2px 0 0;
  font-size:18px;
  letter-spacing:-.02em;
}
.ta-regen-select-wrap{
  display:grid;
  gap:7px;
  min-width:min(380px, 100%);
}
.ta-regen-select-wrap label{
  font-size:12px;
  font-weight:700;
  color:#8a7d70;
}
.ta-select{
  width:100%;
  min-height:42px;
  border:1px solid rgba(100, 82, 64, .18);
  border-radius:14px;
  background:#fffaf3;
  color:#2f2a24;
  padding:0 14px;
  font:inherit;
  outline:none;
  box-shadow:0 1px 2px rgba(39,31,24,.04);
}
.ta-select:focus{
  border-color:rgba(180, 119, 75, .55);
  box-shadow:0 0 0 4px rgba(180,119,75,.12);
}
.ta-regen-summary{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}
.ta-regen-summary > div{
  padding:16px;
  border:1px solid rgba(100, 82, 64, .12);
  border-radius:18px;
  background:#fffaf3;
}
.ta-regen-summary span{
  display:block;
  font-size:12px;
  font-weight:700;
  color:#8a7d70;
  margin-bottom:5px;
}
.ta-regen-summary strong{
  font-size:24px;
  letter-spacing:-.04em;
}
.ta-regen-main-tabs{
  overflow-x:auto;
  white-space:nowrap;
  padding-bottom:6px;
  scrollbar-width:thin;
}
.ta-regen-list{
  display:grid;
  gap:16px;
}
.ta-regen-library-card{
  display:grid;
  gap:16px;
  padding:18px;
  border:1px solid rgba(100, 82, 64, .13);
  border-radius:24px;
  background:#fffdf8;
  box-shadow:0 12px 40px rgba(44, 34, 25, .06);
}
.ta-regen-library-card.is-hidden-by-filter{
  display:none !important;
}
.ta-regen-library-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(100,82,64,.1);
}
.ta-regen-library-head h3{
  margin:3px 0 4px;
  font-size:21px;
  letter-spacing:-.035em;
}
.ta-regen-library-head p{
  margin:0;
  color:#776b5f;
  font-size:13px;
}
.ta-regen-kpis{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.ta-tabs-soft,
.ta-tabs-years,
.ta-tabs-status{
  background:rgba(250,247,242,.75);
  border:1px solid rgba(100,82,64,.1);
  border-radius:16px;
  padding:5px;
  gap:5px;
  overflow-x:auto;
}
.ta-tabs-status{
  margin:12px 0;
}
.ta-inner-panel{
  display:none;
}
.ta-inner-panel.is-active{
  display:block;
}
.ta-table-wrap-compact{
  border-radius:18px;
  border:1px solid rgba(100,82,64,.1);
  overflow:auto;
  background:#fffaf3;
}
.ta-table-regen{
  min-width:920px;
}
.ta-table-regen th{
  background:#f7f0e7;
  color:#5f5145;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ta-link-strong{
  font-weight:800;
  color:#7c4a2f;
  text-decoration:none;
}
.ta-link-strong:hover{
  text-decoration:underline;
}
.ta-bank-hit{
  margin-top:8px;
  padding:8px 10px;
  border-radius:12px;
  background:#edf8ee;
  color:#336b3d;
  font-size:12px;
}
.ta-empty-soft{
  border:1px dashed rgba(100,82,64,.18);
  background:rgba(250,247,242,.65);
  border-radius:18px;
}
.ta-tab span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  margin-left:6px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(74,65,56,.08);
  font-size:12px;
}
@media (max-width: 900px){
  .ta-regen-toolbar,
  .ta-regen-library-head{
    align-items:stretch;
    flex-direction:column;
  }
  .ta-regen-summary{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .ta-regen-kpis{
    justify-content:flex-start;
  }
}
@media (max-width: 560px){
  .ta-regen-summary{
    grid-template-columns:1fr;
  }
}


/* v8: rigenerazione più leggibile, priorità a fatture non pagate e tab non fallite/fallite */
.ta-regen-main-tabs{
  display:flex;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  padding:6px;
  border-radius:18px;
}
.ta-regen-main-tabs .ta-tab{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.ta-regen-main-tabs .ta-tab span,
.ta-tabs-status .ta-tab span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:#f0e4d8;
  color:var(--ta-muted);
  font-size:11px;
  font-weight:850;
}
.ta-regen-main-tabs .ta-tab-priority{
  color:var(--ta-red);
}
.ta-regen-main-tabs .ta-tab-priority span{
  background:var(--ta-red-soft);
  color:var(--ta-red);
}
.ta-tabs-soft{
  margin-top:8px;
  margin-bottom:18px;
}
.ta-tabs-soft .ta-tab:first-child{
  min-width:145px;
}
.ta-regen-toolbar{
  align-items:flex-end;
}
.ta-select{
  min-width:280px;
}
.ta-regen-library-card{
  border-radius:20px;
}
.ta-regen-library-head{
  background:linear-gradient(135deg,#fffaf2 0%,#fff 70%);
}
.ta-tabs-years,
.ta-tabs-status{
  max-width:100%;
  overflow-x:auto;
}
@media(max-width:720px){
  .ta-select{min-width:0;width:100%}
  .ta-regen-toolbar{align-items:stretch}
}
