/* Solo per mobile.php. index.php e il suo stile desktop restano invariati. */
html { -webkit-text-size-adjust: 100%; }
.mobile-version { overflow-x: hidden; padding-bottom: env(safe-area-inset-bottom); }
.mobile-version .wrap { width:100%; max-width:none; margin:0 auto; padding:14px 12px 28px; }
.mobile-version .card { padding:18px 14px; margin-bottom:14px; border-radius:16px; box-shadow:0 10px 28px rgba(0,0,0,.16); }
.mobile-version .intro-card { border-top:2px solid rgba(70,215,233,.7); }
.mobile-version .brand-title { gap:10px; }
.mobile-version .brand-title img { width:38px; height:38px; border-radius:10px; }
.mobile-version h1 { font-size:20px; line-height:1.2; }
.mobile-version h2 { font-size:18px; }
.mobile-version h3 { font-size:16px; }
.mobile-version h4 { font-size:14px; margin:12px 0 8px; }
.mobile-version .row, .mobile-version .filters { display:flex; flex-direction:column; align-items:stretch; gap:10px; margin-top:9px; }
.mobile-version .row > *, .mobile-version .filters > *, .mobile-version .filters > div, .mobile-version .filters > div > label { flex:none; display:block; width:100% !important; max-width:none !important; min-width:0; }
.mobile-version textarea, .mobile-version input[type=text], .mobile-version input[type=password], .mobile-version .filters select, .mobile-version .btn { min-height:44px; font-size:16px; }
.mobile-version textarea { min-height:128px; }
.mobile-version .btn { width:100%; padding:10px 13px; }
.mobile-version .btns { display:flex; flex-direction:column; gap:8px; }
.mobile-version #insert-area form > div:last-child { display:flex; flex-direction:column; gap:10px; width:100%; }
.mobile-version #insert-area form > div:last-child .btn { margin:0; }
.mobile-version .filters input[type=text], .mobile-version .filters select { display:block; width:100% !important; max-width:none !important; margin-top:5px; }
.mobile-version .filters { padding:2px 0 4px; }
.mobile-version #clear-filters { margin-bottom:3px; }
.mobile-version .filters ~ .table-wrap { margin-top:5px; }
.mobile-version .filters > .card { margin:4px 0 0; padding:12px; }
.mobile-version .auth-grid { grid-template-columns:1fr; }
.mobile-version .auth-card { padding:14px 0; }
.mobile-version .auth-card:first-child { border-right:0; border-bottom:1px solid var(--border); }
.mobile-version .table-wrap { width:100%; overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; border-radius:9px; }
.mobile-version .table-wrap table, .mobile-version table.mini { min-width:920px; }
.mobile-version .exclude-action-cell .row-exclude-isin { min-height:22px; height:22px; padding:1px 7px; line-height:1; }
.mobile-version th, .mobile-version td { padding:9px 8px; font-size:12px; white-space:nowrap; }
.mobile-version th { position:sticky; top:0; z-index:1; }
.mobile-version .table-wrap::-webkit-scrollbar { height:7px; }
.mobile-version .table-wrap::-webkit-scrollbar-thumb { background:rgba(70,215,233,.45); border-radius:10px; }
.mobile-version .pie-chart-box { overflow-x:auto !important; }
.mobile-version .pie-chart-layout { min-width:600px; }
.mobile-version .portfolio-distribution-grid { display:flex !important; flex-direction:column; width:100%; max-width:100%; min-width:0; gap:12px !important; }
.mobile-version .portfolio-distribution-panel { width:calc(100% - 8px); max-width:calc(100% - 8px); min-width:0; margin:0 4px; padding:10px !important; overflow:hidden; align-self:center; }
.mobile-version .pie-chart-box { width:calc(100% - 8px); max-width:calc(100% - 8px); margin:0 4px; padding:0 4px; overflow:hidden !important; }
.mobile-version .pie-chart-layout { display:flex !important; flex-direction:column; width:100%; min-width:0 !important; gap:10px !important; }
.mobile-version .pie-canvas-wrap { width:100%; min-width:0; display:flex; justify-content:center; }
.mobile-version .pie-canvas-wrap canvas { width:min(100%,240px) !important; height:auto !important; max-width:100% !important; }
.mobile-version .pie-summary { width:100% !important; max-width:100%; height:auto !important; max-height:240px; overflow:auto; padding:0 !important; }
.mobile-version details > summary { min-height:44px; display:flex; align-items:center; }
.mobile-version h3, .mobile-version h2 { letter-spacing:-.01em; }
.mobile-version .seo-certificate-overview,.mobile-version .seo-calendar-card { padding:16px 14px; }
@media (min-width:681px) { .mobile-version .wrap { max-width:900px; } }
