/* ============================================================
   MEDICHPLUS — USER DASHBOARD STYLES
   Consistent with About Us / Services / Contact Us theme:
   navy + green + teal, Manrope (display) + Inter (body),
   20px radius cards, soft elevated shadows, restrained motion.
   Scoped under .mplus-dashboard so it won't leak elsewhere.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap');

.mplus-dashboard {
    --navy-950:#0d2140;
    --navy-900:#14315c;
    --navy-700:#1b3a6b;
    --green-600:#2f8f3b;
    --green-500:#3ea24a;
    --green-400:#5cb85f;
    --teal-600:#1e7f8c;
    --teal-500:#2596a3;
    --bg:#f5f7f9;
    --card:#ffffff;
    --ink:#132133;
    --ink-soft:#5a6572;
    --line:#e2e7ec;
    --radius:20px;

    font-family:'Inter',sans-serif;
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    max-width:1180px;
    margin:0 auto;
    padding:0 24px 60px;
}

.mplus-dashboard *{box-sizing:border-box;}

.mplus-dashboard h1,
.mplus-dashboard h2,
.mplus-dashboard h3,
.mplus-dashboard h4{
    font-family:'Manrope',sans-serif;
    letter-spacing:-0.01em;
    margin:0;
    color:var(--navy-900);
}

.mplus-dashboard a{text-decoration:none;color:inherit;}
.mplus-dashboard img{max-width:100%;display:block;}

.mplus-dashboard :focus-visible{
    outline:3px solid var(--teal-500);
    outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
    .mplus-dashboard *{
        animation-duration:0.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.001ms !important;
    }
}

/* Staggered entrance for top-level blocks */
@keyframes mplus-rise{
    from{opacity:0;transform:translateY(16px);}
    to{opacity:1;transform:translateY(0);}
}
.mplus-dashboard-hero,
.mplus-request-banner,
.mplus-dashboard-stats,
.mplus-dashboard-grid{
    animation:mplus-rise .6s cubic-bezier(.2,.7,.2,1) both;
}
.mplus-request-banner{animation-delay:.08s;}
.mplus-dashboard-stats{animation-delay:.14s;}
.mplus-dashboard-grid{animation-delay:.2s;}

/* ============================================================
   HERO
   ============================================================ */
.mplus-dashboard-hero{
    position:relative;
    overflow:hidden;
    padding:56px 44px;
    border-radius:var(--radius);
    margin:28px 0 24px;
    background:radial-gradient(120% 140% at 15% 0%, #1a3f74 0%, var(--navy-950) 55%, #0a1830 100%);
    color:#fff;
    text-align:center;
    box-shadow:0 30px 60px -24px rgba(13,33,64,.55);
}

.mplus-hero-overlay{
    position:absolute;
    top:-120px;
    right:-100px;
    width:320px;
    height:320px;
    background:radial-gradient(circle, rgba(92,184,95,.25) 0%, rgba(92,184,95,0) 70%);
    border-radius:50%;
    animation:mplus-float 9s ease-in-out infinite;
}
@keyframes mplus-float{
    0%,100%{transform:translate(0,0);}
    50%{transform:translate(-14px,18px);}
}

.mplus-dashboard-logo{
    width:120px;
    max-width:80%;
    margin:0 auto 20px;
    position:relative;
    z-index:2;
    filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));
}

.mplus-hero-content{position:relative;z-index:2;}

.mplus-dashboard-hero h1{
    font-size:clamp(24px,3vw,32px);
    font-weight:800;
    color:#fff;
}

.mplus-dashboard-hero h2{
    margin:12px 0 6px;
    font-size:clamp(18px,2.2vw,22px);
    font-weight:700;
    color:#c7d3e2;
}

.mplus-hero-role{
    font-size:14.5px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#9fd6a8;
    margin-bottom:18px;
}

.mplus-status-pill{
    display:inline-block;
    padding:9px 22px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    font-family:'Manrope',sans-serif;
    font-weight:700;
    font-size:13.5px;
    letter-spacing:.03em;
    border:1px solid rgba(255,255,255,.28);
    position:relative;
}
.mplus-status-pill::before{
    content:"";
    display:inline-block;
    width:8px;height:8px;
    border-radius:50%;
    background:var(--green-400);
    margin-right:8px;
    box-shadow:0 0 0 0 rgba(92,184,95,.6);
    animation:mplus-pulse 2s infinite;
}
@keyframes mplus-pulse{
    0%{box-shadow:0 0 0 0 rgba(92,184,95,.55);}
    70%{box-shadow:0 0 0 8px rgba(92,184,95,0);}
    100%{box-shadow:0 0 0 0 rgba(92,184,95,0);}
}

