body{font-family:'Open Sans',sans-serif;margin:0;}#sidebar{overflow-y:auto;}#sidebar.collapsed{transform:translateX(-100%);} .wrapper{display:flex;min-height:100vh;} main.main-content{flex:1;padding:0.8rem;transition:margin-left .3s;} .theme-toggle-fixed{position:fixed;top:6px;right:6px;z-index:1200;}.modal-dialog{max-width:800px;}.cert-image{max-width:100%;height:auto;}.img-thumbnail{max-height:200px;margin:10px 0;}.action-buttons{margin:.4rem 0;display:flex;gap:.4rem;} .action-buttons .btn{padding:.35rem .5rem;}body[data-theme='dark'] #sidebar{background:#12171c;}
/* Match container width in compact density to global sidenav width */
body[data-density='compact'] #sidebar{ width:210px; }

/* --- Glass UI Enhancements (Appended) --- */
:root{--glass-bg-light:rgba(255,255,255,0.55);--glass-bg-dark:rgba(30,40,50,0.55);--glass-border-light:rgba(255,255,255,0.35);--glass-border-dark:rgba(255,255,255,0.08);--glass-card-bg-light:rgba(255,255,255,0.60);--glass-card-bg-dark:rgba(34,46,56,0.55);--transition-fast:.18s ease;}
.inventory-wrapper{-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);background:var(--glass-bg-light);border:1px solid var(--glass-border-light);box-shadow:0 4px 24px -6px rgba(0,0,0,.15);border-radius:20px;overflow:hidden;position:relative;}
body[data-theme='dark'] .inventory-wrapper{background:var(--glass-bg-dark);border-color:var(--glass-border-dark);box-shadow:0 8px 28px -8px rgba(0,0,0,.6);} .glass-header{-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);background:linear-gradient(135deg,rgba(255,255,255,.65),rgba(255,255,255,.35));}
body[data-theme='dark'] .glass-header{background:linear-gradient(135deg,rgba(34,46,56,.78),rgba(34,46,56,.45));}
/* Removed legacy .inventory-grid layout and hide-table rule (<900px) to allow new stacked card table to appear on mobile */
.inv-card{position:relative;padding:.45rem .5rem .5rem;border-radius:8px;background:var(--glass-card-bg-light);-webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);border:1px solid var(--glass-border-light);font-size:.72rem;line-height:1.25;transition:box-shadow var(--transition-fast),transform var(--transition-fast);cursor:pointer;}
body[data-theme='dark'] .inv-card{background:var(--glass-card-bg-dark);border-color:var(--glass-border-dark);} .inv-card:hover{box-shadow:0 4px 14px -4px rgba(0,0,0,.25);transform:translateY(-2px);} .inv-card h6{font-size:.8rem;margin:0 0 .25rem;font-weight:600;} .inv-card .meta{font-size:.65rem;opacity:.8;} .inv-actions{margin-top:.45rem;display:flex;gap:.4rem;} .inv-actions button{flex:1 1 auto;font-size:.6rem;padding:.3rem .4rem;}
.table thead th.sortable{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;} .table thead th.sortable:after{content:'\25B4';opacity:0;position:absolute;right:6px;top:50%;transform:translateY(-50%) rotate(180deg);font-size:.55rem;transition:opacity .2s ease,transform .2s ease;} .table thead th.sortable.sorted-asc:after{opacity:1;transform:translateY(-50%) rotate(180deg);} .table thead th.sortable.sorted-desc:after{opacity:1;transform:translateY(-50%) rotate(0deg);}
#inventoryEmpty{display:none;text-align:center;padding:2.5rem 1rem;} #inventoryEmpty .icon{font-size:3rem;opacity:.25;}
.skel-row{height:42px;position:relative;overflow:hidden;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(255,255,255,.55),rgba(255,255,255,.35));background-size:200% 100%;animation:shimmer 1.2s linear infinite;} body[data-theme='dark'] .skel-row{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.18),rgba(255,255,255,.08));}@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.inventory-table tbody tr{cursor:pointer;} .inventory-table tbody tr:hover{background:rgba(255,255,255,.35);} body[data-theme='dark'] .inventory-table tbody tr:hover{background:rgba(255,255,255,.08);} #certificationDetailImages img{border-radius:12px;}
.view-toggle-group .btn{font-size:.65rem;}
.cert-inventory-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;}
.cert-inventory-controls .form-control,.cert-inventory-controls .form-select{min-width:160px;max-width:260px;}
.cert-inventory-controls .btn-group .btn{min-width:62px;}
.cert-inventory-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;}
.cert-inventory-stat{padding:.75rem .9rem;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.32);box-shadow:0 10px 24px -18px rgba(13,110,253,.45);}
body[data-theme='dark'] .cert-inventory-stat{background:rgba(34,46,56,.62);border-color:rgba(255,255,255,.08);}
.cert-inventory-stat .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:.2rem;}
.cert-inventory-stat .value{font-size:1.1rem;font-weight:700;color:#0d6efd;}

.cert-inventory-wrapper.mode-tile .cert-inventory-table-wrap{display:none;}
.cert-inventory-grid{display:none;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));}
/* Tile view flows with the PAGE (natural scroll), matching the list view. It is
   intentionally NOT a capped inner scroll box — that trapped wheel/trackpad
   scrolling and made the inventory feel unscrollable. */
.cert-inventory-wrapper.mode-tile .cert-inventory-grid{display:grid;overflow:visible;padding-right:.25rem;}

