/* Scoped to the authenticated PINO appearance pilot. */
html[data-pino-appearance] {color-scheme:dark;--pa-bg:#081522;--pa-panel:#11283a;--pa-text:#edf5fc;--pa-muted:#b4c9d9;--pa-line:#34536a;--pa-field:#0b1e2d;}
html[data-pino-appearance="light"] {color-scheme:light;--pa-bg:#f0f5fa;--pa-panel:#fff;--pa-text:#142d43;--pa-muted:#506b80;--pa-line:#c4d5e2;--pa-field:#f7fafc;}
html[data-pino-appearance] body,
html[data-pino-appearance] :is(.app-shell,.main,.admin-shell,.admin-main){background:var(--pa-bg);color:var(--pa-text);}
html[data-pino-appearance] :is(.metric-card,.stats-row article,.network-table-card,.tree-card,.password-card,.withdraw-card,.admin-kpis article,.admin-summary-card,.admin-panel,.admin-user-pill,.admin-date-pill,.modal-card,.resource-card,.faq-item,.ticket-card,.history-card){
 background:var(--pa-panel);color:var(--pa-text);border-color:var(--pa-line);
}
html[data-pino-appearance] :is(.metric-card.dark,.admin-summary-card.dark){background:var(--pa-panel);color:var(--pa-text);}
html[data-pino-appearance] :is(.metric-card .label,.metric-card .hint,.metric-card.dark .label,.metric-card.dark .hint,.admin-kpis small,.admin-kpis span,.admin-summary-card small,.admin-summary-card span,.admin-summary-card.dark small,.admin-summary-card.dark span,.admin-heading p,.admin-view>p,.crumb){color:var(--pa-muted);}
html[data-pino-appearance] :is(.main,.admin-main) :is(input,textarea,select){background:var(--pa-field);color:var(--pa-text);border-color:var(--pa-line);}
html[data-pino-appearance] :is(.main,.admin-main) :is(table,thead,tbody,tr,th,td){border-color:var(--pa-line);}
html[data-pino-appearance="dark"] :is(.main,.admin-main) :is(th,td){background:#11283a;color:#edf5fc;}
html[data-pino-appearance="dark"] :is(.main,.admin-main) th{background:#19394f;}
html[data-pino-appearance="dark"] :is(.main,.admin-main) :is(.admin-withdraw-register,.admin-withdraw-columns,.admin-withdraw-row,.admin-withdraw-request){background:#11283a;color:#edf5fc;border-color:#56738a;}
html[data-pino-appearance="dark"] :is(.admin-withdraw-fees,.admin-withdraw-request-reference){color:#b4c9d9;}
html[data-pino-appearance="dark"] :is(.main,.admin-main) a{color:#6ad9f1;}
html[data-pino-appearance="dark"] :is(.metric-card .positive,.positive){color:#50dfa5;}
html[data-pino-appearance="dark"] :is(.metric-card .negative,.negative){color:#ff8994;}
html[data-pino-appearance="light"] :is(.sidebar,.admin-sidebar){background:#e2edf5;color:#142d43;}
html[data-pino-appearance="light"] :is(.nav-item,.admin-nav-item){color:#142d43;text-shadow:none;}
html[data-pino-appearance="light"] :is(.nav-item.active,.nav-item:hover,.admin-nav-item.active,.admin-nav-item:hover){background:#c4dceb;}
html[data-pino-appearance="light"] :is(.brand-sub,.nav-section,.admin-brand span){color:#426177;}
html[data-pino-appearance="light"] :is(.brand-block,.admin-brand){border-color:#b1c9da;}
html[data-pino-appearance="light"] :is(.sidebar>.pino-matrix-canvas,.admin-sidebar>.admin-matrix-canvas){opacity:.12;}
html[data-pino-appearance="light"] .metric-card.dark>.pino-matrix-canvas{opacity:.1;}
.pino-appearance-toggle{display:block;width:100%;padding:12px 14px;margin:0 0 10px;border:1px solid #78bbd1;border-radius:12px;background:#173d53;color:#eefaff;text-align:left;font:700 15px Arial,Helvetica,sans-serif;cursor:pointer;position:relative;z-index:2;}
html[data-pino-appearance="light"] .pino-appearance-toggle{background:#fff;color:#163b54;border-color:#8eb3c9;}
.pino-appearance-toggle:focus-visible{outline:3px solid #e6bd54;outline-offset:3px;}
@media(prefers-reduced-motion:no-preference){html[data-pino-appearance] :is(.main,.admin-main,.sidebar,.admin-sidebar,.metric-card){transition:background-color .2s,color .2s;}}

html[data-pino-appearance] :is(.panel,.registry-card,.limbo-card,.ntw-card,.faq-editor-card,.admin-import-panel,.withdraw-panel,.withdraw-request-box){background:var(--pa-panel);color:var(--pa-text);border-color:var(--pa-line);}
html[data-pino-appearance="light"] .personal-pino-matrix .pino-matrix-balance :is(.label,.value,.hint){text-shadow:none;}
html[data-pino-appearance="dark"] #admin-limbo .limbo-table :is(th,td){color:#edf5fc;}
html[data-pino-appearance="light"] :is(.return-admin,.admin-nav-item.admin-pino){color:#fff;}

/* Dark-mode text contrast: explicit legacy text colors must follow their panels. */
html[data-pino-appearance="dark"] :is(.main,.admin-main) :is(h1,h2,h3,h4,h5,h6,label){color:#edf5fc;}
html[data-pino-appearance="dark"] :is(.title-row p,.view>p,.network-head p,.ticket-card p,.faq-editor-card p,.history-workspace p,.withdraw-card>p,.tree-help,.tree-intro,.tree-summary span,.tree-note,.network-note,.subtle,.event-toolbar span,.pager span,.stats-row span,.withdraw-panel span,.withdraw-item small,.admin-topbar small,.admin-heading p){color:#c3d6e5;}
html[data-pino-appearance="dark"] :is(.network-kpi.light,.network-kpi.dark,.gene-detail,.registry-dialog,.admin-payment-dialog){background:#11283a;color:#edf5fc;border-color:#56738a;}
html[data-pino-appearance="dark"] :is(.network-kpi.light,.network-kpi.dark,.gene-detail,.registry-dialog,.admin-payment-dialog) :is(strong,b,small,p,h2,label){color:#edf5fc;}
html[data-pino-appearance="dark"] :is(.admin-withdraw-row small,.admin-withdraw-row span,.admin-withdraw-request,.admin-withdraw-request strong,.admin-withdraw-request small,.admin-withdraw-fees,.ntw-split b){color:#edf5fc!important;}
html[data-pino-appearance="dark"] .admin-copy{color:#edf5fc;}
html[data-pino-appearance="dark"] .admin-hash-box{background:#0b1e2d;color:#edf5fc;border-color:#7896ac;}
html[data-pino-appearance="dark"] :is(.network-withdraw-summary,.network-withdraw-rule,.withdraw-available-balance){background:#123c32;color:#e2fff1;border-color:#4f9a80;}
html[data-pino-appearance="dark"] :is(.network-withdraw-summary,.withdraw-available-balance) :is(p,small,strong,span){color:#e2fff1;}
html[data-pino-appearance="dark"] :is(.withdraw-fee-note,.withdraw-card .withdraw-fee-estimate,.account-countdown-hint){color:#c3d6e5;}
/* Rows that retain pale semantic backgrounds retain dark, legible text. */
html[data-pino-appearance="dark"] .month-boundary td{color:#075c4d;}
html[data-pino-appearance="dark"] :is(.status-win,.registry-badge,.withdraw-history-item.is-paid,.admin-copy-feedback){color:#075532;}
html[data-pino-appearance="dark"] :is(.status-loss,.registry-countdown,.ntw-countdown,.withdraw-history-item.is-due){color:#801c2a;}
html[data-pino-appearance="dark"] :is(.withdraw-history-item.is-paid,.withdraw-history-item.is-due) :is(strong,p){color:inherit;}

html[data-pino-appearance="dark"] :is(.admin-panel p,.admin-withdraw-empty,.ntw-card>span,#admin-financial-status){color:#c3d6e5;}
html[data-pino-appearance="dark"] .ntw-card>strong{color:#73deef;}

/* Referral box is a dark surface in night mode, including its field label. */
html[data-pino-appearance="dark"] .referral-link-box{background:#11283a;color:#edf5fc;border-color:#56738a;}
html[data-pino-appearance="dark"] .referral-link-box :is(label,small,span,p){color:#d2e4f1;}
html[data-pino-appearance="dark"] .referral-link-box button{background:#173d53;color:#eefaff;border-color:#78bbd1;}

/* Complete night surfaces for forms, history, tickets, resources and admin tools. */
html[data-pino-appearance="dark"] :is(.password-form,.history-workspace .card,.history-workspace .simulator-card,.history-workspace .history-result-grid>div,.history-workspace .history-overview>div,.ticket-live-row,.ticket-thread-message,.ticket-message,.ticket-reply-preview,.ticket-register-head,.ticket-notice,.faq-published-preview,.resource-upload-form,.resources-content .resource-card,.limbo-rules article,.registry-detail-grid>div,.tree-legend,.genealogy,.admin-withdraw-notice,.ntw-card){
 background:#11283a;color:#edf5fc;border-color:#56738a;
}
html[data-pino-appearance="dark"] :is(.history-workspace .card,.history-workspace .simulator-card,.history-workspace .history-result-grid>div,.history-workspace .history-overview>div,.ticket-live-row,.ticket-thread-message,.ticket-message,.ticket-notice,.resource-upload-form,.resources-content .resource-card,.limbo-rules article,.registry-detail-grid>div,.admin-withdraw-notice) :is(p,span,small,strong,b,label,h2,h3){color:#dceaf5;}
html[data-pino-appearance="dark"] :is(.tree-actions button,.tree-summary-actions button,.branch-btn,.open-subtree,.admin-summary-card button,.registry-heading button,.registry-actions summary,.registry-action-list button,.registry-footer button,.faq-editor-actions button,.faq-editor-pagination button,.faq-editor-row button,.ticket-actions button,.ticket-demo-button,.history-workspace .pager button,.resources-content .resource-secondary,.limbo-tabs button,.limbo-pagination button,.admin-payment-actions button,#registry-show-all,#registry-back-top,#back-to-tree-top,#withdraw-close){
 background:#19394f;color:#edf5fc;border-color:#7896ac;
}
html[data-pino-appearance="dark"] :is(.faq-editor-actions .admin-primary,.ticket-actions .admin-primary,.limbo-tabs button[aria-selected="true"]){background:#168f79;color:#fff;}
html[data-pino-appearance="dark"] :is(.main,.admin-main) :is(input,select,textarea){background:#0b1e2d!important;color:#edf5fc!important;border-color:#7896ac;}
html[data-pino-appearance="dark"] :is(input,textarea)::placeholder{color:#a9c1d3;opacity:1;}
html[data-pino-appearance="dark"] :is(.admin-sports-row img,.admin-feature-row img,.hero-strip img,.resources-content .resource-cover){background:#11283a!important;border-color:#56738a;}
html[data-pino-appearance="dark"] :is(.registry-inactive .registry-badge,.ticket-menu-badge){color:#801c2a;}
html[data-pino-appearance="dark"] :is(.ticket-state,.state-nuovo,.state-in_lavorazione,.state-attesa_utente,.state-chiuso){color:#142d43;}

/* Dashboard event counters use DIV cards, not ARTICLE cards. */
html[data-pino-appearance] .stats-row>div{background:var(--pa-panel);color:var(--pa-text);border-color:var(--pa-line);}
html[data-pino-appearance="dark"] .stats-row>div>span{color:#c3d6e5;}
html[data-pino-appearance="dark"] .stats-row>div>strong:not(.positive):not(.negative){color:#edf5fc;}
html[data-pino-appearance="dark"] .result-win{color:#50dfa5;}
html[data-pino-appearance="dark"] .result-loss{color:#ff8994;}

/* Night banner: one static Matrix surface, including the logo cell. */
html[data-pino-appearance="dark"] .personal-pino-matrix .pino-logo-panel{
 background:#031421 url("assets/pino-logo-matrix-matched.svg?v=2") center top / 100% auto repeat-y;
}
html[data-pino-appearance="dark"] .personal-pino-matrix .pino-logo-panel>.pino-matrix-canvas{display:none;}
/* Limit desktop banner height without stretching the sports figures. */
@media(min-width:900px){
 html[data-pino-appearance="dark"] .personal-pino-matrix .hero-strip>img{
  height:auto!important;max-height:390px!important;object-fit:cover!important;object-position:center center!important;
 }
 html[data-pino-appearance="dark"] .personal-pino-matrix .pino-logo-panel{
  background-size:100% auto;
 }
}

/* Keep the existing Matrix surfaces legible in the light appearance. */
html[data-pino-appearance="light"] :is(.sidebar,.admin-sidebar){background:#142f49;color:#edf5fc;}
html[data-pino-appearance="light"] :is(.nav-item,.admin-nav-item){color:#edf5fc;}
html[data-pino-appearance="light"] :is(.nav-item.active,.nav-item:hover,.admin-nav-item.active,.admin-nav-item:hover){background:#2d4b62;}
html[data-pino-appearance="light"] :is(.brand-main,.brand-sub,.nav-section,.admin-brand,.admin-brand span){color:#b4c9d9;}
html[data-pino-appearance="light"] .brand-main{color:#fff;}
html[data-pino-appearance="light"] :is(.brand-block,.admin-brand){border-color:#34536a;}
html[data-pino-appearance="light"] :is(.sidebar>.pino-matrix-canvas,.admin-sidebar>.admin-matrix-canvas){opacity:.42;}
html[data-pino-appearance="light"] .personal-pino-matrix .pino-matrix-balance{background:#142f49;color:#edf5fc;}
html[data-pino-appearance="light"] .personal-pino-matrix .pino-matrix-balance :is(.label,.hint){color:#b4c9d9;}
html[data-pino-appearance="light"] .personal-pino-matrix .pino-matrix-balance .value{color:#fff;}
html[data-pino-appearance="light"] .personal-pino-matrix .pino-matrix-balance>.pino-matrix-canvas{opacity:.42;}

/* PINO display preference only: names remain unchanged in stored data. */
html[data-pino-appearance] #admin-shell #access-rows td:nth-child(2),
html[data-pino-appearance] #admin-shell #registry-body .registry-account-name{text-transform:uppercase}

/* Shared night banner logo for every member account. */
.app-shell .hero-strip{position:relative}
.account-night-logo{display:none}
html[data-pino-appearance="dark"] .account-night-logo{
 display:block;position:absolute;left:0;top:0;bottom:0;width:19.2%;overflow:hidden;
 background:#031421 url("assets/pino-logo-matrix-matched.svg?v=2") center top / 100% auto repeat-y;
}
.account-night-logo-art{
 position:absolute;inset:5%;
 background:url("assets/pino-logo-transparent.webp") center / contain no-repeat;
}

/* Genealogy summary contrast on its own badge surfaces. */
html[data-pino-appearance="dark"] #tree .tree-summary-actions .desc-pill{background:#dceeff;color:#123b59;font-weight:800;}
html[data-pino-appearance="dark"] #tree .tree-summary-actions .inactive-count{color:#ffadb5;font-weight:800;}
html[data-pino-appearance="dark"] #tree .tree-summary small{color:#7de2d3;}

/* Network totals retain a distinct teal surface in night mode. */
html[data-pino-appearance="dark"] :is(.main,.admin-main) .network-table tfoot td {
 background:#19473f;color:#e6fff6;border-top:1px solid #5eaa98;border-bottom:1px solid #5eaa98;font-weight:800;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .network-table tfoot td.negative {color:#ffadb5;}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .network-table tfoot td.positive {color:#70f0b7;}

/* Match the daytime banner frame in both appearances, without stretching artwork. */
html[data-pino-appearance="dark"] .app-shell .hero-strip>img{
 aspect-ratio:1500/190!important;
 height:auto!important;
 max-height:none!important;
 object-fit:cover!important;
 object-position:center center!important;
}

/* Five independent cells show complete night artwork at the daytime strip height. */
.night-sports-grid{display:none}
html[data-pino-appearance="dark"] .app-shell .hero-strip>img{opacity:0}
html[data-pino-appearance="dark"] .night-sports-grid{
 position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));pointer-events:none;
}
.night-sport-cell{
 display:flex;align-items:center;justify-content:center;overflow:hidden;
 background:#031421 url("assets/pino-logo-matrix-matched.svg?v=2") center top / auto 100% repeat-x;
}
.night-sport-cell+.night-sport-cell{border-left:1px solid #0699b9}
.night-sport-crop{position:relative;height:100%;aspect-ratio:2172/3620;max-width:100%;overflow:hidden}
html[data-pino-appearance="dark"] .app-shell .hero-strip .night-sport-crop>img{
 position:absolute;top:0;width:500%!important;min-width:0!important;height:100%!important;
 max-height:none!important;aspect-ratio:auto!important;object-fit:fill!important;opacity:1!important;
}
html[data-pino-appearance="dark"] .app-shell .hero-strip :is(.pino-logo-panel,.account-night-logo){z-index:2}

/* History: explicit night-mode contrast for overview, simulator and records. */
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace {
  color:#edf5fc;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace :is(.card,.simulator-card,.history-overview>div,.history-result-grid>div) {
  background:#11283a;border-color:#56738a;color:#edf5fc;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace :is(.lead,.history-method,.table-footer,.history-shown,.history-page,.history-filters label,.history-simulation-form label,.simulator-card small,.history-overview span,.history-result-grid span) {
  color:#c3d6e5;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace :is(h1,h2,strong,.history-overview strong,.history-result-grid strong) {
  color:#edf5fc;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace :is(.eyebrow,.simulator-card>span,.history-monthly summary) {
  color:#7de2d3;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace :is(.table-wrap,.history-monthly) {
  border-color:#56738a;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace :is(th,td) {
  border-color:#34536a;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace .result.win {
  background:#123c32;color:#8ff0bd;border:1px solid #4f9a80;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace .result.loss {
  background:#492332;color:#ffb4be;border:1px solid #b9687b;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace .positive {
  color:#70f0b7!important;
}
html[data-pino-appearance="dark"] :is(.main,.admin-main) .history-workspace :is(.negative,.history-simulation-status) {
  color:#ffadb7!important;
}

/* Keep table pagination legible in both PINO appearance modes. */
html[data-pino-appearance] .pager button{background:var(--pa-panel)!important;color:var(--pa-text)!important;border:1px solid var(--pa-line);font-weight:700;min-height:36px}
html[data-pino-appearance] .pager button:disabled{opacity:1;background:var(--pa-field)!important;color:var(--pa-muted)!important;border-color:var(--pa-line);cursor:not-allowed}
html[data-pino-appearance] .pager button:focus-visible{outline:3px solid #35b6ae;outline-offset:3px}

/* Copy feedback keeps its own contrast instead of inheriting row text. */
html[data-pino-appearance="dark"] .admin-copy .admin-copy-feedback{background:#123c32;color:#e2fff1!important;border-color:#75dab0;box-shadow:0 3px 10px #0006;}
html[data-pino-appearance="dark"] .admin-copy .copy-squares,
html[data-pino-appearance="dark"] .admin-copy .copy-squares:after{border-color:currentColor;}
html[data-pino-appearance="dark"] .admin-copy .copy-squares:after{background:#11283a;}
html[data-pino-appearance="dark"] .admin-copy:hover{background:#19394f;}

/* Stronger green for positive dashboard profit and winning calendar days. */
#metric-profit.positive{color:#008b3c}
html[data-pino-appearance="dark"] #metric-profit.positive{color:#00ed76}
.personal-days .personal-days-grid button.day-win,
.personal-days .personal-day-mini.day-win{
 background:#16c768!important;
 color:#06351b!important;
 border-color:#079447!important;
}
