:root{--sp-bg:#0b1020;--sp-panel:#11182b;--sp-card:#151f35;--sp-line:#24314f;--sp-text:#f7f9fc;--sp-muted:#93a4c3;--sp-accent:#6ee7c7;--sp-accent2:#60a5fa}
body.ric360-supplier-portal-page{margin:0;background:#0a0f1d;color:var(--sp-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.ric360-supplier-portal-page .site-header,body.ric360-supplier-portal-page header.site-header,body.ric360-supplier-portal-page .site-footer,body.ric360-supplier-portal-page footer.site-footer{display:none!important}
body.ric360-supplier-portal-page .entry-content,body.ric360-supplier-portal-page main{max-width:none!important;margin:0!important;padding:0!important}
.ric360-sp-login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#172554 0,transparent 36%),radial-gradient(circle at 80% 70%,#064e3b 0,transparent 30%),#090e1a;padding:24px}
.ric360-sp-login-card{width:min(440px,100%);background:rgba(17,24,43,.94);border:1px solid #24314f;border-radius:24px;padding:36px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.ric360-sp-brand,.ric360-sp-logo{font-weight:900;letter-spacing:.08em}.ric360-sp-brand span,.ric360-sp-logo span{color:var(--sp-accent)}
.ric360-sp-login-card h1{font-size:30px;margin:26px 0 8px}.ric360-sp-login-card p{color:var(--sp-muted);margin-bottom:24px}.ric360-sp-login-card label{display:block;font-size:13px;color:#cbd5e1;margin:14px 0 8px}.ric360-sp-login-card input[type=text],.ric360-sp-login-card input[type=password]{width:100%;box-sizing:border-box;background:#0c1324;border:1px solid #2b3858;color:white;padding:13px 14px;border-radius:12px}.ric360-sp-login-card input[type=submit],.ric360-sp-btn{width:100%;border:0;background:linear-gradient(135deg,var(--sp-accent2),var(--sp-accent));color:#07111d;padding:14px;border-radius:12px;font-weight:800;cursor:pointer}.ric360-sp-login-foot{margin-top:20px;color:var(--sp-muted);font-size:12px;text-align:center}
.ric360-sp-app{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#0a0f1d}.ric360-sp-sidebar{background:#0c1324;border-right:1px solid var(--sp-line);padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;box-sizing:border-box}.ric360-sp-logo{font-size:18px;padding:8px 10px 26px}.ric360-sp-sidebar nav{display:flex;flex-direction:column;gap:5px;overflow:auto}.ric360-sp-sidebar nav a{color:#b7c3d9;text-decoration:none;padding:11px 12px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.ric360-sp-sidebar nav a.active{background:#17233b;color:white}.ric360-sp-sidebar nav a.disabled{opacity:.55;cursor:default}.ric360-sp-sidebar small{font-size:9px;color:#7082a1}.ric360-sp-logout{margin-top:auto;color:#94a3b8;text-decoration:none;padding:12px}.ric360-sp-main{min-width:0}.ric360-sp-topbar{height:72px;border-bottom:1px solid var(--sp-line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(10,15,29,.86);backdrop-filter:blur(12px)}.ric360-sp-topbar div:first-child{display:flex;flex-direction:column}.ric360-sp-topbar span{font-size:11px;color:var(--sp-muted);margin-top:3px}.ric360-sp-user{width:38px;height:38px;border-radius:50%;background:#18243d;display:grid;place-items:center;overflow:hidden;font-size:0}.ric360-sp-user:before{content:"R";font-size:14px;font-weight:800}.ric360-sp-hero{padding:42px 34px 24px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.ric360-sp-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sp-accent)}.ric360-sp-hero h1{font-size:34px;margin:9px 0}.ric360-sp-hero p{margin:0;color:var(--sp-muted)}.ric360-sp-status{padding:10px 14px;background:#0d1f23;border:1px solid #1f4f4b;border-radius:999px;color:#a7f3d0;font-size:12px}.ric360-sp-status span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#34d399;margin-right:7px}.ric360-sp-grid{display:grid;gap:16px;padding:0 34px}.ric360-sp-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.ric360-sp-kpis article,.ric360-sp-panel{background:linear-gradient(180deg,#131c31,#10182a);border:1px solid var(--sp-line);border-radius:18px;padding:20px}.ric360-sp-kpis span{font-size:12px;color:var(--sp-muted)}.ric360-sp-kpis strong{display:block;font-size:28px;margin:8px 0}.ric360-sp-kpis small{color:#6f82a5}.ric360-sp-panels{grid-template-columns:1.2fr .8fr;margin-top:16px;padding-bottom:40px}.ric360-sp-panel h2{font-size:16px;margin:0 0 18px}.ric360-sp-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(36,49,79,.7);color:#c8d3e8}.ric360-sp-row:last-child{border-bottom:0}.ric360-sp-row .good{color:#6ee7c7}.ric360-sp-roadmap{padding-left:18px;color:#c8d3e8}.ric360-sp-roadmap li{margin:10px 0}.ric360-sp-notice,.ric360-sp-center{padding:40px;text-align:center}
@media(max-width:960px){.ric360-sp-app{grid-template-columns:1fr}.ric360-sp-sidebar{position:relative;height:auto}.ric360-sp-sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.ric360-sp-kpis{grid-template-columns:repeat(2,1fr)}.ric360-sp-panels{grid-template-columns:1fr}}
@media(max-width:640px){.ric360-sp-kpis{grid-template-columns:1fr}.ric360-sp-topbar,.ric360-sp-hero,.ric360-sp-grid{padding-left:18px;padding-right:18px}.ric360-sp-hero{flex-direction:column}.ric360-sp-sidebar nav{grid-template-columns:1fr 1fr}}
.ric360-sp-login-links{display:grid;gap:8px;margin-top:18px}.ric360-sp-login-links a{color:#b7c3d9;text-decoration:none;font-size:13px}.ric360-sp-public-shell{min-height:100vh;background:radial-gradient(circle at 10% 0,#172554 0,transparent 32%),#090e1a;color:var(--sp-text)}.ric360-sp-public-head{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--sp-line);background:rgba(10,15,29,.88)}.ric360-sp-public-head a{color:#dbeafe;text-decoration:none}.ric360-sp-application-wrap{width:min(980px,calc(100% - 32px));margin:0 auto;padding:48px 0 70px}.ric360-sp-form-intro{max-width:760px;margin-bottom:28px}.ric360-sp-form-intro>span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sp-accent)}.ric360-sp-form-intro h1{font-size:40px;margin:10px 0}.ric360-sp-form-intro p{color:var(--sp-muted);font-size:16px;line-height:1.6}.ric360-sp-application-form{background:rgba(17,24,43,.93);border:1px solid var(--sp-line);border-radius:24px;padding:30px}.ric360-sp-form-section{display:flex;align-items:center;gap:12px;margin:30px 0 16px;padding-top:22px;border-top:1px solid var(--sp-line)}.ric360-sp-form-section:first-of-type{border-top:0;margin-top:0;padding-top:0}.ric360-sp-form-section>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#17233b;color:var(--sp-accent);font-weight:800;font-size:12px}.ric360-sp-form-section h2{font-size:18px;margin:0}.ric360-sp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ric360-sp-form-grid label,.ric360-sp-block-label{display:block;font-size:12px;color:#cbd5e1}.ric360-sp-form-grid label.wide{grid-column:1/-1}.ric360-sp-form-grid input,.ric360-sp-form-grid select,.ric360-sp-form-grid textarea,.ric360-sp-block-label textarea,.wide-card input{width:100%;box-sizing:border-box;margin-top:7px;background:#0c1324;border:1px solid #2b3858;color:#fff;padding:12px 13px;border-radius:10px}.ric360-sp-form-grid textarea,.ric360-sp-block-label textarea{min-height:90px;resize:vertical}.ric360-sp-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}.ric360-sp-check-grid label,.ric360-sp-terms{display:flex;gap:10px;align-items:flex-start;background:#0c1324;border:1px solid #263553;padding:12px;border-radius:10px;color:#cbd5e1;font-size:13px}.ric360-sp-check-grid input,.ric360-sp-terms input{margin-top:3px}.ric360-sp-terms{margin:24px 0}.ric360-sp-errors{margin:16px 0;padding:12px 14px;border:1px solid #7f1d1d;background:#2a1118;color:#fecaca;border-radius:12px}.ric360-sp-errors div+div{margin-top:6px}.ric360-sp-success{text-align:center;background:rgba(17,24,43,.95);border:1px solid var(--sp-line);border-radius:24px;padding:50px 28px}.ric360-sp-success-icon{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#0d2b24;color:#6ee7c7;font-size:30px}.ric360-sp-code{display:inline-block;margin:16px 0;padding:12px 18px;border-radius:10px;background:#0c1324;border:1px dashed #3d5178;font-weight:900;letter-spacing:.08em}.ric360-sp-btn.inline{display:inline-block;width:auto;text-decoration:none;padding-left:22px;padding-right:22px}.wide-card{width:min(600px,100%)}.ric360-sp-status-result{margin-top:24px}.status-badge{display:inline-block;padding:7px 10px;border-radius:999px;background:#17233b;color:#dbeafe;font-size:11px;font-weight:800}.status-badge.approved{background:#0d2b24;color:#a7f3d0}.status-badge.rejected{background:#32151a;color:#fecaca}.status-badge.more_information_required{background:#30250c;color:#fde68a}.ric360-sp-review-note{margin:18px 0;padding:14px;background:#0c1324;border:1px solid var(--sp-line);border-radius:12px}.ric360-sp-review-note p{color:#cbd5e1}
@media(max-width:700px){.ric360-sp-form-grid,.ric360-sp-check-grid{grid-template-columns:1fr}.ric360-sp-form-grid label.wide{grid-column:auto}.ric360-sp-application-form{padding:20px}.ric360-sp-form-intro h1{font-size:32px}.ric360-sp-public-head{padding:0 18px}}
.ric360-sp-muted{color:var(--sp-muted);line-height:1.55}.ric360-sp-progress{height:10px;border-radius:999px;background:#0b1324;overflow:hidden;border:1px solid #23314e;margin:12px 0 18px}.ric360-sp-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--sp-accent2),var(--sp-accent));border-radius:999px}.ric360-sp-company-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:48px}.ric360-sp-span-2{grid-column:1/-1}.ric360-sp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.ric360-sp-panel-head p{color:var(--sp-muted);margin:0}.ric360-sp-portal-form{display:grid;gap:12px}.ric360-sp-portal-form>label{display:block;color:#cbd5e1;font-size:12px}.ric360-sp-portal-form input,.ric360-sp-portal-form select,.ric360-sp-portal-form textarea{width:100%;box-sizing:border-box;margin-top:7px;background:#0c1324;border:1px solid #2b3858;color:#fff;padding:12px 13px;border-radius:10px}.ric360-sp-portal-form input[type=file]{padding:10px}.ric360-sp-inline-notice{margin:0 34px 18px;padding:12px 14px;border-radius:12px;border:1px solid}.ric360-sp-inline-notice.success{background:#0d2b24;border-color:#1e5a49;color:#a7f3d0}.ric360-sp-inline-notice.error{background:#2a1118;border-color:#7f1d1d;color:#fecaca}.ric360-sp-contact-cards,.ric360-sp-doc-list{display:grid;gap:8px;margin:12px 0 18px}.ric360-sp-contact-cards>div,.ric360-sp-doc-list>div{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;background:#0c1324;border:1px solid #263553;padding:11px 12px;border-radius:10px}.ric360-sp-contact-cards span,.ric360-sp-doc-list span{color:#dbeafe}.ric360-sp-contact-cards small,.ric360-sp-doc-list small{color:#7f91af}.ric360-sp-doc-list>div{grid-template-columns:1fr auto}.ric360-sp-doc-list small{grid-column:1/-1}.ric360-sp-sidebar nav a:not(.disabled){cursor:pointer}
@media(max-width:900px){.ric360-sp-company-grid{grid-template-columns:1fr}.ric360-sp-span-2{grid-column:auto}.ric360-sp-contact-cards>div{grid-template-columns:1fr}.ric360-sp-inline-notice{margin-left:18px;margin-right:18px}}

/* v1.3.0 Product Catalog */
.ric360-sp-product-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px;margin-top:20px}.ric360-sp-product-images>div{border:1px solid #e5e7eb;border-radius:14px;padding:10px;background:#fff}.ric360-sp-product-images img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;display:block;margin-bottom:8px}.ric360-sp-product-images form{margin:0}.ric360-sp-product-images .button-link{border:0;background:none;color:#b91c1c;cursor:pointer;padding:0}.ric360-sp-table-wrap{overflow:auto}.ric360-sp-table{width:100%;border-collapse:collapse}.ric360-sp-table th,.ric360-sp-table td{padding:12px 10px;border-bottom:1px solid #edf0f3;text-align:left;white-space:nowrap}.ric360-sp-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.ric360-sp-table td:nth-child(2),.ric360-sp-table th:nth-child(2){white-space:normal;min-width:240px}
.login-otp{margin:14px 0}.login-otp input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d8dde5;border-radius:10px;margin-top:6px}


/* ============================================================
   RIC360 Supplier Portal v2.0.2
   Full-width responsive portal shell + layout normalization
   ============================================================ */

/* Neutralize common WordPress/theme containers that constrain shortcode pages */
html:has(body.ric360-supplier-portal-page),
body.ric360-supplier-portal-page{
    width:100%;
    max-width:none!important;
    min-width:0;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden;
    background:#0a0f1d!important;
}

body.ric360-supplier-portal-page #page,
body.ric360-supplier-portal-page #content,
body.ric360-supplier-portal-page #primary,
body.ric360-supplier-portal-page #main,
body.ric360-supplier-portal-page .site,
body.ric360-supplier-portal-page .site-content,
body.ric360-supplier-portal-page .site-main,
body.ric360-supplier-portal-page .content-area,
body.ric360-supplier-portal-page .container,
body.ric360-supplier-portal-page .ast-container,
body.ric360-supplier-portal-page .wp-site-blocks,
body.ric360-supplier-portal-page .wp-block-group,
body.ric360-supplier-portal-page .wp-block-group__inner-container,
body.ric360-supplier-portal-page .wp-block-post-content,
body.ric360-supplier-portal-page .entry-content,
body.ric360-supplier-portal-page article,
body.ric360-supplier-portal-page .entry,
body.ric360-supplier-portal-page .post,
body.ric360-supplier-portal-page main{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

body.ric360-supplier-portal-page .alignwide,
body.ric360-supplier-portal-page .alignfull{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}

/* Main app must occupy the entire viewport width */
.ric360-sp-app{
    width:100%;
    max-width:none;
    min-height:100vh;
    grid-template-columns:220px minmax(0,1fr);
    align-items:stretch;
}

.ric360-sp-sidebar{
    width:220px;
    min-width:220px;
    padding:22px 14px;
}

.ric360-sp-main{
    width:100%;
    max-width:none;
    min-width:0;
    overflow:hidden;
}

/* Give the content room to breathe instead of compressing it */
.ric360-sp-topbar{
    width:100%;
    box-sizing:border-box;
    padding:0 clamp(20px,3vw,42px);
}

.ric360-sp-hero{
    width:100%;
    box-sizing:border-box;
    padding:36px clamp(20px,3vw,42px) 22px;
}

.ric360-sp-grid{
    width:100%;
    max-width:none;
    box-sizing:border-box;
    padding-left:clamp(20px,3vw,42px);
    padding-right:clamp(20px,3vw,42px);
}

.ric360-sp-inline-notice{
    margin-left:clamp(20px,3vw,42px);
    margin-right:clamp(20px,3vw,42px);
}

/* Prevent narrow cards and broken text */
.ric360-sp-kpis{
    grid-template-columns:repeat(4,minmax(150px,1fr));
}

.ric360-sp-kpis article,
.ric360-sp-panel{
    min-width:0;
    overflow-wrap:anywhere;
}

.ric360-sp-company-grid{
    grid-template-columns:repeat(2,minmax(300px,1fr));
    align-items:start;
}

.ric360-sp-panels{
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
}

.ric360-sp-portal-form{
    width:100%;
    min-width:0;
}

.ric360-sp-portal-form input,
.ric360-sp-portal-form select,
.ric360-sp-portal-form textarea{
    min-width:0;
}

.ric360-sp-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

.ric360-sp-table{
    min-width:760px;
}

/* Keep headings fluid instead of wrapping too early */
.ric360-sp-hero h1{
    font-size:clamp(28px,3vw,42px);
    line-height:1.08;
    max-width:900px;
}

.ric360-sp-hero p{
    max-width:780px;
    line-height:1.55;
}

/* Tablet / small desktop: avoid 4 tiny KPI columns */
@media(max-width:1180px){
    .ric360-sp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ric360-sp-company-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}
    .ric360-sp-panels{grid-template-columns:1fr}
}

/* Compact desktop/tablet */
@media(max-width:920px){
    .ric360-sp-app{grid-template-columns:190px minmax(0,1fr)}
    .ric360-sp-sidebar{width:190px;min-width:190px;padding:18px 10px}
    .ric360-sp-sidebar nav a{font-size:12px;padding:10px 9px}
    .ric360-sp-logo{font-size:15px;padding:8px 8px 20px}
    .ric360-sp-company-grid{grid-template-columns:1fr}
    .ric360-sp-span-2{grid-column:auto}
}

/* Mobile: sidebar becomes normal top block, content stacks cleanly */
@media(max-width:760px){
    .ric360-sp-app{display:block;width:100%}
    .ric360-sp-sidebar{
        position:relative;
        top:auto;
        width:100%;
        min-width:0;
        height:auto;
        padding:16px;
        border-right:0;
        border-bottom:1px solid var(--sp-line);
    }
    .ric360-sp-sidebar nav{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
        max-height:none;
    }
    .ric360-sp-logout{margin-top:10px}
    .ric360-sp-topbar{height:auto;min-height:64px;padding-top:12px;padding-bottom:12px}
    .ric360-sp-hero{padding-top:26px}
    .ric360-sp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ric360-sp-company-grid{grid-template-columns:1fr}
    .ric360-sp-table{min-width:700px}
}

@media(max-width:520px){
    .ric360-sp-sidebar nav{grid-template-columns:1fr}
    .ric360-sp-kpis{grid-template-columns:1fr}
    .ric360-sp-topbar,
    .ric360-sp-hero,
    .ric360-sp-grid{padding-left:14px;padding-right:14px}
    .ric360-sp-inline-notice{margin-left:14px;margin-right:14px}
    .ric360-sp-kpis article,.ric360-sp-panel{padding:16px}
}


/* ============================================================
   v2.1.0 Supplier ClassificationOS
   ============================================================ */
.ric360-sp-classification{margin-top:22px}
.ric360-sp-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.ric360-sp-section-head h2{margin:4px 0 6px}
.ric360-sp-section-head p{margin:0;max-width:760px}
.ric360-sp-classification-block{margin:20px 0;padding-top:18px;border-top:1px solid var(--sp-line)}
.ric360-sp-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.ric360-sp-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--sp-line);border-radius:10px;background:rgba(255,255,255,.02)}
.ric360-sp-check input{width:auto!important;margin:0!important}
.ric360-sp-subgroup{margin:18px 0}
.ric360-sp-subgroup h4{margin:0 0 8px}
.ric360-sp-tags{display:flex;flex-wrap:wrap;gap:8px}
.ric360-sp-tags span{display:inline-flex;padding:7px 10px;border-radius:999px;border:1px solid var(--sp-line);background:rgba(255,255,255,.04);font-size:12px}
.ric360-sp-status{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em}
.ric360-sp-status-approved{background:rgba(45,212,191,.14)}
.ric360-sp-status-in_review,.ric360-sp-status-pending{background:rgba(250,204,21,.12)}
.ric360-sp-status-rejected,.ric360-sp-status-suspended{background:rgba(248,113,113,.14)}
@media(max-width:1080px){.ric360-sp-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ric360-sp-choice-grid{grid-template-columns:1fr}.ric360-sp-section-head{display:block}.ric360-sp-status{margin-top:12px}}


/* ============================================================
   v2.2.0 — VisualOS + UX Refresh
   Mejora visual global del mi-panel
   ============================================================ */

:root{
    --sp-bg-0:#060b16;
    --sp-bg-1:#0a1020;
    --sp-bg-2:#0f172a;
    --sp-bg-3:#131d34;
    --sp-panel:#0f1728;
    --sp-panel-2:#121d33;
    --sp-line-2:rgba(255,255,255,.08);
    --sp-line-3:rgba(255,255,255,.14);
    --sp-text:#edf2ff;
    --sp-text-soft:#c7d2fe;
    --sp-muted:#8ea0c0;
    --sp-accent:#6ea8ff;
    --sp-accent-2:#4f8cff;
    --sp-accent-3:#8ec5ff;
    --sp-success:#38d39f;
    --sp-warn:#f6c453;
    --sp-danger:#f17474;
    --sp-shadow-lg:0 28px 80px rgba(2,8,23,.45);
    --sp-shadow-md:0 14px 40px rgba(2,8,23,.24);
    --sp-radius-xl:22px;
    --sp-radius-lg:18px;
    --sp-radius-md:14px;
    --sp-radius-sm:10px;
}

/* Background atmospherics */
body.ric360-supplier-portal-page{
    background:
        radial-gradient(circle at 10% 0%, rgba(110,168,255,.12), transparent 26%),
        radial-gradient(circle at 100% 20%, rgba(56,211,159,.08), transparent 28%),
        linear-gradient(180deg,var(--sp-bg-0),var(--sp-bg-1) 28%,var(--sp-bg-2) 100%) !important;
    color:var(--sp-text);
}

/* App shell */
.ric360-sp-app{
    position:relative;
    isolation:isolate;
    background:transparent;
}

.ric360-sp-app::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.015) 1px, transparent 1px);
    background-size:36px 36px;
    mask-image:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,0));
    z-index:-1;
}