.cert-tile-card{background:var(--glass-card-bg-light);border:1px solid var(--glass-border-light);border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.65rem;}
body[data-theme='dark'] .cert-tile-card{background:var(--glass-card-bg-dark);border-color:var(--glass-border-dark);}
.cert-tile-header{display:flex;gap:.55rem;align-items:flex-start;}
.cert-tile-thumb .inv-thumb{width:34px;height:46px;}
.cert-tile-title{font-size:.82rem;font-weight:600;line-height:1.2;}
.cert-tile-meta{font-size:.66rem;opacity:.8;}
.cert-tile-preview{display:flex;gap:.5rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .1s ease, opacity .1s ease, margin .1s ease;margin-top:0;}
.cert-tile-preview img{width:92px;height:122px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);}
.cert-tile-card:hover .cert-tile-preview,
.cert-tile-card:focus-within .cert-tile-preview{max-height:132px;opacity:1;margin-top:.3rem;}
.cert-tile-body{display:grid;gap:.18rem;font-size:.72rem;line-height:1.25;}
.cert-tile-body span{opacity:.75;}
.cert-estimated-value{font-weight:700;color:#0d6efd;}
.cert-tile-actions{display:flex;gap:.35rem;}
.cert-tile-actions .btn{flex:1 1 0;font-size:.64rem;padding:.28rem .35rem;}
/* Inventory thumbnail */
.inv-thumb-cell{width:40px;}
.inv-thumb{width:36px;height:50px;object-fit:cover;border-radius:6px;display:block;background:#e1e5ea;}
body[data-theme='dark'] .inv-thumb{background:#1d252b;}
.inv-thumb.placeholder{
	background:linear-gradient(135deg, rgba(56,189,248,.18), rgba(139,92,246,.18));
	border:1px dashed rgba(125,211,252,.32);
	position:relative;
}
.inv-thumb.placeholder::after{
	content:"\f03e"; /* image icon-ish */
	content:"📷"; /* fallback emoji */
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	font-size:12px; opacity:.55; color:#cfe9ff;
}
body[data-theme='dark'] .inv-thumb.placeholder{background:linear-gradient(135deg, rgba(56,189,248,.16), rgba(139,92,246,.14));}

/* --- Mobile Responsive Inventory (stack table rows into cards) --- */
@media (max-width: 720px){
	.cert-inventory-controls .form-control,.cert-inventory-controls .form-select,.cert-inventory-controls .btn{width:100%;max-width:none;}
	.cert-inventory-controls .btn-group{width:100%;}
	.cert-inventory-controls .btn-group .btn{flex:1 1 0;}
	.cert-inventory-grid{grid-template-columns:1fr;}
	main.main-content{padding:1rem;margin-left:0!important;}
	#navbar{margin-left:0!important;}
	#sidebar{transform:translateX(-100%);} /* hide static sidebar on small phones; rely on hamburger elsewhere */
	body.page-personal-inventory{overflow-x:hidden;}
	.table-responsive{overflow-x:visible;}
	.table.inventory-table{display:block;width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;}
	.table.inventory-table thead{display:none;}
	.table.inventory-table tbody{display:block;width:100%;}
	.table.inventory-table tbody tr{display:block;position:relative;margin:0 0 .85rem;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:.65rem .75rem;background:var(--glass-card-bg-light);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);width:100%;box-sizing:border-box;}
	/* debug accent removed */
	body[data-theme='dark'] .table.inventory-table tbody tr{background:var(--glass-card-bg-dark);border-color:var(--glass-border-dark);}
	.table.inventory-table tbody tr td{display:flex;justify-content:space-between;gap:.75rem;padding:.25rem 0;border:0;font-size:.75rem;line-height:1.1;width:100%;box-sizing:border-box;word-break:break-word;}
	.table.inventory-table tbody tr td:first-child{font-weight:600;font-size:.8rem;}
	.table.inventory-table tbody tr td:last-child{margin-top:.35rem;}
	.table.inventory-table tbody tr td::before{content:attr(data-label);flex:0 0 92px;font-weight:600;opacity:.75;}
	.table.inventory-table tbody tr td[data-label='Action']{justify-content:flex-start;gap:.5rem;}
	.table.inventory-table tbody tr td[data-label='Action']::before{display:none;}
	.table.inventory-table tbody tr button{font-size:.7rem;padding:.25rem .4rem;}
}

/* Ultra-narrow tuning: 430px x 932px (iPhone 14 Pro Max logical width) */
@media (max-width: 430px){
	body.page-personal-inventory main.main-content{padding:.45rem .4rem}
	body.page-personal-inventory .action-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 1rem;}
	body.page-personal-inventory .action-buttons .btn{flex:1 1 calc(50% - .5rem);min-width:140px;padding:.4rem .3rem;font-size:.65rem;white-space:normal;line-height:1.15;}
	body.page-personal-inventory .card{box-shadow:none;border:0;background:transparent;}
	body.page-personal-inventory .card-header{padding:.35rem .25rem;margin-bottom:.25rem;}
	body.page_personal_inventory .card-header h5{font-size:.85rem;}
	body.page-personal-inventory .card-body{padding:.25rem 0;}
	body.page-personal-inventory .table.inventory-table tbody tr{padding:.25rem .35rem;border-radius:8px;}
	body.page-personal-inventory .table.inventory-table tbody tr td{font-size:.64rem;gap:.35rem;flex-direction:column;align-items:flex-start;}
	body.page-personal-inventory .table.inventory-table tbody tr td.inv-thumb-cell{flex-direction:row;align-items:center;gap:.4rem;}
	body.page-personal-inventory .table.inventory-table tbody tr td.inv-thumb-cell::before{display:none;}
	body.page-personal-inventory .table.inventory-table tbody tr td::before{flex:0 0 auto;font-size:.62rem;opacity:.6;}
	body.page-personal-inventory .table.inventory-table tbody tr td:first-child{font-size:.72rem;}
	body.page-personal-inventory .table.inventory-table tbody tr button{font-size:.6rem;padding:.22rem .35rem;}
	body.page-personal-inventory footer.global-footer{font-size:.55rem;padding:.5rem 0;margin-top:1rem;}
}

/* --- Certification Detail Modal / Product-like layout --- */
.cert-detail-grid{display:flex;gap:6px;margin-bottom:6px}
.cert-detail-left{flex:0 0 96px;display:flex;flex-direction:column;gap:8px;align-items:center}
.cert-detail-img{width:96px;height:120px;object-fit:cover;border-radius:10px;border:1px solid rgba(0,0,0,.06);background:#f0f3f6}
.cert-detail-img.placeholder{background:linear-gradient(135deg,#e6ebef,#fbfcfd)}
.cert-detail-img.small{width:96px;height:74px}
.img-caption{font-size:.72rem;color:#6b6f72;margin-top:4px}

/* Carousel modal image sizing */
.carousel-img{max-height:70vh;object-fit:contain;background:#000;margin:auto;display:block}

.carousel-caption p{background:rgba(0,0,0,.45);display:inline-block;padding:.28rem .45rem;border-radius:6px;font-size:.88rem}
.carousel-indicators button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45)}
.carousel-indicators .active{background:#fff}

/* Carousel toolbar buttons */
.carousel-toolbar{color:#fff;font-size:.9rem}
#certCarouselDownload, #certCarouselZoom{min-width:40px}
.carousel-img.zoomed{max-height:none;transform:scale(1.2);transition:transform .18s ease}
.cert-detail-right{flex:1;min-width:0}
.cert-detail-title{font-size:0.98rem;margin:0 0 .35rem;color:var(--bs-primary,#0d6efd);font-weight:700}
.cert-detail-meta{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}
.psa-badge{display:inline-block;padding:.18rem .5rem;border-radius:999px;border:1px solid rgba(13,110,253,.12);color:#0d6efd;background:rgba(13,110,253,.03);font-size:.78rem}
.price-box{display:flex;gap:8px;margin-top:.5rem}
.price-box .price-card{flex:1;background:#fff;border-radius:8px;padding:.45rem .5rem;box-shadow:0 6px 18px -10px rgba(13,110,253,.45);border-left:6px solid #0d6efd}
.price-box .price-card .price-label{font-size:.72rem;color:#222;opacity:.8}
.price-box .price-card .price-value{font-size:1.05rem;font-weight:700;color:#0d6efd;margin-top:.25rem}
.price-box .price-card .price-note{font-size:.72rem;color:#6b6f72;margin-top:.2rem}
.cert-detail-tabs .tabs{display:flex;gap:6px;margin:10px 0}
.cert-detail-tabs .tab{flex:0 0 auto;padding:.45rem .6rem;border-radius:8px;border:1px solid #cfe8d8;background:#e9f7ee;color:#2b7a3a;font-size:.8rem}
.cert-detail-tabs .tab.active{background:#6bd07a;color:#043a12}
.tab-panels .tab-panel{display:none}
.tab-panels .tab-panel.active{display:block}
.sales-note{font-size:.82rem;color:#6b6f72;margin-bottom:.5rem}
.sales-table td,.sales-table th{font-size:.85rem}
.cert-detail-grid .breadcrumbs{font-size:.78rem;color:#6b6f72;margin-bottom:6px}

/* Compact overrides: reduce dead space and tighten inventory/detail layout */
/* ...existing code... */


/* Compact global tweaks */
main.main-content{padding:0.42rem;}
.theme-toggle-fixed{top:6px;right:6px}
.action-buttons{margin:.12rem 0}
.action-buttons .btn{padding:.26rem .36rem;min-width:90px}

/* Compact inventory cards (tighter) */
.inv-card{padding:.18rem .25rem .25rem;border-radius:6px;font-size:.68rem;line-height:1.08}
.inv-card h6{font-size:.74rem;margin-bottom:.18rem}
.table.inventory-table tbody tr{margin:0 0 .12rem;padding:.12rem .28rem;border-radius:6px}
.table.inventory-table tbody tr td{gap:.18rem;padding:.04rem 0}
.table.inventory-table tbody tr td::before{flex:0 0 48px}
.inv-thumb-cell{width:34px}
.inv-thumb{width:28px;height:38px}
.inv-actions{margin-top:.28rem}
.inv-actions button{font-size:.58rem;padding:.18rem .28rem}

/* Tighten ultra-narrow view */
@media (max-width:430px){
	body.page-personal-inventory main.main-content{padding:.32rem .26rem}
	body.page-personal-inventory .action-buttons .btn{min-width:unset;padding:.3rem .24rem;font-size:.62rem}
	body.page_personal_inventory .table.inventory-table tbody tr{padding:.12rem .22rem;border-radius:6px}
	body.page_personal_inventory .table.inventory-table tbody tr td{font-size:.6rem}
	.inv-thumb{width:26px;height:36px}
}

/* Compact certification detail */
.cert-detail-grid{gap:3px;margin-bottom:3px}
.cert-detail-left{flex:0 0 72px}
.cert-detail-img{width:72px;height:96px}
.cert-detail-img.small{width:72px;height:56px}
.cert-detail-title{font-size:0.9rem}
.price-box .price-card{padding:.28rem .32rem}
.price-box .price-card .price-value{font-size:.88rem}

/* Reduce carousel margin on small screens */
.carousel-img{max-height:58vh}
.carousel-caption p{font-size:.78rem;padding:.16rem .28rem}

/* Ensure table rows are denser */
.table td, .table th{padding:.2rem .28rem}

/* Minor visual clarity */
.inventory-wrapper{border-radius:8px;padding:6px}

/* End compact overrides */

/* Sidebar content offset is now handled globally in responsive.css via
   --gsp-sidebar-w (matches compact 210px / full 250px, single 1200px breakpoint).
   The old page-scoped 280px/210px !important block was removed to stop it
   fighting the shared rule and creating a hairline gap at the breakpoint. */

/* ==========================================================================
   CINEMATIC v3 — Personal Inventory full reconstruction (2026-05-29)
   Layered on top of the legacy compact styles; tone="cyan" page identity.
   ========================================================================== */

/* Note: global font-size clamp is now sane (custom.css line 8) and global
   full-width rules live in site-refresh.css. This page-specific layer just
   adds the page identity tone and section-specific polish. */

body.page-personal-inventory{ background:
	radial-gradient(1100px 700px at 12% -8%, rgba(56,189,248,0.16), transparent 62%),
	radial-gradient(1000px 700px at 110% 8%, rgba(139,92,246,0.16), transparent 60%),
	radial-gradient(900px 600px at 50% 110%, rgba(34,211,238,0.10), transparent 65%),
	#05070d;
	color:#e6efff; min-height:100vh; }

body.page-personal-inventory main.main-content{
	padding:1.1rem clamp(1rem, 1.6vw, 2.6rem) 2.4rem;
	width:auto; max-width:none;
}
body.page-personal-inventory .container-fluid{
	padding-left:0; padding-right:0;
	width:100%; max-width:none;
}

/* Floating theme toggle hide — already dark only */
body.page-personal-inventory .theme-toggle-fixed{ display:none; }

/* ----- Action rail inside the ribbon ----------------------------------- */
.pi-ribbon-actions{ display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.pi-ribbon-actions .btn{
	display:inline-flex; align-items:center; gap:.45rem;
	padding:.55rem 1rem; border-radius:999px; font-weight:600; letter-spacing:.02em;
	font-size:.78rem; border:1px solid transparent; color:#fff;
	background:linear-gradient(135deg, rgba(56,189,248,0.18), rgba(139,92,246,0.18));
	border-color:rgba(125,211,252,0.32);
	box-shadow:0 8px 22px -16px rgba(56,189,248,.6), inset 0 1px 0 rgba(255,255,255,.06);
	transition:transform .18s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.pi-ribbon-actions .btn:hover{ transform:translateY(-2px); box-shadow:0 16px 32px -16px rgba(56,189,248,.55); border-color:rgba(125,211,252,.55); color:#fff; }
.pi-ribbon-actions .btn:active{ transform:translateY(0); }
.pi-ribbon-actions .btn .material-icons-round{ font-size:18px; }
.pi-ribbon-actions .btn[data-tone="violet"]{ background:linear-gradient(135deg, rgba(139,92,246,.24), rgba(56,189,248,.18)); border-color:rgba(167,139,250,.42); }
.pi-ribbon-actions .btn[data-tone="amber"]{ background:linear-gradient(135deg, rgba(251,191,36,.22), rgba(244,114,182,.16)); border-color:rgba(251,191,36,.42); color:#fef3c7; }
.pi-ribbon-actions .btn[data-tone="magenta"]{ background:linear-gradient(135deg, rgba(244,114,182,.22), rgba(139,92,246,.18)); border-color:rgba(244,114,182,.42); }
.pi-ribbon-actions .btn[data-tone="emerald"]{ background:linear-gradient(135deg, rgba(52,211,153,.22), rgba(34,211,238,.18)); border-color:rgba(52,211,153,.42); color:#d1fae5; }

/* ----- Section shell -------------------------------------------------- */
.pi-section{
	position:relative; isolation:isolate;
	background:linear-gradient(160deg, rgba(15,23,42,0.78), rgba(7,12,24,0.78));
	border:1px solid rgba(148,175,215,0.16);
	border-radius:24px;
	padding:clamp(1.4rem, 1.4vw + .8rem, 2.4rem) clamp(1.2rem, 1.4vw + .7rem, 2.4rem) clamp(1.3rem, 1.2vw + .7rem, 2rem);
	margin-bottom:clamp(1.2rem, 1vw + .5rem, 2rem);
	box-shadow:0 26px 60px -36px rgba(2,6,23,.92), inset 0 1px 0 rgba(255,255,255,.04);
	overflow:hidden;
	animation:pi-section-in .55s ease both;
}
.pi-section::before{
	content:""; position:absolute; inset:-30% -20% auto auto; width:480px; height:480px; z-index:-1;
	background:radial-gradient(circle at 50% 50%, rgba(56,189,248,.16), transparent 60%);
	filter:blur(60px); pointer-events:none;
}
.pi-section[data-accent="violet"]::before{ background:radial-gradient(circle at 50% 50%, rgba(139,92,246,.18), transparent 60%); }
.pi-section[data-accent="amber"]::before{ background:radial-gradient(circle at 50% 50%, rgba(251,191,36,.18), transparent 60%); }
.pi-section[data-accent="emerald"]::before{ background:radial-gradient(circle at 50% 50%, rgba(52,211,153,.18), transparent 60%); }

@keyframes pi-section-in{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce){ .pi-section{ animation:none; } }

.pi-section__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; }
.pi-section__title{ display:flex; align-items:center; gap:.7rem; margin:0; font-family:"Roboto Slab","Roboto",Georgia,serif; font-size:1.3rem; font-weight:700; color:#f5f9ff; letter-spacing:-.01em; }
.pi-section__title::before{
	content:""; width:10px; height:10px; border-radius:50%;
	background:linear-gradient(135deg,#38bdf8,#8b5cf6);
	box-shadow:0 0 14px rgba(56,189,248,.85);
	animation:pi-dot 2.4s ease-in-out infinite;
}
.pi-section[data-accent="violet"] .pi-section__title::before{ background:linear-gradient(135deg,#8b5cf6,#38bdf8); box-shadow:0 0 14px rgba(139,92,246,.85); }
.pi-section[data-accent="amber"] .pi-section__title::before{ background:linear-gradient(135deg,#fbbf24,#f472b6); box-shadow:0 0 14px rgba(251,191,36,.85); }
.pi-section[data-accent="emerald"] .pi-section__title::before{ background:linear-gradient(135deg,#34d399,#22d3ee); box-shadow:0 0 14px rgba(52,211,153,.85); }
@keyframes pi-dot{ 0%,100%{transform:scale(1); opacity:1;} 50%{transform:scale(1.3); opacity:.65;} }
@media (prefers-reduced-motion: reduce){ .pi-section__title::before{ animation:none; } }

.pi-section__sub{ margin:0; color:rgba(208,222,247,.62); font-size:.86rem; letter-spacing:.01em; }
.pi-section__head-meta{ display:flex; flex-direction:column; gap:.15rem; }

/* ----- Cert inventory stat tiles (top of section) --------------------- */
.pi-stat-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:.9rem; margin-bottom:1.1rem; }
.pi-stat{
	position:relative; padding:.95rem 1.05rem .9rem; border-radius:18px;
	background:linear-gradient(160deg, rgba(20,30,52,.7), rgba(9,15,28,.65));
	border:1px solid rgba(148,175,215,.18);
	overflow:hidden;
	transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.pi-stat::after{
	content:""; position:absolute; inset:auto -30% -50% auto; width:200px; height:200px; border-radius:50%;
	background:radial-gradient(circle, rgba(56,189,248,.22), transparent 65%);
	filter:blur(28px); transition:opacity .25s ease; opacity:.55;
}
.pi-stat:hover{ transform:translateY(-3px); border-color:rgba(125,211,252,.4); box-shadow:0 18px 36px -22px rgba(56,189,248,.4); }
.pi-stat:hover::after{ opacity:.85; }
.pi-stat[data-tone="violet"]::after{ background:radial-gradient(circle, rgba(139,92,246,.24), transparent 65%); }
.pi-stat[data-tone="emerald"]::after{ background:radial-gradient(circle, rgba(52,211,153,.24), transparent 65%); }
.pi-stat[data-tone="amber"]::after{ background:radial-gradient(circle, rgba(251,191,36,.24), transparent 65%); }
.pi-stat[data-tone="magenta"]::after{ background:radial-gradient(circle, rgba(244,114,182,.24), transparent 65%); }
.pi-stat__label{ display:flex; align-items:center; gap:.4rem; font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.18em; color:rgba(186,230,253,.72); }
.pi-stat__label .material-icons-round{ font-size:14px; color:#7dd3fc; }
.pi-stat[data-tone="violet"] .pi-stat__label .material-icons-round{ color:#c4b5fd; }
.pi-stat[data-tone="emerald"] .pi-stat__label .material-icons-round{ color:#6ee7b7; }
.pi-stat[data-tone="amber"] .pi-stat__label .material-icons-round{ color:#fcd34d; }
.pi-stat[data-tone="magenta"] .pi-stat__label .material-icons-round{ color:#f9a8d4; }
.pi-stat__value{ display:block; font-family:"Roboto Slab","Roboto",Georgia,serif; font-size:1.55rem; font-weight:800; color:#f8fbff; line-height:1.1; margin-top:.3rem; font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.pi-stat__hint{ display:block; font-size:.67rem; color:rgba(186,230,253,.55); margin-top:.25rem; letter-spacing:.04em; }
.pi-stat__hint.pos{ color:#86efac; } .pi-stat__hint.neg{ color:#fda4af; }

/* ----- Filter bar ----------------------------------------------------- */
.pi-toolbar{
	display:flex; flex-wrap:wrap; gap:.6rem; align-items:center;
	padding:.75rem .9rem; margin-bottom:1rem; border-radius:16px;
	border:1px solid rgba(148,175,215,.14);
	background:linear-gradient(120deg, rgba(15,23,42,.7), rgba(10,16,30,.68));
}
.pi-toolbar .form-control,
.pi-toolbar .form-select{
	background:rgba(7,12,24,.7) !important;
	color:#e6efff !important;
	border:1px solid rgba(125,211,252,.18) !important;
	border-radius:12px !important;
	min-width:170px; max-width:260px;
	transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.pi-toolbar .form-control:focus,
.pi-toolbar .form-select:focus{
	border-color:rgba(125,211,252,.6) !important;
	box-shadow:0 0 0 3px rgba(56,189,248,.18) !important;
	background:rgba(7,12,24,.85) !important;
	outline:none;
}
.pi-toolbar .form-control::placeholder{ color:rgba(186,230,253,.45); }
.pi-toolbar .btn-group{ background:rgba(7,12,24,.7); border-radius:12px; padding:.18rem; }
.pi-toolbar .btn-group .btn{
	border:0 !important; background:transparent !important;
	color:rgba(186,230,253,.7) !important;
	padding:.4rem .8rem !important; border-radius:9px !important;
	font-size:.72rem !important; font-weight:600; letter-spacing:.04em;
	min-width:70px !important; transition:all .2s ease;
}
.pi-toolbar .btn-group .btn[aria-pressed="true"]{
	background:linear-gradient(135deg, rgba(56,189,248,.42), rgba(139,92,246,.42)) !important;
	color:#fff !important;
	box-shadow:0 6px 18px -10px rgba(56,189,248,.5);
}
.pi-toolbar .btn-outline-secondary{
	border:1px solid rgba(125,211,252,.24) !important;
	color:rgba(186,230,253,.78) !important;
	background:rgba(7,12,24,.4) !important;
	border-radius:10px !important;
	font-size:.74rem !important;
	transition:all .2s ease;
}
.pi-toolbar .btn-outline-secondary:hover{
	background:rgba(56,189,248,.14) !important;
	border-color:rgba(125,211,252,.5) !important;
	color:#fff !important;
}

/* ----- Table polish --------------------------------------------------- */
/* Cap the cert table to a scrollable window so a large inventory (100s of certs)
   doesn't stretch the page to thousands of px and bury the sections below it.
   The thead is position:sticky (below) so headers stay visible while scrolling.
   NOTE: the list flows with the PAGE — it is intentionally NOT a capped
   (max-height + overflow:auto) inner scroll box, which trapped wheel/trackpad
   scrolling and made the inventory feel unscrollable. The sticky thead keeps
   the header visible during normal page scroll. */
.cert-inventory-table-wrap{ border-radius:18px; overflow:visible; border:1px solid rgba(148,175,215,.14); background:rgba(7,12,24,.55); width:100%; }
.table.inventory-table{ margin-bottom:0; color:#dbe6ff; width:100%; }
.table.inventory-table thead th{
	background:linear-gradient(120deg, rgba(15,23,42,.95), rgba(10,16,30,.95));
	color:#bde0ff;
	font-size:.62rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
	border:0; padding:.85rem .75rem;
	border-bottom:1px solid rgba(125,211,252,.18);
	position:sticky; top:0; z-index:2;
}
.table.inventory-table tbody td{
	border:0; border-bottom:1px solid rgba(148,175,215,.07);
	padding:.7rem .75rem; font-size:.82rem; color:#dbe6ff;
	background:transparent; vertical-align:middle;
}
.table.inventory-table tbody tr{ transition:background .18s ease, transform .18s ease; }
.table.inventory-table tbody tr:hover{ background:linear-gradient(120deg, rgba(56,189,248,.06), rgba(139,92,246,.06)); }
.table.inventory-table tbody tr:hover td{ color:#fff; }
.table.inventory-table tbody tr td button.btn-sm{
	padding:.32rem .65rem; font-size:.7rem; border-radius:9px; font-weight:600;
	position:relative; z-index:2;
}
.table.inventory-table tbody tr[role="button"]{ cursor:pointer; }
.table.inventory-table tbody tr[role="button"]:focus-visible{
	outline:2px solid rgba(125,211,252,.55); outline-offset:-2px;
}
.cert-tile-card[role="button"]:focus-visible{
	outline:2px solid rgba(125,211,252,.55); outline-offset:2px;
}
/* Hover hint chevron */
.table.inventory-table tbody tr[role="button"] td[data-label="Subject"]::after{
	content:"›"; opacity:0; margin-left:.4rem; color:#7dd3fc;
	font-weight:700; transition:opacity .18s ease, transform .18s ease;
	display:inline-block;
}
.table.inventory-table tbody tr[role="button"]:hover td[data-label="Subject"]::after{
	opacity:.8; transform:translateX(3px);
}

/* override compact thumb styles for hi-fi grid */
body.page-personal-inventory:not([data-density='compact']) .inv-thumb{ width:38px; height:52px; border-radius:7px; }

/* ----- Cert tile grid (Tile mode) ------------------------------------ */
.cert-inventory-grid{ gap:1.1rem; }
.cert-tile-card{
	background:linear-gradient(160deg, rgba(20,30,52,.78), rgba(8,14,28,.78)) !important;
	border:1px solid rgba(148,175,215,.18) !important;
	border-radius:18px !important; padding:.95rem !important;
	position:relative; overflow:hidden;
	transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.cert-tile-card::after{
	content:""; position:absolute; inset:-30% auto auto -30%; width:200px; height:200px;
	background:radial-gradient(circle, rgba(56,189,248,.18), transparent 65%);
	filter:blur(36px); opacity:0; transition:opacity .25s ease;
}
.cert-tile-card:hover{ transform:translateY(-3px); border-color:rgba(125,211,252,.4); box-shadow:0 22px 44px -22px rgba(56,189,248,.45); }
.cert-tile-card:hover::after{ opacity:.6; }
.cert-tile-title{ color:#f5f9ff !important; font-weight:700 !important; }
.cert-tile-meta{ color:rgba(186,230,253,.68) !important; }
.cert-estimated-value{ color:#7dd3fc !important; font-weight:800 !important; }
.cert-tile-actions .btn{
	border-radius:9px !important; font-size:.68rem !important; font-weight:600 !important;
	background:rgba(56,189,248,.12); border:1px solid rgba(125,211,252,.28); color:#cfe9ff;
}
.cert-tile-actions .btn:hover{ background:rgba(56,189,248,.24); color:#fff; }

/* ----- Inventory Hub: glassify ---------------------------------------- */
.pi-section .inventory-hub-card{
	background:transparent !important; border:0 !important; padding:0 !important; box-shadow:none !important;
}
.pi-section .inventory-metrics{ gap:.9rem; margin-bottom:1.4rem; }
.pi-section .inventory-metric{
	background:linear-gradient(160deg, rgba(20,30,52,.7), rgba(9,15,28,.65)) !important;
	border:1px solid rgba(148,175,215,.18) !important;
	border-radius:18px; padding:1.05rem 1.1rem;
	position:relative; overflow:hidden;
	transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.pi-section .inventory-metric::after{
	content:""; position:absolute; inset:auto -30% -50% auto; width:200px; height:200px; border-radius:50%;
	background:radial-gradient(circle, rgba(251,191,36,.22), transparent 65%);
	filter:blur(28px); opacity:.45;
}
.pi-section .inventory-metric:nth-child(2)::after{ background:radial-gradient(circle, rgba(52,211,153,.24), transparent 65%); }
.pi-section .inventory-metric:nth-child(3)::after{ background:radial-gradient(circle, rgba(244,114,182,.22), transparent 65%); }
.pi-section .inventory-metric:nth-child(4)::after{ background:radial-gradient(circle, rgba(56,189,248,.24), transparent 65%); }
.pi-section .inventory-metric:nth-child(5)::after{ background:radial-gradient(circle, rgba(139,92,246,.24), transparent 65%); }
.pi-section .inventory-metric:hover{ transform:translateY(-3px); border-color:rgba(125,211,252,.4); box-shadow:0 18px 36px -22px rgba(251,191,36,.35); }
.pi-section .inventory-metric .label{ font-size:.6rem; letter-spacing:.18em; color:rgba(186,230,253,.72); }
.pi-section .inventory-metric .value{ font-family:"Roboto Slab","Roboto",Georgia,serif; font-size:1.6rem; color:#f5f9ff; font-variant-numeric:tabular-nums; }
.pi-section .inventory-metric .hint{ color:rgba(186,230,253,.55); font-size:.65rem; letter-spacing:.04em; }

.pi-section .inventory-portfolio-card{
	background:linear-gradient(155deg, rgba(15,23,42,.78), rgba(7,12,24,.75)) !important;
	border:1px solid rgba(148,175,215,.18) !important;
	border-radius:20px;
	box-shadow:0 24px 50px -30px rgba(2,6,23,.9);
}
.pi-section .inventory-portfolio-heading .title{ color:#f5f9ff; }
.pi-section .inventory-portfolio-heading .subtitle{ color:rgba(186,230,253,.62); }
.pi-section .inventory-portfolio-heading .legend{
	background:linear-gradient(120deg, rgba(56,189,248,.18), rgba(139,92,246,.18));
	border:1px solid rgba(125,211,252,.38);
	color:#cfe9ff;
}
.pi-section .inventory-portfolio-tabs button{
	background:rgba(7,12,24,.55); border:1px solid rgba(148,175,215,.16); color:rgba(186,230,253,.72);
	border-radius:999px; font-size:.7rem;
}
.pi-section .inventory-portfolio-tabs button.active{
	background:linear-gradient(135deg, rgba(56,189,248,.4), rgba(139,92,246,.4));
	border-color:rgba(125,211,252,.55); color:#fff;
	box-shadow:0 10px 22px -12px rgba(56,189,248,.55);
}

.pi-section .inventory-actions .form-control,
.pi-section .inventory-actions .form-select{
	background:rgba(7,12,24,.7) !important; color:#e6efff !important;
	border:1px solid rgba(125,211,252,.18) !important;
	border-radius:12px !important;
}
.pi-section .inventory-actions .btn{
	border-radius:10px; background:rgba(56,189,248,.14); border:1px solid rgba(125,211,252,.28); color:#cfe9ff;
}
.pi-section .inventory-actions .btn:hover{ background:rgba(56,189,248,.28); color:#fff; }

.pi-section .inventory-table-wrap{ border-radius:18px; border:1px solid rgba(148,175,215,.14); background:rgba(7,12,24,.55); }
.pi-section .inventory-table th{ background:linear-gradient(120deg, rgba(15,23,42,.95), rgba(10,16,30,.95)); color:#bde0ff; letter-spacing:.14em; }
.pi-section .inventory-table tbody tr:hover{ background:linear-gradient(120deg, rgba(56,189,248,.06), rgba(139,92,246,.06)); }
.pi-section .inventory-status-pill{ font-weight:700; letter-spacing:.1em; padding:.3rem .7rem; }

/* ----- Modal glass upgrade ------------------------------------------- */
body.page-personal-inventory .modal-content,
body.page-personal-inventory[data-theme='dark'] .modal-content,
body.page-personal-inventory .modal .modal-content{
	background:linear-gradient(160deg, rgba(15,23,42,.98), rgba(7,12,24,.98)) !important;
	border:1px solid rgba(125,211,252,.28) !important;
	border-radius:22px !important;
	box-shadow:0 40px 80px -30px rgba(2,6,23,.95), inset 0 1px 0 rgba(255,255,255,.05) !important;
	color:#e6efff !important;
}
body.page-personal-inventory .modal-backdrop.show{ opacity:.78; background:#020410; }
body.page-personal-inventory .modal-header{ border:0 !important; padding:1.2rem 1.4rem .8rem; }
body.page-personal-inventory .modal-header .modal-title{
	font-family:"Roboto Slab","Roboto",Georgia,serif; font-weight:700; font-size:1.15rem;
	background:linear-gradient(110deg,#e0f2fe 0%, #93c5fd 30%, #c4b5fd 60%, #f0abfc 100%);
	background-clip:text; -webkit-background-clip:text; color:transparent;
}
body.page-personal-inventory .modal-body{ padding:.4rem 1.4rem 1.4rem; }
body.page-personal-inventory .modal-footer{ border:0 !important; padding:.8rem 1.4rem 1.2rem; }
body.page-personal-inventory .modal-content .form-label,
body.page-personal-inventory .modal-content label{ color:rgba(186,230,253,.72); font-size:.72rem; letter-spacing:.08em; font-weight:600; }
body.page-personal-inventory .modal-content .form-control,
body.page-personal-inventory .modal-content .form-select,
body.page-personal-inventory .modal-content input[type="text"],
body.page-personal-inventory .modal-content input[type="number"],
body.page-personal-inventory .modal-content input[type="search"],
body.page-personal-inventory .modal-content input[type="email"],
body.page-personal-inventory .modal-content input[type="tel"],
body.page-personal-inventory .modal-content input[type="date"],
body.page-personal-inventory .modal-content input[type="datetime-local"],
body.page-personal-inventory .modal-content textarea,
body.page-personal-inventory .modal-content select{
	background:rgba(7,12,24,.85) !important; color:#e6efff !important;
	border:1px solid rgba(125,211,252,.22) !important;
	border-radius:11px !important;
	padding:.55rem .75rem !important;
}
body.page-personal-inventory .modal-content input::placeholder,
body.page-personal-inventory .modal-content textarea::placeholder{
	color:rgba(186,230,253,.42) !important;
}
body.page-personal-inventory .modal-content .form-control:focus,
body.page-personal-inventory .modal-content .form-select:focus{
	border-color:rgba(125,211,252,.55) !important;
	box-shadow:0 0 0 3px rgba(56,189,248,.16) !important;
	outline:none;
}
body.page-personal-inventory .modal-content .btn-close,
body.page-personal-inventory .modal-content .btn-close-white{ filter:invert(0.85) hue-rotate(170deg) brightness(1.4); opacity:.85; }
body.page-personal-inventory .modal-content .btn-primary{
	background:linear-gradient(135deg, #38bdf8, #8b5cf6) !important;
	border:0 !important; border-radius:11px;
	font-weight:700; letter-spacing:.02em;
	box-shadow:0 14px 28px -16px rgba(56,189,248,.55);
}
body.page-personal-inventory .modal-content .btn-primary:hover{
	transform:translateY(-1px);
	box-shadow:0 18px 36px -18px rgba(139,92,246,.6);
}
body.page-personal-inventory .modal-content .btn-secondary,
body.page-personal-inventory .modal-content .btn-outline-secondary,
body.page-personal-inventory .modal-content .btn-outline-light,
body.page-personal-inventory .modal-content .btn-outline-primary{
	background:rgba(7,12,24,.55) !important;
	border:1px solid rgba(125,211,252,.28) !important; color:#cfe9ff !important;
	border-radius:11px;
}
body.page-personal-inventory .modal-content .btn-outline-warning{
	background:rgba(251,191,36,.12) !important;
	border:1px solid rgba(251,191,36,.45) !important; color:#fde68a !important;
}
body.page-personal-inventory .modal-content .btn-outline-info{
	background:rgba(56,189,248,.12) !important;
	border:1px solid rgba(125,211,252,.45) !important; color:#bae6fd !important;
}
body.page-personal-inventory .modal-content table{ color:#dbe6ff; }
body.page-personal-inventory .modal-content table th{ color:#bde0ff; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; border:0; border-bottom:1px solid rgba(148,175,215,.18); }
body.page-personal-inventory .modal-content table td{ border:0; border-bottom:1px solid rgba(148,175,215,.08); font-size:.82rem; }

/* PSA detail polish */
.cert-detail-title{ color:#7dd3fc !important; font-family:"Roboto Slab","Roboto",Georgia,serif; }
.psa-badge{ background:rgba(56,189,248,.14) !important; border:1px solid rgba(125,211,252,.35) !important; color:#bae6fd !important; }
.price-box .price-card{
	background:linear-gradient(160deg, rgba(20,30,52,.78), rgba(9,15,28,.78)) !important;
	border-left:6px solid #38bdf8 !important;
	box-shadow:0 14px 30px -20px rgba(56,189,248,.5) !important;
}
.price-box .price-card .price-label{ color:rgba(186,230,253,.6) !important; }
.price-box .price-card .price-value{ color:#7dd3fc !important; font-family:"Roboto Slab","Roboto",Georgia,serif; }
.price-box .price-card .price-note{ color:rgba(186,230,253,.55) !important; }
.cert-detail-tabs .tab{
	background:rgba(7,12,24,.65) !important;
	border:1px solid rgba(125,211,252,.22) !important;
	color:rgba(186,230,253,.72) !important;
	border-radius:11px;
	font-weight:600;
}
.cert-detail-tabs .tab.active{
	background:linear-gradient(135deg, rgba(56,189,248,.4), rgba(139,92,246,.4)) !important;
	color:#fff !important;
	border-color:rgba(125,211,252,.55) !important;
	box-shadow:0 8px 22px -12px rgba(56,189,248,.5);
}
.sales-note{ color:rgba(186,230,253,.62) !important; }

/* Pricing modal */
.pricing-entry-list{ border:1px solid rgba(148,175,215,.16) !important; }
.pricing-entry-list th{ background:rgba(15,23,42,.95) !important; color:#bde0ff !important; letter-spacing:.14em; }
.pricing-entry-list td{ color:#dbe6ff !important; }

/* Scanner */
.scanner-reader{ background:#03070d !important; border:1px solid rgba(125,211,252,.22); box-shadow:inset 0 0 60px rgba(56,189,248,.08); }

/* Carousel */
#certImageCarouselModal .modal-content{ background:#03070d !important; border:1px solid rgba(125,211,252,.22) !important; }
.carousel-img{ background:#03070d !important; }

/* ----- Floating "scroll to hub" pulse cue ----------------------------- */
.pi-jump{
	position:fixed; bottom:1.4rem; right:1.4rem; z-index:1020;
	width:54px; height:54px; border-radius:50%; border:0;
	display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg, #38bdf8, #8b5cf6);
	color:#fff; cursor:pointer;
	box-shadow:0 18px 36px -12px rgba(56,189,248,.6), 0 0 0 0 rgba(56,189,248,.6);
	animation:pi-pulse 2.4s ease-out infinite;
	transition:transform .2s ease;
}
.pi-jump:hover{ transform:translateY(-3px) scale(1.05); }
.pi-jump .material-icons-round{ font-size:24px; }
@keyframes pi-pulse{
	0%{ box-shadow:0 18px 36px -12px rgba(56,189,248,.6), 0 0 0 0 rgba(56,189,248,.55); }
	70%{ box-shadow:0 18px 36px -12px rgba(56,189,248,.6), 0 0 0 22px rgba(56,189,248,0); }
	100%{ box-shadow:0 18px 36px -12px rgba(56,189,248,.6), 0 0 0 0 rgba(56,189,248,0); }
}
@media (prefers-reduced-motion: reduce){ .pi-jump{ animation:none; } }

/* ----- Mobile -------------------------------------------------------- */
@media (max-width: 720px){
	body.page-personal-inventory main.main-content{ padding:.8rem .9rem 2rem; }
	.pi-section{ padding:1.2rem 1rem 1.1rem; border-radius:20px; }
	.pi-section__head{ flex-direction:column; align-items:flex-start; }
	.pi-stat__value{ font-size:1.3rem; }
	.pi-ribbon-actions{ width:100%; }
	.pi-ribbon-actions .btn{ flex:1 1 calc(50% - .35rem); justify-content:center; }
	.pi-toolbar .form-control,
	.pi-toolbar .form-select{ min-width:0; max-width:none; width:100%; }
	.pi-toolbar .btn-group{ width:100%; }
	.pi-toolbar .btn-group .btn{ flex:1 1 0; min-width:0 !important; }
	.pi-jump{ bottom:1rem; right:1rem; width:48px; height:48px; }
	.cert-inventory-table-wrap{ display:none; }
}

/* ==========================================================================
   Certification Detail Modal v3 — full cinematic rebuild (2026-05-29d)
   ========================================================================== */

body.page-personal-inventory .cd-modal .modal-dialog{ max-width: min(1280px, 96vw); }
body.page-personal-inventory .cd-modal .modal-content{
	background:linear-gradient(160deg, rgba(8,13,26,.98), rgba(3,7,16,.98)) !important;
	border:1px solid rgba(125,211,252,.28) !important;
	border-radius:24px !important;
	overflow:hidden;
}
body.page-personal-inventory .cd-modal .modal-body{ padding:0 !important; max-height:calc(100vh - 180px); overflow-y:auto; scrollbar-gutter:stable; }
body.page-personal-inventory .cd-modal .modal-body::-webkit-scrollbar{ width:10px; }
body.page-personal-inventory .cd-modal .modal-body::-webkit-scrollbar-track{ background:rgba(7,12,24,.5); }
body.page-personal-inventory .cd-modal .modal-body::-webkit-scrollbar-thumb{ background:linear-gradient(180deg, #38bdf8, #8b5cf6); border-radius:999px; }
body.page-personal-inventory .cd-modal .modal-header{
	padding:1.1rem 1.6rem .9rem; border-bottom:1px solid rgba(125,211,252,.12) !important;
}
body.page-personal-inventory .cd-modal .modal-footer{
	padding:1rem 1.6rem 1.2rem; border-top:1px solid rgba(125,211,252,.12) !important;
}

.cert-detail{ display:flex; flex-direction:column; }

/* ----- Hero (gallery + headline) ----- */
.cert-detail__hero{
	display:grid; grid-template-columns: minmax(0, 380px) 1fr;
	gap:1.6rem; padding:1.4rem 1.6rem 1.2rem;
	position:relative; align-items:start;
}
.cert-detail__hero::before{
	content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
	background:
		radial-gradient(700px 400px at 8% -10%, rgba(56,189,248,0.14), transparent 60%),
		radial-gradient(600px 400px at 110% 10%, rgba(139,92,246,0.16), transparent 60%);
}
.cert-detail__hero > *{ position:relative; z-index:1; }

.cert-detail__gallery{ display:flex; flex-direction:column; gap:.85rem; }
.cd-gallery__stage{
	position:relative; aspect-ratio: 3/4; max-height:440px; border-radius:22px; overflow:hidden;
	background:linear-gradient(155deg, rgba(20,30,52,.85), rgba(7,12,24,.85));
	border:1px solid rgba(125,211,252,.22);
	box-shadow:0 30px 70px -40px rgba(2,6,23,.95), inset 0 1px 0 rgba(255,255,255,.04);
	display:flex; align-items:center; justify-content:center;
}
.cd-gallery__main{
	width:100%; height:100%; object-fit:contain;
	padding:1rem; cursor:zoom-in;
	transition:transform .3s ease;
}
.cd-gallery__main:hover{ transform:scale(1.02); }
.cd-gallery__main[src=""]{ visibility:hidden; }
.cd-gallery__nav{
	position:absolute; top:50%; transform:translateY(-50%); z-index:3;
	width:42px; height:42px; border-radius:50%; border:1px solid rgba(125,211,252,.3);
	background:rgba(7,12,24,.7); color:#cfe9ff;
	display:flex; align-items:center; justify-content:center; cursor:pointer;
	transition:all .2s ease;
}
.cd-gallery__nav:hover{ background:rgba(56,189,248,.25); color:#fff; transform:translateY(-50%) scale(1.08); }
.cd-gallery__nav--prev{ left:.7rem; }
.cd-gallery__nav--next{ right:.7rem; }
.cd-gallery__zoom{
	position:absolute; top:.7rem; right:.7rem; z-index:3;
	width:38px; height:38px; border-radius:50%; border:1px solid rgba(125,211,252,.3);
	background:rgba(7,12,24,.7); color:#cfe9ff; display:flex; align-items:center; justify-content:center;
	cursor:pointer; transition:all .2s ease;
}
.cd-gallery__zoom:hover{ background:rgba(56,189,248,.25); color:#fff; }
.cd-gallery__counter{
	position:absolute; bottom:.8rem; left:50%; transform:translateX(-50%); z-index:3;
	padding:.32rem .8rem; border-radius:999px;
	background:rgba(7,12,24,.78); color:#cfe9ff;
	font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
	border:1px solid rgba(125,211,252,.22);
}
.cd-gallery__thumbs{
	display:flex; gap:.5rem; flex-wrap:wrap;
}
.cd-gallery__thumb{
	width:74px; height:96px; border-radius:11px; padding:0; overflow:hidden;
	background:rgba(7,12,24,.6); border:1px solid rgba(125,211,252,.18);
	cursor:pointer; transition:all .2s ease; flex-shrink:0;
}
.cd-gallery__thumb img{ width:100%; height:100%; object-fit:cover; }
.cd-gallery__thumb:hover{ transform:translateY(-2px); border-color:rgba(125,211,252,.5); }
.cd-gallery__thumb.is-active{
	border-color:#7dd3fc; box-shadow:0 0 0 2px rgba(125,211,252,.4), 0 8px 22px -10px rgba(56,189,248,.6);
}
.cd-gallery__empty{
	font-size:.78rem; color:rgba(186,230,253,.6);
	padding:.6rem .85rem; border:1px dashed rgba(125,211,252,.22); border-radius:12px;
	background:rgba(7,12,24,.4); width:100%;
}

/* ----- Headline ----- */
.cert-detail__headline{ display:flex; flex-direction:column; gap:.95rem; min-width:0; }
.cd-eyebrow{
	display:inline-flex; align-items:center; gap:.5rem;
	padding:.35rem .8rem; border-radius:999px; align-self:flex-start;
	background:linear-gradient(120deg, rgba(56,189,248,.16), rgba(139,92,246,.16));
	border:1px solid rgba(125,211,252,.32);
	font-size:.64rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#cfe9ff;
}
.cd-eyebrow__dot{
	width:7px; height:7px; border-radius:50%;
	background:linear-gradient(135deg,#38bdf8,#8b5cf6);
	box-shadow:0 0 10px rgba(56,189,248,.85);
	animation:pi-dot 2.4s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){ .cd-eyebrow__dot{ animation:none; } }

.cd-title{
	margin:0; font-family:"Roboto Slab","Roboto",Georgia,serif;
	font-size:clamp(1.5rem, 1.4vw + 1rem, 2.1rem); font-weight:800; letter-spacing:-.01em; line-height:1.1;
	background:linear-gradient(110deg,#e0f2fe 0%, #93c5fd 28%, #c4b5fd 55%, #f0abfc 80%, #fde68a 100%);
	background-clip:text; -webkit-background-clip:text; color:transparent;
	background-size:220% 100%; animation:gx-ribbon-title 14s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){ .cd-title{ animation:none; } }

.cd-meta{ display:flex; flex-wrap:wrap; gap:.4rem; }
.cd-chip{
	display:inline-flex; align-items:center; padding:.32rem .7rem; border-radius:999px;
	background:rgba(7,12,24,.7); border:1px solid rgba(125,211,252,.22); color:#cfe9ff;
	font-size:.72rem; letter-spacing:.04em; font-weight:600;
}
.cd-chip--cert{ background:linear-gradient(120deg, rgba(56,189,248,.22), rgba(139,92,246,.18)); border-color:rgba(125,211,252,.5); color:#fff; font-weight:700; }
.cd-chip--variety{ background:linear-gradient(120deg, rgba(244,114,182,.18), rgba(139,92,246,.18)); border-color:rgba(244,114,182,.4); color:#fbcfe8; }

.cd-orbs{ display:grid; grid-template-columns:repeat(3, 1fr); gap:.7rem; margin-top:.3rem; }
.cd-orb{
	padding:.9rem 1rem; border-radius:18px;
	background:linear-gradient(160deg, rgba(20,30,52,.78), rgba(9,15,28,.75));
	border:1px solid rgba(125,211,252,.2);
	position:relative; overflow:hidden;
	transition:transform .22s ease, border-color .22s ease;
}
.cd-orb::after{
	content:""; position:absolute; inset:auto -30% -50% auto; width:160px; height:160px;
	background:radial-gradient(circle, rgba(56,189,248,.22), transparent 65%);
	filter:blur(28px);
}
.cd-orb--pop::after{ background:radial-gradient(circle, rgba(52,211,153,.24), transparent 65%); }
.cd-orb--card::after{ background:radial-gradient(circle, rgba(244,114,182,.22), transparent 65%); }
.cd-orb:hover{ transform:translateY(-2px); border-color:rgba(125,211,252,.45); }
.cd-orb__label{ font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(186,230,253,.72); font-weight:700; }
.cd-orb__value{ font-family:"Roboto Slab","Roboto",Georgia,serif; font-size:1.6rem; font-weight:800; color:#f5f9ff; line-height:1.1; margin-top:.2rem; }
.cd-orb--grade .cd-orb__value{
	background:linear-gradient(110deg,#7dd3fc,#a78bfa,#f0abfc);
	background-clip:text; -webkit-background-clip:text; color:transparent;
}

/* Price hero */
.cd-price-hero{
	margin-top:.4rem; padding:1.2rem 1.3rem;
	background:linear-gradient(155deg, rgba(15,23,42,.85), rgba(7,12,24,.85));
	border:1px solid rgba(125,211,252,.28); border-radius:20px;
	box-shadow:0 24px 50px -28px rgba(2,6,23,.95);
	position:relative; overflow:hidden;
}
.cd-price-hero::before{
	content:""; position:absolute; inset:-30% -10% auto auto; width:380px; height:380px; pointer-events:none;
	background:radial-gradient(circle, rgba(52,211,153,.18), transparent 65%);
	filter:blur(40px);
}
.cd-price-hero > *{ position:relative; z-index:1; }
.cd-price-hero__row{ display:flex; align-items:flex-start; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; }
.cd-price-hero__label{ font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:rgba(186,230,253,.72); }
.cd-price-hero__value{
	font-family:"Roboto Slab","Roboto",Georgia,serif;
	font-size:clamp(2rem, 2vw + 1rem, 2.8rem); font-weight:800; line-height:1; margin-top:.3rem;
	background:linear-gradient(110deg,#7dd3fc 0%, #86efac 50%, #fde68a 100%);
	background-clip:text; -webkit-background-clip:text; color:transparent;
	background-size:200% 100%; animation:gx-ribbon-title 12s ease-in-out infinite;
	font-variant-numeric:tabular-nums;
}
.cd-price-hero__source{ font-size:.74rem; color:rgba(186,230,253,.65); margin-top:.4rem; }
.cd-price-hero__actions{ display:flex; gap:.5rem; flex-wrap:wrap; }

.cd-btn{
	display:inline-flex; align-items:center; gap:.4rem;
	padding:.6rem 1rem; border-radius:11px; font-weight:600; letter-spacing:.02em; font-size:.78rem;
	border:1px solid transparent; cursor:pointer;
	transition:all .2s ease; text-decoration:none;
}
.cd-btn .material-icons-round{ font-size:18px; }
.cd-btn--primary{
	background:linear-gradient(135deg,#38bdf8,#8b5cf6); color:#fff; border:0;
	box-shadow:0 12px 26px -14px rgba(56,189,248,.6);
}
.cd-btn--primary:hover{ transform:translateY(-1px); box-shadow:0 18px 32px -16px rgba(139,92,246,.65); color:#fff; }
.cd-btn--primary.is-loading{ opacity:.6; cursor:wait; }
.cd-btn--primary.is-loading .material-icons-round{ animation:cd-spin 1s linear infinite; }
@keyframes cd-spin{ to { transform:rotate(360deg); } }
.cd-btn--ghost{
	background:rgba(7,12,24,.65); border:1px solid rgba(125,211,252,.32); color:#cfe9ff;
}
.cd-btn--ghost:hover{ background:rgba(56,189,248,.18); border-color:rgba(125,211,252,.55); color:#fff; }

.cd-price-hero__stats{
	display:grid; grid-template-columns:repeat(4, 1fr); gap:.6rem; margin-top:1.1rem;
	padding-top:.9rem; border-top:1px dashed rgba(125,211,252,.18);
}
.cd-stat{
	padding:.5rem .7rem; border-radius:12px;
	background:rgba(7,12,24,.55); border:1px solid rgba(125,211,252,.16);
}
.cd-stat__label{ display:block; font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(186,230,253,.62); font-weight:700; }
.cd-stat__value{ display:block; font-family:"Roboto Slab","Roboto",Georgia,serif; font-size:1.05rem; color:#f5f9ff; font-weight:700; margin-top:.15rem; font-variant-numeric:tabular-nums; }

/* ----- Body (tabs + panes) ----- */
.cert-detail__body{ padding:0 1.6rem 1.6rem; }
.cert-detail__tabs{
	display:flex; gap:.5rem; margin-bottom:1rem; flex-wrap:wrap;
	padding:.3rem; background:rgba(7,12,24,.55); border-radius:14px; border:1px solid rgba(125,211,252,.16);
	width:fit-content; max-width:100%;
}
.cd-tab{
	display:inline-flex; align-items:center; gap:.45rem;
	padding:.55rem 1rem; border-radius:10px;
	background:transparent; border:0; cursor:pointer;
	color:rgba(186,230,253,.72); font-size:.78rem; font-weight:600; letter-spacing:.04em;
	transition:all .2s ease;
}
.cd-tab .material-icons-round{ font-size:17px; }
.cd-tab:hover{ color:#fff; background:rgba(56,189,248,.1); }
.cd-tab.is-active{
	background:linear-gradient(135deg, rgba(56,189,248,.4), rgba(139,92,246,.4));
	color:#fff;
	box-shadow:0 10px 22px -12px rgba(56,189,248,.5);
}

.cd-pane{ display:none; }
.cd-pane.is-active{ display:block; animation:cd-fade .35s ease both; }
@keyframes cd-fade{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:translateY(0);} }

/* Comp toolbar */
.cd-comp-toolbar{
	display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
	margin-bottom:.85rem;
}
.cd-comp-toolbar__title{ font-family:"Roboto Slab","Roboto",Georgia,serif; font-size:1.1rem; color:#f5f9ff; font-weight:700; }
.cd-comp-toolbar__hint{ font-size:.78rem; color:rgba(186,230,253,.7); }

/* Comp grid */
.cd-comp-grid{
	display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:.9rem;
}
.cd-comp-card{
	display:flex; gap:.85rem; padding:.7rem;
	background:linear-gradient(160deg, rgba(15,23,42,.78), rgba(7,12,24,.78));
	border:1px solid rgba(125,211,252,.2); border-radius:16px;
	position:relative;
	transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.cd-comp-card:hover{ transform:translateY(-3px); border-color:rgba(125,211,252,.45); box-shadow:0 18px 40px -22px rgba(56,189,248,.45); }
.cd-comp-card__img{
	width:74px; height:96px; object-fit:cover; border-radius:11px;
	background:#0a1020; flex-shrink:0; border:1px solid rgba(125,211,252,.16);
}
.cd-comp-card__img--placeholder{ display:flex; align-items:center; justify-content:center; color:rgba(186,230,253,.4); }
.cd-comp-card__body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:.3rem; }
.cd-comp-card__price{
	font-family:"Roboto Slab","Roboto",Georgia,serif;
	font-size:1.15rem; font-weight:800; color:#86efac; line-height:1; font-variant-numeric:tabular-nums;
}
.cd-comp-card__title{
	font-size:.78rem; color:#dbe6ff; line-height:1.3;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.cd-comp-card__meta{ display:flex; gap:.6rem; flex-wrap:wrap; font-size:.66rem; color:rgba(186,230,253,.65); margin-top:auto; }
.cd-comp-card__meta span{ display:inline-flex; align-items:center; gap:.2rem; }
.cd-comp-card__meta .material-icons-round{ font-size:13px; opacity:.7; }
.cd-comp-card__link{
	position:absolute; top:.5rem; right:.5rem;
	width:30px; height:30px; border-radius:8px;
	background:rgba(56,189,248,.16); border:1px solid rgba(125,211,252,.28); color:#7dd3fc;
	display:flex; align-items:center; justify-content:center;
	text-decoration:none; transition:all .2s ease;
}
.cd-comp-card__link:hover{ background:rgba(56,189,248,.3); color:#fff; transform:scale(1.05); }
.cd-comp-card__link .material-icons-round{ font-size:14px; }

.cd-comp-loading{
	grid-column:1/-1; display:flex; align-items:center; gap:.5rem;
	padding:1.4rem; border-radius:14px;
	background:rgba(7,12,24,.55); border:1px dashed rgba(125,211,252,.22);
	color:rgba(186,230,253,.78); font-size:.85rem; justify-content:center;
}
.cd-comp-loading__dot{
	width:8px; height:8px; border-radius:50%; background:#7dd3fc;
	animation:cd-loading-bounce 1s ease-in-out infinite;
}
.cd-comp-loading__dot:nth-child(2){ animation-delay:.15s; background:#a78bfa; }
.cd-comp-loading__dot:nth-child(3){ animation-delay:.3s; background:#f472b6; }
@keyframes cd-loading-bounce{ 0%,80%,100%{ transform:scale(.6); opacity:.5; } 40%{ transform:scale(1); opacity:1; } }

.cd-comp-empty{
	grid-column:1/-1; display:flex; align-items:center; gap:.6rem; justify-content:center;
	padding:1.8rem; border-radius:14px;
	background:rgba(7,12,24,.55); border:1px dashed rgba(125,211,252,.22);
	color:rgba(186,230,253,.68); font-size:.86rem;
}
.cd-comp-empty .material-icons-round{ color:#7dd3fc; }
.cd-comp-empty--error{ border-color:rgba(244,114,128,.35); color:#fda4af; }
.cd-comp-empty--error .material-icons-round{ color:#fb7185; }

/* Specs table */
.cd-specs-table{ width:100%; border-collapse:separate; border-spacing:0; }
.cd-specs-table thead th{
	background:rgba(7,12,24,.7); color:#bde0ff; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase;
	padding:.7rem .9rem; text-align:left; border-bottom:1px solid rgba(125,211,252,.18); font-weight:700;
}
.cd-specs-table tbody td{
	padding:.7rem .9rem; border-bottom:1px solid rgba(148,175,215,.08); color:#dbe6ff; font-size:.86rem;
}
.cd-specs-table tbody td:first-child{ color:rgba(186,230,253,.7); font-weight:600; width:30%; }
.cd-specs-table tbody tr:hover td{ background:rgba(56,189,248,.05); color:#fff; }

/* Action cards */
.cd-actions-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:.85rem; }
.cd-action-card{
	display:flex; gap:.85rem; align-items:center; text-align:left;
	padding:1rem 1.1rem; border-radius:16px;
	background:linear-gradient(160deg, rgba(15,23,42,.78), rgba(7,12,24,.78));
	border:1px solid rgba(125,211,252,.22); color:#dbe6ff; cursor:pointer;
	text-decoration:none;
	transition:all .22s ease;
}
.cd-action-card:hover{ transform:translateY(-2px); border-color:rgba(125,211,252,.5); box-shadow:0 18px 36px -22px rgba(56,189,248,.4); color:#fff; }
.cd-action-card .material-icons-round{
	width:42px; height:42px; border-radius:12px;
	background:linear-gradient(135deg, rgba(56,189,248,.22), rgba(139,92,246,.22));
	display:flex; align-items:center; justify-content:center; color:#7dd3fc; flex-shrink:0;
}
.cd-action-card__title{ font-weight:700; font-size:.9rem; color:#f5f9ff; }
.cd-action-card__hint{ font-size:.72rem; color:rgba(186,230,253,.6); margin-top:.2rem; }
.cd-action-card--danger{ border-color:rgba(244,114,128,.32); }
.cd-action-card--danger .material-icons-round{ background:linear-gradient(135deg, rgba(244,114,128,.22), rgba(251,113,133,.22)); color:#fda4af; }
.cd-action-card--danger:hover{ border-color:rgba(244,114,128,.55); box-shadow:0 18px 36px -22px rgba(244,114,128,.4); }

/* ----- Mobile ----- */
@media (max-width: 900px){
	body.page-personal-inventory .cd-modal .modal-dialog{ max-width: 96vw; margin:.5rem auto; }
	.cert-detail__hero{ grid-template-columns:1fr; padding:1rem 1rem .8rem; gap:1.2rem; }
	.cert-detail__body{ padding:0 1rem 1rem; }
	.cd-gallery__stage{ aspect-ratio: 4/5; }
	.cd-orbs{ grid-template-columns:repeat(3, 1fr); gap:.5rem; }
	.cd-orb{ padding:.65rem .7rem; }
	.cd-orb__value{ font-size:1.2rem; }
	.cd-price-hero{ padding:1rem; }
	.cd-price-hero__stats{ grid-template-columns:repeat(2, 1fr); }
}

/* ----- Pricing modal: last-fetch banner + fresh badge ---------------- */
.pricing-last-fetch{
	display:flex; align-items:center; gap:.55rem;
	margin:.4rem 0 1rem; padding:.7rem .9rem; border-radius:12px;
	background:rgba(7,12,24,.55); border:1px solid rgba(125,211,252,.22);
	color:#cfe9ff; font-size:.84rem;
}
.pricing-last-fetch[data-state="fresh"]{ background:linear-gradient(120deg, rgba(52,211,153,.16), rgba(56,189,248,.12)); border-color:rgba(52,211,153,.4); color:#d1fae5; }
.pricing-last-fetch[data-state="recent"]{ background:rgba(56,189,248,.1); border-color:rgba(125,211,252,.32); }
.pricing-last-fetch[data-state="stale"]{ background:rgba(244,114,128,.08); border-color:rgba(244,114,128,.25); color:#fda4af; }
.pricing-last-fetch[data-state="empty"]{ background:rgba(7,12,24,.5); border-style:dashed; color:rgba(186,230,253,.65); }
.pricing-last-fetch .material-icons-round{ font-size:18px; }
.pricing-last-fetch__age{ opacity:.7; font-size:.78rem; }

.inv-fresh-badge{
	display:inline-block; margin-left:.4rem; padding:.1rem .42rem;
	font-size:.6rem; font-weight:800; letter-spacing:.12em;
	border-radius:999px; color:#022c22;
	background:linear-gradient(135deg, #6ee7b7, #34d399);
	box-shadow:0 0 12px rgba(52,211,153,.5);
	animation:inv-fresh-pulse 1.6s ease-in-out 0s 3;
}
@keyframes inv-fresh-pulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.12); } }
@media (prefers-reduced-motion: reduce){ .inv-fresh-badge{ animation:none; } }

.pricing-entry-list tbody tr.is-fresh{
	background:linear-gradient(120deg, rgba(52,211,153,.14), rgba(56,189,248,.08));
	animation:inv-fresh-row 2s ease-out 0s 1;
}
@keyframes inv-fresh-row{
	0%{ background:linear-gradient(120deg, rgba(52,211,153,.32), rgba(56,189,248,.2)); }
	100%{ background:linear-gradient(120deg, rgba(52,211,153,.14), rgba(56,189,248,.08)); }
}

/* ==========================================================================
   WIDE MONITOR OPTIMIZATIONS — use all the screen real estate
   ========================================================================== */

/* On 1600px+, expand the stat grid to spread across the available width */
@media (min-width:1600px){
	body.page-personal-inventory .gx-ribbon__stats{
		grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
		gap:1rem;
	}
	body.page-personal-inventory .pi-stat__value{ font-size:1.8rem; }
	body.page-personal-inventory .pi-stat__label{ font-size:.66rem; }
	body.page-personal-inventory .gx-ribbon__heading{ font-size:clamp(2.4rem, 2.4vw + .9rem, 3.8rem); }
	body.page-personal-inventory .gx-ribbon__sub{ font-size:1.08rem; max-width:80ch; }

	/* Cert tile grid: denser cards on wide screens */
	body.page-personal-inventory .cert-inventory-grid{
		grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
		gap:1.1rem;
	}

	/* Hub metrics expand */
	body.page-personal-inventory .pi-section .inventory-metrics{
		grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	}
	body.page-personal-inventory .pi-section .inventory-metric .value{ font-size:1.85rem; }

	/* Portfolio chart taller */
	body.page-personal-inventory .pi-section .inventory-portfolio-chart{ height:320px; }
}

/* On 2000px+, give the page even more breathing room and bigger comp grid */
@media (min-width:2000px){
	body.page-personal-inventory main.main-content{
		padding-left:clamp(2rem, 2vw, 3.5rem);
		padding-right:clamp(2rem, 2vw, 3.5rem);
	}
	body.page-personal-inventory .gx-ribbon__heading{ font-size:clamp(2.8rem, 2.4vw + 1rem, 4.4rem); }
	body.page-personal-inventory .gx-ribbon__stats{
		grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
	}
	body.page-personal-inventory .pi-stat{ padding:1.15rem 1.3rem 1.1rem; }
	body.page-personal-inventory .pi-stat__value{ font-size:2rem; }

	body.page-personal-inventory .cert-inventory-grid{
		grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
		gap:1.3rem;
	}

	body.page-personal-inventory .pi-section{
		padding:clamp(1.8rem, 1.6vw + .8rem, 3rem) clamp(1.6rem, 1.6vw + .7rem, 3rem);
	}
	body.page-personal-inventory .pi-section__title{ font-size:1.55rem; }
	body.page-personal-inventory .pi-section__sub{ font-size:1rem; }

	body.page-personal-inventory .pi-section .inventory-portfolio-chart{ height:380px; }
}

/* Cert detail modal too — use more width on 4K */
@media (min-width:2000px){
	body.page-personal-inventory .cd-modal .modal-dialog{ max-width:min(1600px, 92vw); }
	body.page-personal-inventory .cert-detail__hero{ grid-template-columns:minmax(0, 480px) 1fr; gap:2.2rem; }
	body.page-personal-inventory .cd-comp-grid{ grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); }
	body.page-personal-inventory .cd-title{ font-size:clamp(1.8rem, 1.5vw + 1rem, 2.6rem); }
	body.page-personal-inventory .cd-price-hero__value{ font-size:clamp(2.4rem, 2vw + 1rem, 3.4rem); }
}

/* end cinematic v3 */
