/* v1.8 · Single unified workspace: one fixed header, one design system */
:root{--op-panel:#101925;--op-line:#2a3b4f;--op-bg:#0a1421;--op-dim:#a3b8d0}
*{box-sizing:border-box}
body{padding-top:76px}
.topbar{position:fixed!important;top:0;left:0;right:0;z-index:50;height:76px;background:#090f19f5;backdrop-filter:blur(20px)}
.topbar-inner{max-width:1560px;min-height:76px}
.brand-logo-main{max-width:218px;height:auto}
.top-actions .avatar{display:none!important}
.nav{gap:2px}.nav a{white-space:nowrap}
.module-panel{padding:24px;min-width:0;margin-bottom:20px}
.module-count{display:block;margin:16px 0;color:#8fa6bf;font-size:12px;font-weight:700}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:stretch}
.module-card{min-width:0;display:flex;flex-direction:column;gap:12px;padding:19px 20px;background:linear-gradient(145deg,#141f2e,#0f1825);border:1px solid var(--op-line);border-radius:16px;overflow:hidden;transition:border-color .15s}
.module-card:hover{border-color:#416780}
.module-card h3{font-size:16px;font-weight:800;line-height:1.35;margin:0;overflow-wrap:anywhere;color:#edf4ff}
.module-card p{font-size:12px;line-height:1.6;color:var(--op-dim);margin:0;overflow-wrap:anywhere}
.module-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;min-width:0}
.module-card-head .mini-label{letter-spacing:1px;font-size:10px;overflow-wrap:anywhere}
.module-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;padding-top:7px}
.module-caption{color:#849bb5;font-size:10px;line-height:1.35;overflow-wrap:anywhere;min-width:0}
.module-card-footer .pane-actions{gap:5px;flex-wrap:wrap}
.module-card-footer .btn.small{font-size:11px}
.module-card .pill{white-space:normal;overflow-wrap:anywhere}
.module-email{color:#ebf5ff;font-size:14px!important}
.module-more{grid-column:1/-1;text-align:center;color:var(--op-dim);font-size:12px}
.module-empty{grid-column:1/-1;border:1px dashed #354d61;border-radius:15px;min-height:140px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--op-dim);font-size:13px}
.module-empty svg{height:21px;width:21px}
.module-detail{scroll-margin-top:105px;margin:24px 0;padding:26px}
.module-detail-header{display:flex;justify-content:space-between;gap:12px;align-items:start}
.module-detail-header h2{margin:10px 0;font-size:24px}
.module-detail-header p{font-size:13px;color:var(--op-dim)}
.module-detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 22px}
.module-longtext{padding:23px;border-radius:15px;background:#0a1421;border:1px solid #26394d;font-size:13px;color:#d3e3f5;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;overflow-y:auto;user-select:text}
.wallet-group{margin-bottom:17px}
.wallet-ref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wallet-ref{gap:14px}
.wallet-cells{display:grid;gap:10px}
.wallet-value{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid #26394d;border-radius:10px;background:#0b1522;min-width:0}
.wallet-value>span{color:#8aa5be;font-size:10px;font-weight:800;letter-spacing:.35px}
.wallet-value>div{display:flex;justify-content:space-between;gap:8px;align-items:center;min-width:0}
.wallet-value strong{font-size:12px;color:#ebf5ff;overflow-wrap:anywhere;word-break:break-word;min-width:0;font-weight:700}
.mini-copy{display:grid;place-items:center;min-height:28px;min-width:28px;padding:5px;border:1px solid #31526a;background:#122c3e;border-radius:8px;color:#69d6ef;cursor:pointer;flex:none}
.mini-copy svg{width:14px;height:14px}
.mini-copy:hover{background:#194155}
.module-update-content{white-space:pre-wrap;font-size:12px;line-height:1.65;color:#b8cde0;background:#0b1522;border:1px solid #26394d;border-radius:11px;padding:15px;max-height:250px;overflow-y:auto;overflow-wrap:anywhere;user-select:text}
.op-modal .modal-content{width:min(96vw,780px);padding:28px}
.op-modal .modal-top{margin-bottom:17px}
.op-modal .form-stack{gap:13px}
.op-modal .field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.op-modal .modal-foot .btn{min-width:95px}
.op-modal input,.op-modal textarea,.op-modal select{max-width:100%}
.route-view[data-route="skin"] .section-tools,.route-view[data-route="links"] .section-tools,.route-view[data-route="procedures"] .section-tools,.route-view[data-route="updates"] .section-tools{flex-wrap:wrap}
.route-view[data-route="skin"] .section-tools .search-box,.route-view[data-route="procedures"] .section-tools .search-box{min-width:240px;flex:2 1 280px}
@media (max-width:1150px){body{padding-top:112px}.topbar{height:auto}.topbar-inner{min-height:66px;height:66px}.mobile-nav{display:flex}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wallet-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){body{padding-top:117px}.mobile-nav{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding:7px 12px;scrollbar-width:thin}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:650px){.topbar{height:auto}.brand-logo-main{width:180px}.page{padding-left:14px;padding-right:14px}.module-grid,.wallet-ref-grid{grid-template-columns:minmax(0,1fr)}.module-panel{padding:15px}.module-detail{padding:16px}.module-detail-header h2{font-size:21px}.op-modal .modal-content{padding:18px}.op-modal .field-row{grid-template-columns:minmax(0,1fr)}.module-card{padding:15px}.route-view[data-route="procedures"] .section-tools .search-box{min-width:0;width:100%}}
[hidden]{display:none!important}

/* Payments Hub 24 · Wallet & IBAN v2.0 · unified reference matrix */
.wallet-page-heading{align-items:center}.wallet-page-heading .lead{max-width:730px}.wallet-global-actions{align-items:center;gap:15px}.wallet-edit-state{color:#8ca8bf;font-size:11px;white-space:normal;max-width:170px;text-align:right}.wallet-edit-state.is-busy{color:#ffd17c}
.wallet-table-panel{padding:24px 26px 27px!important;margin-bottom:21px;background:linear-gradient(145deg,#111c2a,#0c1623)!important;border:1px solid #2c3b51!important;border-radius:22px!important;box-shadow:0 12px 34px rgba(0,0,0,.14)}
.wallet-panel-title{display:flex;align-items:center;gap:15px;margin-bottom:21px;min-width:0}.wallet-panel-title>div:nth-child(2){flex:1;min-width:0}.wallet-panel-title h2{font-size:21px;line-height:1.25;margin:7px 0 4px;color:#f0f6ff;letter-spacing:-.45px}.wallet-panel-title p{font-size:12px;color:#8fa8c2;margin:0}.wallet-panel-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:13px;color:#91dff0;background:#122a39;border:1px solid #235069}.wallet-panel-icon svg{width:23px;height:23px}.wallet-add{margin-left:auto}
.wallet-matrix{border:1px solid #2b3b50;border-radius:15px;overflow:hidden;min-width:0;background:#0d1724}.wallet-matrix-header,.wallet-matrix-row{display:grid;grid-template-columns:minmax(190px,.78fr) repeat(3,minmax(0,1fr));min-width:0}.wallet-matrix-header{background:#121e2d}.wallet-header-placeholder{display:flex;align-items:center;padding:18px 18px;color:#8098b4;font-size:10px;font-weight:850;letter-spacing:1.5px;border-right:1px solid #304056}.wallet-concession-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:13px 10px;min-width:0;background:#162334;border-right:1px solid #304056;border-top:3px solid transparent}.wallet-concession-head:last-child{border-right:0}.wallet-concession-name{font-size:14px;font-weight:900;letter-spacing:.5px;color:#f3f6fd}.wallet-concession-code{font-size:12px;font-weight:750;letter-spacing:.4px;color:#9cb6d1}.wallet-concession-head.concession-0{background:linear-gradient(180deg,rgba(224,35,56,.19),rgba(224,35,56,.05));border-top-color:#fc485e}.wallet-concession-head.concession-1{background:linear-gradient(180deg,rgba(53,122,241,.18),rgba(53,122,241,.05));border-top-color:#5a9dff}.wallet-concession-head.concession-2{background:linear-gradient(180deg,rgba(57,170,114,.18),rgba(57,170,114,.05));border-top-color:#5de0a1}
.wallet-matrix-row{min-height:80px;border-top:1px solid #26374b}.wallet-matrix-row:hover{background:#15233555}.wallet-provider{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:12px 16px;min-width:0;background:#111c2a;border-right:1px solid #28384c}.wallet-provider-main{display:flex;align-items:center;gap:12px;min-width:0}.wallet-provider-logo{display:block;width:102px;max-height:39px;max-width:100%;height:auto;object-fit:contain;border-radius:6px;flex:0 1 102px}.wallet-provider-typemark{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #334a61;border-radius:10px;color:#98d6ed;background:#132a3a}.wallet-provider-typemark svg{width:18px}.wallet-provider-detail{min-width:0}.wallet-provider-name{color:#eef5ff;font-size:12px;font-weight:800;line-height:1.3;display:block;overflow-wrap:anywhere}.wallet-provider-detail small{font-size:10px;color:#829cb6;display:block;margin-top:5px}.wallet-matrix-cell{display:flex;align-items:center;justify-content:center;text-align:center;padding:15px 13px;min-width:0;border-right:1px solid #28384c}.wallet-matrix-cell:last-child{border-right:0}.wallet-matrix-cell.concession-0{background:rgba(222,54,76,.065)}.wallet-matrix-cell.concession-1{background:rgba(71,127,240,.06)}.wallet-matrix-cell.concession-2{background:rgba(69,175,111,.058)}.wallet-data-value{font-size:14px;font-weight:750;line-height:1.5;color:#eaf3ff;letter-spacing:.1px;overflow-wrap:anywhere;word-break:break-word;min-width:0}.wallet-iban-value{font-size:clamp(11px,1.1vw,14px);letter-spacing:.15px;font-weight:710;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.wallet-input{width:100%;height:38px;min-width:0;background:#091625!important;color:#f1f6ff!important;border:1px solid #45647d!important;border-radius:9px!important;padding:8px 10px!important;outline:none;font-family:inherit;font-size:12px;font-weight:700;text-align:center;box-shadow:none!important}.wallet-input:focus{border-color:#5ad4f2!important;box-shadow:0 0 0 2px #5ad4f222!important}.wallet-row-name{text-align:left;font-size:12px;min-width:0}.wallet-provider-main:has(.wallet-row-name){flex:1}.wallet-code-input{max-width:180px}.wallet-name-input{max-width:170px}.wallet-matrix:has(.wallet-input) .wallet-matrix-row{min-height:90px}.wallet-remove{border:1px solid #563247;background:#2a1927;color:#f69cac;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;cursor:pointer;flex:none}.wallet-remove svg{width:15px;height:15px}.wallet-remove:hover{background:#552332}.wallet-edit-help{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:15px 0 0;font-size:11px;color:#96b5c9}.wallet-edit-help svg{width:16px;height:16px;color:#5cd1aa}.wallet-edit-help strong{color:#d9e8f5}
@media(max-width:1120px){.wallet-matrix-header,.wallet-matrix-row{grid-template-columns:minmax(135px,.7fr) repeat(3,minmax(0,1fr))}.wallet-provider{padding:12px}.wallet-provider-main{flex-wrap:wrap;gap:5px}.wallet-provider-logo{width:96px}.wallet-matrix-cell{padding:12px 8px}.wallet-data-value{font-size:12px}.wallet-iban-value{font-size:11px}.wallet-header-placeholder{padding:12px;font-size:9px}}
@media(max-width:790px){.wallet-page-heading{display:flex;flex-wrap:wrap;align-items:center}.wallet-global-actions{width:100%;justify-content:space-between}.wallet-table-panel{padding:15px!important}.wallet-panel-title{gap:10px}.wallet-panel-title h2{font-size:19px}.wallet-matrix{border:none;background:transparent;overflow:visible}.wallet-matrix-header{display:none}.wallet-matrix-row{display:grid;grid-template-columns:1fr;gap:0;border:1px solid #314257;background:#0e1927;border-radius:13px;overflow:hidden;margin-bottom:12px}.wallet-provider{padding:12px 13px;min-height:56px;border-right:0;border-bottom:1px solid #2a3b50}.wallet-provider-main{flex-wrap:nowrap}.wallet-provider-logo{width:105px;max-height:40px}.wallet-matrix-cell{justify-content:space-between;text-align:right;gap:12px;min-height:52px;border-right:0;border-bottom:1px solid #26374b;padding:11px 13px}.wallet-matrix-cell:before{content:attr(data-concession);flex:0 0 auto;color:#a5bdd4;font-size:11px;font-weight:800;letter-spacing:.25px;text-align:left}.wallet-matrix-cell:last-child{border-bottom:0}.wallet-data-value{font-size:13px;overflow-wrap:anywhere}.wallet-iban-value{font-size:12px}.wallet-input{flex:1;max-width:65%;text-align:right}.wallet-provider .wallet-input{max-width:unset;text-align:left}.wallet-panel-title .wallet-add{align-self:flex-start}.wallet-matrix-header{height:0}}
@media(max-width:440px){.wallet-panel-title{flex-wrap:wrap}.wallet-panel-title .wallet-add{margin-left:0}.wallet-matrix-cell:before{max-width:120px;flex-basis:100px;line-height:1.45}.wallet-iban-value{font-size:11px}.wallet-data-value{font-size:12px}}

/* v1.11 · Provider wallet solo con logo; Poste Italiane unico marchio per gli IBAN */
.wallet-poste-heading{flex:0 0 148px;width:148px;min-height:50px;display:flex;align-items:center;justify-content:center;padding:8px 10px;background:#182333;border:1px solid #30455e;border-radius:12px}
.wallet-poste-logo{width:100%;height:auto;max-height:39px;object-fit:contain;border-radius:4px}
.wallet-provider-main:has(> .wallet-provider-logo):not(:has(.wallet-provider-detail)){justify-content:center;width:100%}
.wallet-provider-main:has(> .wallet-provider-logo):not(:has(.wallet-provider-detail))>.wallet-provider-logo{width:128px;flex-basis:128px;max-height:45px}
.wallet-provider-main:has(> .wallet-provider-logo):not(:has(.wallet-provider-detail))+.wallet-remove{margin-left:auto}
@media(max-width:790px){.wallet-poste-heading{width:127px;flex-basis:127px}.wallet-provider-main:has(> .wallet-provider-logo):not(:has(.wallet-provider-detail)){justify-content:flex-start}}
@media(max-width:440px){.wallet-poste-heading{width:112px;flex-basis:112px;padding:6px}}


/* v1.14 wallet header logos */
.wallet-concession-head{gap:8px}
.wallet-concession-logo{display:block;max-width:min(178px,90%);height:34px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))}
.wallet-concession-head.concession-2 .wallet-concession-logo{height:31px}
.wallet-concession-code{font-size:13px;font-weight:800}
.wallet-data-value{font-size:15px;font-weight:780}
.wallet-iban-value{font-size:clamp(12px,1.15vw,15px);font-weight:760}
.wallet-provider-logo[src$="apco-logo.svg"]{width:118px;flex-basis:118px;max-height:40px}
@media(max-width:1120px){.wallet-concession-logo{max-width:min(150px,90%);height:28px}.wallet-data-value{font-size:13px}.wallet-iban-value{font-size:12px}}
@media(max-width:790px){.wallet-data-value{font-size:14px}.wallet-iban-value{font-size:12px}}
