/* ============================================================
   BRIDAL WEAR HOUSE · OWNER / ADMIN PANEL
   ============================================================ */
.panel{display:grid;grid-template-columns:262px 1fr;min-height:100vh;background:#f6f0e4}
.pl-side{position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#171108,#100b05 60%,#1b1207);color:#e9dfcc;padding:1.1rem .8rem;display:flex;flex-direction:column;gap:.6rem;z-index:5;border-right:1px solid rgba(238,196,110,.16)}
.pl-brand{display:flex;align-items:center;gap:.65rem;padding:.4rem .5rem 1rem;border-bottom:1px solid rgba(238,196,110,.14);margin-bottom:.5rem}
.pl-brand img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(238,196,110,.4))}
.pl-brand b{display:block;font-family:var(--script);font-size:1.4rem;color:var(--gold-300);line-height:1;font-weight:400}
.pl-brand small{font-size:.54rem;letter-spacing:.24em;color:rgba(233,223,204,.5);text-transform:uppercase}
.pl-role{margin-left:auto;font-size:.5rem;letter-spacing:.14em;padding:.25em .5em;border-radius:99px;background:rgba(238,196,110,.16);color:var(--gold-200);text-transform:uppercase;font-weight:800;border:1px solid rgba(238,196,110,.3)}
.pl-nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1}
.pl-nav .pn-group{font-size:.52rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(233,223,204,.32);padding:.9rem .7rem .3rem;font-weight:800}
.pn-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border-radius:10px;font-size:.8rem;font-weight:500;color:rgba(233,223,204,.74);transition:.22s;text-align:left;width:100%}
.pn-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 16px}
.pn-item:hover{background:rgba(238,196,110,.1);color:#fff}
.pn-item.on{background:linear-gradient(100deg,rgba(238,196,110,.24),rgba(238,196,110,.08));color:var(--gold-200);box-shadow:inset 2px 0 0 var(--gold-400)}
.pn-item .pn-badge{margin-left:auto;font-size:.55rem;font-weight:800;padding:.1em .45em;border-radius:99px;background:rgba(238,196,110,.24);color:var(--gold-100)}
.pl-foot{padding-top:.7rem;border-top:1px solid rgba(238,196,110,.14);display:flex;flex-direction:column;gap:.4rem}
.pl-user{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:10px;background:rgba(255,255,255,.04);font-size:.74rem}
.pl-user .pu-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#f7e0a4,#d99f3e);color:#2b1c05;font-weight:800;font-size:.72rem;flex:0 0 30px}
.pl-user b{display:block;font-size:.74rem;color:#fff}
.pl-user small{color:rgba(233,223,204,.45);font-size:.62rem}

.pl-main{min-width:0;display:flex;flex-direction:column}
.pl-top{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:.8rem;padding:.8rem clamp(14px,3vw,26px);background:rgba(255,253,249,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.pl-top h1{font-family:var(--serif);font-size:1.35rem;font-weight:500;margin-right:auto}
.pl-top .pt-sub{font-size:.72rem;color:var(--ink-4);display:block;margin-top:1px}
.pl-top-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.pl-body{padding:clamp(14px,3vw,26px);display:flex;flex-direction:column;gap:1.1rem;max-width:1220px;width:100%}
.pl-view{display:none;flex-direction:column;gap:1.1rem}
.pl-view.on{display:flex;animation:fadeUp .45s var(--ease-out)}

/* cards */
.card{background:#fffdf9;border:1px solid var(--line-soft);border-radius:18px;box-shadow:var(--shadow-s);overflow:hidden}
.card-head{display:flex;align-items:center;gap:.7rem;padding:.95rem 1.1rem;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.card-head h3{font-family:var(--serif);font-size:1.18rem;font-weight:500;margin-right:auto}
.card-head .ch-hint{font-size:.7rem;color:var(--ink-4)}
.card-body{padding:1.1rem}
.card-body.tight{padding:.7rem}
.card-foot{padding:.8rem 1.1rem;border-top:1px solid var(--line-soft);background:rgba(248,241,227,.5);display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem}
.stat{padding:1rem 1.1rem;border-radius:16px;background:linear-gradient(160deg,#fffdf9,#fbf2e0);border:1px solid var(--line-soft);position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;right:-20%;bottom:-40%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(238,196,110,.22),transparent 66%)}
.stat b{display:block;font-family:var(--serif);font-size:1.85rem;color:var(--ink);line-height:1;margin-bottom:.25rem}
.stat span{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);font-weight:700}
.stat .st-delta{font-size:.66rem;color:#2e7d46;font-weight:700;margin-top:.2rem;display:block}

/* list rows */
.prow{display:grid;grid-template-columns:54px 1.6fr 1fr auto;gap:.8rem;align-items:center;padding:.65rem .8rem;border-radius:12px;border:1px solid var(--line-soft);background:rgba(255,253,249,.7);margin-bottom:.5rem}
.prow:hover{background:#fff;border-color:var(--gold-200)}
.prow .pr-thumb{width:54px;height:66px;border-radius:8px;overflow:hidden;background:#eee;position:relative}
.prow .pr-thumb img{width:100%;height:100%;object-fit:cover}
.prow .pr-thumb video{width:100%;height:100%;object-fit:cover}
.prow .pr-thumb .vid-badge{position:absolute;left:3px;bottom:3px;font-size:.45rem;background:rgba(0,0,0,.7);color:#fff;padding:1px 4px;border-radius:3px;letter-spacing:.06em}
.prow h5{font-family:var(--serif);font-size:1rem;font-weight:500;line-height:1.2}
.prow .pr-meta{font-size:.66rem;color:var(--ink-4);margin-top:.15rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.prow .pr-tag{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;padding:.15em .5em;border-radius:99px;background:rgba(238,196,110,.24);color:var(--gold-700)}
.prow .pr-tag.off{background:rgba(199,74,54,.12);color:#a33a26}
.prow .pr-price{font-size:.82rem;font-weight:700;text-align:right}
.prow .pr-price small{display:block;font-size:.6rem;color:var(--ink-4);font-weight:600}
.prow .pr-actions{display:flex;gap:.25rem}
.prow .pr-actions .icon-btn{width:32px;height:32px;border-radius:9px}
.prow .pr-actions .icon-btn svg{width:14px;height:14px}
.prow .pr-actions .icon-btn:hover{background:rgba(238,196,110,.2)}
.icon-btn.danger:hover{background:rgba(199,74,54,.12);color:#a33a26}

/* media manager */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.55rem}
.media-tile{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/4;background:#eee;border:1px solid var(--line-soft)}
.media-tile img,.media-tile video{width:100%;height:100%;object-fit:cover}
.media-tile .mt-actions{position:absolute;inset:auto 0 0 0;display:flex;gap:2px;padding:3px;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);opacity:0;transition:.25s}
.media-tile:hover .mt-actions{opacity:1}
.media-tile .mt-actions button{flex:1;height:22px;border-radius:5px;background:rgba(255,255,255,.9);display:grid;place-items:center;font-size:.6rem;color:var(--ink)}
.media-tile .mt-actions svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8}
.media-tile .mt-cover{position:absolute;left:3px;top:3px;font-size:.45rem;background:var(--gold-500);color:#fff;padding:1px 4px;border-radius:3px;letter-spacing:.05em;font-weight:800}
.media-tile .mt-vid{position:absolute;right:3px;top:3px;font-size:.45rem;background:rgba(0,0,0,.7);color:#fff;padding:1px 4px;border-radius:3px;letter-spacing:.05em}
.upload-bar{height:5px;border-radius:99px;background:rgba(173,114,31,.14);overflow:hidden;margin-top:.5rem;display:none}
.upload-bar.on{display:block}
.upload-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#eec46e,#cf8f2c);transition:width .2s}
.up-status{font-size:.68rem;color:var(--ink-4);margin-top:.3rem;display:none}
.up-status.on{display:block}

/* color + layout pickers */
.swatch-row{display:flex;gap:.5rem;flex-wrap:wrap}
.swatch{width:44px;height:44px;border-radius:12px;border:2px solid transparent;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);cursor:pointer;transition:.25s}
.swatch.on{border-color:var(--gold-600);box-shadow:0 0 0 3px rgba(238,196,110,.28)}
.swatch span{position:absolute;left:50%;bottom:-1.3rem;transform:translateX(-50%);font-size:.5rem;color:var(--ink-4);white-space:nowrap}
.layout-pick{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.layout-opt{border:1.5px solid var(--line-soft);border-radius:14px;padding:.8rem;background:rgba(255,253,249,.7);cursor:pointer;transition:.25s;text-align:center}
.layout-opt:hover{border-color:var(--gold-300)}
.layout-opt.on{border-color:var(--gold-500);background:linear-gradient(160deg,#fffdf9,#fbf1da);box-shadow:0 0 0 3px rgba(238,196,110,.2)}
.layout-opt b{display:block;font-size:.78rem;margin-top:.4rem}
.layout-opt small{font-size:.64rem;color:var(--ink-4)}
.layout-opt .lo-art{height:56px;display:grid;place-items:center}
.layout-opt .lo-art svg{width:100%;height:100%;max-width:110px}

/* SEO */
.seo-score{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:16px;background:linear-gradient(160deg,#fffdf9,#fbf2e0);border:1px solid var(--line-soft)}
.seo-ring{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold-500) 0deg,var(--gold-500) var(--deg,0deg),rgba(173,114,31,.14) var(--deg,0deg));position:relative;flex:0 0 72px}
.seo-ring::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fffdf9}
.seo-ring b{position:relative;z-index:2;font-family:var(--serif);font-size:1.3rem;color:var(--gold-700)}
.kw-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.kw{display:inline-flex;align-items:center;gap:.35rem;padding:.35em .7em;border-radius:99px;background:rgba(238,196,110,.2);border:1px solid rgba(173,114,31,.18);font-size:.7rem;color:var(--ink-2)}
.kw button{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;line-height:1;color:var(--ink-4)}
.kw button:hover{background:rgba(199,74,54,.16);color:#a33a26}
.code-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;background:#1a1309;color:#f7e7c5;padding:1rem;border-radius:12px;overflow-x:auto;line-height:1.6;white-space:pre-wrap;word-break:break-word}

/* generic inline icons inside panel utility chips */
.mr-ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* inbox / requests */
.inbox-item{display:grid;grid-template-columns:44px 1fr auto;gap:.8rem;padding:.8rem;border-radius:14px;border:1px solid var(--line-soft);background:rgba(255,253,249,.75);margin-bottom:.55rem;align-items:start}
.inbox-item img{width:44px;height:56px;border-radius:8px;object-fit:cover;background:#eee}
.inbox-item h5{font-family:var(--serif);font-size:1rem;font-weight:500}
.inbox-item .ib-meta{font-size:.68rem;color:var(--ink-4);margin-top:.1rem}
.inbox-item p{font-size:.78rem;color:var(--ink-3);margin-top:.3rem;line-height:1.5}
.inbox-item .ib-time{font-size:.62rem;color:var(--ink-4);white-space:nowrap}
.inbox-item.unread{border-color:rgba(238,196,110,.6);background:linear-gradient(160deg,#fffdf9,#fdf5e3)}

/* tabs */
.tabs{display:flex;gap:.35rem;flex-wrap:wrap;border-bottom:1px solid var(--line-soft);margin-bottom:1rem}
.tab{padding:.55em 1em;font-size:.76rem;font-weight:600;color:var(--ink-3);border-radius:10px 10px 0 0;position:relative;transition:.25s}
.tab.on{color:var(--gold-700);background:rgba(238,196,110,.16)}
.tab.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold-500)}
.tab-panel{display:none}
.tab-panel.on{display:block;animation:fadeUp .35s var(--ease-out)}

/* permission matrix */
.matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:.8rem}
.matrix th,.matrix td{padding:.6rem .7rem;text-align:left;border-bottom:1px solid var(--line-soft)}
.matrix th{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);font-weight:800}
.matrix td:first-child{font-weight:600}
.matrix .muted{font-size:.72rem}

/* sticky save */
.save-bar{position:sticky;bottom:12px;z-index:6;display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:14px;background:rgba(21,16,9,.94);color:#fff8ea;box-shadow:var(--shadow-l);border:1px solid rgba(238,196,110,.3);backdrop-filter:blur(8px)}
.save-bar .sb-txt{font-size:.74rem;color:rgba(255,248,234,.7);margin-right:auto}
.save-bar .sb-txt b{color:var(--gold-300)}

/* login */
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:18px;
  background:radial-gradient(circle at 50% 20%,#fffdf8,#fbf2df 48%,#f2ddb4 100%)}
.auth-card{width:100%;max-width:420px;padding:clamp(1.4rem,4vw,2.2rem);border-radius:var(--r-xl);
  background:rgba(255,253,249,.92);border:1px solid var(--line);box-shadow:var(--shadow-l);backdrop-filter:blur(12px);position:relative;overflow:hidden}
.auth-card::before{content:"";position:absolute;left:50%;top:-40%;width:80%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(238,196,110,.3),transparent 68%);pointer-events:none}
.auth-logo{width:92px;height:92px;object-fit:contain;margin:0 auto .8rem;animation:coinFloat 5s ease-in-out infinite;position:relative}
.auth-card h2{font-family:var(--serif);font-size:1.8rem;text-align:center;font-weight:500;position:relative}
.auth-card .a-sub{text-align:center;font-size:.8rem;color:var(--ink-4);margin:.3rem 0 1.2rem;position:relative}
.role-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.28rem;border-radius:12px;background:rgba(173,114,31,.1);margin-bottom:1.1rem;position:relative}
.role-tabs button{padding:.55em .3em;border-radius:9px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);transition:.25s}
.role-tabs button.on{background:#fffdf9;color:var(--gold-700);box-shadow:0 2px 8px rgba(79,56,18,.12)}
.auth-note{font-size:.68rem;color:var(--ink-4);text-align:center;line-height:1.55;margin-top:1rem}
.auth-back{position:absolute;top:14px;left:16px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-700);font-weight:700}
.demo-creds{margin-top:1rem;padding:.75rem .9rem;border-radius:12px;background:rgba(238,196,110,.14);border:1px dashed rgba(173,114,31,.35);font-size:.68rem;line-height:1.65;color:var(--ink-3)}
.demo-creds b{color:var(--gold-700)}
.demo-creds code{background:#fff;padding:.05em .4em;border-radius:4px;font-size:.68rem;color:var(--ink)}

@media(max-width:980px){
  .panel{grid-template-columns:1fr}
  .pl-side{position:fixed;left:0;top:0;width:262px;transform:translateX(-104%);transition:transform .4s var(--ease-out);height:100dvh}
  body.pl-open .pl-side{transform:none}
  .pl-side-scrim{position:fixed;inset:0;background:rgba(21,16,9,.5);z-index:4;opacity:0;pointer-events:none;transition:.3s}
  body.pl-open .pl-side-scrim{opacity:1;pointer-events:auto}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .prow{grid-template-columns:46px 1fr auto;grid-template-areas:"thumb main actions" "thumb meta actions"}
  .prow .pr-thumb{grid-area:thumb;width:46px;height:58px}
  .prow .pr-main{grid-area:main}
  .prow .pr-meta-block{grid-area:meta}
  .prow .pr-actions{grid-area:actions;flex-direction:column}
  .seo-score{flex-direction:column;align-items:flex-start}
  .pay-sheet{grid-template-columns:1fr}
  .pay-sheet img{width:110px;height:110px}
}
@media(max-width:640px){
  .pl-top h1{font-size:1.1rem;width:100%;margin-right:0}
  .pl-top .pl-top-actions{margin-left:auto}
  .prow .pr-price{font-size:.74rem}
  .media-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}
  .role-tabs{grid-template-columns:1fr 1fr 1fr}
}

.portal-role-badge{display:inline-flex;align-items:center;justify-content:center;padding:.48rem .82rem;margin:0 0 .9rem;border:1px solid rgba(190,132,43,.32);border-radius:999px;background:rgba(247,220,160,.22);color:var(--gold-700);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.publish-summary{display:flex;flex-direction:column;gap:.25rem;margin:.8rem 0;padding:.85rem 1rem;border:1px solid rgba(190,132,43,.24);border-radius:14px;background:rgba(251,241,218,.5)}.publish-summary b{font-family:var(--serif);font-size:1rem}.publish-summary small{color:var(--ink-3);line-height:1.55}
