:root {
    --b: #781428;
    --b2: #9f2340;
    --bg: #fff8f3;
    --ink: #21171a;
    --muted: #827277;
    --line: rgba(120,20,40,.13);
    --glass: rgba(255,255,255,.64);
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html {
    min-height: 100%;
    background: var(--bg);
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 18% 0%, rgba(120,20,40,.18), transparent 28rem),
        radial-gradient(circle at 100% 25%, rgba(159,35,64,.13), transparent 24rem),
        linear-gradient(180deg, #fffaf6 0%, #fbf1eb 100%);
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

.app-shell {
    width: min(100%, 720px);
    margin: 0 auto;
    padding: 14px 14px 112px;
}

.glass-panel {
    background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,255,255,.48));
    border: 1px solid rgba(255,255,255,.62);
    box-shadow:
        0 22px 70px rgba(120,20,40,.12),
        inset 0 1px 0 rgba(255,255,255,.75);
    backdrop-filter: blur(22px) saturate(150%);
    -webkit-backdrop-filter: blur(22px) saturate(150%);
}

.topbar {
    position: sticky;
    top: 12px;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 28px;
    padding: 12px;
    margin-bottom: 18px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-orb,
.login-logo {
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 30% 20%, #d45870, var(--b));
    color: white;
    box-shadow: 0 12px 28px rgba(120,20,40,.32);
}

.brand-orb {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    font-weight: 950;
}

.brand strong {
    display: block;
    color: var(--b);
    line-height: 1.05;
}

.brand small {
    display: block;
    color: var(--muted);
    font-size: 11px;
}

.ghost-pill,
.small-primary,
.primary-btn,
.secondary-btn {
    border: 0;
    cursor: pointer;
    font-weight: 900;
}

.ghost-pill {
    border-radius: 999px;
    padding: 10px 13px;
    color: var(--b);
    background: rgba(255,255,255,.72);
    border: 1px solid var(--line);
}

.content {
    padding: 4px 2px;
}

.page-heading {
    margin: 12px 2px 16px;
}

.page-heading span,
.eyebrow {
    color: var(--b);
    font-weight: 900;
    font-size: 13px;
}

.page-heading h1 {
    margin: 2px 0 3px;
    font-size: 32px;
    letter-spacing: -.04em;
}

.page-heading p {
    margin: 0;
    color: var(--muted);
}

.with-action {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.small-primary {
    width: 52px;
    height: 52px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: var(--b);
    color: white;
    font-size: 30px;
    box-shadow: 0 15px 35px rgba(120,20,40,.25);
}

.hero-card {
    border-radius: 34px;
    padding: 24px;
    margin-bottom: 14px;
}

.hero-card strong {
    display: block;
    margin-top: 8px;
    color: var(--b);
    font-size: 42px;
    letter-spacing: -.06em;
    line-height: 1;
}

.hero-card small,
.mini-card small {
    color: var(--muted);
}

.glow {
    position: relative;
    overflow: hidden;
}

.glow::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -60px;
    top: -60px;
    background: radial-gradient(circle, rgba(120,20,40,.20), transparent 65%);
    pointer-events: none;
}

.stat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.mini-card,
.section-card,
.form-card,
.empty-card,
.list-card {
    border-radius: 28px;
    padding: 18px;
    margin-bottom: 14px;
}

.mini-card span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.mini-card strong {
    display: block;
    margin-top: 8px;
    color: var(--b);
    font-size: 25px;
    letter-spacing: -.04em;
}

.wide-action {
    margin-top: 14px;
    border-radius: 28px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.wide-action span {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: white;
    background: var(--b);
    font-size: 32px;
}

.expense-list {
    display: grid;
    gap: 14px;
}

.swipe-row {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    touch-action: pan-y;
}

.swipe-actions {
    position: absolute;
    inset: 0 0 0 auto;
    width: 178px;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    background: linear-gradient(135deg, var(--b), #af2e4c);
    border-radius: 32px;
    overflow: hidden;
}

.swipe-actions form {
    margin: 0;
    display: flex;
}

.swipe-action {
    width: 89px;
    border: 0;
    color: white;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
}

.swipe-action span {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: rgba(255,255,255,.92);
    color: var(--b);
    font-size: 21px;
}

.swipe-action.delete span {
    color: #b91c1c;
}

.swipe-action small {
    font-size: 11px;
    font-weight: 900;
}

.swipe-card {
    position: relative;
    z-index: 2;
    border-radius: 32px;
    padding: 20px;
    transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
    cursor: grab;
    user-select: none;
}

.swipe-row.open .swipe-card {
    transform: translateX(-178px);
}

.expense-main,
.list-card {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.expense-main strong,
.list-card strong {
    font-size: 18px;
}

.expense-main p,
.list-card p {
    margin: 8px 0 18px;
    color: #2f2427;
}

.expense-main small,
.list-card small {
    color: var(--muted);
}

.expense-money {
    min-width: 150px;
    text-align: right;
}

.expense-money strong {
    display: block;
    color: var(--b);
    font-size: 27px;
    line-height: 1;
    letter-spacing: -.05em;
}

.expense-money span {
    display: inline-block;
    margin-top: 7px;
}

.status-badge {
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 950;
}

.status-badge.ok {
    color: #166534;
    background: #dcfce7;
}

.status-badge.warn {
    color: #7a4c00;
    background: #fff2cf;
}

.form-card label {
    display: block;
    margin: 14px 0 7px;
    color: #3b2b30;
    font-weight: 900;
}

.field {
    width: 100%;
    border: 1px solid var(--line);
    outline: 0;
    border-radius: 21px;
    padding: 15px 16px;
    background: rgba(255,255,255,.82);
    color: var(--ink);
}

.amount-field {
    font-size: 34px;
    font-weight: 950;
    color: var(--b);
}

textarea.field {
    resize: vertical;
}

.segmented {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin: 10px 0 8px;
}

.segmented input {
    display: none;
}

.segmented span {
    display: block;
    text-align: center;
    border-radius: 18px;
    padding: 13px 8px;
    font-weight: 950;
    background: rgba(255,255,255,.68);
    border: 1px solid var(--line);
}

.segmented input:checked + span {
    color: white;
    background: var(--b);
    box-shadow: 0 12px 25px rgba(120,20,40,.22);
}

.primary-btn,
.secondary-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 54px;
    border-radius: 22px;
    margin-top: 18px;
}

.primary-btn {
    background: linear-gradient(135deg, var(--b), var(--b2));
    color: white;
    box-shadow: 0 16px 34px rgba(120,20,40,.24);
}

.secondary-btn {
    color: var(--b);
    background: rgba(255,255,255,.72);
    border: 1px solid var(--line);
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: none;
    place-items: center;
    padding: 22px;
    background: rgba(30,10,16,.46);
    backdrop-filter: blur(6px);
}

.modal-backdrop.show {
    display: grid;
}

.modal-card {
    width: min(100%, 430px);
    border-radius: 32px;
    padding: 22px;
}

.modal-card h2 {
    margin: 0 0 8px;
}

.modal-card ul {
    margin: 16px 0;
    padding: 0;
    list-style: none;
}

.modal-card li {
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.62);
    margin-bottom: 8px;
    font-weight: 800;
}

.modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.hint-box {
    margin-top: 16px;
    border-radius: 20px;
    padding: 14px;
    background: rgba(120,20,40,.07);
    color: var(--muted);
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.compact .secondary-btn {
    margin-top: 10px;
}

.section-card h2 {
    margin-top: 0;
}

.small-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}

.empty-card {
    text-align: center;
}

.empty-card strong {
    display: block;
    font-size: 22px;
    color: var(--b);
}

.alert-error {
    border-radius: 22px;
    padding: 14px 16px;
    margin-bottom: 14px;
    background: rgba(185,28,28,.1);
    color: #991b1b;
    font-weight: 900;
}

.login-screen {
    min-height: 76vh;
    display: grid;
    place-items: center;
}

.login-card {
    width: min(100%, 430px);
    border-radius: 36px;
    padding: 28px;
    text-align: center;
}

.login-logo {
    width: 76px;
    height: 76px;
    border-radius: 27px;
    margin: 0 auto 16px;
    font-size: 34px;
    font-weight: 950;
}

.login-card h1 {
    margin: 0;
    color: var(--b);
    letter-spacing: -.04em;
}

.login-card p {
    color: var(--muted);
}

.login-card form {
    text-align: left;
    margin-top: 22px;
}

.login-card label {
    display: block;
    margin: 14px 0 7px;
    font-weight: 900;
}

.bottom-nav{
    position:fixed !important;

    left:50% !important;
    transform:translateX(-50%) !important;

    bottom:calc(12px + env(safe-area-inset-bottom)) !important;

    width:calc(100% - 28px) !important;
    max-width:430px !important;

    height:74px !important;
    z-index:100 !important;

    border-radius:32px !important;
    padding:8px !important;

    display:grid !important;
    grid-template-columns:1fr 1fr 86px 1fr 1fr !important;
    align-items:center !important;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.82),
            rgba(255,255,255,.58)
        ) !important;

    border:1px solid rgba(255,255,255,.72) !important;

    backdrop-filter:blur(30px) saturate(180%) !important;
    -webkit-backdrop-filter:blur(30px) saturate(180%) !important;

    box-shadow:
        0 20px 50px rgba(120,20,40,.12),
        inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.bottom-nav .fab{
    justify-self:center !important;
}

.bottom-nav a {
    min-height: 54px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    color: var(--muted);
    font-weight: 900;
    font-size: 11px;
}

.bottom-nav a span {
    font-size: 21px;
    line-height: 1;
}

.bottom-nav a.active {
    color: var(--b);
    background: rgba(120,20,40,.08);
}

.bottom-nav .fab {
    width: 64px;
    height: 64px;
    justify-self: center;
    margin-top: -32px;
    border-radius: 25px;
    color: white;
    background: linear-gradient(135deg, var(--b), var(--b2));
    box-shadow: 0 16px 34px rgba(120,20,40,.35);
}

.bottom-nav .fab span {
    font-size: 40px;
    margin-top: -3px;
}

@media (min-width: 760px) {
    .swipe-row:hover .swipe-card {
        transform: translateX(-178px);
    }
}

@media (max-width: 560px) {
    .app-shell {
        padding-inline: 12px;
    }

    .expense-main {
        align-items: flex-start;
    }

    .expense-money {
        min-width: 112px;
    }

    .expense-money strong {
        font-size: 23px;
    }

    .swipe-actions {
        width: 154px;
    }

    .swipe-action {
        width: 77px;
    }

    .swipe-row.open .swipe-card {
        transform: translateX(-154px);
    }

    .stat-grid {
        gap: 10px;
    }
}
.quick-actions {
    position: relative;
    z-index: 100;
}

.quick-actions-trigger {
    width: 48px;
    height: 48px;
    border: 1px solid rgba(120,20,40,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    color: #781428;
    font-size: 28px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(120,20,40,.12);
    backdrop-filter: blur(18px);
}

.quick-actions-panel {
    position: absolute;
    top: 62px;
    right: 0;
    width: 320px;
    padding: 14px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    border-radius: 30px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(255,255,255,.7);
    box-shadow: 0 28px 80px rgba(120,20,40,.22);
    backdrop-filter: blur(28px) saturate(160%);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(.96);
    transition: .22s ease;
}

.quick-actions.open .quick-actions-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.quick-action-card {
    min-height: 102px;
    border-radius: 24px;
    padding: 14px;
    background:
        radial-gradient(circle at top right, rgba(120,20,40,.16), transparent 70%),
        rgba(255,255,255,.72);
    border: 1px solid rgba(120,20,40,.08);
    color: #781428;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 14px 34px rgba(120,20,40,.08);
}

.quick-action-card span,
.quick-action-form span {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: linear-gradient(135deg, #781428, #a92845);
    color: white;
    display: grid;
    place-items: center;
    font-size: 22px;
    box-shadow: 0 12px 26px rgba(120,20,40,.24);
}

.quick-action-card strong {
    font-size: 13px;
}

.quick-action-form {
    padding: 0;
}

.quick-action-form button {
    width: 100%;
    height: 100%;
    padding: 14px;
    border: 0;
    background: transparent;
    color: #781428;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

@media (max-width: 520px) {
    .quick-actions-panel {
        position: fixed;
        top: 88px;
        left: 14px;
        right: 14px;
        width: auto;
    }
}
.topbar-minimal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    margin-bottom: 24px;
}

.brand-minimal {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.brand-orb {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 30% 25%, #d95b7a 0%, transparent 35%),
        linear-gradient(145deg, #c32d57 0%, #781428 70%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 900;
    font-size: 22px;
    letter-spacing: -.5px;
    box-shadow:
        0 10px 30px rgba(120,20,40,.18),
        inset 0 1px 1px rgba(255,255,255,.22);
}

.brand-minimal strong {
    display: block;
    font-size: 18px;
    line-height: 1;
    color: #781428;
    font-weight: 800;
}

.brand-minimal small {
    display: block;
    margin-top: 4px;
    color: #8d7a80;
    font-size: 13px;
    font-weight: 600;
}

.quick-actions-trigger {
    width: 58px;
    height: 58px;
    border-radius: 20px;
    border: 1px solid rgba(120,20,40,.08);
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #781428;
    box-shadow:
        0 8px 30px rgba(120,20,40,.10),
        inset 0 1px 0 rgba(255,255,255,.7);
}

.quick-actions-trigger span {
    font-size: 24px;
    letter-spacing: 2px;
    transform: translateY(-2px);
}

@media (max-width: 520px) {
    .topbar-minimal {
        padding: 14px 16px;
    }

    .brand-orb {
        width: 48px;
        height: 48px;
        border-radius: 16px;
        font-size: 18px;
    }

    .brand-minimal strong {
        font-size: 16px;
    }

    .brand-minimal small {
        font-size: 12px;
    }

    .quick-actions-trigger {
        width: 52px;
        height: 52px;
        border-radius: 18px;
    }

    .quick-actions-trigger span {
        font-size: 20px;
    }
}

.topbar-minimal {
    margin-bottom: 10px !important;
    padding-bottom: 6px !important;
}

.dashboard-hero,
.dashboard-header,
.home-hero {
    padding-top: 0 !important;
    margin-top: -6px !important;
}

.dashboard-hero h1,
.dashboard-header h1,
.home-hero h1 {
    margin-top: 0 !important;
}

.content {
    padding-top: 0 !important;
}


html,
body{
    margin:0;
    padding:0;
    min-height:100%;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}

body{
    position:relative;
    background:#f7ecee;
    color:#21171a;
}

.app-shell{
    min-height:100vh;
    overflow:visible;
    position:relative;
}

.content{
    position:relative;
    overflow:visible;
    padding:
        calc(env(safe-area-inset-top,0px) + 20px)
        20px
        160px;
}

.glass-panel{
    transform:translateZ(0);
    will-change:transform;
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
}

.bottom-nav{
    position:fixed;
    left:50%;
    transform:translateX(-50%);
    bottom:18px;
    width:min(92vw,520px);
    display:grid;
    grid-template-columns:1fr 1fr auto 1fr 1fr;
    align-items:center;
    padding:14px;
    border-radius:34px;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(30px);
    -webkit-backdrop-filter:blur(30px);
    border:1px solid rgba(255,255,255,.6);
    box-shadow:
        0 20px 60px rgba(120,20,40,.16),
        inset 0 1px 0 rgba(255,255,255,.9);
    z-index:9999;
}

.bottom-nav a{
    min-width:0;
}

.native-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;
}

.native-logo{
    width:68px;
    height:68px;
    border-radius:22px;
    background:
        radial-gradient(circle at 30% 30%, #d94b72 0%, #9f173b 55%, #781428 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow:
        0 18px 40px rgba(120,20,40,.22),
        inset 0 1px 0 rgba(255,255,255,.22);
}

.native-logo span{
    color:#fff;
    font-size:22px;
    font-weight:1000;
    letter-spacing:-.05em;
}

.native-menu-btn{
    width:68px;
    height:68px;
    border:none;
    border-radius:22px;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    box-shadow:
        0 18px 40px rgba(120,20,40,.10),
        inset 0 1px 0 rgba(255,255,255,.9);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    cursor:pointer;
}


.native-menu-btn span{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#781428;
}

/* =========================================================
   BURDIGALA QUICK ACTIONS PAGINATED V31 — CLEAN FINAL
   6 éléments par page, centré, sans chevauchement bottom-nav.
========================================================= */

.quick-actions{
    position:relative!important;
    z-index:12000!important;
}

.quick-actions-panel.quick-actions-paginated{
    display:block!important;
    padding:14px!important;
    overflow:hidden!important;
    background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(255,255,255,.70))!important;
    border:1px solid rgba(255,255,255,.74)!important;
    box-shadow:0 30px 90px rgba(120,20,40,.20), inset 0 1px 0 rgba(255,255,255,.92)!important;
    backdrop-filter:blur(30px) saturate(180%)!important;
    -webkit-backdrop-filter:blur(30px) saturate(180%)!important;
}

.quick-actions.open .quick-actions-panel.quick-actions-paginated{
    opacity:1!important;
    visibility:visible!important;
}

.quick-actions-paginated .quick-actions-slider{
    display:flex!important;
    width:100%!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
}

.quick-actions-paginated .quick-actions-slider::-webkit-scrollbar{
    display:none!important;
}

.quick-actions-paginated .quick-actions-page{
    flex:0 0 100%!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    padding:0 1px!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    overflow:hidden!important;
}

.quick-actions-paginated .quick-action-card{
    min-height:0!important;
    height:auto!important;
    border-radius:24px!important;
    padding:14px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:flex-start!important;
    gap:8px!important;
    text-decoration:none!important;
    color:#781428!important;
    background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.62))!important;
    border:1px solid rgba(120,20,40,.08)!important;
    box-shadow:0 14px 34px rgba(120,20,40,.08), inset 0 1px 0 rgba(255,255,255,.88)!important;
    overflow:hidden!important;
}

.quick-actions-paginated .quick-action-card span,
.quick-actions-paginated .quick-action-form button span{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:16px!important;
    display:grid!important;
    place-items:center!important;
    background:linear-gradient(145deg,#b01742,#781428)!important;
    color:#fff!important;
    font-size:20px!important;
    line-height:1!important;
    box-shadow:0 14px 28px rgba(120,20,40,.24)!important;
}

.quick-actions-paginated .quick-action-card strong,
.quick-actions-paginated .quick-action-form button strong{
    color:#781428!important;
    font-size:15px!important;
    line-height:1.10!important;
    font-weight:1000!important;
    letter-spacing:-.04em!important;
    text-align:left!important;
    max-height:none!important;
    overflow:visible!important;
}

.quick-actions-paginated .quick-action-form{
    padding:0!important;
}

.quick-actions-paginated .quick-action-form button{
    width:100%!important;
    height:100%!important;
    border:0!important;
    background:transparent!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:flex-start!important;
    gap:8px!important;
    padding:14px!important;
    cursor:pointer!important;
    color:#781428!important;
    text-align:left!important;
    font:inherit!important;
    font-weight:900!important;
}

.quick-actions-pagination{
    flex:0 0 48px!important;
    height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    margin:10px 0 0!important;
    padding:0!important;
}

.quick-actions-pagination button{
    border:0!important;
    cursor:pointer!important;
}

.quick-actions-pagination > button{
    width:34px!important;
    height:34px!important;
    border-radius:14px!important;
    background:rgba(120,20,40,.09)!important;
    color:#781428!important;
    font-size:24px!important;
    font-weight:1000!important;
}

.quick-actions-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
}

.quick-actions-dots button{
    width:8px!important;
    height:8px!important;
    border-radius:999px!important;
    padding:0!important;
    background:rgba(120,20,40,.18)!important;
}

.quick-actions-dots button.is-active{
    width:26px!important;
    background:#781428!important;
}

@media(max-width:760px){
    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{
        position:fixed!important;
        left:50%!important;
        right:auto!important;
        transform:translateX(-50%)!important;
        width:min(92vw,520px)!important;
        max-width:520px!important;
        top:calc(132px + env(safe-area-inset-top,0px))!important;
        bottom:auto!important;
        height:min(500px, calc(100vh - 310px - env(safe-area-inset-bottom,0px)))!important;
        max-height:none!important;
        margin:0!important;
        border-radius:38px!important;
        z-index:12010!important;
    }

    .quick-actions-paginated .quick-actions-slider{
        height:calc(100% - 58px)!important;
    }

    .quick-actions-paginated .quick-actions-page{
        height:100%!important;
    }
}

@media(max-width:390px){
    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{
        width:min(94vw,520px)!important;
        top:calc(120px + env(safe-area-inset-top,0px))!important;
        height:min(470px, calc(100vh - 292px - env(safe-area-inset-bottom,0px)))!important;
        padding:12px!important;
        border-radius:34px!important;
    }

    .quick-actions-paginated .quick-action-card{
        padding:12px!important;
        border-radius:22px!important;
    }

    .quick-actions-paginated .quick-action-card span,
    .quick-actions-paginated .quick-action-form button span{
        width:40px!important;
        height:40px!important;
        min-width:40px!important;
        border-radius:15px!important;
        font-size:18px!important;
    }

    .quick-actions-paginated .quick-action-card strong,
    .quick-actions-paginated .quick-action-form button strong{
        font-size:14px!important;
    }
}

@media(min-width:761px){
    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{
        position:fixed!important;
        left:50%!important;
        right:auto!important;
        transform:translateX(-50%)!important;
        width:min(92vw,720px)!important;
        top:92px!important;
        height:min(560px, calc(100vh - 126px))!important;
        bottom:auto!important;
        max-height:none!important;
        border-radius:40px!important;
        z-index:12010!important;
    }

    .quick-actions-paginated .quick-actions-slider{
        height:calc(100% - 58px)!important;
    }

    .quick-actions-paginated .quick-actions-page{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-rows:repeat(2,minmax(0,1fr))!important;
        height:100%!important;
    }
}
/* =========================================================
   QUICK ACTIONS — FIX OVERLAY BOTTOM NAV
========================================================= */

@media(max-width:760px){

    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{

        /*
         * on remonte légèrement le panneau
         * pour éviter qu'il passe sous la navbar
         */
        bottom:calc(
            110px +
            env(safe-area-inset-bottom,0px)
        ) !important;

        /*
         * hauteur réelle disponible
         */
        max-height:calc(
            100vh - 210px -
            env(safe-area-inset-bottom,0px)
        ) !important;
    }

    /*
     * ajoute un espace interne sous le contenu
     * pour que les dernières cards restent visibles
     */
    .quick-actions-paginated .quick-actions-slider{
        padding-bottom:22px !important;
    }
}


/* petit iphone */
@media(max-width:390px){

    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{

        bottom:calc(
            102px +
            env(safe-area-inset-bottom,0px)
        ) !important;

        max-height:calc(
            100vh - 190px -
            env(safe-area-inset-bottom,0px)
        ) !important;
    }
}
/* =========================================================
   QUICK ACTIONS — FIX OVERLAY BOTTOM NAV
========================================================= */

@media(max-width:760px){

    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{

        /*
         * on remonte légèrement le panneau
         * pour éviter qu'il passe sous la navbar
         */
        bottom:calc(
            110px +
            env(safe-area-inset-bottom,0px)
        ) !important;

        /*
         * hauteur réelle disponible
         */
        max-height:calc(
            100vh - 210px -
            env(safe-area-inset-bottom,0px)
        ) !important;
    }

    /*
     * ajoute un espace interne sous le contenu
     * pour que les dernières cards restent visibles
     */
    .quick-actions-paginated .quick-actions-slider{
        padding-bottom:22px !important;
    }
}


/* petit iphone */
@media(max-width:390px){

    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{

        bottom:calc(
            102px +
            env(safe-area-inset-bottom,0px)
        ) !important;

        max-height:calc(
            100vh - 190px -
            env(safe-area-inset-bottom,0px)
        ) !important;
    }
}

/* QUICK ACTIONS — fix texte rogné dernières cards */

.quick-actions-paginated .quick-actions-slider{
    height:calc(100% - 82px)!important;
}

.quick-actions-pagination{
    height:62px!important;
    margin-top:10px!important;
    padding-bottom:14px!important;
}

.quick-actions-paginated .quick-actions-page{
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
}

.quick-actions-paginated .quick-action-card{
    padding:14px!important;
    gap:8px!important;
}

.quick-actions-paginated .quick-action-card strong,
.quick-actions-paginated .quick-action-form button strong{
    font-size:15px!important;
    line-height:1.05!important;
    max-height:38px!important;
    overflow:hidden!important;
}

@media(max-width:760px){
    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{
        top:calc(92px + env(safe-area-inset-top,0px))!important;
        bottom:calc(190px + env(safe-area-inset-bottom,0px))!important;
    }
}   

/* QUICK ACTIONS — fix texte rogné dernières cards */

.quick-actions-paginated .quick-actions-slider{
    height:calc(100% - 82px)!important;
}

.quick-actions-pagination{
    height:62px!important;
    margin-top:10px!important;
    padding-bottom:14px!important;
}

.quick-actions-paginated .quick-actions-page{
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
}

.quick-actions-paginated .quick-action-card{
    padding:14px!important;
    gap:8px!important;
}

.quick-actions-paginated .quick-action-card strong,
.quick-actions-paginated .quick-action-form button strong{
    font-size:15px!important;
    line-height:1.05!important;
    max-height:38px!important;
    overflow:hidden!important;
}

@media(max-width:760px){
    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{
        top:calc(92px + env(safe-area-inset-top,0px))!important;
        bottom:calc(190px + env(safe-area-inset-bottom,0px))!important;
    }
}

/* =========================================================
   QUICK ACTIONS — CORRECTIF FINAL 6 ITEMS / PAS DE ROGNAGE
========================================================= */

@media(max-width:760px){

    .quick-actions.open .quick-actions-panel.quick-actions-paginated,
    .quick-actions-panel.quick-actions-paginated{
        position:fixed!important;
        left:50%!important;
        right:auto!important;
        transform:translateX(-50%)!important;

        width:min(92vw,520px)!important;

        top:calc(150px + env(safe-area-inset-top,0px))!important;
        bottom:auto!important;

        height:520px!important;
        max-height:calc(100vh - 280px)!important;

        padding:14px!important;
        overflow:hidden!important;

        display:flex!important;
        flex-direction:column!important;
    }

    .quick-actions-paginated .quick-actions-slider{
        flex:1 1 auto!important;
        height:auto!important;
        min-height:0!important;
        padding-bottom:0!important;
    }

    .quick-actions-paginated .quick-actions-page{
        height:100%!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:repeat(3,minmax(0,1fr))!important;
        gap:12px!important;
    }

    .quick-actions-paginated .quick-action-card{
        height:auto!important;
        min-height:0!important;
        padding:14px!important;
        border-radius:24px!important;
    }

    .quick-actions-paginated .quick-action-card span,
    .quick-actions-paginated .quick-action-form button span{
        width:44px!important;
        height:44px!important;
        min-width:44px!important;
        border-radius:16px!important;
        font-size:20px!important;
    }

    .quick-actions-paginated .quick-action-card strong,
    .quick-actions-paginated .quick-action-form button strong{
        font-size:15px!important;
        line-height:1.1!important;
        max-height:none!important;
        overflow:visible!important;
    }

    .quick-actions-pagination{
        flex:0 0 48px!important;
        height:48px!important;
        margin-top:10px!important;
        padding:0!important;
    }
}