:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--sidebar-width:252px;--surface:#171f2e;--surface-2:#1d293b;--line:rgba(148,163,184,.15);--muted:#91a0b5}
[data-bs-theme="light"]{--surface:#fff;--surface-2:#f6f7fb;--line:#e7eaf0;--muted:#68758a}
*{box-sizing:border-box}body{margin:0;background:var(--bs-body-bg);font-size:14px}.sidebar{width:var(--sidebar-width);position:fixed;inset:0 auto 0 0;background:#111827;color:#e5eaf3;padding:26px 17px 18px;display:flex;flex-direction:column;z-index:1030}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:18px;font-weight:750;padding:0 9px 35px}.brand small{display:block;color:#8996aa;font-size:9px;letter-spacing:2.5px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#8876ff,#5b50c9);font-size:19px}.sidebar-label{font-size:9px;letter-spacing:1.6px;color:#69778d;font-weight:700;padding:0 11px 10px}.side-nav{display:grid;gap:5px}.side-nav .nav-link{color:#9ba8bb;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;font-size:13px;font-weight:550;text-decoration:none}.side-nav .nav-link i{font-size:17px}.side-nav .nav-link:hover{background:#1b2638;color:#fff}.side-nav .nav-link.active{background:#29294c;color:#b7adff}.nav-count{margin-left:auto;font-size:10px;background:#27344a;padding:3px 8px;border-radius:20px;color:#b8c3d3}.sidebar-bottom{margin-top:auto}.privacy-note{display:flex;gap:10px;padding:13px 10px;margin-bottom:17px;border:1px solid #29364a;border-radius:10px;color:#8f9eb2}.privacy-note>i{font-size:17px;color:#7bdfb0}.privacy-note strong,.user-mini strong{display:block;color:#dbe3ee;font-size:11px}.privacy-note small,.user-mini small{display:block;color:#8190a5;font-size:10px;margin-top:3px}.user-mini{border-top:1px solid #29364a;padding:17px 5px 0;display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#37345e;color:#c4bdff;font-weight:700}.icon-button{border:0;background:transparent;color:#9aa8bc;font-size:18px;padding:5px 8px;border-radius:8px}.icon-button:hover{background:#27344a;color:#fff}.user-mini .icon-button{margin-left:auto}.main-area{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:var(--bs-body-bg);position:sticky;top:0;z-index:1020}.breadcrumb-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.breadcrumb-line i{font-size:9px}.breadcrumb-line strong{color:var(--bs-body-color)}.topbar-actions{display:flex;align-items:center;gap:18px}.local-indicator{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.local-indicator span{width:7px;height:7px;background:#35c58a;border-radius:50%;box-shadow:0 0 0 3px #35c58a22}.mobile-menu{display:none}.content-wrap{width:min(1220px,100%);margin:0 auto;padding:38px 40px 55px;flex:1}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#9588ff;font-weight:750;margin-bottom:8px}.page-heading h1{font-size:27px;letter-spacing:-.8px;font-weight:720;margin:0 0 7px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.date-chip{font-size:11px;color:var(--muted);padding:9px 12px;border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}.stat-card{padding:18px;min-height:150px}.stat-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;font-size:16px;margin-bottom:14px}.purple{background:#8170ff20;color:#a99cff}.green{background:#2dc58b1c;color:#45d6a0}.blue{background:#45a4ed1c;color:#65baff}.amber{background:#e5a43c1c;color:#efb75d}.stat-label{font-size:11px;color:var(--muted)}.stat-value{font-size:26px;font-weight:730;margin-top:2px}.stat-foot{font-size:9px;color:var(--muted);margin-top:2px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.9fr);gap:17px}.panel{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.panel-heading h2,.backup-card h2{font-size:14px;font-weight:680;margin:0 0 5px}.panel-heading p{font-size:10px;color:var(--muted);margin:0}.text-link{font-size:10px;color:#a99cff;text-decoration:none}.recent-list{display:grid}.recent-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);cursor:pointer}.recent-item:first-child{border-top:0}.project-symbol{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;background:#8271ff20;color:#a99cff;font-size:16px}.recent-meta{min-width:0;flex:1}.recent-meta strong{display:block;font-size:11px}.recent-meta small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.recent-item>.bi-chevron-right{font-size:11px;color:var(--muted)}.status-pill{font-size:9px;padding:5px 8px;border-radius:20px;white-space:nowrap;background:#8290a51c;color:var(--muted)}.status-pill.live{background:#2dc58b1c;color:#48d39f}.status-pill.build{background:#55a9ed1c;color:#73bdff}.quick-action{width:100%;display:flex;align-items:center;gap:11px;padding:12px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--bs-body-color);text-align:left;text-decoration:none}.quick-action:first-of-type{border-top:0}.quick-icon{width:32px;height:32px;display:grid;place-items:center;background:#8271ff1c;color:#a99cff;border-radius:9px}.quick-action span:nth-child(2){flex:1}.quick-action strong{display:block;font-size:10px}.quick-action small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.quick-action>.bi-chevron-right{font-size:10px;color:var(--muted)}.quick-action:hover strong{color:#a99cff}.tip-box{display:flex;gap:10px;background:#8271ff12;border:1px solid #8271ff2b;border-radius:9px;padding:12px;margin-top:12px;color:#a99cff}.tip-box p{font-size:9px;line-height:1.6;margin:0;color:var(--muted)}.tip-box strong{color:var(--bs-body-color)}.toolbar{display:flex;gap:12px;margin-bottom:18px}.search-box{position:relative;flex:1;max-width:440px}.search-box i{position:absolute;left:13px;top:10px;color:var(--muted)}.search-box input{padding-left:36px}.form-control,.form-select{background-color:var(--surface);border-color:var(--line);color:var(--bs-body-color);font-size:12px;min-height:38px}.form-control:focus,.form-select:focus{background-color:var(--surface);color:var(--bs-body-color);border-color:#8b7cff;box-shadow:0 0 0 .2rem #8b7cff22}.status-filter{width:180px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.project-card-top{display:flex;align-items:flex-start;gap:11px}.project-card-top .project-symbol{width:39px;height:39px;flex-basis:39px}.project-card-title{min-width:0;flex:1}.project-card-title h3{font-size:13px;font-weight:680;margin:2px 0 5px}.project-card-title small{font-size:9px;color:var(--muted)}.project-card p{font-size:10px;line-height:1.6;color:var(--muted);margin:15px 0;min-height:32px}.project-card-footer{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;align-items:center}.project-card-footer small{font-size:9px;color:var(--muted)}.project-card-footer button{border:0;background:none;color:#a99cff;font-size:10px}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.empty-state>i{font-size:35px;color:#9285ff}.empty-state h3{font-size:15px;color:var(--bs-body-color);margin:12px 0 6px}.empty-state p{font-size:11px}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.backup-card{padding:25px}.backup-icon{width:42px;height:42px;border-radius:11px;background:#8271ff20;color:#a99cff;display:grid;place-items:center;font-size:19px;margin-bottom:20px}.backup-icon.restore{background:#2dc58b1c;color:#45d6a0}.backup-card p,.data-info p{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0 20px}.data-info{margin-top:17px;padding:20px}.data-info>div>i{font-size:20px;color:#a99cff}.data-info h3{font-size:12px;margin:2px 0 6px}.data-info p{margin:0 0 8px}.data-info strong{font-size:10px;color:#45d6a0}.app-footer{border-top:1px solid var(--line);padding:17px 40px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.app-footer .muted{opacity:.7}.modal-content{background:var(--surface);border:1px solid var(--line);border-radius:14px}.modal-header,.modal-footer{border-color:var(--line);padding:17px 22px}.modal-title{font-weight:700}.modal-body{padding:22px}.form-label{font-size:11px;font-weight:600}.form-hint{font-size:10px;color:var(--muted)}.detail-description{font-size:12px;color:var(--muted);line-height:1.7}.detail-block{padding:14px 0;border-top:1px solid var(--line)}.detail-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.detail-value{font-size:11px;overflow-wrap:anywhere}.detail-value a{color:#a99cff}.toast{background:var(--surface-2);color:var(--bs-body-color);box-shadow:0 8px 30px #0003}.btn-primary{--bs-btn-bg:#7062e8;--bs-btn-border-color:#7062e8;--bs-btn-hover-bg:#5e51d2;--bs-btn-hover-border-color:#5e51d2}.btn-outline-primary{--bs-btn-color:#a99cff;--bs-btn-border-color:#7568db;--bs-btn-hover-bg:#7062e8}.btn{font-size:11px;font-weight:600;border-radius:7px;padding:9px 13px}.btn-sm{padding:7px 10px}
@media(max-width:1050px){.content-wrap{padding:30px 25px}.topbar{padding:0 25px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){:root{--sidebar-width:0px}.sidebar{width:252px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:10px 0 35px #0003}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.topbar{height:60px;padding:0 15px}.mobile-menu{display:block}.breadcrumb-line{margin-right:auto;margin-left:8px}.topbar-actions{gap:10px}.local-indicator{display:none}.content-wrap{padding:27px 16px 40px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px}.page-heading h1{font-size:24px}.date-chip{display:none}.stats-grid{gap:10px}.stat-card{padding:14px;min-height:137px}.stat-value{font-size:23px}.dashboard-grid{gap:12px}.panel{padding:16px}.project-grid,.backup-grid{grid-template-columns:1fr}.toolbar{flex-direction:column}.search-box{max-width:none}.status-filter{width:100%}.app-footer{padding:15px 16px;gap:10px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Patrimoine numérique */
.asset-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}
.asset-summary{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:11px}
.asset-summary-icon{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:9px;background:#8271ff20;color:#a99cff;font-size:16px}
.asset-summary-icon.green{background:#2dc58b1c;color:#45d6a0}.asset-summary-icon.amber{background:#e5a43c1c;color:#efb75d}.asset-summary-icon.blue{background:#45a4ed1c;color:#65baff}
.asset-summary small{display:block;color:var(--muted);font-size:9px}.asset-summary strong{display:block;font-size:19px;margin-top:3px}
.asset-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:18px;border:1px solid #e5a43c40;border-radius:9px;background:#e5a43c0c;color:var(--muted);font-size:10px;line-height:1.6}.asset-notice>i{font-size:16px;color:#efb75d}.asset-notice strong{color:var(--bs-body-color)}
.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.asset-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px}
.asset-card-head{display:flex;align-items:center;gap:9px}.asset-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#8271ff20;color:#a99cff;font-size:16px}.asset-type{font-size:9px;color:var(--muted)}
.asset-card-head .status-pill{margin-left:auto}.asset-card h3{font-size:13px;font-weight:700;margin:14px 0 4px;overflow-wrap:anywhere}.asset-provider{font-size:10px;color:var(--muted);min-height:16px;overflow-wrap:anywhere}
.asset-card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;margin-top:10px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.asset-card-meta strong{font-size:10px;color:var(--bs-body-color);white-space:nowrap}
.asset-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.asset-card-footer small{font-size:9px;color:var(--muted)}.asset-card-footer button{border:0;background:none;color:#a99cff;font-size:10px;white-space:nowrap}
.asset-warning{margin:12px -17px -17px;padding:8px 17px;background:#e5a43c12;color:#efb75d;font-size:9px}
@media(max-width:1050px){.asset-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.asset-grid{grid-template-columns:1fr}.asset-summary-grid{gap:9px}.asset-summary{padding:12px;gap:9px}.asset-summary strong{font-size:17px}.asset-card-meta{align-items:flex-start;flex-direction:column;gap:6px}}


/* Organisation et pilotage — V3 */
.task-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.task-summary{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:11px}.task-summary-icon{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:9px;background:#8271ff20;color:#a99cff;font-size:16px}.task-summary-icon.blue{background:#45a4ed1c;color:#65baff}.task-summary-icon.green{background:#2dc58b1c;color:#45d6a0}.task-summary-icon.amber{background:#e5a43c1c;color:#efb75d}.task-summary small{display:block;color:var(--muted);font-size:9px}.task-summary strong{display:block;font-size:19px;margin-top:3px}.task-toolbar{flex-wrap:wrap}.task-toolbar .search-box{min-width:200px}.task-toolbar .status-filter{flex:1;min-width:145px}.task-list{display:grid;gap:11px}.task-card{display:flex;align-items:center;gap:18px;padding:17px;background:var(--surface);border:1px solid var(--line);border-radius:11px}.task-card-main{min-width:0;flex:1}.task-card-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.task-priority,.task-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:20px;font-size:9px;font-weight:650;background:#8290a51c;color:var(--muted)}.task-priority.urgent{background:#ef53531c;color:#f08080}.task-priority.high{background:#e5a43c1c;color:#efb75d}.task-priority.normal{background:#55a9ed1c;color:#73bdff}.task-priority.low{background:#8290a51c;color:var(--muted)}.task-status.doing{background:#55a9ed1c;color:#73bdff}.task-status.done{background:#2dc58b1c;color:#45d6a0}.task-status.waiting{background:#e5a43c1c;color:#efb75d}.task-card h3{font-size:13px;font-weight:700;margin:9px 0 4px;overflow-wrap:anywhere}.task-card p{font-size:10px;line-height:1.5;color:var(--muted);margin:0 0 9px;white-space:pre-wrap}.task-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:9px}.task-card-actions{display:flex;gap:7px;align-items:center}.task-card-actions .btn{padding:7px 9px}@media(max-width:1050px){.task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.task-card{align-items:flex-start;flex-direction:column;gap:12px}.task-card-actions{width:100%;justify-content:flex-end}.task-summary-grid{gap:9px}.task-summary{padding:12px;gap:9px}.task-summary strong{font-size:17px}}


/* Objectifs et progression — V3.1 */
.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.goal-card{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0}.goal-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.goal-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:20px;font-size:9px;font-weight:650;background:#55a9ed1c;color:#73bdff}.goal-status.paused{background:#e5a43c1c;color:#efb75d}.goal-status.done{background:#2dc58b1c;color:#45d6a0}.goal-task-count{font-size:9px;color:var(--muted)}.goal-card h3{font-size:14px;font-weight:700;margin:14px 0 6px;overflow-wrap:anywhere}.goal-card>p{font-size:10px;line-height:1.5;color:var(--muted);min-height:30px;margin:0 0 15px;white-space:pre-wrap}.goal-progress-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-bottom:7px}.goal-progress-label span{color:var(--muted)}.goal-progress-label strong{font-size:12px}.goal-progress{height:8px;border-radius:20px;background:var(--line);overflow:hidden}.goal-progress .progress-bar{border-radius:20px;background:linear-gradient(90deg,#7466e8,#36b88c)}.goal-card-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:9px;margin-top:14px}.goal-linked-tasks{display:grid;gap:10px;margin-top:8px;font-size:11px}.goal-linked-tasks>div{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.goal-linked-tasks small{color:var(--muted);margin-left:auto;font-size:9px}.form-range:disabled{opacity:.55}@media(max-width:760px){.goal-grid{grid-template-columns:1fr}.goal-card{padding:15px}.goal-card-meta{flex-direction:column;gap:7px}}


/* Gestion financière — V4 */
.finance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}
.finance-summary{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:11px;min-width:0}
.finance-summary-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:9px;background:#8271ff20;color:#a99cff;font-size:17px}
.finance-summary-icon.income,.finance-row-icon.income{background:#2dc58b1c;color:#45d6a0}.finance-summary-icon.expense,.finance-row-icon.expense{background:#ef53531c;color:#f08080}.finance-summary-icon.net{background:#45a4ed1c;color:#65baff}.finance-summary-icon.recurring{background:#e5a43c1c;color:#efb75d}
.finance-summary small{display:block;color:var(--muted);font-size:9px}.finance-summary strong{display:block;font-size:18px;margin-top:3px;overflow-wrap:anywhere}
.finance-note{display:flex;gap:10px;padding:12px 14px;margin-bottom:18px;border:1px solid #45a4ed40;border-radius:9px;background:#45a4ed0c;color:var(--muted);font-size:10px;line-height:1.6}.finance-note>i{font-size:16px;color:#65baff}.finance-note strong{color:var(--bs-body-color)}
.finance-profit-panel{margin-bottom:27px}.finance-table{font-size:10px;white-space:nowrap;color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-color:var(--bs-body-color);--bs-table-border-color:var(--line)}.finance-table th{font-size:9px;color:var(--muted);font-weight:650}.finance-table td,.finance-table th{padding:12px 10px}
.finance-subheading{margin-top:28px;margin-bottom:15px}.finance-subheading h2{font-size:19px;font-weight:700;margin:0 0 5px}.finance-subheading p{font-size:11px;color:var(--muted);margin:0}
.finance-transaction-list{display:grid;gap:9px}.finance-row{display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0}.finance-row-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;background:#8271ff20;color:#a99cff}.finance-row-main{min-width:0;flex:1}.finance-row-main strong{display:block;font-size:11px;overflow-wrap:anywhere}.finance-row-main small{display:block;color:var(--muted);font-size:9px;margin-top:4px;overflow-wrap:anywhere}.finance-row-amount{text-align:right;font-size:11px;font-weight:700;white-space:nowrap}.finance-row-amount small{display:block;font-size:9px;font-weight:500;margin-top:4px}.finance-state{color:#45d6a0}.finance-state.pending{color:#efb75d}.finance-row-actions{display:flex;gap:5px}.finance-row-actions .btn{padding:6px 8px}
.subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.subscription-card{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:11px;min-width:0}.subscription-card-top{display:flex;justify-content:space-between;align-items:center}.subscription-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e5a43c1c;color:#efb75d}.subscription-card h3{font-size:13px;font-weight:700;margin:13px 0 3px;overflow-wrap:anywhere}.subscription-card>p{font-size:10px;color:var(--muted);margin:0 0 12px}.subscription-cost{font-size:19px;font-weight:750}.subscription-cost small{font-size:10px;color:var(--muted);font-weight:500}.subscription-meta{display:flex;justify-content:space-between;gap:8px;padding-top:9px;margin-top:9px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.subscription-meta strong{color:var(--bs-body-color);text-align:right}.subscription-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}
@media(max-width:1050px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.finance-row{flex-wrap:wrap;gap:9px}.finance-row-main{flex-basis:calc(100% - 48px)}.finance-row-amount{margin-left:43px;text-align:left;flex:1}.finance-row-actions{margin-left:auto}.subscription-grid{grid-template-columns:1fr}.finance-summary{padding:12px;gap:9px}.finance-summary strong{font-size:16px}.finance-summary-grid{gap:9px}}


/* Modales — défilement fiable sur mobile et Android */
.modal-dialog-scrollable {
  display: flex;
  height: calc(100% - var(--bs-modal-margin) * 2);
  max-height: calc(100dvh - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  display: flex;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}
@media (max-width: 760px) {
  .modal {
    --bs-modal-margin: .5rem;
  }
  .modal-dialog-scrollable {
    height: calc(100% - 1rem);
    max-height: calc(100dvh - 1rem);
    margin: .5rem;
  }
  .modal-dialog-scrollable .modal-content {
    max-height: 100%;
  }
}


/* Correctif structurel : les formulaires enveloppent les zones de modale */
.modal-dialog-scrollable .modal-content > form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-content > form > .modal-header,
.modal-dialog-scrollable .modal-content > form > .modal-footer {
  flex: 0 0 auto;
}
.modal-dialog-scrollable .modal-content > form > .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}


/* Centre d'alertes — V4.1 */
.alert-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}
.alert-summary{display:flex;align-items:center;gap:12px;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:11px;min-width:0}
.alert-summary-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:9px;font-size:16px}
.alert-summary-icon.critical{background:#ef53531c;color:#f08080}.alert-summary-icon.warning{background:#e5a43c1c;color:#efb75d}.alert-summary-icon.upcoming{background:#55a9ed1c;color:#73bdff}.alert-summary-icon.info{background:#8271ff20;color:#a99cff}
.alert-summary small{display:block;color:var(--muted);font-size:9px}.alert-summary strong{display:block;font-size:20px;margin-top:3px}
.alert-panel{padding:18px}.alert-total{font-size:10px;color:var(--muted);white-space:nowrap}
.alert-list{display:grid;gap:9px}.alert-item{display:flex;align-items:center;gap:13px;padding:13px;background:var(--bs-tertiary-bg);border:1px solid var(--line);border-left:3px solid #8271ff;border-radius:9px;min-width:0}
.alert-item.critical{border-left-color:#ef7070}.alert-item.warning{border-left-color:#e5a43c}.alert-item.upcoming{border-left-color:#55a9ed}.alert-item.info{border-left-color:#8271ff}
.alert-item-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;background:var(--surface);color:var(--muted)}
.alert-item-main{min-width:0;flex:1}.alert-item-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.alert-item-top strong{font-size:11px;overflow-wrap:anywhere}.alert-state{font-size:9px;font-weight:650;color:var(--muted)}
.alert-item.critical .alert-state{color:#f08080}.alert-item.warning .alert-state{color:#efb75d}.alert-item.upcoming .alert-state{color:#73bdff}
.alert-item-main p{font-size:10px;color:var(--muted);margin:4px 0}.alert-item-main small{font-size:9px;color:var(--muted)}
.alert-open{white-space:nowrap;font-size:9px}.alert-footnote{display:flex;align-items:flex-start;gap:9px;margin-top:14px;color:var(--muted);font-size:10px;line-height:1.6}.alert-footnote i{color:#73bdff;font-size:14px}
@media(max-width:1050px){.alert-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.alert-summary-grid{gap:9px}.alert-summary{padding:11px;gap:9px}.alert-summary strong{font-size:18px}.alert-panel{padding:13px}.alert-item{align-items:flex-start;flex-wrap:wrap;gap:9px}.alert-item-main{flex-basis:calc(100% - 48px)}.alert-open{margin-left:43px}.alert-item-top{align-items:flex-start;flex-direction:column;gap:3px}}


/* Suivi local des exports de sauvegarde — V4.1 */
.backup-status-panel{display:flex;align-items:flex-start;gap:13px;padding:16px;margin-bottom:17px;border:1px solid #2dc58b45;background:#2dc58b0a}
.backup-status-panel.is-warning{border-color:#e5a43c55;background:#e5a43c0c}
.backup-status-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;background:#2dc58b1c;color:#45d6a0;font-size:18px}
.backup-status-panel.is-warning .backup-status-icon{background:#e5a43c1c;color:#efb75d}
.backup-status-copy{min-width:0}.backup-status-copy strong{display:block;font-size:12px}.backup-status-copy p{margin:4px 0;color:var(--bs-body-color);font-size:10px}.backup-status-copy small{display:block;color:var(--muted);font-size:9px;line-height:1.5}
