/* Mobile application shell; desktop and financial rules stay unchanged. */
.mobile-tabs,.mobile-menu,.mobile-home-actions{display:none}
.mobile-only{display:none!important}
.account-notice{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:8px 10px 8px 14px;background:#fff4df;border:1px solid #edd8aa;border-radius:8px;color:#74501b;font-size:14px;line-height:1.45}
.account-notice span{flex:1;min-width:0;overflow-wrap:anywhere}
.account-notice button{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer}
.account-notice button:hover,.account-notice button:focus-visible{background:#f0deb8;outline:2px solid currentColor}
.notice-charge{background:#edf6f1;color:#275d4b;border-color:#cadfd2}
.notice-envelope{display:none}
@media print{#account-notices{display:none!important}}
.metric strong{letter-spacing:0;overflow-wrap:anywhere}
.metric small{display:block}
.metric dd{margin:4px 0 12px;font-weight:700}
.metric details li{margin-bottom:12px;overflow-wrap:anywhere}
.entries-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:18px 0}
.entries-filters label{display:grid;gap:6px;font-size:13px;font-weight:600;min-width:0}
.entries-filters input,.entries-filters select{width:100%;min-width:0}
.entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #dce7e1}
.entry-main{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.entry-main>span:not(.pill){font-size:13px;color:#53675d}
.entry-main .pill{width:fit-content;font-size:11px}
.entry-amount{font-size:16px;font-weight:700;overflow-wrap:anywhere;max-width:180px}
.entry-edit{width:44px;height:44px;display:grid;place-items:center;border:1px solid #cbdcd3;border-radius:8px;background:#fff;color:#20634f;cursor:pointer}
.entry-edit:hover,.entry-edit:focus-visible{background:#e5f2eb;outline:2px solid #20634f}
.entries-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}
.entries-pagination button{width:44px;height:44px;padding:0;font-size:22px}
#edit-debit-field[hidden]{display:none}
@media(max-width:720px){
 .mobile-only{display:block!important}
 .desktop-only{display:none!important}
 body.mobile-home #expense-fab,body.mobile-home #income-fab{display:none!important}
 body.mobile-home .wrap{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 body.mobile-home .month-strip>.pill{display:none}
 #app[data-screen='accueil'] .card-month-metric>small:nth-of-type(4),#app[data-screen='accueil'] .card-month-metric>.card-link{display:none}
 .notice-envelope{display:flex}
 .account-notice{font-size:13px}
 .entries-filters{grid-template-columns:1fr 1fr;gap:10px}
 .entries-filters label:first-child{grid-column:1/-1}
 .entry-row{grid-template-columns:minmax(0,1fr) 44px;gap:8px 12px}
 .entry-main{grid-column:1;grid-row:1}
 .entry-amount{grid-column:1;grid-row:2;max-width:100%}
 .entry-edit{grid-column:2;grid-row:1/3}
 #manual-edit-overlay{padding:10px!important;align-items:flex-start!important;overflow-y:auto}
 #manual-edit-overlay .expense-dialog{max-height:calc(100dvh - 20px)!important;margin:auto}
 body{background:#f4f7fa}
 body.mobile-menu-open{overflow:hidden}
 body>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#fff;color:#19352e;padding:14px 16px;border-bottom:1px solid #e0e9e4;gap:8px}
 body>header h1{display:flex;align-items:center;gap:8px;font-size:19px;line-height:1.2;letter-spacing:0}
 body>header h1:before{content:'';display:block;flex:0 0 32px;height:32px;background:url('icon-192.png') center/contain no-repeat}
 body>header small{display:none}
 body>header .actions{width:auto;display:block}
 body>header .actions .btn{min-height:44px;font-size:11px;padding:8px;color:#286359;border:1px solid #d6e8e1;border-radius:8px;background:#f1f8f4;max-width:112px}
 body>header .actions .btn:not(:first-child){display:none}
 #cloud-sync-banner{margin:0!important;padding:9px 16px!important;border-radius:0!important;font-size:12px;line-height:1.4;background:#e8f4ef!important;color:#28594e!important}
 #cloud-sync-banner .btn{display:none}
 .wrap{padding:14px 14px calc(156px + env(safe-area-inset-bottom))}
 #nav{display:none}
 #app,.stack,.layout,.panel,.metric{min-width:0;max-width:100%}
 .month-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
 .month-strip>div{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
 .month-strip b{font-size:19px!important;flex:1}
 .month-strip .btn{width:42px;height:44px;padding:0;flex:none;border-radius:8px;font-size:22px}
 .month-strip>.pill{font-size:11px;padding:4px 8px;background:#e8edf3;color:#506073}
 #app .kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #app .bank-kpis>.metric{border-radius:8px;box-shadow:none;align-content:start;min-height:0;padding:14px;overflow-wrap:anywhere;border-color:#dce5e9}
 #app .bank-kpis>.forecast-metric{order:-2;grid-column:1/-1;background:#fff;border-top:4px solid #217c68;padding:18px}
 #app .bank-kpis>.forecast-metric strong{font-size:36px;line-height:1.2;margin:8px 0 12px;overflow-wrap:anywhere}
 #app .forecast-metric>small:first-child{color:#374b44;font-size:14px;font-weight:700}
 #app .forecast-metric>small.amber{font-size:12px;margin-top:6px}
 #app .forecast-metric>.muted{font-size:12px;line-height:1.5;margin:8px 0}
 #app .forecast-metric>.warning{font-size:12px;border-radius:6px;padding:10px;line-height:1.5;margin:10px 0}
 #app .forecast-metric details{border-top:1px solid #e2ebe5;padding-top:12px;font-size:13px;line-height:1.6}
 #app .forecast-metric summary{min-height:36px;cursor:pointer;font-weight:700;color:#245f52}
 #app .bank-kpis>.balance-metric{order:-3;grid-column:1/-1;background:#ecf5f0;border-color:#d1e6db}
 #app .balance-metric strong{font-size:36px;line-height:1.2;margin:8px 0}
 #app .balance-metric>small:first-child{font-size:14px;font-weight:700;color:#374b44}
 #app .balance-metric>small.mobile-only{font-size:12px;color:#53675d}
 #app .balance-metric .card-link{margin-top:6px;font-size:12px}
 #app .bank-kpis>.card-month-metric{background:#fff;border-top:3px solid #d89732;text-align:left}
 #app .card-month-metric strong{font-size:22px;line-height:1.25;margin:8px 0}
 #app .card-month-metric small{font-size:11px;line-height:1.45;margin-top:4px}
 #app .card-month-metric .card-link{font-size:12px;margin-top:10px}
 #app .bank-kpis>.card-month-metric:nth-child(3){border-top-color:#75639d}
 .mobile-home-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 0 12px}
 .mobile-home-actions button{display:flex;align-items:center;gap:10px;min-height:62px;text-align:left;border:1px solid #d8e6df;background:#e5f2ec;color:#23594c;border-radius:8px;padding:14px;font-weight:700;font-size:14px}
 .mobile-home-actions button:last-child{background:#fff0eb;border-color:#efd4ca;color:#983c30}
 .mobile-home-actions svg{flex:none}
 #app[data-screen='accueil']>.stack>.layout{display:none}
 .panel{background:transparent;border:0;box-shadow:none;border-radius:0;padding:12px 0}
 .panel .panel{padding:0}
 .panel h2{font-size:20px}
 .metric{border-radius:8px}
 .rowform .field{min-width:0;flex:1 1 140px}
 input,select,textarea{font-size:16px!important}
 .mobile-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:1800;left:0;right:0;bottom:0;margin:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));gap:2px;background:#fff;border-top:1px solid #d8e4de;box-shadow:0 -3px 16px #234d3910;overflow:visible}
 .mobile-tabs button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:52px;padding:4px 1px;border:0;border-radius:8px;background:transparent;color:#61706b;font-size:10px;font-weight:600;white-space:normal}
 .mobile-tabs button.active{background:#e3f2eb!important;color:#16654f!important;border:0!important}
 .mobile-tabs svg{width:23px;height:23px;flex:none}
 #expense-fab,#income-fab{bottom:calc(79px + env(safe-area-inset-bottom))!important;min-height:48px!important;width:calc(50% - 20px)!important;border-radius:8px!important;padding:8px!important;font-size:13px!important;display:flex;align-items:center;justify-content:center;gap:6px}
 #expense-fab{left:14px!important;background:#276bdd}
 #income-fab{right:14px!important;background:#177661}
 .mobile-menu:not([hidden]){display:flex;align-items:flex-end;position:fixed;inset:0;z-index:1950;background:#1e343c66;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
 .mobile-menu[hidden]{display:none!important}
 .mobile-menu-sheet{background:white;border-radius:8px;padding:18px;width:100%;max-height:85dvh;overflow:auto;overscroll-behavior:contain;box-shadow:0 16px 50px #122f3b30}
 .mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
 .mobile-menu-heading h2{margin:0;font-size:20px}
 .mobile-menu-heading button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9e4e1;border-radius:8px;background:#fff;color:#24594f}
 .mobile-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .mobile-menu-grid button{display:flex;align-items:center;gap:8px;padding:12px 10px;min-height:54px;min-width:0;text-align:left;border:1px solid #dfe7e3;border-radius:8px;background:#f7faf8;color:#25463d;font-size:13px;font-weight:600;overflow-wrap:anywhere}
 .mobile-menu-grid button svg{flex:0 0 22px}
 .mobile-menu-grid .active{background:#e3f2eb}
 .mobile-menu-grid+.mobile-menu-grid{margin-top:16px;padding-top:16px;border-top:1px solid #dfe7e3}
 .expense-dialog{border-radius:8px}
 .footer{line-height:1.5;margin-top:18px;font-size:11px}
 @media(prefers-reduced-motion:no-preference){.mobile-tabs button,.mobile-home-actions button{transition:background-color .15s,transform .15s}.mobile-tabs button:active,.mobile-home-actions button:active{transform:scale(.97)}}
}
