:root{--ink:#172b45;--muted:#60718a;--accent:#3264d8;--line:#dfe7f2;--surface:#f4f7fc;--bg-surface:#fff;--bg-muted:#edf2fa;--text-main:#172b45;--text-secondary:#4f627b;--text-muted:#60718a}
body{background:radial-gradient(ellipse at top right,#e8efff,transparent 55%),#f4f7fc}.app-sidebar{background:#13213b}.module-nav a.active{background:#263b60;box-shadow:inset 3px 0 #8db4ff}.brand-mark{background:#4679e7}.app-topbar{background:#ffffffed}.page-heading h1{letter-spacing:-1.2px}.panel,.card,.metric-card,.module-tile{border-radius:22px!important;border-color:var(--line)!important;box-shadow:0 8px 30px #20375b08!important}.module-tile{position:relative;transition:transform .18s,box-shadow .18s;border-top:3px solid #d8e5fc}.module-tile:hover{transform:translateY(-3px);box-shadow:0 16px 32px #20375b12!important}.tile-icon{background:#edf2ff;color:#365fd0}.hero-balance{background:linear-gradient(120deg,#243d80,#387da0)}.module-tile h3,.card h3,.card h4,.card h5,.card h6,.panel h2{color:#172b45!important;background:none!important;-webkit-text-fill-color:currentColor}.card-header{background:#edf2fa!important;color:#172b45!important}.card-header *{color:inherit!important}.button,.btn-primary,.btn-success{background:#3264d8;border-color:#3264d8}.button.secondary{background:#fff;color:#244573}.button:hover{background:#254ead}.card-body{color:var(--ink)}.table{--bs-table-color:#172b45;--bs-table-bg:transparent}.text-muted,.muted{color:#60718a!important}.form-control,.form-select{background:#fff!important;color:#172b45!important;border:1px solid #ccd8e9!important;min-height:44px}input:focus,textarea:focus,select:focus{outline:3px solid #82a8ff55!important;outline-offset:2px}.messaging-panel{background:#fff}.message-list{background:#edf2f7;border-radius:18px;padding:18px;max-height:620px;overflow:auto;display:flex;flex-direction:column;gap:12px;margin-top:18px}.message-bubble{border-radius:18px!important;max-width:88%;padding:14px 16px!important;box-shadow:0 2px 6px #16304a0b}.message-bubble.mine{background:#dcefe7!important;color:#173c32;align-self:flex-end;border-bottom-right-radius:5px!important}.message-bubble.theirs{background:#fff!important;align-self:flex-start;border-bottom-left-radius:5px!important}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.message-footer{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#536b70}.message-meta{font-size:12px;font-weight:700;margin-bottom:5px}.message-delete{background:transparent;border:0;color:#305575;padding:4px}.chat-photo{width:100%;max-width:340px;max-height:360px;object-fit:contain;border-radius:12px;margin:8px 0;background:#ffffff70}.attachment-chip{display:block;overflow-wrap:anywhere;margin:8px 0}.media-dialog{width:min(720px,94vw);max-height:92vh;overflow:auto;border:1px solid #dbe5f2;border-radius:22px;padding:24px;color:#172b45;background:#fff;box-shadow:0 28px 90px #0c1c4055}.media-dialog::backdrop{background:#10203b99}.media-stage{max-height:50vh;overflow:hidden;background:#edf2f8;border-radius:14px}.media-stage video,.media-stage img{max-width:100%;max-height:48vh;display:block;margin:auto}.media-stage [hidden]{display:none}.media-dialog .toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.media-dialog button{padding:10px 14px;border:1px solid #cbd8eb;background:#edf2fb;color:#244573}.media-dialog textarea{width:100%;min-height:100px;margin:12px 0}.media-dialog label{display:block;margin:10px 0}button:disabled{opacity:.55;cursor:not-allowed}.scanner-card,.scanner-wrapper{background:#fff!important;color:#172b45!important}.gradient-text{background:none!important;color:#244573!important;-webkit-text-fill-color:#244573!important}
@media(max-width:600px){.app-main{padding:18px 12px}.panel{padding:18px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-tile{padding:16px 12px}.module-tile h3{font-size:15px}.message-bubble{max-width:95%}.media-dialog{padding:16px}.page-heading{align-items:flex-start}.chat-grid{display:block}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.card:not(.hero-balance),.card .card-body{background:#fff!important;color:#172b45!important}.card .text-white,.card .card-title,.card .doc-title{color:#172b45!important}.card .bg-dark{background:#edf2fa!important;color:#172b45!important}.card .btn-primary,.card .btn-success{color:#fff!important}.app-main>.container.text-white{color:#172b45!important}.app-main>.container-fluid.bg-dark{background:#f4f7fc!important;color:#172b45!important}.app-main>.container-fluid.bg-dark h1,.app-main>.container-fluid.bg-dark h2{color:#172b45!important}
/* 1.5: coherent management dashboard */
:root{--ink:#24324a;--accent:#685ce5;--muted:#728096;--surface:#f5f6fb;--line:#e8ebf3}
body{background:#f5f6fb;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}.app-sidebar{background:linear-gradient(180deg,#171c34,#242c47);width:240px;padding:28px 16px}.app-shell{margin-left:240px}.brand-mark{background:linear-gradient(140deg,#8878ff,#5748cd);box-shadow:0 8px 20px #6256dd40}.module-nav a{font-size:13px;padding:11px 13px;margin:4px 0}.module-nav a.active{background:#ffffff12;box-shadow:inset 3px 0 #9b8bff}.app-topbar{padding:20px 34px;background:#fff}.app-main{padding:26px 34px;max-width:1580px}.page-heading{margin-top:16px}h1{font-size:32px;letter-spacing:-1px}.eyebrow{color:#7767da}.panel,.card,.metric-card,.module-tile{border:1px solid #e8ebf3!important;box-shadow:0 5px 24px #27304505!important;border-radius:18px!important}.button,.btn-primary,.btn-success{background:#685ce5;border-color:#685ce5;color:#fff}.button:hover{background:#5445cb}.button.secondary{background:#fff;color:#4f5780;border:1px solid #e1e4ef}.return-toolbar{display:flex;gap:16px;align-items:center;font-size:12px;color:#728096}.return-toolbar button{padding:7px 11px;border:1px solid #e1e4ed;background:#fff;color:#526078;font-size:12px}.return-toolbar a{color:#728096;text-decoration:none}.overview-hero{position:relative;display:flex;justify-content:space-between;gap:28px;padding:36px 40px;margin:24px 0;border-radius:24px;overflow:hidden;background:linear-gradient(115deg,#343055,#534983 60%,#6860a1);color:#fff;box-shadow:0 12px 32px #53498320}.overview-hero:after{content:'';position:absolute;width:300px;height:300px;right:80px;top:-130px;border:50px solid #ffffff06;border-radius:50%;pointer-events:none}.overview-hero h2{font-size:32px;line-height:1.2;color:#fff;letter-spacing:-.8px;margin:12px 0}.overview-hero p{color:#d6d1ef;font-size:14px}.hero-label{font-size:10px;letter-spacing:2px;font-weight:750;color:#d7cffb}.overview-hero .button{background:#fff;color:#534983}.overview-hero .button.secondary{background:#ffffff10;color:#fff;border-color:#ffffff25}.hero-total{z-index:1;align-self:center;padding:26px 32px;background:#ffffff0b;border:1px solid #ffffff20;border-radius:20px;min-width:300px}.hero-total span{display:block;color:#d9d5ef;font-size:12px}.hero-total strong{display:block;font-size:42px;font-weight:750;letter-spacing:-1.5px;margin:8px 0}.hero-total small{font-size:23px}.metric-card{position:relative;padding:24px 24px 24px 82px;min-height:122px}.metric-symbol{position:absolute;left:24px;top:28px;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#edeafa;color:#7466d7;font-size:22px}.metric-symbol.income{color:#239e8d;background:#e1f4ee}.metric-symbol.expense{color:#db9052;background:#fcf0e5}.metric-value{font-size:25px;letter-spacing:-.5px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;margin:26px 0}.chart-panel{margin:0;padding:26px}.chart-panel h2{font-size:18px}.chart-stage{position:relative;height:260px;margin-top:22px}.empty-chart{height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#6f7d94;background:linear-gradient(180deg,#fafaff,#f5f6fc);border-radius:14px;margin-top:20px;padding:24px}.empty-chart i{font-size:42px;color:#9f96d8;margin-bottom:16px}.empty-chart p{max-width:300px;font-size:13px;margin-top:8px}.module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.module-tile{padding:22px 22px 18px;position:relative;overflow:hidden;min-height:185px;border-top:0!important;background:linear-gradient(140deg,#fff,#fdfdff);transition:transform .2s}.module-tile:after{content:'↗';position:absolute;right:20px;top:20px;color:#b0b7cb;font-size:19px}.module-tile:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:var(--module-color,#8574d6);opacity:.5}.module-tile:nth-child(4n+1){--module-color:#7764d8;--module-tint:#f0edfc}.module-tile:nth-child(4n+2){--module-color:#32a794;--module-tint:#e6f5f0}.module-tile:nth-child(4n+3){--module-color:#d99450;--module-tint:#fcf2e7}.module-tile:nth-child(4n){--module-color:#668fd9;--module-tint:#edf2fd}.module-tile .tile-icon{width:46px;height:46px;border-radius:14px;color:var(--module-color);background:var(--module-tint);margin-bottom:14px}.module-tile h3{font-size:16px;margin-bottom:9px}.module-tile small{font-size:12px}.module-tile:hover{transform:translateY(-4px);box-shadow:0 14px 26px #41416e12!important}.chat-grid{grid-template-columns:1.6fr 1fr;gap:22px;margin-top:32px;align-items:start}.messaging-panel{padding:0!important;overflow:hidden}.messaging-panel .section-title{padding:24px 26px 18px;border-bottom:1px solid #eef0f6;background:linear-gradient(110deg,#faf9ff,#fff);margin:0}.messaging-panel h2{font-size:20px}.messaging-panel>button{margin:18px 26px 0}.messaging-panel #message{padding:20px 26px}.messaging-panel #message label{font-size:12px;color:#6e7c94;font-weight:650;display:block;margin:9px 0 5px}.messaging-panel #message textarea{min-height:86px;background:#fafbfe!important;border-color:#e2e6f0!important}.messaging-panel #status{margin:0 26px}.message-list{margin:0!important;background-color:#f6f5fa!important;background-image:radial-gradient(#b9b4d228 .8px,transparent .8px)!important;background-size:18px 18px;min-height:300px;max-height:520px;border-radius:0!important;padding:24px!important}.chat-empty{margin:auto;text-align:center;padding:34px 20px;color:#8490a6}.chat-empty i{font-size:48px;color:#b5abd9;display:block;margin-bottom:16px}.chat-empty h3{font-size:18px;color:#706589}.chat-empty p{font-size:13px}.message-bubble.mine{background:#e6e0fb!important;color:#45396b;border-color:#d8d0ed}.message-bubble.theirs{background:#fff!important;border-color:#e8e6ef}.unread-pill{border:0;cursor:pointer;background:#d75976!important;color:#fff!important}.new-badge{z-index:2;top:auto;bottom:12px;right:12px}.contact-panel{background:linear-gradient(145deg,#fff,#f7f8fd);padding:26px}.call-note{background:#f0edf8;border-color:#e5dff3}.document-preview{display:block;max-width:100%;max-height:75vh;margin:auto;border-radius:14px}.pdf-preview{width:100%;height:72vh;border:1px solid #e1e6f0;border-radius:14px}.empty-state{text-align:center;padding:48px 24px;background:#f8f8fc;border-radius:16px}.empty-state i{font-size:48px;color:#9a8bce}.empty-state h2{font-size:21px;margin-top:16px}.empty-state p{color:#748097}.native-capture[hidden],input[hidden]{display:none!important}.media-dialog{border-radius:22px;box-shadow:0 24px 90px #24283d45}.media-dialog .toolbar{align-items:center}.media-dialog .toolbar .button{margin:0}.media-dialog .toolbar input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.media-dialog button[data-action=save]{background:#685ce5;color:#fff}.media-dialog button[data-action=close]{background:#fff;color:#6e788c}
/* Common contrast repair for legacy subcategory templates. */
.app-main h1,.app-main h2,.app-main h3,.app-main h4,.app-main h5,.app-main h6{color:#24324a}.app-main .fm-foreground{color:#24324a!important}.app-main .table-movimenti,.app-main .table-movimenti td{color:#24324a!important}.table-movimenti tbody tr{background:#fff!important;box-shadow:0 3px 14px #2c315c08!important}.app-main .btn-circle{background:#f0eef9;color:#5e538c;border-color:#e0dced}.app-main .empty-state,.app-main .text-center{color:#69788e}.app-main .overview-hero h2{color:#fff}.app-main .badge,.app-main .btn-primary,.app-main .btn-danger,.app-main .btn-success,.app-main .button:not(.secondary),.app-main .hero-total{color:#fff}.app-main .overview-hero .button{color:#534983}.app-main .overview-hero .button.secondary{color:#fff}
@media(prefers-reduced-motion:no-preference){.message-new,.unread-pill:not([hidden]){animation:unreadGlow 1.4s ease-in-out infinite!important}.watch-tile.has-new-data{animation:unreadGlow 1.4s ease-in-out infinite!important}}@keyframes unreadGlow{50%{box-shadow:0 0 0 5px #d7597625,0 0 18px #d7597615}}
@media(max-width:1200px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-hero{padding:28px}.hero-total{min-width:240px}.hero-total strong{font-size:32px}}@media(max-width:900px){.app-sidebar{width:220px}.app-shell{margin-left:220px}.app-main{padding:22px}.overview-hero{flex-direction:column}.hero-total{align-self:stretch}.analytics-grid,.chat-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-sidebar{position:relative;width:100%;padding:16px;max-height:none}.app-shell{margin-left:0}.app-main{padding:16px}.overview-hero{padding:26px 22px;margin:18px 0}.overview-hero h2{font-size:27px}.hero-total{padding:22px}.module-grid{gap:12px}.module-tile{padding:18px 15px;min-height:170px}.chart-stage,.empty-chart{height:230px}.chat-grid{display:grid}.messaging-panel #message{padding:18px}.messaging-panel .section-title{padding:20px 18px}.button{width:auto}.toolbar{flex-wrap:wrap}.return-toolbar{padding-top:8px}.message-bubble{max-width:92%}.brand{padding-bottom:8px}.app-topbar{padding:16px}.module-tile:after{right:12px}}
.messaging-panel{display:flex;flex-direction:column}.messaging-panel .section-title{order:1}.messaging-panel #open-chat{order:2;align-self:flex-start;margin-bottom:18px}.messaging-panel #messages{order:3}.messaging-panel #status{order:4}.messaging-panel #message{order:5;background:#fff;border-top:1px solid #eeeaf5}.messaging-panel #message select{background:#f9f8fc!important}.messaging-panel #message input[type=file]{font-size:12px!important;border:1px dashed #dcd6ef;padding:10px;max-width:100%;background:#faf9ff}.messaging-panel #message .button.secondary{font-size:12px;margin-top:8px}
@media(prefers-reduced-motion:no-preference){.message-metric.has-unread{animation:unreadGlow 1.4s ease-in-out infinite}}.message-metric.has-unread .metric-value{color:#c44d71}
.messaging-panel #message .attachment-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 12px}.messaging-panel #message .attach-label{border:1px solid #e1dcef;background:#f7f5fd;color:#61528b;padding:9px 13px;border-radius:9px;font-size:12px;cursor:pointer;margin:0}.messaging-panel #message .attachment-toolbar .button.secondary{margin:0}.attachment-help{display:block;font-size:12px!important}.messaging-panel #message button[type=submit],.messaging-panel #message button:not([type]){display:flex;margin-left:auto}.attachment-toolbar #attachment-name{font-size:11px;width:100%;overflow-wrap:anywhere}.table-movimenti .importo-entrata{color:#16896a!important}.table-movimenti .importo-uscita{color:#bd4366!important}.afmf-page .card-ai{background:#fff!important;border:1px solid #e5e7f0;border-radius:18px;box-shadow:0 4px 18px #27304506}.afmf-page .table-dark-custom td{color:#24324a}.afmf-page .decision-box,.afmf-page .heat-card{background:#f6f5fb;color:#24324a}.afmf-page .dashboard-container{padding:16px 0}.afmf-page .empty-state{color:#738097}.afmf-page .section-title h4{color:#685ce5}.afmf-page .form-control{color:#24324a!important;background:#fff!important}