/* Sidebar */
.ric360-sp-sidebar{
    background:linear-gradient(180deg, rgba(8,15,29,.94), rgba(12,22,40,.92));
    border-right:1px solid rgba(255,255,255,.08);
    box-shadow:inset -1px 0 0 rgba(255,255,255,.03), var(--sp-shadow-md);
    backdrop-filter:blur(18px);
}

.ric360-sp-logo{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:10px 10px 24px;
    margin-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.ric360-sp-logo strong,
.ric360-sp-logo b{
    font-size:17px;
    line-height:1.1;
    letter-spacing:.02em;
    color:#fff;
}

.ric360-sp-logo small,
.ric360-sp-logo span{
    color:var(--sp-muted);
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.ric360-sp-sidebar nav{
    gap:7px;
}

.ric360-sp-sidebar nav a{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 12px;
    border-radius:14px;
    color:#cdd6ec;
    text-decoration:none;
    transition:all .18s ease;
    border:1px solid transparent;
    background:transparent;
}

.ric360-sp-sidebar nav a:hover{
    transform:translateX(2px);
    color:#fff;
    border-color:rgba(255,255,255,.06);
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}

.ric360-sp-sidebar nav a.is-active,
.ric360-sp-sidebar nav a[aria-current="page"],
.ric360-sp-sidebar nav a.active{
    color:#fff;
    background:linear-gradient(180deg, rgba(110,168,255,.18), rgba(79,140,255,.11));
    border-color:rgba(110,168,255,.30);
    box-shadow:0 10px 26px rgba(79,140,255,.18);
}

.ric360-sp-sidebar nav a.is-active::before,
.ric360-sp-sidebar nav a[aria-current="page"]::before,
.ric360-sp-sidebar nav a.active::before{
    content:"";
    position:absolute;
    left:-6px;
    top:10px;
    bottom:10px;
    width:3px;
    border-radius:999px;
    background:linear-gradient(180deg,var(--sp-accent),var(--sp-accent-3));
}

.ric360-sp-logout{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.08);
}

.ric360-sp-logout a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    border-radius:14px;
    text-decoration:none;
    color:#fff;
    background:linear-gradient(180deg, rgba(241,116,116,.15), rgba(241,116,116,.10));
    border:1px solid rgba(241,116,116,.18);
    transition:all .18s ease;
}

