/* =====================================================================
   Clay Admin — Claymorphism Dashboard
   Soft 3D, chunky, pastel, double shadows (inner + outer), rounded 16-24px
   Fully standalone — no dependency on ../auth-ui
   ===================================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* pastel palette */
  --peach:#FDBCB4;  --peach-deep:#F79489;
  --blue:#AED4F2;   --blue-deep:#7FB6E8;
  --mint:#A8E6CF;   --mint-deep:#6FCF97;
  --lilac:#D6C8F5;  --lilac-deep:#A98DE6;
  --primary:#7C6FF0; --primary-deep:#5A4BD6;
  --cta:#FF8A5C;

  /* surfaces (light) */
  --bg:#EDEAF6;
  --surface:#F4F1FB;
  --surface-2:#FBFAFE;
  --ink:#2C2746;
  --ink-soft:#6B6489;
  --line:rgba(124,111,240,.14);

  /* clay shadow recipe — outer drop + soft inner highlight */
  --clay: 6px 6px 16px rgba(124,111,240,.20),
          -6px -6px 16px rgba(255,255,255,.92),
          inset 2px 2px 5px rgba(255,255,255,.55),
          inset -3px -3px 7px rgba(124,111,240,.10);
  --clay-sm: 4px 4px 10px rgba(124,111,240,.18),
             -4px -4px 10px rgba(255,255,255,.9);
  --clay-press: inset 4px 4px 10px rgba(124,111,240,.22),
                inset -4px -4px 10px rgba(255,255,255,.85);

  --r:22px; --r-lg:28px; --r-sm:14px;
  --bw:3px;
  --bounce:cubic-bezier(.34,1.56,.64,1);
  --t:220ms var(--bounce);
}

[data-theme="dark"]{
  --bg:#1C1930;
  --surface:#252140;
  --surface-2:#2E2950;
  --ink:#ECE9F8;
  --ink-soft:#A49DC8;
  --line:rgba(255,255,255,.08);
  --clay: 6px 6px 16px rgba(0,0,0,.45),
          -6px -6px 16px rgba(255,255,255,.04),
          inset 2px 2px 5px rgba(255,255,255,.05),
          inset -3px -3px 7px rgba(0,0,0,.35);
  --clay-sm: 4px 4px 10px rgba(0,0,0,.4),
             -4px -4px 10px rgba(255,255,255,.04);
  --clay-press: inset 4px 4px 10px rgba(0,0,0,.5),
                inset -4px -4px 10px rgba(255,255,255,.05);
}

html{font-size:16px}
body{
  font-family:"Nunito",system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  transition:background .3s ease,color .3s ease;
}
h1,h2,h3,.logo__text,.stat__value,.page-title{font-family:"Baloo 2",cursive}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:8px}

/* ===================== LAYOUT ===================== */
.layout{display:grid;grid-template-columns:264px 1fr;min-height:100vh}

/* ===================== SIDEBAR ===================== */
.sidebar{
  background:var(--surface);
  margin:16px;border-radius:var(--r-lg);
  box-shadow:var(--clay);
  padding:22px 18px;
  display:flex;flex-direction:column;gap:18px;
  position:sticky;top:16px;height:calc(100vh - 32px);
}
.sidebar__brand{display:flex;align-items:center;gap:12px}
.logo{
  width:42px;height:42px;flex:none;display:grid;place-items:center;
  border-radius:14px;color:var(--primary);
  background:var(--surface-2);box-shadow:var(--clay-sm);
}
.logo svg{width:22px;height:22px}
.logo__text{font-size:1.3rem;font-weight:600}
.logo__text b{color:var(--primary)}
.sidebar__close{display:none;margin-left:auto;width:38px;height:38px;border-radius:12px}
.sidebar__close svg{width:20px;height:20px}

