
    @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&amp;family=DM+Mono:wght@400;500&amp;display=swap');
    :root {
        /* ── Palette principale ── */
        --mdo-forest:   #053333;   /* vert forêt foncé  → primary */
        --mdo-sage:     #677c69;   /* vert sauge        → secondary / muted */
        --mdo-terracot: #944F24;   /* terre cuite       → accent chaud / warning */
        --mdo-sand:     #d9d5ca;   /* beige sable       → bg / border */

        /* ── Tokens sémantiques ── */
        --mdo-bg:          #f5f3f0;          /* fond page  */
        --mdo-surface:     #ffffff;           /* cards, panels */
        --mdo-border:      #d9d5ca;           /* = sand */
        --mdo-text:        #1a1a18;           /* texte principal */
        --mdo-muted:       #677c69;           /* = sage */

        --mdo-primary:     #053333;           /* = forest */
        --mdo-primary-lt:  #e8efef;           /* forest très clair */
        --mdo-primary-mid: #0a5252;           /* forest moyen hover */

        --mdo-accent:      #944F24;           /* = terracotta */
        --mdo-accent-lt:   #f5e9e0;           /* terracotta clair */

        --mdo-success:     #3a7c52;           /* vert succès harmonieux */
        --mdo-success-lt:  #e8f3ec;
        --mdo-warning:     #944F24;           /* = terracotta */
        --mdo-warning-lt:  #f5e9e0;
        --mdo-danger:      #8b2e2e;           /* rouge brique */
        --mdo-danger-lt:   #f5e8e8;
        --mdo-info:        #677c69;           /* = sage */
        --mdo-info-lt:     #edf0ed;
        --mdo-purple:      #5c4a6e;           /* prune */
        --mdo-purple-lt:   #ede9f3;

        --mdo-radius:    14px;
        --mdo-radius-sm:  8px;
        --mdo-shadow:     0 1px 3px rgba(5,51,51,.05), 0 4px 16px rgba(5,51,51,.06);
        --mdo-shadow-md:  0 4px 24px rgba(5,51,51,.12);
        --mdo-font:      'DM Sans', sans-serif;
        --mdo-mono:      'DM Mono', monospace;
    }

    body.mdo_user .o_portal_docs.row.g-2 ,
    body.mdo_user .row.justify-content-between .d-none.d-lg-flex.justify-content-end.col-lg-4 {
        display: none !important;
    }

    #wrapwrap.o_portal div#wrap.o_portal_wrap { padding-top: 12vh; }
    body[data-bs-spy="scroll"]    #wrapwrap.o_portal div#wrap.o_portal_wrap { padding-top: 0vh; }
    body[data-bs-spy="scroll"] {margin-top: 16vh;}
   


    body.o_portal { background:var(--mdo-bg)!important; font-family:var(--mdo-font)!important; }
    .o_portal_wrap { background:var(--mdo-bg)!important; }
    .o_portal_my_home { background:transparent!important; }

    /* Masquer   */
    body[data-bs-spy="scroll"]  .alert.alert-info.alert-dismissible.fade.show.d-print-none.css_editable_mode_hidden,
    body.mdo_user .o_portal_docs,
     #wrapwrap.o_portal div#wrap.o_portal_wrap  .o_portal_docs.row.g-2 ,
     #wrapwrap.o_portal div#wrap.o_portal_wrap .d-none.d-lg-flex.justify-content-end.col-lg-4 {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        font-size: 0 !important;
    }

    form.o_portal_search_panel.col-md-5.col-xl-4.ms-lg-2 { width:60%!important; }
    #wrapwrap.o_portal div#wrap.o_portal_wrap  .o_portal_content.col-12.col-lg-8.mb-5 {
        width: 100%;
    }
   
    div#sale_order_communication h3#quote_2 {
        margin-bottom: 2rem;
    }
    

    a#print_invoice_report,
    h2[data-oe-type="monetary"]{
       background-color: #944F24 !important;
        border-color: #944F24 !important;
        color: #fff !important;
        border-radius: 0.4rem;
        padding: 10px;
        width: 100%;
        font-weight: 500;
        text-align: center;
    }

    button#portal_connect_software_modal_btn {
     width: 100%;
    }

    div#sidebar_content .d-none.d-lg-block.mt-5.small.text-center.text-muted, div#sidebar_content .d-none.d-lg-block.mt-5.small.text-center.text-muted a {
        visibility: hidden;
        display: none !important;
        font-size: 0;
        padding: 0;
        margin: 0 !important;
        margin-top: 0rem !important;
    }
    /* ── Dashboard ── */
    .mdo-dashboard { max-width:100%; margin:0 auto; padding:0 0 3rem; animation:mdo-fadein .35s ease; }
    .mdo-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:2rem; gap:1rem; flex-wrap:wrap; }
    .mdo-header__greeting { font-size:1.6rem; font-weight:700; color:var(--mdo-text); letter-spacing:-.02em; line-height:1.2; }
    .mdo-header__greeting span { color:var(--mdo-sage); }
    .mdo-header__sub { font-size:.875rem; color:var(--mdo-muted); margin-top:.25rem; }
    .mdo-header__badge { display:inline-flex; align-items:center; gap:.5rem; background:var(--mdo-accent-lt); color:var(--mdo-accent); border:1px solid #e0b89a; border-radius:100px; padding:.35rem .9rem; font-size:.8rem; font-weight:600; animation:mdo-pulse 2s ease-in-out infinite; }
    @keyframes mdo-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(148,79,36,.15)} 50%{box-shadow:0 0 0 6px rgba(148,79,36,0)} }
    .mdo-section-label { font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mdo-sage); margin-bottom:.75rem; padding-left:.25rem; }
    .mdo-divider { height:1px; background:var(--mdo-border); margin:1.75rem 0; }

    /* ── Grid ── */
    .mdo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:2rem; }
    @media(max-width:900px){.mdo-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:560px){.mdo-grid{grid-template-columns:1fr}}

    /* ── Cards ── */
    .mdo-card { background:var(--mdo-surface); border:1px solid var(--mdo-border); border-radius:var(--mdo-radius); padding:1.25rem 1.375rem; text-decoration:none!important; color:var(--mdo-text)!important; display:flex; flex-direction:column; gap:.75rem; box-shadow:var(--mdo-shadow); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; position:relative; overflow:hidden; }
    .mdo-card::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--mdo-terracot); border-radius:var(--mdo-radius) var(--mdo-radius) 0 0; opacity:0; transition:opacity .18s ease; }
    .mdo-card:hover { transform:translateY(-3px); box-shadow:var(--mdo-shadow-md); border-color:var(--mdo-terracot); text-decoration:none!important; }
    .mdo-card:hover::before { opacity:1; }
    .mdo-card__icon { width:42px;height:42px; border-radius:var(--mdo-radius-sm); background:var(--mdo-primary-lt); color:var(--mdo-primary); display:flex;align-items:center;justify-content:center; font-size:1.1rem; flex-shrink:0; }
    .mdo-card__head { display:flex;align-items:center;justify-content:space-between; }
    .mdo-card__title { font-size:.95rem;font-weight:600;color:var(--mdo-text);margin:0;line-height:1.3; }
    .mdo-card__desc { font-size:.8rem;color:var(--mdo-muted);line-height:1.5;margin:0; }
    .mdo-card__arrow { width:26px;height:26px; border-radius:50%; background:var(--mdo-bg); color:var(--mdo-muted); display:flex;align-items:center;justify-content:center; font-size:.7rem; flex-shrink:0; transition:background .18s,color .18s,transform .18s; }
    .mdo-card:hover .mdo-card__arrow { background:var(--mdo-terracot);color:#fff;transform:translateX(2px); }
    .mdo-badge { display:inline-flex;align-items:center;justify-content:center; min-width:20px;height:20px; border-radius:100px; background:var(--mdo-success);color:#fff; font-size:.7rem;font-weight:700;padding:0 5px; }
    .mdo-card--config { border-style:dashed; background:transparent; }
    .mdo-card--config:hover { background:var(--mdo-surface); }

    /* ── Pages internes ── */
    .mdo-page { max-width:100%;margin:0 auto;padding:2rem 0 3rem; animation:mdo-fadein .35s ease; }
    .mdo-page-header { display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap; }
    .mdo-page-icon { width:48px;height:48px;border-radius:var(--mdo-radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0; }
    .mdo-page-title { font-size:1.4rem;font-weight:700;color:var(--mdo-text);letter-spacing:-.02em;margin:0; }
    .mdo-page-sub { font-size:.82rem;color:var(--mdo-muted);margin:.2rem 0 0; }

    /* ── Breadcrumb ── */
    .mdo-breadcrumb { display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--mdo-muted);margin-bottom:1.5rem; }
    .mdo-breadcrumb a { color:var(--mdo-muted);text-decoration:none; }
    .mdo-breadcrumb a:hover { color:var(--mdo-primary); }
    .mdo-breadcrumb .sep { opacity:.4; }
    .mdo-breadcrumb .current { color:var(--mdo-text);font-weight:500; }

    /* ── Toolbar ── */
    .mdo-toolbar { display:flex;align-items:center;gap:.75rem;flex-wrap:wrap; background:var(--mdo-surface);border:1px solid var(--mdo-border);border-radius:var(--mdo-radius-sm);padding:.75rem 1rem;margin-bottom:1.25rem;box-shadow:var(--mdo-shadow); }
    .mdo-toolbar__label { font-size:.75rem;color:var(--mdo-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap; }
    .mdo-btn-filter { background:var(--mdo-bg);border:1px solid var(--mdo-border);color:var(--mdo-text);border-radius:var(--mdo-radius-sm);padding:.35rem .8rem;font-size:.8rem;font-weight:500;font-family:var(--mdo-font);cursor:pointer;transition:all .15s;text-decoration:none;display:inline-block; }
    .mdo-btn-filter:hover,.mdo-btn-filter.active { background:var(--mdo-primary);border-color:var(--mdo-primary);color:#fff;text-decoration:none; }

    /* ── Table ── */
    .mdo-table-wrap { background:var(--mdo-surface);border:1px solid var(--mdo-border);border-radius:var(--mdo-radius);box-shadow:var(--mdo-shadow);overflow:hidden; }
    .mdo-table { width:100%;border-collapse:collapse;font-size:.85rem; }
    .mdo-table thead th { background:var(--mdo-forest);color:#d9d5ca;border-bottom:1px solid var(--mdo-primary-mid);padding:.75rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap; }
    .mdo-table tbody tr { border-bottom:1px solid var(--mdo-border);transition:background .12s; }
    .mdo-table tbody tr:last-child { border-bottom:none; }
    .mdo-table tbody tr:hover { background:#f0ede8; }
    .mdo-table td { padding:.85rem 1rem;color:var(--mdo-text);vertical-align:middle; }

    /* ── Pills ── */
    .mdo-pill { display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:100px;font-size:.72rem;font-weight:600;white-space:nowrap; }
    .mdo-pill::before { content:'';width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7; }
    .mdo-pill--success{background:var(--mdo-success-lt);color:var(--mdo-success)}
    .mdo-pill--warning{background:var(--mdo-warning-lt);color:var(--mdo-warning)}
    .mdo-pill--danger{background:var(--mdo-danger-lt);color:var(--mdo-danger)}
    .mdo-pill--info{background:var(--mdo-info-lt);color:var(--mdo-info)}
    .mdo-pill--purple{background:var(--mdo-purple-lt);color:var(--mdo-purple)}
    .mdo-pill--neutral{background:var(--mdo-bg);color:var(--mdo-muted);border:1px solid var(--mdo-border)}

    /* ── Actions ── */
    .mdo-action { display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:var(--mdo-radius-sm);font-size:.78rem;font-weight:600;text-decoration:none;transition:all .15s;border:1px solid transparent; }
    .mdo-action--primary{background:var(--mdo-primary-lt);color:var(--mdo-primary);border-color:#b8cece}
    .mdo-action--primary:hover{background:var(--mdo-primary);color:#fff;text-decoration:none}
    .mdo-action--success{background:var(--mdo-success-lt);color:var(--mdo-success);border-color:#b8d9c3}
    .mdo-action--success:hover{background:var(--mdo-success);color:#fff;text-decoration:none}

    /* ── Empty ── */
    .mdo-empty{text-align:center;padding:3rem 1rem;color:var(--mdo-muted)}
    .mdo-empty i{font-size:2.5rem;opacity:.3;margin-bottom:1rem;display:block}
    .mdo-empty p{margin:0;font-size:.9rem}

    /* ── Masquer sidebar portail natif ── */
    body.mdo_user .o_portal_sidebar { display:none!important; }
    body.mdo_user .col-lg-4.o_portal_sidebar { display:none!important; }
    body.mdo_user .mt-3.mw-100 { display:none!important; }
    body.mdo_user .o_portal_my_details { display:none!important; }
    body.mdo_user [name="portal_contact"] { display:none!important; }
    body.mdo_user .o_portal_content { flex:0 0 100%!important; max-width:100%!important; }
    body.mdo_user .col-lg-8.o_portal_content { flex:0 0 100%!important; max-width:100%!important; }

    /* ── Back ── */
    .mdo-back{display:inline-flex;align-items:center;gap:.4rem;color:var(--mdo-muted);font-size:.82rem;font-weight:500;text-decoration:none;padding:.4rem .8rem;border-radius:var(--mdo-radius-sm);background:var(--mdo-surface);border:1px solid var(--mdo-border);transition:all .15s;margin-top:1.25rem}
    .mdo-back:hover{color:var(--mdo-primary);border-color:var(--mdo-primary);text-decoration:none}

    /* ── Form ── */
    .mdo-form-card{background:var(--mdo-surface);border:1px solid var(--mdo-border);border-radius:var(--mdo-radius);padding:2rem;box-shadow:var(--mdo-shadow)}
    .mdo-form-label{font-size:.8rem;font-weight:600;color:var(--mdo-text);margin-bottom:.4rem;display:block}
    .mdo-form-control{width:100%;background:var(--mdo-bg);border:1px solid var(--mdo-border);border-radius:var(--mdo-radius-sm);padding:.6rem .9rem;font-family:var(--mdo-font);font-size:.88rem;color:var(--mdo-text);outline:none;transition:border-color .15s,box-shadow .15s}
    .mdo-form-control:focus{border-color:var(--mdo-primary);box-shadow:0 0 0 3px rgba(5,51,51,.12);background:#fff}
    .mdo-form-control::placeholder{color:var(--mdo-muted)}
    textarea.mdo-form-control{resize:vertical;min-height:140px}
    .mdo-upload-zone{border:2px dashed var(--mdo-border);border-radius:var(--mdo-radius);padding:2rem;text-align:center;cursor:pointer;transition:all .15s;background:var(--mdo-bg)}
    .mdo-upload-zone:hover,.mdo-upload-zone.drag{border-color:var(--mdo-primary);background:var(--mdo-primary-lt)}
    .mdo-btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--mdo-primary);color:#fff!important;border:none;border-radius:var(--mdo-radius-sm);padding:.65rem 1.5rem;font-family:var(--mdo-font);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s;text-decoration:none}
    .mdo-btn-primary:hover{background:var(--mdo-primary-mid);transform:translateY(-1px);text-decoration:none}
    .mdo-btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:var(--mdo-bg);color:var(--mdo-text)!important;border:1px solid var(--mdo-border);border-radius:var(--mdo-radius-sm);padding:.65rem 1.25rem;font-family:var(--mdo-font);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none}
    .mdo-btn-secondary:hover{border-color:var(--mdo-primary);color:var(--mdo-primary)!important;text-decoration:none}

    @keyframes mdo-fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
    body.o_portal { background:var(--mdo-bg)!important; font-family:var(--mdo-font)!important; }
    .o_portal_wrap { background:var(--mdo-bg)!important; }
    .o_portal_my_home { background:transparent!important; }

    /*
        * MASQUER o_portal_docs ENTIER pour les users restreints.
        * Notre dashboard est injecté dans oe_structure_portal_my_home_1
        * qui est AVANT o_portal_docs → jamais masqué.
        */
    body.mdo_user .o_portal_docs { display:none!important; }
    form.o_portal_search_panel.col-md-5.col-xl-4.ms-lg-2 {width: 60% !important; }
    /* ── Dashboard ── */
    .mdo-dashboard { max-width:100%; margin:0 auto; padding:0rem 0rem 3rem; animation:mdo-fadein .35s ease; }
    .mdo-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:2rem; gap:1rem; flex-wrap:wrap; }
    .mdo-header__greeting { font-size:1.6rem; font-weight:700; color:var(--mdo-text); letter-spacing:-.02em; line-height:1.2; }
    .mdo-header__greeting span { color:var(--mdo-sage); }
    .mdo-header__sub { font-size:.875rem; color:var(--mdo-muted); margin-top:.25rem; }
    .mdo-header__badge { display:inline-flex; align-items:center; gap:.5rem; background:var(--mdo-danger-lt); color:var(--mdo-danger); border:1px solid #d4a5a5; border-radius:100px; padding:.35rem .9rem; font-size:.8rem; font-weight:600; animation:mdo-pulse 2s ease-in-out infinite; }
    @keyframes mdo-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(201,42,42,.15)} 50%{box-shadow:0 0 0 6px rgba(201,42,42,0)} }
    .mdo-section-label { font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mdo-muted); margin-bottom:.75rem; padding-left:.25rem; }
    .mdo-divider { height:1px; background:var(--mdo-border); margin:1.75rem 0; }

    /* ── Grid ── */
    .mdo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:2rem; }
    @media(max-width:900px){.mdo-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:560px){.mdo-grid{grid-template-columns:1fr}}

    /* ── Cards ── */
    .mdo-card { background:var(--mdo-surface); border:1px solid var(--mdo-border); border-radius:var(--mdo-radius); padding:1.25rem 1.375rem; text-decoration:none!important; color:var(--mdo-text)!important; display:flex; flex-direction:column; gap:.75rem; box-shadow:var(--mdo-shadow); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; position:relative; overflow:hidden; }
    .mdo-card::before { content:''; position:absolute; top:0;left:0;right:0; height:3px; background:var(--mdo-terracot); border-radius:var(--mdo-radius) var(--mdo-radius) 0 0; opacity:0; transition:opacity .18s ease; }
    .mdo-card:hover { transform:translateY(-3px); box-shadow:var(--mdo-shadow-md); border-color:var(--mdo-terracot); text-decoration:none!important; }
    .mdo-card:hover::before { opacity:1; }
    .mdo-card__icon { width:42px;height:42px; border-radius:var(--mdo-radius-sm); background:var(--mdo-primary-lt); color:var(--mdo-primary); display:flex;align-items:center;justify-content:center; font-size:1.1rem; flex-shrink:0; }
    .mdo-card__head { display:flex;align-items:center;justify-content:space-between; }
    .mdo-card__title { font-size:.95rem;font-weight:600;color:var(--mdo-text);margin:0;line-height:1.3; }
    .mdo-card__desc { font-size:.8rem;color:var(--mdo-muted);line-height:1.5;margin:0; }
    .mdo-card__arrow { width:26px;height:26px; border-radius:50%; background:var(--mdo-bg); color:var(--mdo-muted); display:flex;align-items:center;justify-content:center; font-size:.7rem; flex-shrink:0; transition:background .18s,color .18s,transform .18s; }
    .mdo-card:hover .mdo-card__arrow { background:var(--mdo-terracot);color:#fff;transform:translateX(2px); }
    .mdo-badge { display:inline-flex;align-items:center;justify-content:center; min-width:20px;height:20px; border-radius:100px; background:var(--mdo-success);color:#fff; font-size:.7rem;font-weight:700;padding:0 5px; }
    .mdo-card--config { border-style:dashed; background:transparent; }
    .mdo-card--config:hover { background:var(--mdo-surface); }

    /* ── Pages internes ── */
    .mdo-page { max-width:100%;margin:0 auto;padding:2rem 0rem 3rem; animation:mdo-fadein .35s ease; }
    .mdo-page-header { display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap; }
    .mdo-page-icon { width:48px;height:48px;border-radius:var(--mdo-radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0; }
    .mdo-page-title { font-size:1.4rem;font-weight:700;color:var(--mdo-text);letter-spacing:-.02em;margin:0; }
    .mdo-page-sub { font-size:.82rem;color:var(--mdo-muted);margin:.2rem 0 0; }

    /* ── Breadcrumb ── */
    .mdo-breadcrumb { display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--mdo-muted);margin-bottom:1.5rem; }
    .mdo-breadcrumb a { color:var(--mdo-muted);text-decoration:none; }
    .mdo-breadcrumb a:hover { color:var(--mdo-primary); }
    .mdo-breadcrumb .sep { opacity:.4; }
    .mdo-breadcrumb .current { color:var(--mdo-text);font-weight:500; }

    /* ── Toolbar ── */
    .mdo-toolbar { display:flex;align-items:center;gap:.75rem;flex-wrap:wrap; background:var(--mdo-surface);border:1px solid var(--mdo-border);border-radius:var(--mdo-radius-sm);padding:.75rem 1rem;margin-bottom:1.25rem;box-shadow:var(--mdo-shadow); }
    .mdo-toolbar__label { font-size:.75rem;color:var(--mdo-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap; }
    .mdo-btn-filter { background:var(--mdo-bg);border:1px solid var(--mdo-border);color:var(--mdo-text);border-radius:var(--mdo-radius-sm);padding:.35rem .8rem;font-size:.8rem;font-weight:500;font-family:var(--mdo-font);cursor:pointer;transition:all .15s;text-decoration:none;display:inline-block; }
    .mdo-btn-filter:hover,.mdo-btn-filter.active { background:var(--mdo-primary);border-color:var(--mdo-primary);color:#fff;text-decoration:none; }

    /* ── Table ── */
    .mdo-table-wrap { background:var(--mdo-surface);border:1px solid var(--mdo-border);border-radius:var(--mdo-radius);box-shadow:var(--mdo-shadow);overflow:hidden; }
    .mdo-table { width:100%;border-collapse:collapse;font-size:.85rem; }
    .mdo-table thead th { background:var(--mdo-bg);border-bottom:1px solid var(--mdo-border);padding:.75rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mdo-muted);white-space:nowrap; }
    .mdo-table tbody tr { border-bottom:1px solid var(--mdo-border);transition:background .12s; }
    .mdo-table tbody tr:last-child { border-bottom:none; }
    .mdo-table tbody tr:hover { background:var(--mdo-bg); }
    .mdo-table td { padding:.85rem 1rem;color:var(--mdo-text);vertical-align:middle; }

    /* ── Pills ── */
    .mdo-pill { display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:100px;font-size:.72rem;font-weight:600;white-space:nowrap; }
    .mdo-pill::before { content:'';width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7; }
    .mdo-pill--success{background:var(--mdo-success-lt);color:var(--mdo-success)}
    .mdo-pill--warning{background:var(--mdo-warning-lt);color:var(--mdo-warning)}
    .mdo-pill--danger{background:var(--mdo-danger-lt);color:var(--mdo-danger)}
    .mdo-pill--info{background:var(--mdo-info-lt);color:var(--mdo-info)}
    .mdo-pill--purple{background:var(--mdo-purple-lt);color:var(--mdo-purple)}
    .mdo-pill--neutral{background:var(--mdo-bg);color:var(--mdo-muted);border:1px solid var(--mdo-border)}

    /* ── Actions ── */
    .mdo-action { display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:var(--mdo-radius-sm);font-size:.78rem;font-weight:600;text-decoration:none;transition:all .15s;border:1px solid transparent; }
    .mdo-action--primary{background:var(--mdo-primary-lt);color:var(--mdo-primary);border-color:#C5D3F8}
    .mdo-action--primary:hover{background:var(--mdo-primary);color:#fff;text-decoration:none}
    .mdo-action--success{background:var(--mdo-success-lt);color:var(--mdo-success);border-color:#B2F2BB}
    .mdo-action--success:hover{background:var(--mdo-success);color:#fff;text-decoration:none}

    /* ── Empty ── */
    .mdo-empty{text-align:center;padding:3rem 1rem;color:var(--mdo-muted)}
    .mdo-empty i{font-size:2.5rem;opacity:.3;margin-bottom:1rem;display:block}
    .mdo-empty p{margin:0;font-size:.9rem}

    /* ── Masquer la sidebar portail natif pour les users MDO ── */
    body.mdo_user .o_portal_sidebar { display:none!important; }
    body.mdo_user .col-lg-4.o_portal_sidebar { display:none!important; }
    body.mdo_user .mt-3.mw-100 { display:none!important; }
    body.mdo_user .o_portal_my_details { display:none!important; }
    body.mdo_user [name="portal_contact"] { display:none!important; }
    /* Passer le contenu en pleine largeur */
    body.mdo_user .o_portal_content { flex:0 0 100%!important; max-width:100%!important; }
    body.mdo_user .col-lg-8.o_portal_content { flex:0 0 100%!important; max-width:100%!important; }

    .mdo-back{display:inline-flex;align-items:center;gap:.4rem;color:var(--mdo-muted);font-size:.82rem;font-weight:500;text-decoration:none;padding:.4rem .8rem;border-radius:var(--mdo-radius-sm);background:var(--mdo-surface);border:1px solid var(--mdo-border);transition:all .15s;margin-top:1.25rem}
    .mdo-back:hover{color:var(--mdo-primary);border-color:var(--mdo-primary);text-decoration:none}

    /* ── Form ── */
    .mdo-form-card{background:var(--mdo-surface);border:1px solid var(--mdo-border);border-radius:var(--mdo-radius);padding:2rem;box-shadow:var(--mdo-shadow)}
    .mdo-form-label{font-size:.8rem;font-weight:600;color:var(--mdo-text);margin-bottom:.4rem;display:block}
    .mdo-form-control{width:100%;background:var(--mdo-bg);border:1px solid var(--mdo-border);border-radius:var(--mdo-radius-sm);padding:.6rem .9rem;font-family:var(--mdo-font);font-size:.88rem;color:var(--mdo-text);outline:none;transition:border-color .15s,box-shadow .15s}
    .mdo-form-control:focus{border-color:var(--mdo-primary);box-shadow:0 0 0 3px rgba(59,91,219,.12);background:#fff}
    .mdo-form-control::placeholder{color:var(--mdo-muted)}
    textarea.mdo-form-control{resize:vertical;min-height:140px}
    .mdo-upload-zone{border:2px dashed var(--mdo-border);border-radius:var(--mdo-radius);padding:2rem;text-align:center;cursor:pointer;transition:all .15s;background:var(--mdo-bg)}
    .mdo-upload-zone:hover,.mdo-upload-zone.drag{border-color:var(--mdo-primary);background:var(--mdo-primary-lt)}
    .mdo-btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--mdo-primary);color:#fff!important;border:none;border-radius:var(--mdo-radius-sm);padding:.65rem 1.5rem;font-family:var(--mdo-font);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s;text-decoration:none}
    .mdo-btn-primary:hover{background:#677c69;transform:translateY(-1px);text-decoration:none}
    .mdo-btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:var(--mdo-bg);color:var(--mdo-text)!important;border:1px solid var(--mdo-border);border-radius:var(--mdo-radius-sm);padding:.65rem 1.25rem;font-family:var(--mdo-font);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none}
    .mdo-btn-secondary:hover{border-color:var(--mdo-primary);color:var(--mdo-primary)!important;text-decoration:none}

    @keyframes mdo-fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}