.ric360-sp-logout a:hover{
    transform:translateY(-1px);
    background:linear-gradient(180deg, rgba(241,116,116,.24), rgba(241,116,116,.14));
}

/* Main */
.ric360-sp-main{
    background:transparent;
}

.ric360-sp-topbar{
    position:sticky;
    top:0;
    z-index:30;
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:rgba(6,11,22,.72);
    border-bottom:1px solid rgba(255,255,255,.06);
    backdrop-filter:blur(16px);
}

.ric360-sp-topbar h1,
.ric360-sp-topbar h2,
.ric360-sp-topbar .title{
    margin:0;
    color:#fff;
}

.ric360-sp-hero{
    position:relative;
    overflow:hidden;
    margin:18px clamp(20px,3vw,42px) 0;
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    background:
        radial-gradient(circle at 0% 0%, rgba(110,168,255,.16), transparent 42%),
        radial-gradient(circle at 100% 0%, rgba(56,211,159,.08), transparent 28%),
        linear-gradient(135deg, rgba(16,26,46,.96), rgba(10,16,32,.94));
    box-shadow:var(--sp-shadow-lg);
    padding:38px clamp(22px,3vw,42px) 26px;
}

.ric360-sp-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(135deg, transparent 0%, rgba(255,255,255,.02) 40%, transparent 100%);
    pointer-events:none;
}