/* ============================================================
   REQUEST MEDICINE BANNER
   ============================================================ */
.mplus-request-banner{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    background:linear-gradient(135deg, var(--green-500) 0%, var(--teal-600) 100%);
    color:#fff;
    padding:36px 40px;
    border-radius:var(--radius);
    margin-bottom:28px;
    box-shadow:0 20px 45px -18px rgba(46,159,90,.5);
}
.mplus-request-banner::before{
    content:"";
    position:absolute;
    width:320px;height:320px;
    right:-120px;top:-120px;
    background:rgba(255,255,255,.1);
    border-radius:50%;
}
.mplus-request-banner::after{
    content:"";
    position:absolute;
    width:180px;height:180px;
    left:-60px;bottom:-60px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
}
.mplus-request-banner h2{
    color:#fff;
    font-size:24px;
    font-weight:800;
    margin-bottom:8px;
    position:relative;z-index:2;
}
.mplus-request-banner p{
    color:rgba(255,255,255,.92);
    font-size:15px;
    max-width:520px;
    margin:0;
    position:relative;z-index:2;
}
.mplus-request-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 30px;
    background:#fff;
    color:var(--navy-900);
    font-family:'Manrope',sans-serif;
    font-weight:700;
    font-size:15px;
    border-radius:999px;
    white-space:nowrap;
    position:relative;z-index:2;
    transition:transform .25s ease, box-shadow .25s ease;
}
.mplus-request-button:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 28px -10px rgba(0,0,0,.35);
}

@media(max-width:768px){
    .mplus-request-banner{flex-direction:column;text-align:center;}
}

/* ============================================================
   STATS
   ============================================================ */
.mplus-dashboard-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:28px;
}
@media(max-width:900px){
    .mplus-dashboard-stats{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
    .mplus-dashboard-stats{grid-template-columns:1fr;}
}

.mplus-stat-box{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:16px;
    padding:24px 20px;
    text-align:center;
    box-shadow:0 10px 26px -16px rgba(20,49,92,.25);
    transition:transform .25s ease, box-shadow .25s ease;
}
.mplus-stat-box:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 40px -18px rgba(20,49,92,.32);
}
.mplus-stat-box h2{
    font-size:30px;
    font-weight:800;
    background:linear-gradient(135deg,var(--green-500),var(--teal-600));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.mplus-stat-box p{
    margin-top:8px;
    font-size:13.5px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--ink-soft);
}

/* ============================================================
   MAIN GRID
   ============================================================ */
.mplus-dashboard-grid{
    display:grid;
    grid-template-columns:.85fr 1.3fr;
    gap:28px;
    align-items:start;
}
@media(max-width:960px){
    .mplus-dashboard-grid{grid-template-columns:1fr;}
}

.mplus-dashboard-left,
.mplus-dashboard-right{
    display:flex;
    flex-direction:column;
    gap:24px;
}

/* Business overview (summary) card */
.mplus-dashboard-summary{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
    box-shadow:0 14px 34px -22px rgba(20,49,92,.28);
}
.mplus-dashboard-summary h3{
    font-size:18px;
    font-weight:800;
    margin-bottom:16px;
}
.mplus-summary-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:13px 0;
    border-bottom:1px solid var(--line);
    font-size:14.5px;
    color:var(--ink-soft);
    font-weight:600;
}
.mplus-summary-item:last-child{border-bottom:none;}
.mplus-summary-item strong{
    font-family:'Manrope',sans-serif;
    font-size:17px;
    color:var(--navy-900);
    font-weight:800;
}

/* Section headings inside the right column */
.mplus-section-title{
    font-size:17px;
    font-weight:800;
    margin:4px 0 4px;
    color:var(--navy-900);
}

/* ============================================================
   QUICK ACTIONS
   ============================================================ */
.mplus-quick-actions{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-bottom:8px;
}
@media(max-width:600px){
    .mplus-quick-actions{grid-template-columns:repeat(2,1fr);}
}

.mplus-quick-tile{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:16px;
    padding:20px 12px;
    text-align:center;
    font-size:13.5px;
    font-weight:700;
    color:var(--navy-900);
    box-shadow:0 8px 20px -14px rgba(20,49,92,.25);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.mplus-quick-tile:hover{
    transform:translateY(-4px);
    border-color:var(--green-500);
    box-shadow:0 16px 30px -16px rgba(46,159,90,.35);
}
.mplus-tile-icon{
    width:44px;height:44px;
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;
    background:linear-gradient(135deg,var(--green-500),var(--teal-600));
}

/* ============================================================
   WORKSPACE
   ============================================================ */
.mplus-workspace-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin-top:6px;
}