.nav{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}
.nav__label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);margin:14px 8px 4px}
.nav__item{
  display:flex;align-items:center;gap:13px;
  padding:12px 14px;border-radius:var(--r-sm);
  color:var(--ink-soft);font-weight:600;font-size:.95rem;
  transition:transform var(--t),color .2s,box-shadow .2s,background .2s;
}
.nav__ic{width:21px;height:21px;flex:none}
.nav__item:hover{color:var(--ink);background:var(--surface-2);transform:translateX(3px)}
.nav__item.is-active{
  color:var(--primary-deep);background:var(--surface-2);
  box-shadow:var(--clay-sm);
}
[data-theme="dark"] .nav__item.is-active{color:#C9BFFF}
.nav__badge{
  margin-left:auto;background:var(--cta);color:#fff;
  font-size:.74rem;font-weight:800;min-width:22px;height:22px;
  border-radius:11px;display:grid;place-items:center;padding:0 6px;
}

.upsell{
  background:linear-gradient(150deg,var(--lilac),var(--blue));
  border-radius:var(--r);padding:18px;text-align:center;color:#2C2746;
  box-shadow:var(--clay-sm);
}
.upsell__ic{display:inline-grid;place-items:center;width:44px;height:44px;
  border-radius:14px;background:rgba(255,255,255,.55);margin-bottom:8px}
.upsell__ic svg{width:24px;height:24px}
.upsell__title{font-family:"Baloo 2";font-weight:700;font-size:1.1rem}
.upsell__sub{font-size:.82rem;opacity:.8;margin:2px 0 12px}

.scrim{position:fixed;inset:0;background:rgba(28,25,48,.45);backdrop-filter:blur(2px);z-index:40}

/* ===================== MAIN ===================== */
.main{display:flex;flex-direction:column;min-width:0}

/* TOPBAR */
.topbar{
  display:flex;align-items:center;gap:16px;
  padding:22px 28px 6px;
}
.topbar__menu{display:none}
.search{
  flex:1;max-width:440px;position:relative;display:flex;align-items:center;
  background:var(--surface);border-radius:var(--r);
  box-shadow:var(--clay-press);padding:0 14px;
}
.search__ic{width:20px;height:20px;color:var(--ink-soft);flex:none}
.search input{
  flex:1;border:none;background:none;color:var(--ink);
  padding:13px 10px;font-size:.95rem;font-weight:600;
}
.search input::placeholder{color:var(--ink-soft)}
.search kbd{
  font-family:"Nunito";font-size:.78rem;font-weight:700;color:var(--ink-soft);
  background:var(--surface-2);border-radius:7px;padding:3px 8px;box-shadow:var(--clay-sm);
}

.topbar__actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.icon-btn{
  width:46px;height:46px;flex:none;display:grid;place-items:center;
  border-radius:15px;color:var(--ink);background:var(--surface);
  box-shadow:var(--clay-sm);transition:transform var(--t),box-shadow .2s;
}
.icon-btn svg{width:21px;height:21px}
.icon-btn:hover{transform:translateY(-2px)}
.icon-btn:active{box-shadow:var(--clay-press);transform:translateY(0)}
.icon-btn--dot{position:relative}
.icon-btn--dot::after{
  content:"";position:absolute;top:11px;right:12px;width:9px;height:9px;
  background:var(--cta);border-radius:50%;border:2px solid var(--surface);
}
.ic-moon{display:none}
[data-theme="dark"] .ic-sun{display:none}
[data-theme="dark"] .ic-moon{display:block}

.profile{
  display:flex;align-items:center;gap:11px;padding:7px 14px 7px 7px;
  border-radius:18px;background:var(--surface);box-shadow:var(--clay-sm);
  transition:transform var(--t)}
.profile:hover{transform:translateY(-2px)}
.profile__avatar{
  width:38px;height:38px;border-radius:12px;flex:none;display:grid;place-items:center;
  font-family:"Baloo 2";font-weight:700;color:#fff;
  background:linear-gradient(140deg,var(--primary),var(--lilac-deep));
}
.profile__meta{display:flex;flex-direction:column;line-height:1.2}
.profile__name{font-weight:700;font-size:.9rem}
.profile__role{font-size:.74rem;color:var(--ink-soft)}
.profile__chev{width:18px;height:18px;color:var(--ink-soft)}

/* CONTENT */
.content{padding:14px 28px 36px;display:flex;flex-direction:column;gap:22px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.page-title{font-size:2rem;font-weight:700;line-height:1.1}
.page-sub{color:var(--ink-soft);font-weight:600;margin-top:2px}
.page-head__actions{display:flex;gap:12px;flex-wrap:wrap}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:12px 20px;border-radius:16px;font-weight:700;font-size:.92rem;
  background:var(--surface);color:var(--ink);box-shadow:var(--clay-sm);
  transition:transform var(--t),box-shadow .2s,filter .2s;
}
.btn svg{width:18px;height:18px}
.btn:hover{transform:translateY(-2px)}
.btn:active{box-shadow:var(--clay-press);transform:translateY(0)}
.btn--clay{
  background:linear-gradient(140deg,var(--primary),var(--primary-deep));
  color:#fff;
  box-shadow:6px 6px 14px rgba(90,75,214,.35),-4px -4px 10px rgba(255,255,255,.5),
             inset 2px 2px 5px rgba(255,255,255,.3),inset -3px -3px 6px rgba(90,75,214,.4);
}
.btn--clay:hover{filter:brightness(1.06)}
.btn--ghost{background:transparent;box-shadow:none;border:var(--bw) solid var(--line);color:var(--ink-soft)}
.btn--ghost:hover{color:var(--ink);background:var(--surface)}
.btn--block{width:100%;justify-content:center}
.btn--sm{padding:9px 15px;font-size:.85rem;border-radius:13px}

/* ===================== STAT CARDS ===================== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{
  background:var(--surface);border-radius:var(--r);padding:22px;
  box-shadow:var(--clay);position:relative;overflow:hidden;
  transition:transform var(--t)}
.stat:hover{transform:translateY(-4px)}
.stat__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.stat__ic{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff;box-shadow:var(--clay-sm)}
.stat__ic svg{width:24px;height:24px}
.stat--peach .stat__ic{background:linear-gradient(140deg,var(--peach),var(--peach-deep))}
.stat--blue  .stat__ic{background:linear-gradient(140deg,var(--blue),var(--blue-deep))}
.stat--mint  .stat__ic{background:linear-gradient(140deg,var(--mint),var(--mint-deep))}
.stat--lilac .stat__ic{background:linear-gradient(140deg,var(--lilac),var(--lilac-deep))}
.stat__value{font-size:1.95rem;font-weight:700;line-height:1}
.stat__label{color:var(--ink-soft);font-weight:600;font-size:.9rem;margin-top:4px}
.chip{font-size:.78rem;font-weight:800;padding:5px 10px;border-radius:11px}
.chip--up{color:#1f9d63;background:rgba(111,207,151,.22)}
.chip--down{color:#d65a5a;background:rgba(247,148,137,.24)}
.spark{display:flex;align-items:flex-end;gap:4px;height:34px;margin-top:14px}
.spark i{flex:1;border-radius:5px 5px 3px 3px;background:linear-gradient(var(--primary),var(--lilac));opacity:.55}

/* ===================== GRID / CARDS ===================== */
.grid{display:grid;gap:20px}
.grid--2{grid-template-columns:1.4fr 1fr}
.grid--table{grid-template-columns:1.55fr 1fr}
.card{
  background:var(--surface);border-radius:var(--r);padding:22px;box-shadow:var(--clay);
}
.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.card__title{font-size:1.2rem;font-weight:700}
.card__sub{color:var(--ink-soft);font-weight:600;font-size:.85rem;margin-top:1px}

.seg{display:inline-flex;background:var(--bg);border-radius:13px;padding:4px;box-shadow:var(--clay-press);gap:2px}
.seg__btn{padding:7px 14px;border-radius:10px;font-weight:700;font-size:.82rem;color:var(--ink-soft);transition:.2s}
.seg__btn.is-active{background:var(--surface);color:var(--primary-deep);box-shadow:var(--clay-sm)}

/* BAR CHART */
.chart{display:flex;align-items:flex-end;gap:14px;height:230px;padding-top:10px}
.chart .bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%}
.chart .bars{flex:1;display:flex;align-items:flex-end;gap:5px;width:100%;justify-content:center}
.chart .bar{
  width:46%;max-width:26px;border-radius:9px 9px 4px 4px;
  background:linear-gradient(var(--primary),var(--primary-deep));
  box-shadow:var(--clay-sm);transition:height .8s var(--bounce),filter .2s;
  height:0;
}
.chart .bar--muted{background:linear-gradient(var(--lilac),var(--lilac-deep));opacity:.7}
.chart .bar:hover{filter:brightness(1.1)}
.chart .bar-label{font-size:.76rem;font-weight:700;color:var(--ink-soft)}
.chart__legend{display:flex;gap:20px;margin-top:14px;font-size:.82rem;font-weight:700;color:var(--ink-soft)}
.chart__legend span{display:flex;align-items:center;gap:7px}
.dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.dot--primary{background:var(--primary)}
.dot--muted{background:var(--lilac-deep)}