.ric360-sp-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    padding:8px 12px;
    border:1px solid rgba(110,168,255,.24);
    border-radius:999px;
    background:rgba(110,168,255,.10);
    color:#dbe8ff;
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:700;
}

.ric360-sp-eyebrow::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    background:linear-gradient(180deg,var(--sp-accent),var(--sp-accent-3));
    box-shadow:0 0 0 5px rgba(110,168,255,.12);
}

.ric360-sp-hero h1{
    font-weight:800;
    letter-spacing:-.03em;
    color:#fff;
    margin:0 0 10px;
}

.ric360-sp-hero p{
    color:var(--sp-text-soft);
    font-size:15px;
    margin:0;
}

/* Generic panels */
.ric360-sp-panel,
.ric360-sp-kpis article{
    position:relative;
    border-radius:var(--sp-radius-xl);
    border:1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(180deg, rgba(19,29,52,.92), rgba(12,18,34,.92));
    box-shadow:var(--sp-shadow-md);
    overflow:hidden;
}

.ric360-sp-panel::before,
.ric360-sp-kpis article::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    pointer-events:none;
}

.ric360-sp-grid{
    padding-top:24px;
    padding-bottom:30px;
    gap:18px;
}

.ric360-sp-kpis{
    gap:16px;
}

.ric360-sp-kpis article{
    padding:18px 18px 16px;
    min-height:128px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ric360-sp-kpis article:hover{
    transform:translateY(-2px);
    border-color:rgba(110,168,255,.24);
    box-shadow:0 22px 46px rgba(3,9,23,.36);
}

.ric360-sp-kpis article h3,
.ric360-sp-kpis article h4,
.ric360-sp-kpis article .label{
    margin:0;
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#9db1d5;
    font-weight:700;
}

.ric360-sp-kpis article .value,
.ric360-sp-kpis article strong,
.ric360-sp-kpis article b{
    display:block;
    font-size:30px;
    line-height:1;
    color:#fff;
    font-weight:800;
    letter-spacing:-.03em;
    margin-top:14px;
}

.ric360-sp-kpis article .meta,
.ric360-sp-kpis article small{
    display:block;
    margin-top:12px;
    color:var(--sp-muted);
    font-size:12px;
}

.ric360-sp-panel{
    padding:22px;
}

.ric360-sp-panel h2,
.ric360-sp-panel h3{
    color:#fff;
    letter-spacing:-.02em;
}

.ric360-sp-panel p,
.ric360-sp-panel li{
    color:#c9d5ea;
}

.ric360-sp-muted{
    color:var(--sp-muted)!important;
}

/* Inline notices / callouts */
.ric360-sp-inline-notice,
.ric360-sp-notice{
    border:1px solid rgba(110,168,255,.18);
    background:linear-gradient(180deg, rgba(110,168,255,.10), rgba(110,168,255,.06));
    color:#e6f0ff;
    padding:14px 16px;
    border-radius:16px;
    box-shadow:var(--sp-shadow-md);
}

.ric360-sp-inline-notice strong,
.ric360-sp-notice strong{
    color:#fff;
}

/* Status pills */
.ric360-sp-status{
    border:1px solid rgba(255,255,255,.10);
    color:#fff;
    backdrop-filter:blur(10px);
}

.ric360-sp-status-approved,
.ric360-sp-status-active{
    background:rgba(56,211,159,.14);
    border-color:rgba(56,211,159,.20);
    color:#dffef3;
}

.ric360-sp-status-in_review,
.ric360-sp-status-pending,
.ric360-sp-status-observed{
    background:rgba(246,196,83,.12);
    border-color:rgba(246,196,83,.18);
    color:#fff3c9;
}

.ric360-sp-status-rejected,
.ric360-sp-status-suspended,
.ric360-sp-status-inactive{
    background:rgba(241,116,116,.14);
    border-color:rgba(241,116,116,.18);
    color:#ffe0e0;
}

/* Buttons */
.ric360-sp-panel .button,
.ric360-sp-panel .button-primary,
.ric360-sp-portal-form button,
.ric360-sp-portal-form .button{
    min-height:44px;
    padding:0 16px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.10);
    box-shadow:none;
    transition:all .18s ease;
}