.mplus-workspace-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px;
    text-decoration:none;
    color:var(--ink);
    box-shadow:0 12px 30px -20px rgba(20,49,92,.28);
    transition:transform .3s ease, box-shadow .3s ease;
    position:relative;
    overflow:hidden;
}
.mplus-workspace-card::before{
    content:"";
    position:absolute;left:0;top:0;
    width:100%;height:4px;
    background:linear-gradient(90deg,var(--green-500),var(--teal-600));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s ease;
}
.mplus-workspace-card:hover{
    transform:translateY(-7px);
    box-shadow:0 22px 44px -20px rgba(20,49,92,.32);
}
.mplus-workspace-card:hover::before{transform:scaleX(1);}
.mplus-workspace-icon{
    font-size:32px;
    margin-bottom:14px;
}
.mplus-workspace-card h4{
    font-size:18px;
    font-weight:800;
    margin-bottom:8px;
}
.mplus-workspace-card p{
    margin:0;
    font-size:14px;
    color:var(--ink-soft);
    line-height:1.6;
}

/* ============================================================
   COMPANY CARD
   ============================================================ */
.mplus-company-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
    margin-top:8px;
    box-shadow:0 14px 34px -22px rgba(20,49,92,.28);
}
.mplus-company-top{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:22px;
}
.mplus-company-icon{
    width:52px;height:52px;
    border-radius:14px;
    flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:24px;
    background:linear-gradient(135deg,var(--green-500),var(--teal-600));
}
.mplus-company-heading{flex:1;min-width:0;}
.mplus-company-heading h2{
    font-size:19px;
    font-weight:800;
}
.mplus-company-role{
    display:inline-block;
    margin-top:4px;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--green-600);
}
.mplus-company-edit{
    background:var(--navy-900);
    color:#fff;
    font-family:'Manrope',sans-serif;
    font-weight:700;
    font-size:13.5px;
    padding:10px 18px;
    border-radius:999px;
    white-space:nowrap;
    transition:transform .2s ease, background .2s ease;
}
.mplus-company-edit:hover{
    background:var(--navy-700);
    transform:translateY(-2px);
}

.mplus-company-info{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}
@media(max-width:560px){
    .mplus-company-info{grid-template-columns:1fr;}
}

.mplus-info-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:16px;
    background:var(--bg);
    border-radius:14px;
}
.mplus-info-item span{font-size:20px;line-height:1;}
.mplus-info-item strong{
    display:block;
    font-size:12.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--ink-soft);
}
.mplus-info-item p{
    margin:4px 0 0;
    font-size:14.5px;
    color:var(--navy-900);
    font-weight:600;
    word-break:break-word;
}

@media(max-width:768px){
    .mplus-company-top{flex-direction:column;align-items:flex-start;}
    .mplus-company-edit{width:100%;text-align:center;}
}

/* Business documents list */
.mplus-company-card ul{
    list-style:none;
    margin:14px 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.mplus-company-card li{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 16px;
    background:var(--bg);
    border-radius:12px;
    font-size:14px;
    font-weight:600;
    color:var(--navy-900);
}
.mplus-company-card li a{
    color:var(--teal-600);
    font-weight:700;
    text-decoration:underline;
}
.mplus-company-card hr{
    border:none;
    border-top:1px solid var(--line);
}
.mplus-company-card h3{
    font-size:17px;
    font-weight:800;
    margin-bottom:4px;
}

.mplus-dashboard .notice{
    background:#fff8e1;
    border:1px solid #f3e2ad;
    border-radius:14px;
    padding:18px 20px;
    color:#7a5d10;
    font-weight:600;
    font-size:14.5px;
}

/* ============================================================
   ACTIVITY CENTER
   ============================================================ */
.mplus-recent-activity{
    margin-top:8px;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px;
    box-shadow:0 14px 34px -22px rgba(20,49,92,.28);
}
.mplus-recent-activity h3{
    font-size:17px;
    font-weight:800;
    margin-bottom:16px;
}

.mplus-activity-item{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    animation:mplus-rise .5s ease both;
}
.mplus-activity-item:last-child{border-bottom:none;}
.mplus-activity-icon{
    width:38px;height:38px;
    flex-shrink:0;
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:17px;
    background:linear-gradient(135deg,var(--green-500),var(--teal-600));
}
.mplus-activity-item strong{
    display:block;
    font-size:14.5px;
    font-weight:700;
    color:var(--navy-900);
    margin-bottom:2px;
}
.mplus-activity-item p{
    margin:0;
    font-size:13.5px;
    color:var(--ink-soft);
}
.mplus-activity-item small{
    display:block;
    margin-top:2px;
    font-size:12px;
    color:#9aa4b0;
}

/* ============================================================
   LOGOUT / GENERIC BUTTON (targets inline-styled anchor safely)
   ============================================================ */
.mplus-dashboard a[href*="logout"],
.mplus-dashboard a[href*="/login/"]{
    transition:transform .2s ease, box-shadow .2s ease;
}
.mplus-dashboard a[href*="logout"]:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px -10px rgba(214,54,56,.6);
}