/* DONUT */
.donut-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center}
.donut{
  width:170px;height:170px;border-radius:50%;flex:none;position:relative;
  box-shadow:var(--clay);
}
.donut::after{
  content:attr(data-total);position:absolute;inset:30px;border-radius:50%;
  background:var(--surface);box-shadow:var(--clay-press);
  display:grid;place-items:center;font-family:"Baloo 2";font-weight:700;font-size:1.5rem;color:var(--ink);
}
.donut__legend{display:flex;flex-direction:column;gap:11px;font-weight:600}
.donut__legend li{display:flex;align-items:center;gap:10px;font-size:.9rem}
.donut__legend .lg-dot{width:13px;height:13px;border-radius:5px;flex:none}
.donut__legend b{margin-left:auto;font-family:"Baloo 2"}

/* TABLE */
.table-wrap{overflow-x:auto}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table th{
  text-align:left;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  color:var(--ink-soft);padding:0 16px 6px}
.table td{padding:14px 16px;font-weight:600;font-size:.92rem;background:var(--surface-2);transition:.2s}
.table tbody tr td:first-child{border-radius:14px 0 0 14px}
.table tbody tr td:last-child{border-radius:0 14px 14px 0}
.table tbody tr:hover td{background:var(--bg)}
.cust{display:flex;align-items:center;gap:11px}
.cust__av{width:36px;height:36px;border-radius:11px;flex:none;display:grid;place-items:center;
  font-family:"Baloo 2";font-weight:700;color:#fff;font-size:.85rem}
.tag{font-size:.76rem;font-weight:800;padding:5px 12px;border-radius:11px;display:inline-block}
.tag--paid{color:#1f9d63;background:rgba(111,207,151,.22)}
.tag--pending{color:#c98a1f;background:rgba(253,188,180,.3)}
.tag--refund{color:#d65a5a;background:rgba(247,148,137,.24)}

/* FEED */
.feed{display:flex;flex-direction:column;gap:4px}
.feed li{display:flex;gap:13px;padding:11px 8px;border-radius:14px;transition:.2s}
.feed li:hover{background:var(--surface-2)}
.feed__ic{width:38px;height:38px;border-radius:12px;flex:none;display:grid;place-items:center;color:#fff;box-shadow:var(--clay-sm)}
.feed__ic svg{width:18px;height:18px}
.feed__txt{font-size:.9rem;font-weight:600;line-height:1.35}
.feed__txt b{font-weight:800}
.feed__time{font-size:.78rem;color:var(--ink-soft);font-weight:600}

/* TOAST */
.toast{
  position:fixed;left:50%;bottom:28px;
  transform:translate(-50%,calc(100% + 48px));
  background:var(--ink);color:var(--surface-2);
  padding:14px 22px;border-radius:16px;font-weight:700;font-size:.9rem;
  box-shadow:0 12px 30px rgba(0,0,0,.3);z-index:60;max-width:90vw;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .35s var(--bounce),opacity .25s ease,visibility .35s;
}
[data-theme="dark"] .toast{background:var(--surface-2);color:var(--ink)}
.toast.show{transform:translate(-50%,0);opacity:1;visibility:visible}

/* ===================== RESPONSIVE ===================== */

/* Tablet landscape — stack the wide grids, 2-up stats */
@media (max-width:1100px){
  .grid--2,.grid--table{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
}

/* Tablet / large phone — sidebar becomes an off-canvas drawer */
@media (max-width:860px){
  .layout{grid-template-columns:1fr}
  .sidebar{
    position:fixed;left:0;top:0;z-index:50;margin:0;height:100dvh;border-radius:0 var(--r-lg) var(--r-lg) 0;
    width:min(280px,82vw);transform:translateX(-105%);transition:transform .35s var(--bounce);
  }
  .sidebar.open{transform:translateX(0)}
  .sidebar__close{display:grid;place-items:center}
  .topbar__menu{display:grid;place-items:center}
  .profile__meta{display:none}
  .profile__chev{display:none}
  .profile{padding:7px}
  .donut-wrap{flex-direction:column}
}

/* Phone — topbar wraps so search gets its own full-width row */
@media (max-width:600px){
  .stats{grid-template-columns:1fr}
  .topbar{flex-wrap:wrap;row-gap:12px;padding:16px 16px 4px}
  .topbar__menu{order:1}
  .topbar__actions{order:2;margin-left:auto}
  .search{order:3;flex:1 0 100%;max-width:none}
  .content{padding:10px 16px 28px}
  .page-head{align-items:stretch}
  .page-head__actions{width:100%}
  .page-head__actions .btn{flex:1;justify-content:center}
  .page-title{font-size:1.6rem}
  .search kbd{display:none}
  .chart{gap:7px;height:200px}
  .card,.stat{padding:18px}

  /* Stat cards back to a comfortable 2-up so numbers stay big & readable */
  .stat__value{font-size:2.1rem}
  .spark{height:30px}

  /* ----- Orders table → stacked labeled cards (no clipped data) ----- */
  .table-wrap{overflow:visible}
  .table{border-spacing:0}
  .table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .table tbody tr{
    display:block;background:var(--surface-2);border-radius:var(--r-sm);
    box-shadow:var(--clay-sm);padding:6px 4px;margin-bottom:12px;
  }
  .table td{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    background:none!important;padding:9px 14px;border-radius:0!important;
    font-size:.95rem;text-align:right;
  }
  .table td::before{
    content:attr(data-label);
    font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
    color:var(--ink-soft);text-align:left;flex:none;
  }
  .table td[data-label="Customer"]{justify-content:flex-start}
  .table td[data-label="Customer"]::before{display:none}
  .cust{gap:12px}

  /* Donut: center it and let legend sit full-width below */
  .donut__legend{width:100%;max-width:240px}
}

/* Small phone — tighten further, single-line table scroll */
@media (max-width:380px){
  .topbar__actions{gap:8px}
  .icon-btn{width:42px;height:42px}
  .btn{padding:11px 16px}
  .page-title{font-size:1.42rem}
  .stat__value{font-size:1.7rem}
  .donut{width:150px;height:150px}
}

/* Bigger touch targets on touch devices */
@media (hover:none){
  .nav__item{padding:14px}
  .seg__btn{padding:9px 14px}
}

@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