.ric360-sp-panel .button-primary,
.ric360-sp-portal-form button[type="submit"],
.ric360-sp-portal-form .button-primary{
    background:linear-gradient(180deg,var(--sp-accent),var(--sp-accent-2));
    color:#fff;
    border-color:rgba(110,168,255,.28);
    box-shadow:0 14px 30px rgba(79,140,255,.22);
}

.ric360-sp-panel .button-primary:hover,
.ric360-sp-portal-form button[type="submit"]:hover,
.ric360-sp-portal-form .button-primary:hover{
    transform:translateY(-1px);
    filter:brightness(1.03);
}

.ric360-sp-panel .button:not(.button-primary),
.ric360-sp-portal-form .button:not(.button-primary){
    background:rgba(255,255,255,.04);
    color:#fff;
}

.ric360-sp-panel .button:not(.button-primary):hover,
.ric360-sp-portal-form .button:not(.button-primary):hover{
    transform:translateY(-1px);
    background:rgba(255,255,255,.07);
}

/* Forms */
.ric360-sp-portal-form{
    gap:16px;
}

.ric360-sp-portal-form label{
    display:flex;
    flex-direction:column;
    gap:8px;
    color:#d9e4fb;
    font-size:13px;
    font-weight:600;
}

.ric360-sp-portal-form input,
.ric360-sp-portal-form select,
.ric360-sp-portal-form textarea{
    min-height:48px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.04);
    color:#fff;
    padding:12px 14px;
    outline:none;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.ric360-sp-portal-form textarea{
    min-height:120px;
    resize:vertical;
}

.ric360-sp-portal-form input::placeholder,
.ric360-sp-portal-form textarea::placeholder{
    color:#8ea0c0;
}

.ric360-sp-portal-form input:focus,
.ric360-sp-portal-form select:focus,
.ric360-sp-portal-form textarea:focus{
    border-color:rgba(110,168,255,.42);
    box-shadow:0 0 0 4px rgba(110,168,255,.12);
    background:rgba(255,255,255,.05);
}

.ric360-sp-portal-form select option{
    color:#0f172a;
}

/* Company / dashboard special cards */
.ric360-sp-company-grid,
.ric360-sp-panels{
    gap:18px;
}

.ric360-sp-company-grid > *,
.ric360-sp-panels > *{
    min-width:0;
}

/* Table styles */
.ric360-sp-table-wrap{
    padding:0;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(7,12,24,.36);
    box-shadow:var(--sp-shadow-md);
}

.ric360-sp-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    color:#d9e4fb;
}

.ric360-sp-table thead th{
    position:sticky;
    top:0;
    z-index:1;
    background:rgba(255,255,255,.04);
    color:#a9bad8;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    font-weight:700;
    padding:14px 14px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.ric360-sp-table tbody td{
    padding:14px 14px;
    border-bottom:1px solid rgba(255,255,255,.06);
    vertical-align:middle;
}

.ric360-sp-table tbody tr{
    transition:background .16s ease;
}

.ric360-sp-table tbody tr:hover{
    background:rgba(255,255,255,.03);
}

.ric360-sp-table tbody tr:last-child td{
    border-bottom:0;
}

/* Choice blocks / classification */
.ric360-sp-choice-grid{
    gap:12px;
}

.ric360-sp-check{
    position:relative;
    padding:12px 14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    transition:all .16s ease;
}

.ric360-sp-check:hover{
    transform:translateY(-1px);
    border-color:rgba(110,168,255,.22);
    background:rgba(110,168,255,.06);
}

.ric360-sp-check span{
    color:#e5edff;
}

.ric360-sp-check input[type="checkbox"]:checked + span{
    color:#fff;
    font-weight:700;
}

.ric360-sp-tags span{
    border-radius:999px;
    border:1px solid rgba(110,168,255,.16);
    background:rgba(110,168,255,.10);
    color:#eaf3ff;
    padding:8px 12px;
}

/* Metric / progress helpers */
.ric360-sp-progress{
    position:relative;
    height:10px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    overflow:hidden;
}

.ric360-sp-progress > span{
    position:absolute;
    inset:0 auto 0 0;
    width:0;
    border-radius:999px;
    background:linear-gradient(90deg,var(--sp-accent),var(--sp-success));
}

/* Login / auth screens if reused */
.ric360-sp-auth,
.ric360-sp-login,
.ric360-sp-register{
    max-width:560px;
    margin:40px auto;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(16,26,46,.94), rgba(10,16,32,.94));
    box-shadow:var(--sp-shadow-lg);
    padding:28px;
}

/* Generic content spacing */
.ric360-sp-panel > * + *,
.ric360-sp-panel form > * + *{
    margin-top:14px;
}

/* Responsive polish */
@media(max-width:1180px){
    .ric360-sp-hero{
        margin-left:20px;
        margin-right:20px;
    }
}

@media(max-width:920px){
    .ric360-sp-topbar{
        min-height:68px;
    }
    .ric360-sp-panel{
        padding:18px;
        border-radius:18px;
    }
    .ric360-sp-kpis article .value,
    .ric360-sp-kpis article strong,
    .ric360-sp-kpis article b{
        font-size:26px;
    }
}

