.closet-theme{--closet-rose:#dc8197;--closet-lilac:#a98dc2;--closet-mint:#85b89d;--closet-cream:#f2e7d1}.closet-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.closet-summary .metric-card:nth-child(1){background:linear-gradient(145deg,#161416,#25171d)}.closet-summary .metric-card:nth-child(2){background:linear-gradient(145deg,#121718,#15231d)}.closet-summary .metric-card:nth-child(3){background:linear-gradient(145deg,#15151a,#201a2a)}.closet-summary .metric-card:nth-child(4){background:linear-gradient(145deg,#18150f,#282013)}.wardrobe-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;gap:10px;margin-bottom:16px}.wardrobe-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.wardrobe-item{position:relative;border:1px solid rgba(255,255,255,.13);border-radius:18px;overflow:hidden;background:#111315;transition:.25s}.wardrobe-item:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.32)}.wardrobe-image{aspect-ratio:1/1;background:#e9e2d5;overflow:hidden}.wardrobe-image img{width:100%;height:100%;object-fit:cover}.wardrobe-info{padding:13px}.wardrobe-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wardrobe-meta{display:flex;justify-content:space-between;gap:8px;color:#8e9193;font-size:11px;margin-top:5px}.wardrobe-fav{position:absolute;right:9px;top:9px;width:36px;height:36px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(5,6,7,.7);color:#fff;cursor:pointer}.wardrobe-fav.active{background:#fff;color:#d55d78}.outfit-builder{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.outfit-canvas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:520px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(160deg,#171315,#11191a)}.outfit-slot{position:relative;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.22);border-radius:18px;min-height:210px;overflow:hidden;background:rgba(255,255,255,.025)}.outfit-slot img{width:100%;height:100%;object-fit:cover}.outfit-slot span{color:#86898c}.outfit-slot button{position:absolute;right:8px;top:8px}.picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:460px;overflow:auto}.picker-card{padding:0;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#111315;overflow:hidden;cursor:pointer}.picker-card img{aspect-ratio:1;object-fit:cover}.picker-card span{display:block;padding:7px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-outfit{display:grid;grid-template-columns:90px 1fr auto;gap:13px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:15px}.saved-outfit-preview{display:grid;grid-template-columns:1fr 1fr;width:90px;height:70px;border-radius:10px;overflow:hidden}.saved-outfit-preview img{width:100%;height:100%;object-fit:cover}.planner-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.planner-day{min-height:130px;border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:10px;background:#101214}.planner-day.today{border-color:#f4c963}.planner-date{font-size:11px;color:#8c8f92}.planner-outfit{margin-top:10px;display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:center}.planner-outfit img{width:40px;height:40px;border-radius:9px;object-fit:cover}.diary-grid{display:grid;grid-template-columns:340px 1fr;gap:18px}.diary-card{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#111315}.diary-card time{font-size:11px;color:#8e9193}.diary-card p{color:#c8c9c5}.packing-layout{display:grid;grid-template-columns:360px 1fr;gap:18px}.packing-category{margin-top:14px}.packing-check{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}.packing-check input{width:18px;height:18px}.modal-backdrop{position:fixed;inset:0;z-index:5000;display:none;place-items:center;padding:20px;background:rgba(0,0,0,.78);backdrop-filter:blur(10px)}.modal-backdrop.open{display:grid}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:#101214;padding:24px}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.modal h2{margin:0}.upload-preview{display:grid;place-items:center;min-height:220px;border:1px dashed rgba(255,255,255,.2);border-radius:18px;overflow:hidden;background:#0b0c0d}.upload-preview img{width:100%;height:280px;object-fit:contain}.style-score{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:conic-gradient(#86c6a5 var(--score,70%),#24282b 0);position:relative}.style-score::after{content:"";position:absolute;inset:11px;border-radius:50%;background:#111315}.style-score strong{position:relative;z-index:1;font-size:30px}@media(max-width:1100px){.wardrobe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.closet-summary{grid-template-columns:repeat(2,1fr)}.outfit-builder,.diary-grid,.packing-layout{grid-template-columns:1fr}.planner-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.wardrobe-toolbar{grid-template-columns:1fr 1fr}.wardrobe-toolbar .input-with-icon{grid-column:1/-1}.wardrobe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.closet-summary{grid-template-columns:1fr 1fr}.outfit-canvas{grid-template-columns:1fr 1fr;min-height:auto;padding:10px}.outfit-slot{min-height:160px}.picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-grid{grid-template-columns:1fr}.planner-day{min-height:90px}}

/* ===== v24: visual dashboard, garment fallbacks ===== */
.wardrobe-image{position:relative;background:linear-gradient(160deg,#f7efe1,#e5dccc)}
.wardrobe-image img{position:relative;z-index:2}
.wardrobe-fallback{position:absolute;inset:0;z-index:1;display:grid;place-items:center}
.wardrobe-fallback svg{width:58%;height:58%;fill:color-mix(in srgb,var(--tint,#8b8d94) 78%,#2c2a28);stroke:color-mix(in srgb,var(--tint,#8b8d94) 45%,#1b1a19);stroke-width:1.6;stroke-linejoin:round}

.closet-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:26px;align-items:center}
.closet-hero .eyebrow{display:inline-block;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px}
.closet-hero h2{margin:0 0 8px}
.closet-hero-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.rail-item{position:relative;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:15px;overflow:hidden;background:linear-gradient(160deg,#f7efe1,#e5dccc);aspect-ratio:1/1;cursor:pointer;transition:transform .25s var(--ease,ease),border-color .25s ease;display:block}
.rail-item:hover{transform:translateY(-5px) scale(1.03);border-color:rgba(255,255,255,.4);z-index:3}
.rail-item img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;display:block}
.rail-item em{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:16px 8px 7px;font-style:normal;font-size:10.5px;line-height:1.25;font-weight:600;color:#fff;text-align:left;background:linear-gradient(to top,rgba(0,0,0,.82),transparent);opacity:0;transition:opacity .25s ease}
.rail-item:hover em{opacity:1}
.rail-empty{color:rgba(255,255,255,.55);font-size:13.5px;margin:0;grid-column:1/-1}
.balance-list{display:grid;gap:11px}
.balance-row{display:grid;grid-template-columns:96px 1fr 34px;gap:12px;align-items:center;font-size:13.5px}
.balance-row em{font-style:normal;text-align:right;color:rgba(255,255,255,.62);font-variant-numeric:tabular-nums}
.balance-bar{height:9px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}
.balance-bar b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#d8a7b4,#c9a461);transition:width .6s ease}
@media(max-width:960px){.closet-hero{grid-template-columns:1fr}.closet-hero-rail{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:640px){.closet-hero-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.balance-row{grid-template-columns:78px 1fr 30px}}