/* ============================================================
   STATUS BADGES (used across products/services lists)
   ============================================================ */
.mplus-status{
    display:inline-block;
    padding:6px 14px;
    border-radius:999px;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.02em;
}
.mplus-status.approved{background:#e7f7ed;color:var(--green-600);}
.mplus-status.pending{background:#fff6d8;color:#8a6d00;}
.mplus-status.rejected{background:#fde8e8;color:#b3261e;}

/* ============================================================
   LEGACY / SHARED COMPONENTS
   (kept for other MedichPlus dashboard sub-pages; recolored
   to match theme)
   ============================================================ */
.mplus-dashboard-actions{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin:26px 0;
}
.mplus-action-card{
    width:100%;
    padding:24px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:0 12px 30px -20px rgba(20,49,92,.28);
    transition:transform .25s ease, box-shadow .25s ease;
}
.mplus-action-card:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 40px -18px rgba(20,49,92,.32);
}
.mplus-action-card span{font-size:32px;margin-bottom:10px;}
.mplus-action-card strong{
    font-family:'Manrope',sans-serif;
    font-size:20px;
    color:var(--navy-900);
    display:block;
}
.mplus-action-card small{margin-top:6px;color:var(--ink-soft);display:block;}

.mplus-add-product-wrapper .button{
    display:inline-block;
    padding:12px 24px;
    border-radius:999px;
    text-decoration:none;
    background:linear-gradient(135deg,var(--green-500),var(--teal-600));
    color:#fff;
    font-family:'Manrope',sans-serif;
    font-weight:700;
    transition:transform .2s ease;
}
.mplus-add-product-wrapper .button:hover{transform:translateY(-2px);}

.mplus-stats-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin:22px 0;
}
@media(max-width:768px){.mplus-stats-grid{grid-template-columns:1fr;}}

.mplus-stat-card{
    background:var(--card);
    padding:24px;
    border-radius:16px;
    border:1px solid var(--line);
    box-shadow:0 10px 26px -16px rgba(20,49,92,.25);
    transition:transform .25s ease, box-shadow .25s ease;
}
.mplus-stat-card:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 40px -18px rgba(20,49,92,.32);
}
.mplus-stat-card h2{
    margin:0;
    font-size:28px;
    font-weight:800;
    color:var(--teal-600);
}
.mplus-stat-card p{
    margin-top:8px;
    font-size:14px;
    font-weight:700;
    color:var(--ink-soft);
}

/* Trade Center */
.mplus-trade-center{
    background:var(--card);
    border:1px solid var(--line);
    padding:26px;
    border-radius:var(--radius);
    margin-top:20px;
}
.mplus-trade-header{margin-bottom:22px;}
.mplus-trade-header h2{font-size:20px;font-weight:800;margin-bottom:6px;}
.mplus-trade-header p{color:var(--ink-soft);}

.mplus-trade-tabs{
    display:flex;
    gap:10px;
    margin-bottom:22px;
    flex-wrap:wrap;
}
.mplus-trade-tab{
    border:none;
    padding:11px 20px;
    border-radius:999px;
    background:var(--bg);
    color:var(--ink-soft);
    font-weight:700;
    font-size:14px;
    cursor:pointer;
    transition:transform .2s ease, background .2s ease, color .2s ease;
}
.mplus-trade-tab:hover{transform:translateY(-2px);}
.mplus-trade-tab.active{
    background:linear-gradient(135deg,var(--green-500),var(--teal-600));
    color:#fff;
}

.mplus-trade-panel{display:none;}
.mplus-trade-panel.active{display:block;animation:mplus-rise .4s ease both;}

.mplus-trade-card{
    background:var(--bg);
    padding:22px;
    border-radius:16px;
    