@media(max-width:760px){
    .ric360-sp-sidebar{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.08);
    }
    .ric360-sp-logo{
        padding-bottom:16px;
    }
    .ric360-sp-hero{
        margin:14px 14px 0;
        border-radius:22px;
        padding:24px 16px 20px;
    }
    .ric360-sp-grid{
        padding-left:14px;
        padding-right:14px;
    }
    .ric360-sp-panel,
    .ric360-sp-kpis article{
        border-radius:18px;
    }
    .ric360-sp-topbar{
        padding-left:14px;
        padding-right:14px;
    }
}

@media(max-width:520px){
    .ric360-sp-hero h1{
        font-size:28px;
    }
    .ric360-sp-panel{
        padding:16px;
    }
    .ric360-sp-kpis article{
        min-height:110px;
        padding:16px;
    }
    .ric360-sp-kpis article .value,
    .ric360-sp-kpis article strong,
    .ric360-sp-kpis article b{
        font-size:24px;
    }
}


/* ============================================================
   v2.3.0 — Dashboard Visual Blocks + Quick Actions + Empty States
   ============================================================ */
.ric360-sp-kpi-word{font-size:18px!important;line-height:1.15!important;word-break:break-word}
.ric360-sp-quick-section{display:block!important;padding-top:8px!important;padding-bottom:8px!important}.ric360-sp-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.ric360-sp-section-title h2{margin:4px 0 0;color:#fff;font-size:22px}.ric360-sp-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ric360-sp-quick-card{display:grid;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:12px;min-height:112px;padding:16px;text-decoration:none!important;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:linear-gradient(180deg,rgba(18,29,51,.94),rgba(10,18,34,.94));box-shadow:0 14px 34px rgba(2,8,23,.2);transition:.18s ease}.ric360-sp-quick-card:hover{transform:translateY(-3px);border-color:rgba(110,168,255,.3);box-shadow:0 22px 44px rgba(2,8,23,.34)}.ric360-sp-quick-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(110,168,255,.12);border:1px solid rgba(110,168,255,.2);color:#fff;font-size:20px}.ric360-sp-quick-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.ric360-sp-quick-copy strong{color:#fff;font-size:14px}.ric360-sp-quick-copy small{color:#8fa2c4;line-height:1.4}.ric360-sp-quick-arrow{color:#8fb7ff;font-size:18px}.ric360-sp-quick-card:hover .ric360-sp-quick-arrow{transform:translateX(3px)}
.ric360-sp-dashboard-blocks{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.ric360-sp-block-wide{grid-column:span 8}.ric360-sp-block-side{grid-column:span 4}.ric360-sp-block-half{grid-column:span 6}.ric360-sp-panel-score{font-size:28px;color:#fff}.ric360-sp-checklist{display:grid;gap:0;margin-top:18px;border-top:1px solid rgba(255,255,255,.06)}.ric360-sp-checklist>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.ric360-sp-checklist span{color:#aebdda}.ric360-sp-checklist strong{color:#fff;font-size:12px}.ric360-sp-mini-empty{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:18px 0}.ric360-sp-mini-empty>span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(110,168,255,.1);border:1px solid rgba(110,168,255,.18);font-size:22px;color:#dfeaff}.ric360-sp-mini-empty strong{color:#fff}.ric360-sp-mini-empty p{margin:0;color:#8fa2c4}.ric360-sp-mini-empty a{color:#9fc3ff;text-decoration:none}.ric360-sp-catalog-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.ric360-sp-catalog-summary div{text-align:center;padding:14px 8px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}.ric360-sp-catalog-summary strong{display:block;font-size:24px;color:#fff}.ric360-sp-catalog-summary span{display:block;margin-top:5px;color:#8fa2c4;font-size:11px}.ric360-sp-task-list{display:grid;gap:10px;margin-top:14px}.ric360-sp-task-list>a,.ric360-sp-all-ready{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:12px;border-radius:14px;text-decoration:none;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025)}.ric360-sp-task-list>a>span,.ric360-sp-all-ready>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(110,168,255,.1);color:#dfeaff;font-size:11px;font-weight:800}.ric360-sp-task-list strong,.ric360-sp-all-ready strong{color:#fff;display:block}.ric360-sp-task-list small,.ric360-sp-all-ready small{color:#8fa2c4}.ric360-sp-task-list b{color:#8fb7ff}.ric360-sp-stat-stack{display:grid;gap:0;margin-top:12px}.ric360-sp-stat-stack>div{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06)}.ric360-sp-stat-stack>div:last-child{border-bottom:0}.ric360-sp-stat-stack span{color:#aebdda}.ric360-sp-stat-stack strong{font-size:18px;color:#fff}
.ric360-sp-product-toolbar{display:flex!important;align-items:end;justify-content:space-between;gap:18px;padding:20px 22px!important;margin-top:22px!important;margin-bottom:0!important;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:radial-gradient(circle at 0 0,rgba(110,168,255,.1),transparent 38%),linear-gradient(180deg,rgba(18,29,51,.94),rgba(11,18,33,.94));box-shadow:0 16px 34px rgba(2,8,23,.22)}.ric360-sp-product-toolbar h2{margin:4px 0 6px;color:#fff;font-size:22px}.ric360-sp-product-toolbar p{margin:0;color:#9eb0cf}.ric360-sp-toolbar-actions{display:flex;gap:10px}.ric360-sp-product-editor{scroll-margin-top:92px}.ric360-sp-empty-row td{padding:18px!important}.ric360-sp-empty-state{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:30px;border:1px dashed rgba(255,255,255,.12);border-radius:18px;background:radial-gradient(circle at 50% 0,rgba(110,168,255,.08),transparent 35%),rgba(255,255,255,.015)}.ric360-sp-empty-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:19px;background:rgba(110,168,255,.1);border:1px solid rgba(110,168,255,.18);color:#dfeaff;font-size:27px}.ric360-sp-empty-state h3{margin:0;color:#fff}.ric360-sp-empty-state p{max-width:520px;margin:0 0 7px;color:#8fa2c4}
@media(max-width:1200px){.ric360-sp-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.ric360-sp-block-wide,.ric360-sp-block-side,.ric360-sp-block-half{grid-column:1/-1}.ric360-sp-product-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.ric360-sp-quick-grid{grid-template-columns:1fr}.ric360-sp-quick-card{min-height:94px}.ric360-sp-catalog-summary{grid-template-columns:1fr}.ric360-sp-product-toolbar{padding:16px!important}.ric360-sp-toolbar-actions,.ric360-sp-toolbar-actions .button{width:100%;text-align:center}}


/* ============================================================
   v2.4.0 — Surface Polish + Border Fixes + Panel Headers
   ============================================================ */

/* Fix visual issue where border accents collide with text */
.ric360-sp-panel,
.ric360-sp-kpis article,
.ric360-sp-product-toolbar,
.ric360-sp-quick-card,
.ric360-sp-table-wrap,
.ric360-sp-hero{
    overflow:visible;
}

.ric360-sp-panel::before,
.ric360-sp-kpis article::before{
    top:14px;
    left:20px;
    right:20px;
    height:1px;
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.12), rgba(255,255,255,0));
}

.ric360-sp-panel{
    padding:24px 24px 22px;
}

.ric360-sp-panel > h2:first-child,
.ric360-sp-panel > h3:first-child,
.ric360-sp-panel > .ric360-sp-panel-head:first-child,
.ric360-sp-panel > .ric360-sp-section-head:first-child{
    position:relative;
    z-index:1;
    padding-top:6px;
    margin-top:0;
}

.ric360-sp-panel > h2:first-child,
.ric360-sp-panel > h3:first-child{
    font-size:18px;
    line-height:1.28;
    letter-spacing:-.02em;
    margin-bottom:16px;
}

.ric360-sp-panel > p:first-of-type{
    margin-top:0;
}

.ric360-sp-panel > h2 + form,
.ric360-sp-panel > h3 + form,
.ric360-sp-panel > p + form{
    margin-top:14px;
}

/* Better section headers inside cards */
.ric360-sp-panel-head,
.ric360-sp-section-head{
    padding-bottom:14px;
    margin-bottom:16px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.ric360-sp-panel-head h2,
.ric360-sp-panel-head h3,
.ric360-sp-section-head h2,
.ric360-sp-section-head h3{
    margin:0;
    line-height:1.25;
}

/* Form grids improved */
.ric360-sp-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start;
}

.ric360-sp-form-grid label,
.ric360-sp-block-label{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:8px;
    color:#dbe6fb;
    font-size:13px;
    font-weight:600;
}

.ric360-sp-form-grid label.wide{grid-column:1/-1}

.ric360-sp-form-grid input,
.ric360-sp-form-grid select,
.ric360-sp-form-grid textarea,
.ric360-sp-block-label textarea,
.wide-card input{
    width:100%;
    box-sizing:border-box;
    margin-top:0;
    min-height:48px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.10);
    color:#fff;
    padding:12px 14px;
    border-radius:14px;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.ric360-sp-form-grid input:focus,
.ric360-sp-form-grid select:focus,
.ric360-sp-form-grid textarea:focus,
.ric360-sp-block-label textarea:focus,
.wide-card input:focus{
    outline:none;
    border-color:rgba(110,168,255,.38);
    box-shadow:0 0 0 4px rgba(110,168,255,.10);
    background:rgba(255,255,255,.05);
}

.ric360-sp-form-grid textarea,
.ric360-sp-block-label textarea{min-height:110px;resize:vertical}

/* Checkbox rows/cards for integrations and similar */
.ric360-sp-form-grid label:has(input[type="checkbox"]),
.ric360-sp-portal-form label:has(input[type="checkbox"]) {
    flex-direction:row;
    align-items:center;
    gap:10px;
    min-height:52px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:rgba(255,255,255,.025);
}

.ric360-sp-form-grid label:has(input[type="checkbox"]) input[type="checkbox"],
.ric360-sp-portal-form label:has(input[type="checkbox"]) input[type="checkbox"] {
    width:18px!important;
    height:18px!important;
    min-height:18px;
    margin:0!important;
    accent-color:#6ea8ff;
    box-shadow:none;
}

/* Buttons should not stick to borders */
.ric360-sp-btn,
.ric360-sp-btn.inline,
.ric360-sp-linkbtn,
.ric360-sp-panel .button,
.ric360-sp-form-grid .button,
.ric360-sp-form-grid button{
    min-height:44px;
    padding:10px 16px;
    border-radius:14px;
}

.ric360-sp-form-grid .wide > .ric360-sp-btn,
.ric360-sp-form-grid .wide > button,
.ric360-sp-form-grid .wide > .button{
    margin-top:6px;
}

/* Metrics */
.ric360-sp-big-number{
    font-size:40px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.04em;
    color:#fff;
    margin:6px 0 10px;
}

/* Table headers/first rows shouldn't clash */
.ric360-sp-table-wrap{
    border-radius:20px;
    overflow:hidden;
}

.ric360-sp-table thead th:first-child{border-top-left-radius:20px}
.ric360-sp-table thead th:last-child{border-top-right-radius:20px}

/* Slightly more generous spacing on integration screen and other grid pages */
.ric360-sp-company-grid{
    gap:18px;
}

/* More finished look for empty/minimal pages */
.ric360-sp-panel .ric360-sp-empty-state{
    min-height:220px;
}

/* Mobile/tablet border safety */
@media(max-width:980px){
  .ric360-sp-panel{padding:20px 18px 18px}
  .ric360-sp-panel::before,
  .ric360-sp-kpis article::before{left:16px;right:16px;top:12px}
}

@media(max-width:700px){
  .ric360-sp-form-grid{grid-template-columns:1fr}
  .ric360-sp-panel > h2:first-child,
  .ric360-sp-panel > h3:first-child{font-size:17px}
}


/* ============================================================
   v2.5.0 — Hard UI Override + Page-Level Restyle
   Stronger visible changes for My Panel screens
   ============================================================ */

/* Strong shell refinements */
.ric360-sp-main{padding-bottom:32px!important}
.ric360-sp-topbar{
  min-height:78px!important;
  padding-top:16px!important;
  padding-bottom:16px!important;
}
.ric360-sp-topbar > div:first-child strong{
  display:block!important;
  font-size:15px!important;
  color:#ffffff!important;
}
.ric360-sp-topbar > div:first-child span{
  display:block!important;
  margin-top:4px!important;
  color:#9cb2d7!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.ric360-sp-user{
  min-width:38px!important;
  height:38px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,rgba(110,168,255,.16),rgba(79,140,255,.10))!important;
  border:1px solid rgba(110,168,255,.18)!important;
  color:#fff!important;
  padding:0 12px!important;
}

/* Hero now more obvious */
.ric360-sp-hero{
  border-radius:26px!important;
  padding:34px 30px 26px!important;
}
.ric360-sp-hero h1{
  font-size:26px!important;
  font-weight:800!important;
  margin:0 0 10px!important;
}
.ric360-sp-hero p{
  font-size:14px!important;
  color:#c7d6ef!important;
}

/* Generic grid spacing */
.ric360-sp-grid{
  gap:20px!important;
}
.ric360-sp-company-grid{
  gap:20px!important;
  padding-top:6px!important;
}

/* Hard restyle for panels so changes are obvious */
.ric360-sp-panel,
.ric360-sp-product-toolbar,
.ric360-sp-kpis article{
  background:linear-gradient(180deg,rgba(19,31,57,.96),rgba(10,18,35,.98))!important;
  border:1px solid rgba(98,129,190,.28)!important;
  border-radius:22px!important;
  box-shadow:0 18px 40px rgba(1,8,22,.28)!important;
}
.ric360-sp-panel{
  padding:24px!important;
}
.ric360-sp-panel::before,
.ric360-sp-kpis article::before{
  left:22px!important;
  right:22px!important;
  top:14px!important;
  background:linear-gradient(90deg,rgba(110,168,255,0),rgba(110,168,255,.16),rgba(110,168,255,0))!important;
}

/* Titles inside cards */
.ric360-sp-panel > h2:first-child,
.ric360-sp-panel > h3:first-child,
.ric360-sp-product-toolbar h2,
.ric360-sp-panel-head h2,
.ric360-sp-section-head h2{
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.25!important;
  color:#ffffff!important;
  margin:0 0 8px!important;
  position:relative!important;
  z-index:2!important;
}
.ric360-sp-panel-head,
.ric360-sp-section-head{
  margin-bottom:18px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(110,168,255,.10)!important;
}
.ric360-sp-panel p,
.ric360-sp-panel-head p,
.ric360-sp-section-head p,
.ric360-sp-product-toolbar p,
.ric360-sp-muted{
  color:#aebfdd!important;
}

/* KPI cards stronger */
.ric360-sp-kpis{
  gap:16px!important;
}
.ric360-sp-kpis article{
  min-height:132px!important;
  padding:20px!important;
}
.ric360-sp-kpis article span{
  color:#9db4d7!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
.ric360-sp-kpis article strong,
.ric360-sp-kpis article .value{
  font-size:34px!important;
  margin:12px 0 10px!important;
}
.ric360-sp-kpis article small{
  font-size:12px!important;
  color:#98accf!important;
}

/* Product toolbar and editor clearly separated */
.ric360-sp-product-toolbar{
  padding:22px 24px!important;
  margin-top:4px!important;
}
.ric360-sp-product-editor{
  scroll-margin-top:96px!important;
}
.ric360-sp-product-editor form{
  margin-top:6px!important;
}

/* Stronger notices */
.ric360-sp-inline-notice{
  margin:0 0 18px 0!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  font-size:13px!important;
}
.ric360-sp-inline-notice.error{
  background:linear-gradient(180deg,rgba(78,10,20,.72),rgba(54,12,20,.60))!important;
  border:1px solid rgba(255,66,66,.38)!important;
  color:#ffd6d6!important;
}
.ric360-sp-inline-notice.success{
  background:linear-gradient(180deg,rgba(8,68,52,.64),rgba(8,52,40,.52))!important;
  border:1px solid rgba(74,222,128,.24)!important;
  color:#d8ffe7!important;
}

/* FORMS: stronger and more noticeable redesign */
.ric360-sp-form-grid,
.ric360-sp-portal-form .ric360-sp-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start!important;
}
.ric360-sp-portal-form{
  display:grid!important;
  gap:14px!important;
}
.ric360-sp-form-grid label,
.ric360-sp-portal-form > label,
.ric360-sp-block-label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-width:0!important;
  color:#dce6fa!important;
  font-size:13px!important;
  font-weight:700!important;
}
.ric360-sp-form-grid label.wide,
.ric360-sp-portal-form > label.wide{
  grid-column:1/-1!important;
}
.ric360-sp-form-grid input,
.ric360-sp-form-grid select,
.ric360-sp-form-grid textarea,
.ric360-sp-portal-form input,
.ric360-sp-portal-form select,
.ric360-sp-portal-form textarea,
.ric360-sp-block-label textarea,
.wide-card input{
  width:100%!important;
  box-sizing:border-box!important;
  margin-top:0!important;
  min-height:50px!important;
  padding:13px 15px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(121,147,199,.22)!important;
  color:#ffffff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.ric360-sp-form-grid textarea,
.ric360-sp-portal-form textarea,
.ric360-sp-block-label textarea{
  min-height:120px!important;
}
.ric360-sp-form-grid input::placeholder,
.ric360-sp-portal-form input::placeholder,
.ric360-sp-portal-form textarea::placeholder,
.ric360-sp-form-grid textarea::placeholder{
  color:#7f96bd!important;
}
.ric360-sp-form-grid input:focus,
.ric360-sp-form-grid select:focus,
.ric360-sp-form-grid textarea:focus,
.ric360-sp-portal-form input:focus,
.ric360-sp-portal-form select:focus,
.ric360-sp-portal-form textarea:focus,
.ric360-sp-block-label textarea:focus{
  outline:none!important;
  border-color:rgba(110,168,255,.46)!important;
  box-shadow:0 0 0 4px rgba(110,168,255,.14)!important;
  background:rgba(255,255,255,.06)!important;
}

/* Checkbox rows */
.ric360-sp-form-grid label:has(input[type="checkbox"]),
.ric360-sp-portal-form label:has(input[type="checkbox"]){
  flex-direction:row!important;
  align-items:center!important;
  min-height:52px!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(121,147,199,.18)!important;
}
.ric360-sp-form-grid label:has(input[type="checkbox"]) input[type="checkbox"],
.ric360-sp-portal-form label:has(input[type="checkbox"]) input[type="checkbox"]{
  width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;accent-color:#6ea8ff!important;
}

/* Buttons */
.ric360-sp-btn,
.ric360-sp-btn.inline,
.ric360-sp-linkbtn,
.ric360-sp-panel .button,
.ric360-sp-panel button,
.ric360-sp-product-toolbar .button,
.ric360-sp-form-grid button,
.ric360-sp-portal-form button{
  min-height:46px!important;
  padding:11px 18px!important;
  border-radius:14px!important;
  border:1px solid rgba(110,168,255,.22)!important;
  background:linear-gradient(180deg,#6ea8ff,#4f8cff)!important;
  color:#fff!important;
  font-weight:700!important;
  text-decoration:none!important;
  box-shadow:0 14px 28px rgba(79,140,255,.20)!important;
}
.ric360-sp-linkbtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.06)!important;box-shadow:none!important}

/* Lists and small cards */
.ric360-sp-contact-cards>div,
.ric360-sp-doc-list>div{
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(121,147,199,.16)!important;
  border-radius:14px!important;
  padding:14px!important;
}
.ric360-sp-contact-cards strong,
.ric360-sp-doc-list strong{color:#ffffff!important}
.ric360-sp-contact-cards span,
.ric360-sp-doc-list span,
.ric360-sp-contact-cards small,
.ric360-sp-doc-list small{color:#aabada!important}

/* Table polish stronger */
.ric360-sp-table-wrap{
  border-radius:18px!important;
  border:1px solid rgba(121,147,199,.16)!important;
  background:rgba(6,12,24,.38)!important;
}
.ric360-sp-table thead th{
  background:rgba(255,255,255,.045)!important;
  color:#a9bcda!important;
  font-size:11px!important;
}
.ric360-sp-table tbody td{
  color:#dce7fb!important;
}
.ric360-sp-table tbody tr:hover{background:rgba(255,255,255,.035)!important}

/* Make legacy narrow margins disappear */
.ric360-sp-inline-notice,
.ric360-sp-grid,
.ric360-sp-hero,
.ric360-sp-topbar{
  max-width:none!important;
}

/* Mobile */
@media(max-width:980px){
  .ric360-sp-panel,.ric360-sp-product-toolbar{padding:20px!important}
  .ric360-sp-form-grid,.ric360-sp-portal-form .ric360-sp-form-grid{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .ric360-sp-hero{padding:24px 16px 20px!important}
  .ric360-sp-hero h1{font-size:22px!important}
  .ric360-sp-kpis article strong,.ric360-sp-kpis article .value{font-size:28px!important}
}
