/* === Web/Views/home.php === */
    :root{
      --bg: #07080a;
      --fg: rgba(255,255,255,0.92);
      --muted: rgba(255,255,255,0.65);

      --glass: rgba(255,255,255,0.07);
      --border: rgba(255,255,255,0.14);
      --shadow: 0 18px 60px rgba(0,0,0,0.45);
      --accent: #c49a6c;
      --radius: 18px;
    }

    *{ box-sizing:border-box; margin:0; padding:0; }
    html, body{ height:100%; }
    body{
      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
      background: var(--bg);
      color: var(--fg);
      line-height: 1.6;
      overflow-x: hidden;
    }
    a{ color:inherit; text-decoration:none; }

    .site-banner{
      position: sticky;
      top: 0;
      z-index: 5;
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      background: linear-gradient(135deg, rgba(196,154,108,0.25), rgba(255,255,255,0.08));
      border-bottom: 1px solid rgba(255,255,255,0.16);
    }
    .site-banner[hidden]{ display:none; }
    .site-banner__inner{
      max-width: 1200px;
      margin: 0 auto;
      padding: 0.7rem 2rem;
      display:flex;
      align-items:center;
      justify-content: space-between;
      gap: 1rem;
      color: rgba(255,255,255,0.92);
      font-size: 0.95rem;
    }
    .site-banner__close{
      border: 1px solid rgba(255,255,255,0.25);
      background: rgba(255,255,255,0.08);
      color: rgba(255,255,255,0.9);
      border-radius: 999px;
      padding: 0.35rem 0.75rem;
      font-size: 0.85rem;
      cursor: pointer;
    }
    .site-banner__close:hover{
      background: rgba(255,255,255,0.14);
      border-color: rgba(255,255,255,0.35);
    }

    /* Background layers */
    .bg{
      position: fixed; inset: 0; z-index: -2;
      background:
        radial-gradient(1200px 900px at 10% 10%, rgba(255,122,122,0.12), transparent 60%),
        radial-gradient(900px 700px at 90% 20%, rgba(106,204,255,0.14), transparent 55%),
        radial-gradient(1000px 800px at 70% 90%, rgba(170,116,255,0.12), transparent 60%),
        radial-gradient(900px 800px at 25% 80%, rgba(255,210,97,0.10), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.10));
    }

    .orbs{
      position: fixed; inset: -20vh -20vw; z-index: -1;
      filter: blur(60px) saturate(140%);
      opacity: 0.9;
      pointer-events:none;
    }
    .orb{
      position:absolute;
      width:55vmax; height:55vmax; border-radius:999px;
      mix-blend-mode: screen; opacity:0.55;
      transform: translate3d(0,0,0);
      animation: float 16s ease-in-out infinite;
    }
    .orb:nth-child(1){
      left:-10vmax; top:-8vmax;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,110,110,0.55), transparent 60%),
        radial-gradient(circle at 70% 70%, rgba(255,206,102,0.35), transparent 65%);
      animation-duration: 18s;
    }
    .orb:nth-child(2){
      right:-18vmax; top:6vmax;
      background:
        radial-gradient(circle at 40% 30%, rgba(110,205,255,0.55), transparent 60%),
        radial-gradient(circle at 70% 70%, rgba(160,120,255,0.40), transparent 65%);
      animation-duration: 22s;
      animation-delay: -6s;
    }
    .orb:nth-child(3){
      left:10vmax; bottom:-22vmax;
      background:
        radial-gradient(circle at 30% 30%, rgba(170,116,255,0.55), transparent 60%),
        radial-gradient(circle at 70% 70%, rgba(106,204,255,0.35), transparent 65%);
      animation-duration: 26s;
      animation-delay: -10s;
    }
    @keyframes float{
      0%{ transform: translate3d(0,0,0) scale(1); }
      25%{ transform: translate3d(6vmax,-3vmax,0) scale(1.05); }
      50%{ transform: translate3d(2vmax,5vmax,0) scale(0.98); }
      75%{ transform: translate3d(-5vmax,2vmax,0) scale(1.06); }
      100%{ transform: translate3d(0,0,0) scale(1); }
    }

    .grain{
      position: fixed; inset: 0; z-index: 0; pointer-events:none;
      opacity:0.08;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
      background-size:180px 180px;
      mix-blend-mode: overlay;
    }

    /* Layout */
    .container{
      max-width:1200px;
      margin:0 auto;
      padding:2rem;
      position:relative;
      z-index: 1;
    }

    /* Glass primitive */
    .glass{
      background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.05));
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      position: relative;
      overflow:hidden;
    }
    .glass::before{
      content:"";
      position:absolute; inset:0;
      background:
        radial-gradient(1200px 300px at 10% 0%, rgba(255,255,255,0.18), transparent 50%),
        radial-gradient(900px 240px at 90% 0%, rgba(255,255,255,0.10), transparent 55%);
      pointer-events:none;
    }
    .glass::after{
      content:"";
      position:absolute; inset:0;
      border-radius:inherit;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.15);
      pointer-events:none;
    }

    header{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:1rem;
    }
    .brand{
      display:flex; align-items:center; gap:0.75rem;
      font-weight:600; letter-spacing:0.03em;
    }
    .logo-dot{
      width:11px; height:11px; border-radius:999px;
      background: linear-gradient(135deg, rgba(255,210,97,0.95), rgba(110,205,255,0.95));
      box-shadow: 0 0 22px rgba(110,205,255,0.25);
    }

    nav.nav{
      display:flex; gap:0.6rem; flex-wrap:wrap; justify-content:flex-end;
    }
    nav.nav a{
      color: var(--muted);
      font-size:0.9rem;
      padding:0.55rem 0.85rem;
      border-radius:999px;
      border:1px solid transparent;
      transition: all 180ms ease;
    }
    nav.nav a:hover{
      color: var(--fg);
      border-color: rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.06);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }
    nav.nav a.active{
      color: var(--fg);
      border-color: rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.08);
    }

    /* Page layout helpers */
    .page{
      margin-top: 2rem;
      padding: 2.2rem;
    }
    .page-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap: 1.2rem;
    }

    .hero-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap: 2.2rem;
      align-items:center;
    }
    h1{
      font-size: clamp(2.4rem, 5vw, 4.2rem);
      font-weight: 500;
      line-height: 1.05;
      letter-spacing: -0.02em;
    }
    .lead{
      max-width: 700px;
      color: var(--muted);
      font-size: 1.05rem;
      margin-top: 1rem;
    }

    .notice{
      margin-top: 1rem;
      padding: 0.9rem 1rem;
      border-radius: 12px;
      border: 1px solid rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.06);
      color: rgba(255,255,255,0.9);
      font-size: 0.95rem;
    }
    .notice.error{
      border-color: rgba(255,110,110,0.4);
      background: rgba(255,110,110,0.12);
      color: rgba(255,255,255,0.95);
    }

    .pillrow{
      display:flex; flex-wrap:wrap; gap:0.6rem;
      margin-top: 1.2rem;
    }
    .pill{
      display:inline-flex; align-items:center; gap:0.5rem;
      padding:0.45rem 0.75rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.06);
      color: rgba(255,255,255,0.75);
      font-size: 0.85rem;
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }
    .pill .dot{ width:7px; height:7px; border-radius:999px; background: rgba(255,255,255,0.55); }

    .cta-row{
      display:flex; flex-wrap:wrap; gap:0.8rem;
      margin-top: 1.8rem;
    }
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:0.6rem;
      padding:0.95rem 1.2rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.16);
      background: rgba(255,255,255,0.06);
      color: var(--fg);
      font-size:0.95rem;
      transition: all 180ms ease;
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .btn:hover{
      transform: translateY(-1px);
      border-color: rgba(255,255,255,0.22);
      background: rgba(255,255,255,0.09);
      box-shadow: 0 20px 60px rgba(0,0,0,0.40);
    }
    .btn.primary{
      border-color: rgba(196,154,108,0.35);
      background: linear-gradient(135deg, rgba(196,154,108,0.25), rgba(255,255,255,0.06));
    }
    .btn.primary:hover{
      border-color: rgba(196,154,108,0.55);
    }

    .section-title{
      font-size: 0.78rem;
      letter-spacing: 0.22em;
      color: rgba(255,255,255,0.55);
      margin: 1.8rem 0 1rem;
      padding-left: 0.25rem;
    }
    .cards{
      display:grid;
      grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
      gap: 1.2rem;
    }
    .card{ padding: 1.4rem; }
    .card h3{
      font-size: 1.05rem;
      font-weight: 500;
      margin-bottom: 0.55rem;
      letter-spacing: -0.01em;
    }
    .card p{ font-size: 0.95rem; color: var(--muted); }

    .sidepanel{
      padding: 1.4rem;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.05);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }
    .sidepanel h3{
      font-size:0.95rem;
      font-weight:500;
      color: rgba(255,255,255,0.85);
      margin-bottom:0.8rem;
      letter-spacing:0.02em;
    }
    .meta{
      display:grid; gap:0.65rem;
      color: var(--muted);
      font-size:0.92rem;
    }
    .kv{
      display:flex;
      justify-content:space-between;
      gap:1rem;
      border-top: 1px solid rgba(255,255,255,0.10);
      padding-top:0.65rem;
    }
    .kv:first-child{ border-top:none; padding-top:0; }
    .kv span:last-child{ color: rgba(255,255,255,0.80); }

    #content{
      transition: opacity 220ms ease, transform 220ms ease;
    }
    #content.htmx-added{
      opacity: 0;
      transform: translateY(8px);
    }
    #content.htmx-settling{
      opacity: 1;
      transform: translateY(0);
    }

    footer{
      margin-top: 3.2rem;
      padding: 2.4rem 2rem;
      border-top: 1px solid rgba(255,255,255,0.10);
      text-align:center;
      color: rgba(255,255,255,0.60);
      font-size: 0.85rem;
      position:relative;
      z-index: 1;
    }

    @media (min-width: 820px){
      .page{ padding: 2.6rem; }
      .hero-grid{
        grid-template-columns: 1.3fr 0.9fr;
        gap: 2.8rem;
      }
    }

    @media (prefers-reduced-motion: reduce){
      .orb{ animation:none; }
      .btn:hover{ transform:none; }
      #content{ transition: none; }
      #content.htmx-added{ opacity: 1; transform: none; }
    }

/* === Web/Views/about.php === */
    /* IDENTICAL STYLESHEET */
    :root{--bg:#07080a;--fg:rgba(255,255,255,.92);--muted:rgba(255,255,255,.65);--glass:rgba(255,255,255,.07);--border:rgba(255,255,255,.14);--shadow:0 18px 60px rgba(0,0,0,.45);--accent:#c49a6c;--radius:18px}
    *{box-sizing:border-box;margin:0;padding:0} html,body{height:100%}
    body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden}
    a{color:inherit;text-decoration:none}
    .bg{position:fixed;inset:0;z-index:-2;background:radial-gradient(1200px 900px at 10% 10%, rgba(255,122,122,0.12), transparent 60%),radial-gradient(900px 700px at 90% 20%, rgba(106,204,255,0.14), transparent 55%),radial-gradient(1000px 800px at 70% 90%, rgba(170,116,255,0.12), transparent 60%),radial-gradient(900px 800px at 25% 80%, rgba(255,210,97,0.10), transparent 60%),linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.10))}
    .orbs{position:fixed;inset:-20vh -20vw;z-index:-1;filter:blur(60px) saturate(140%);opacity:.9;pointer-events:none}
    .orb{position:absolute;width:55vmax;height:55vmax;border-radius:999px;mix-blend-mode:screen;opacity:.55;transform:translate3d(0,0,0);animation:float 16s ease-in-out infinite}
    .orb:nth-child(1){left:-10vmax;top:-8vmax;background:radial-gradient(circle at 30% 30%, rgba(255,110,110,0.55), transparent 60%),radial-gradient(circle at 70% 70%, rgba(255,206,102,0.35), transparent 65%);animation-duration:18s}
    .orb:nth-child(2){right:-18vmax;top:6vmax;background:radial-gradient(circle at 40% 30%, rgba(110,205,255,0.55), transparent 60%),radial-gradient(circle at 70% 70%, rgba(160,120,255,0.40), transparent 65%);animation-duration:22s;animation-delay:-6s}
    .orb:nth-child(3){left:10vmax;bottom:-22vmax;background:radial-gradient(circle at 30% 30%, rgba(170,116,255,0.55), transparent 60%),radial-gradient(circle at 70% 70%, rgba(106,204,255,0.35), transparent 65%);animation-duration:26s;animation-delay:-10s}
    @keyframes float{0%{transform:translate3d(0,0,0) scale(1)}25%{transform:translate3d(6vmax,-3vmax,0) scale(1.05)}50%{transform:translate3d(2vmax,5vmax,0) scale(.98)}75%{transform:translate3d(-5vmax,2vmax,0) scale(1.06)}100%{transform:translate3d(0,0,0) scale(1)}}
    .grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}

    .container{max-width:1200px;margin:0 auto;padding:2rem;position:relative;z-index:1}
    .glass{background:linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.05));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:relative;overflow:hidden}
    .glass::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 300px at 10% 0%, rgba(255,255,255,0.18), transparent 50%),radial-gradient(900px 240px at 90% 0%, rgba(255,255,255,0.10), transparent 55%);pointer-events:none}
    .glass::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);pointer-events:none}

    header{display:flex;justify-content:space-between;align-items:center;gap:1rem}
    .brand{display:flex;align-items:center;gap:.75rem;font-weight:600;letter-spacing:.03em}
    .logo-dot{width:11px;height:11px;border-radius:999px;background:linear-gradient(135deg, rgba(255,210,97,.95), rgba(110,205,255,.95));box-shadow:0 0 22px rgba(110,205,255,.25)}
    nav.nav{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
    nav.nav a{color:var(--muted);font-size:.9rem;padding:.55rem .85rem;border-radius:999px;border:1px solid transparent;transition:all 180ms ease}
    nav.nav a:hover{color:var(--fg);border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
    nav.nav a.active{color:var(--fg);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}

    .page{margin-top:2rem;padding:2.2rem}
    h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;line-height:1.05;letter-spacing:-.02em}
    .lead{max-width:760px;color:var(--muted);font-size:1.05rem;margin-top:1rem}

    .section-title{font-size:.78rem;letter-spacing:.22em;color:rgba(255,255,255,.55);margin:1.8rem 0 1rem;padding-left:.25rem}
    .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
    .card{padding:1.4rem}
    .card h3{font-size:1.05rem;font-weight:500;margin-bottom:.55rem;letter-spacing:-.01em}
    .card p{font-size:.95rem;color:var(--muted)}

    .two-col{display:grid;gap:1.2rem;grid-template-columns:1fr}
    .block{padding:1.4rem}
    .block h3{font-size:1.05rem;font-weight:500;margin-bottom:.55rem}
    .block p{color:var(--muted);font-size:.95rem}

    #content{transition:opacity 220ms ease, transform 220ms ease}
    #content.htmx-added{opacity:0;transform:translateY(8px)}
    #content.htmx-settling{opacity:1;transform:translateY(0)}

    footer{margin-top:3.2rem;padding:2.4rem 2rem;border-top:1px solid rgba(255,255,255,.10);text-align:center;color:rgba(255,255,255,.60);font-size:.85rem;position:relative;z-index:1}
    @media (min-width: 820px){ .page{padding:2.6rem} .two-col{grid-template-columns:1.2fr .8fr} }
    @media (prefers-reduced-motion: reduce){ .orb{animation:none} #content{transition:none} #content.htmx-added{opacity:1;transform:none} }

/* === Web/Views/process.php === */
    /* IDENTICAL STYLESHEET (keep coherence for seamless transitions) */
    :root{
      --bg:#07080a; --fg:rgba(255,255,255,0.92); --muted:rgba(255,255,255,0.65);
      --glass:rgba(255,255,255,0.07); --border:rgba(255,255,255,0.14);
      --shadow:0 18px 60px rgba(0,0,0,0.45); --accent:#c49a6c; --radius:18px;
    }
    *{box-sizing:border-box;margin:0;padding:0} html,body{height:100%}
    body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden}
    a{color:inherit;text-decoration:none}

    .bg{position:fixed;inset:0;z-index:-2;background:
      radial-gradient(1200px 900px at 10% 10%, rgba(255,122,122,0.12), transparent 60%),
      radial-gradient(900px 700px at 90% 20%, rgba(106,204,255,0.14), transparent 55%),
      radial-gradient(1000px 800px at 70% 90%, rgba(170,116,255,0.12), transparent 60%),
      radial-gradient(900px 800px at 25% 80%, rgba(255,210,97,0.10), transparent 60%),
      linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.10));
    }
    .orbs{position:fixed;inset:-20vh -20vw;z-index:-1;filter:blur(60px) saturate(140%);opacity:.9;pointer-events:none}
    .orb{position:absolute;width:55vmax;height:55vmax;border-radius:999px;mix-blend-mode:screen;opacity:.55;transform:translate3d(0,0,0);animation:float 16s ease-in-out infinite}
    .orb:nth-child(1){left:-10vmax;top:-8vmax;background:
      radial-gradient(circle at 30% 30%, rgba(255,110,110,0.55), transparent 60%),
      radial-gradient(circle at 70% 70%, rgba(255,206,102,0.35), transparent 65%);animation-duration:18s}
    .orb:nth-child(2){right:-18vmax;top:6vmax;background:
      radial-gradient(circle at 40% 30%, rgba(110,205,255,0.55), transparent 60%),
      radial-gradient(circle at 70% 70%, rgba(160,120,255,0.40), transparent 65%);animation-duration:22s;animation-delay:-6s}
    .orb:nth-child(3){left:10vmax;bottom:-22vmax;background:
      radial-gradient(circle at 30% 30%, rgba(170,116,255,0.55), transparent 60%),
      radial-gradient(circle at 70% 70%, rgba(106,204,255,0.35), transparent 65%);animation-duration:26s;animation-delay:-10s}
    @keyframes float{0%{transform:translate3d(0,0,0) scale(1)}25%{transform:translate3d(6vmax,-3vmax,0) scale(1.05)}50%{transform:translate3d(2vmax,5vmax,0) scale(.98)}75%{transform:translate3d(-5vmax,2vmax,0) scale(1.06)}100%{transform:translate3d(0,0,0) scale(1)}}
    .grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}

    .container{max-width:1200px;margin:0 auto;padding:2rem;position:relative;z-index:1}
    .glass{background:linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.05));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:relative;overflow:hidden}
    .glass::before{content:"";position:absolute;inset:0;background:
      radial-gradient(1200px 300px at 10% 0%, rgba(255,255,255,0.18), transparent 50%),
      radial-gradient(900px 240px at 90% 0%, rgba(255,255,255,0.10), transparent 55%);pointer-events:none}
    .glass::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);pointer-events:none}

    header{display:flex;justify-content:space-between;align-items:center;gap:1rem}
    .brand{display:flex;align-items:center;gap:.75rem;font-weight:600;letter-spacing:.03em}
    .logo-dot{width:11px;height:11px;border-radius:999px;background:linear-gradient(135deg, rgba(255,210,97,.95), rgba(110,205,255,.95));box-shadow:0 0 22px rgba(110,205,255,.25)}
    nav.nav{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
    nav.nav a{color:var(--muted);font-size:.9rem;padding:.55rem .85rem;border-radius:999px;border:1px solid transparent;transition:all 180ms ease}
    nav.nav a:hover{color:var(--fg);border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
    nav.nav a.active{color:var(--fg);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}

    .page{margin-top:2rem;padding:2.2rem}
    h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;line-height:1.05;letter-spacing:-.02em}
    .lead{max-width:760px;color:var(--muted);font-size:1.05rem;margin-top:1rem}

    .section-title{font-size:.78rem;letter-spacing:.22em;color:rgba(255,255,255,.55);margin:1.8rem 0 1rem;padding-left:.25rem}
    .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
    .card{padding:1.4rem}
    .card h3{font-size:1.05rem;font-weight:500;margin-bottom:.55rem;letter-spacing:-.01em}
    .card p{font-size:.95rem;color:var(--muted)}

    .steps{display:grid;gap:1rem}
    .step{padding:1.2rem;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
    .step-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
    .badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.78);font-size:.82rem}
    .badge .dot{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.55)}
    .step h3{font-size:1.05rem;font-weight:500}
    .step p{margin-top:.5rem;color:var(--muted);font-size:.95rem}

    #content{transition:opacity 220ms ease, transform 220ms ease}
    #content.htmx-added{opacity:0;transform:translateY(8px)}
    #content.htmx-settling{opacity:1;transform:translateY(0)}

    footer{margin-top:3.2rem;padding:2.4rem 2rem;border-top:1px solid rgba(255,255,255,.10);text-align:center;color:rgba(255,255,255,.60);font-size:.85rem;position:relative;z-index:1}

    @media (min-width: 820px){ .page{padding:2.6rem} }
    @media (prefers-reduced-motion: reduce){ .orb{animation:none} #content{transition:none} #content.htmx-added{opacity:1;transform:none} }

/* === Web/Views/shop.php === */
    /* SAME STYLE SYSTEM (kept intentionally identical for seamless transitions) */
    :root{
      --bg:#07080a; --fg:rgba(255,255,255,.92); --muted:rgba(255,255,255,.65);
      --glass:rgba(255,255,255,.07); --border:rgba(255,255,255,.14);
      --shadow:0 18px 60px rgba(0,0,0,.45); --accent:#c49a6c; --radius:18px;
    }
    *{box-sizing:border-box;margin:0;padding:0} html,body{height:100%}
    body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden}
    a{color:inherit;text-decoration:none}

    .bg{position:fixed;inset:0;z-index:-2;background:
      radial-gradient(1200px 900px at 10% 10%, rgba(255,122,122,0.12), transparent 60%),
      radial-gradient(900px 700px at 90% 20%, rgba(106,204,255,0.14), transparent 55%),
      radial-gradient(1000px 800px at 70% 90%, rgba(170,116,255,0.12), transparent 60%),
      radial-gradient(900px 800px at 25% 80%, rgba(255,210,97,0.10), transparent 60%),
      linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.10));
    }
    .orbs{position:fixed;inset:-20vh -20vw;z-index:-1;filter:blur(60px) saturate(140%);opacity:.9;pointer-events:none}
    .orb{position:absolute;width:55vmax;height:55vmax;border-radius:999px;mix-blend-mode:screen;opacity:.55;transform:translate3d(0,0,0);animation:float 16s ease-in-out infinite}
    .orb:nth-child(1){left:-10vmax;top:-8vmax;background:
      radial-gradient(circle at 30% 30%, rgba(255,110,110,0.55), transparent 60%),
      radial-gradient(circle at 70% 70%, rgba(255,206,102,0.35), transparent 65%);animation-duration:18s}
    .orb:nth-child(2){right:-18vmax;top:6vmax;background:
      radial-gradient(circle at 40% 30%, rgba(110,205,255,0.55), transparent 60%),
      radial-gradient(circle at 70% 70%, rgba(160,120,255,0.40), transparent 65%);animation-duration:22s;animation-delay:-6s}
    .orb:nth-child(3){left:10vmax;bottom:-22vmax;background:
      radial-gradient(circle at 30% 30%, rgba(170,116,255,0.55), transparent 60%),
      radial-gradient(circle at 70% 70%, rgba(106,204,255,0.35), transparent 65%);animation-duration:26s;animation-delay:-10s}
    @keyframes float{0%{transform:translate3d(0,0,0) scale(1)}25%{transform:translate3d(6vmax,-3vmax,0) scale(1.05)}50%{transform:translate3d(2vmax,5vmax,0) scale(.98)}75%{transform:translate3d(-5vmax,2vmax,0) scale(1.06)}100%{transform:translate3d(0,0,0) scale(1)}}
    .grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}

    .container{max-width:1200px;margin:0 auto;padding:2rem;position:relative;z-index:1}
    .glass{background:linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.05));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:relative;overflow:hidden}
    .glass::before{content:"";position:absolute;inset:0;background:
      radial-gradient(1200px 300px at 10% 0%, rgba(255,255,255,0.18), transparent 50%),
      radial-gradient(900px 240px at 90% 0%, rgba(255,255,255,0.10), transparent 55%);pointer-events:none}
    .glass::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);pointer-events:none}

    header{display:flex;justify-content:space-between;align-items:center;gap:1rem}
    .brand{display:flex;align-items:center;gap:.75rem;font-weight:600;letter-spacing:.03em}
    .logo-dot{width:11px;height:11px;border-radius:999px;background:linear-gradient(135deg, rgba(255,210,97,.95), rgba(110,205,255,.95));box-shadow:0 0 22px rgba(110,205,255,.25)}
    nav.nav{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
    nav.nav a{color:var(--muted);font-size:.9rem;padding:.55rem .85rem;border-radius:999px;border:1px solid transparent;transition:all 180ms ease}
    nav.nav a:hover{color:var(--fg);border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
    nav.nav a.active{color:var(--fg);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}

    .page{margin-top:2rem;padding:2.2rem}
    h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;line-height:1.05;letter-spacing:-.02em}
    .lead{max-width:760px;color:var(--muted);font-size:1.05rem;margin-top:1rem}

    .toolbar{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between}
    .search{
      flex: 1 1 260px;
      display:flex; gap:.6rem; align-items:center;
      padding:.7rem .9rem;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,0.20);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }
    .search input{
      width:100%;
      border:0;
      outline:none;
      background:transparent;
      color: rgba(255,255,255,0.9);
      font-size:0.95rem;
    }
    .chiprow{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
    .chip{
      padding:.45rem .75rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,0.06);
      color: rgba(255,255,255,0.78);
      font-size:0.85rem;
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      transition: all 160ms ease;
    }
    .chip:hover{
      border-color: rgba(255,255,255,0.22);
      background: rgba(255,255,255,0.09);
    }
    .chip.active{
      border-color: rgba(196,154,108,0.45);
      background: linear-gradient(135deg, rgba(196,154,108,0.20), rgba(255,255,255,0.06));
      color: rgba(255,255,255,0.9);
    }

    .grid{
      margin-top: 1.2rem;
      display:grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1.2rem;
    }
    .product{
      padding: 1.2rem;
      display:flex;
      flex-direction:column;
      gap: 0.9rem;
    }
    .thumb{
      height: 150px;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,0.12);
      background:
        radial-gradient(220px 120px at 30% 30%, rgba(255,210,97,0.14), transparent 60%),
        radial-gradient(260px 160px at 70% 60%, rgba(110,205,255,0.14), transparent 65%),
        rgba(255,255,255,0.03);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      position: relative;
      overflow:hidden;
    }
    .thumb::after{
      content:"";
      position:absolute; inset:0;
      background: radial-gradient(400px 140px at 50% 0%, rgba(255,255,255,0.10), transparent 55%);
      pointer-events:none;
    }
    .product-image{
      width: 100%;
      height: 150px;
      object-fit: cover;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,0.12);
      background: rgba(255,255,255,0.03);
    }
    .product-detail{
      display:grid;
      gap:2rem;
    }
    .back-link{
      display:inline-flex;
      align-items:center;
      gap:0.5rem;
      color: rgba(255,255,255,0.85);
      font-size:0.95rem;
      margin-bottom:0.8rem;
    }
    .back-link:hover{color: var(--fg);}
    .product-detail .back-link{grid-column:1 / -1;}
    .product-detail__image{
      width:100%;
      height: 340px;
      object-fit: cover;
      border-radius: 18px;
      border: 1px solid rgba(255,255,255,0.12);
      background: rgba(255,255,255,0.03);
    }
    .product-detail__placeholder{
      height: 340px;
    }
    .product-detail__meta{
      display:flex;
      gap:1rem;
      align-items:center;
      margin:1.2rem 0;
      flex-wrap:wrap;
    }
    .product-detail .price{
      color: rgba(255,255,255,0.85);
      font-weight:500;
    }
    @media (min-width: 900px){
      .product-detail{
        grid-template-columns: 1.1fr 0.9fr;
        align-items:start;
      }
    }
    .p-title{font-size:1.05rem;font-weight:500;letter-spacing:-.01em}
    .p-desc{color:var(--muted);font-size:0.93rem}
    .p-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:auto}
    .tagrow{display:flex;gap:0.4rem;flex-wrap:wrap;justify-content:flex-end}
    .tag{
      border:1px solid rgba(255,255,255,0.16);
      background: rgba(255,255,255,0.06);
      color: rgba(255,255,255,0.85);
      font-size:0.75rem;
      padding:0.25rem 0.5rem;
      border-radius:999px;
    }
    .price{color:rgba(255,255,255,0.86);font-weight:500}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
      padding:.75rem 1rem;border-radius:999px;
      border:1px solid rgba(255,255,255,0.16);
      background: rgba(255,255,255,0.06);
      color: var(--fg);
      font-size:0.92rem;
      transition: all 180ms ease;
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,0.22);background:rgba(255,255,255,0.09);box-shadow:0 20px 60px rgba(0,0,0,0.40)}
    .btn.primary{
      border-color: rgba(196,154,108,0.35);
      background: linear-gradient(135deg, rgba(196,154,108,0.25), rgba(255,255,255,0.06));
    }
    .btn.primary:hover{border-color: rgba(196,154,108,0.55)}

    .note{
      margin-top: 1.4rem;
      padding: 1rem 1.2rem;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.05);
      color: rgba(255,255,255,0.72);
      font-size: 0.92rem;
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }

    #content{
      transition: opacity 220ms ease, transform 220ms ease;
    }
    #content.htmx-added{
      opacity: 0;
      transform: translateY(8px);
    }
    #content.htmx-settling{
      opacity: 1;
      transform: translateY(0);
    }

    footer{margin-top:3.2rem;padding:2.4rem 2rem;border-top:1px solid rgba(255,255,255,.10);text-align:center;color:rgba(255,255,255,.60);font-size:.85rem;position:relative;z-index:1}
    @media (min-width: 820px){ .page{padding:2.6rem} }
    @media (prefers-reduced-motion: reduce){ .orb{animation:none} .btn:hover{transform:none} #content{transition:none} #content.htmx-added{opacity:1;transform:none} }

/* === Web/Views/login.php === */
    /* IDENTICAL STYLESHEET + a couple small form styles */
    :root{--bg:#07080a;--fg:rgba(255,255,255,.92);--muted:rgba(255,255,255,.65);--glass:rgba(255,255,255,.07);--border:rgba(255,255,255,.14);--shadow:0 18px 60px rgba(0,0,0,.45);--accent:#c49a6c;--radius:18px}
    *{box-sizing:border-box;margin:0;padding:0} html,body{height:100%}
    body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden}
    a{color:inherit;text-decoration:none}

    .bg{position:fixed;inset:0;z-index:-2;background:radial-gradient(1200px 900px at 10% 10%, rgba(255,122,122,0.12), transparent 60%),radial-gradient(900px 700px at 90% 20%, rgba(106,204,255,0.14), transparent 55%),radial-gradient(1000px 800px at 70% 90%, rgba(170,116,255,0.12), transparent 60%),radial-gradient(900px 800px at 25% 80%, rgba(255,210,97,0.10), transparent 60%),linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.10))}
    .orbs{position:fixed;inset:-20vh -20vw;z-index:-1;filter:blur(60px) saturate(140%);opacity:.9;pointer-events:none}
    .orb{position:absolute;width:55vmax;height:55vmax;border-radius:999px;mix-blend-mode:screen;opacity:.55;transform:translate3d(0,0,0);animation:float 16s ease-in-out infinite}
    .orb:nth-child(1){left:-10vmax;top:-8vmax;background:radial-gradient(circle at 30% 30%, rgba(255,110,110,0.55), transparent 60%),radial-gradient(circle at 70% 70%, rgba(255,206,102,0.35), transparent 65%);animation-duration:18s}
    .orb:nth-child(2){right:-18vmax;top:6vmax;background:radial-gradient(circle at 40% 30%, rgba(110,205,255,0.55), transparent 60%),radial-gradient(circle at 70% 70%, rgba(160,120,255,0.40), transparent 65%);animation-duration:22s;animation-delay:-6s}
    .orb:nth-child(3){left:10vmax;bottom:-22vmax;background:radial-gradient(circle at 30% 30%, rgba(170,116,255,0.55), transparent 60%),radial-gradient(circle at 70% 70%, rgba(106,204,255,0.35), transparent 65%);animation-duration:26s;animation-delay:-10s}
    @keyframes float{0%{transform:translate3d(0,0,0) scale(1)}25%{transform:translate3d(6vmax,-3vmax,0) scale(1.05)}50%{transform:translate3d(2vmax,5vmax,0) scale(.98)}75%{transform:translate3d(-5vmax,2vmax,0) scale(1.06)}100%{transform:translate3d(0,0,0) scale(1)}}
    .grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}

    .container{max-width:1200px;margin:0 auto;padding:2rem;position:relative;z-index:1}
    .glass{background:linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.05));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:relative;overflow:hidden}
    .glass::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 300px at 10% 0%, rgba(255,255,255,0.18), transparent 50%),radial-gradient(900px 240px at 90% 0%, rgba(255,255,255,0.10), transparent 55%);pointer-events:none}
    .glass::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);pointer-events:none}

    header{display:flex;justify-content:space-between;align-items:center;gap:1rem}
    .brand{display:flex;align-items:center;gap:.75rem;font-weight:600;letter-spacing:.03em}
    .logo-dot{width:11px;height:11px;border-radius:999px;background:linear-gradient(135deg, rgba(255,210,97,.95), rgba(110,205,255,.95));box-shadow:0 0 22px rgba(110,205,255,.25)}
    nav.nav{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
    nav.nav a{color:var(--muted);font-size:.9rem;padding:.55rem .85rem;border-radius:999px;border:1px solid transparent;transition:all 180ms ease}
    nav.nav a:hover{color:var(--fg);border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
    nav.nav a.active{color:var(--fg);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}

    .page{margin-top:2rem;padding:2.2rem}
    h1{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:500;line-height:1.05;letter-spacing:-.02em}
    .lead{max-width:760px;color:var(--muted);font-size:1.05rem;margin-top:1rem}

    /* Form */
    .center{display:grid;place-items:center}
    .login-wrap{max-width:520px;width:100%}
    .panel{padding:1.6rem}
    .field{margin-top:1rem}
    .field-row{
      display:grid;
      gap:1rem;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
    label{display:block;color:rgba(255,255,255,0.72);font-size:0.9rem;margin-bottom:.4rem}
    input{
      width:100%;
      padding: 0.9rem 1rem;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,0.14);
      background: rgba(0,0,0,0.20);
      color: rgba(255,255,255,0.9);
      outline: none;
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      transition: border-color 160ms ease, background 160ms ease;
    }
    input:focus{
      border-color: rgba(196,154,108,0.55);
      background: rgba(0,0,0,0.28);
    }
    select, textarea{
      width:100%;
      padding: 0.9rem 1rem;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,0.14);
      background: rgba(0,0,0,0.20);
      color: rgba(255,255,255,0.9);
      outline: none;
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      transition: border-color 160ms ease, background 160ms ease;
    }
    select:focus, textarea:focus{
      border-color: rgba(196,154,108,0.55);
      background: rgba(0,0,0,0.28);
    }
    textarea{ min-height: 110px; resize: vertical; }
    .row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}
    .hint{color:var(--muted);font-size:0.9rem}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
      padding:0.95rem 1.2rem;border-radius:999px;border:1px solid rgba(255,255,255,0.16);
      background: rgba(255,255,255,0.06); color: var(--fg); font-size:0.95rem;
      transition: all 180ms ease; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    }
    .btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,0.22);background:rgba(255,255,255,0.09);box-shadow:0 20px 60px rgba(0,0,0,0.40)}
    .btn.primary{border-color:rgba(196,154,108,0.35);background:linear-gradient(135deg, rgba(196,154,108,0.25), rgba(255,255,255,0.06))}
    .btn.primary:hover{border-color:rgba(196,154,108,0.55)}
    .btn.danger{
      border-color: rgba(255,110,110,0.4);
      background: rgba(255,110,110,0.15);
      color: rgba(255,255,255,0.95);
    }
    .btn.danger:hover{
      border-color: rgba(255,110,110,0.6);
      background: rgba(255,110,110,0.22);
    }
    .small-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}
    .small-links a{color:rgba(255,255,255,0.70);font-size:0.9rem}
    .small-links a:hover{color:rgba(255,255,255,0.92)}

    .admin-grid{display:grid;gap:1.6rem}
    .admin-section{padding:1.6rem}
    .section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
    .form-grid{display:grid;gap:1rem}
    .admin-section h2{
      font-size:1.2rem;
      font-weight:500;
      letter-spacing:-0.01em;
    }
    .admin-section .form-grid{
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      align-items:start;
    }
    .admin-section .form-grid .field{margin-top:0}
    .admin-section .row{margin-top:0.2rem}
    .admin-section .hint{max-width:520px}
    .form-grid--products{
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1.2rem;
    }
    .form-grid--products .field{
      display:flex;
      flex-direction:column;
      gap:0.5rem;
    }
    .form-grid--products .field--actions{
      justify-content:flex-end;
    }
    .form-grid--products .field--actions .btn{
      align-self:flex-start;
    }
    .inline-form--attributes{
      flex-wrap:wrap;
      gap:0.8rem;
    }
    .admin-actions{
      display:flex;
      flex-direction:column;
      gap:0.75rem;
    }
    .admin-actions .inline-form{
      width:100%;
      justify-content:flex-start;
    }
    .admin-actions .inline-form select{
      min-width:140px;
      max-width:100%;
    }
    .product-cards{
      display:grid;
      gap:1.4rem;
      margin-top:1.2rem;
    }
    .product-card{
      padding:1.4rem;
      display:grid;
      gap:1.2rem;
    }
    .is-hidden{display:none}
    .product-card__header{
      display:flex;
      justify-content:space-between;
      gap:1rem;
      align-items:flex-start;
    }
    .product-card__header h3{
      font-size:1.1rem;
      font-weight:500;
      letter-spacing:-0.01em;
      margin-bottom:0.4rem;
    }
    .product-card__meta{
      display:grid;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      gap:0.8rem;
    }
    .product-card__image{
      display:flex;
      flex-direction:column;
      gap:0.6rem;
      align-items:flex-start;
    }
    .product-card__actions{
      display:grid;
      gap:0.8rem;
    }
    .cart-grid{
      display:grid;
      gap:1.2rem;
      margin-top:1.6rem;
    }
    .cart-item{
      padding:1.2rem;
      display:grid;
      gap:1rem;
    }
    .cart-item__media .thumb,
    .cart-item__media .product-thumb{
      width:140px;
      height:100px;
    }
    .cart-item__media{
      display:flex;
      align-items:flex-start;
      gap:1rem;
    }
    .cart-item__info{
      display:grid;
      gap:0.5rem;
    }
    .cart-item__controls{
      display:grid;
      gap:0.6rem;
      align-items:start;
    }
    .cart-item__controls input{
      max-width:120px;
    }
    .cart-item__total{
      font-weight:500;
      color:rgba(255,255,255,0.9);
    }
    .cart-summary{
      padding:1.2rem;
      display:flex;
      justify-content:space-between;
      gap:1rem;
      align-items:center;
    }
    .delivery-options{
      display:flex;
      flex-direction:column;
      gap:0.6rem;
      margin-top:0.6rem;
    }
    .notes-grid{
      display:grid;
      gap:1.4rem;
      margin-top:1.6rem;
    }
    .note-card{
      padding:1.4rem;
      display:grid;
      gap:0.7rem;
    }
    .note-card h2{
      font-size:1.6rem;
      font-weight:500;
    }
    .note-meta{
      color:rgba(255,255,255,0.6);
      font-size:0.85rem;
      letter-spacing:0.04em;
      text-transform:uppercase;
    }
    .note-detail{
      display:grid;
      gap:1rem;
    }
    .note-body{
      display:grid;
      gap:1rem;
      color:rgba(255,255,255,0.85);
    }
    .notes-admin-list{
      display:grid;
      gap:1.4rem;
      margin-top:1rem;
    }
    .note-admin-card{
      padding:1.2rem;
      border-radius:16px;
      border:1px solid rgba(255,255,255,0.12);
      background:rgba(0,0,0,0.25);
      display:grid;
      gap:0.8rem;
    }
    .note-admin-actions{
      display:flex;
      gap:0.8rem;
      flex-wrap:wrap;
      margin-top:0.4rem;
    }
    .btn.danger{
      border-color:rgba(255,120,120,0.5);
      color:#ffd8d8;
    }
    .orders-list{
      display:grid;
      gap:1rem;
      margin-top:1rem;
    }
    .order-card{
      padding:1.1rem;
      display:grid;
      gap:0.8rem;
    }
    .order-card__meta{
      display:grid;
      gap:0.4rem;
    }
    @media (min-width: 900px){
      .order-card{
        grid-template-columns: 180px 1.2fr 1fr 200px;
        align-items:start;
      }
    }
    .label-toolbar{
      display:flex;
      gap:0.8rem;
      padding:1.2rem 2rem;
      background:#0c0d10;
      border-bottom:1px solid rgba(0,0,0,0.2);
    }
    .label-print{
      background:#f5f5f5;
      color:#0a0a0a;
      font-family:Roboto, Arial, sans-serif;
    }
    .label-sheet{
      display:flex;
      justify-content:center;
      padding:1.5rem;
    }
    .label-card{
      width:4in;
      height:6in;
      background:#fff;
      border:2px solid #000;
      padding:0.45in 0.4in;
      display:grid;
      gap:0.18in;
      grid-template-rows: auto auto 1fr auto;
      box-sizing:border-box;
    }
    .label-header{
      display:grid;
      gap:0.12in;
    }
    .label-open-note{
      font-size:0.55rem;
      text-transform:uppercase;
      letter-spacing:0.18em;
    }
    .label-brand{
      font-size:1.05rem;
      letter-spacing:0.18em;
      text-transform:uppercase;
      font-weight:700;
    }
    .label-rule{
      height:2px;
      background:#000;
    }
    .label-title{
      font-size:1.45rem;
      font-weight:700;
      line-height:1.2;
    }
    .label-grid{
      display:grid;
      gap:0.14in;
    }
    .label-key{
      font-size:0.6rem;
      text-transform:uppercase;
      letter-spacing:0.12em;
      font-weight:600;
    }
    .label-value{
      font-size:0.9rem;
      font-weight:500;
      line-height:1.2;
      word-break:break-word;
    }
    .label-roaster{
      display:grid;
      gap:0.12in;
    }
    .label-signature{
      margin-top:0.15in;
      border-top:2px solid #000;
      font-size:0.7rem;
      letter-spacing:0.08em;
      padding-top:0.1in;
      text-transform:uppercase;
    }
    .label-card *{
      max-width:100%;
    }
    @media print{
      @page{size:4in 6in;margin:0;}
      body.label-print{background:#fff;}
      .label-toolbar{display:none;}
      .label-sheet{padding:0;}
      .label-card{border:none;}
    }
    .cart-summary__actions{
      display:flex;
      gap:0.8rem;
      flex-wrap:wrap;
    }
    .debug-block{
      margin-top:0.6rem;
      background: rgba(0,0,0,0.35);
      border: 1px solid rgba(255,255,255,0.12);
      padding:0.75rem;
      border-radius:12px;
      font-size:0.8rem;
      color: rgba(255,255,255,0.85);
      white-space: pre-wrap;
      word-break: break-word;
    }
    @media (min-width: 820px){
      .cart-item{
        grid-template-columns: 160px 1fr 180px;
        align-items:start;
      }
      .cart-item__controls{
        justify-items:start;
      }
    }

    #page{transition:none}
    #page.htmx-added{opacity:1;transform:none}
    #page.htmx-settling{opacity:1;transform:none}
    #page .page{transition: opacity 220ms ease, transform 220ms ease}
    #page.htmx-added .page{opacity:0;transform:translateY(8px)}
    #page.htmx-settling .page{opacity:1;transform:translateY(0)}
    @media (prefers-reduced-motion: reduce){
      #page .page{transition:none}
      #page.htmx-added .page{opacity:1;transform:none}
    }
    #page{
      opacity: 1;
      transform: translateY(0);
    }
    @keyframes pageFade{
      from{opacity:0;transform:translateY(8px)}
      to{opacity:1;transform:translateY(0)}
    }
    .label{
      color: rgba(255,255,255,0.72);
      font-size:0.9rem;
    }
    .checkbox-pill{
      display:inline-flex;
      align-items:center;
      gap:0.5rem;
      padding:0.5rem 0.75rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.16);
      background: rgba(255,255,255,0.05);
      color: rgba(255,255,255,0.85);
      font-size:0.9rem;
    }
    .checkbox-pill input{accent-color: var(--accent);}
    .checkbox-pill--compact{
      padding:0.35rem 0.6rem;
      font-size:0.8rem;
    }
    .table{display:block;overflow-x:auto}
    .table thead, .table tbody{display:table;width:100%}
    .table th{white-space:nowrap}
    .table{
      width:100%;
      border-collapse:collapse;
      font-size:0.95rem;
    }
    .admin-section .table{
      table-layout: fixed;
    }
    .table th, .table td{
      text-align:left;
      padding:0.75rem 0.6rem;
      border-bottom:1px solid rgba(255,255,255,0.10);
      vertical-align:top;
    }
    .table td{word-break:break-word}
    .table th{color:rgba(255,255,255,0.72);font-weight:500;font-size:0.85rem;letter-spacing:0.04em;text-transform:uppercase}
    .table tr:last-child td{border-bottom:none}
    .status-pill{
      display:inline-flex;
      align-items:center;
      gap:0.4rem;
      padding:0.35rem 0.7rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.06);
      font-size:0.8rem;
      color:rgba(255,255,255,0.85);
    }
    .status-pill.in_stock{border-color:rgba(110,205,255,0.35)}
    .status-pill.out_of_stock{border-color:rgba(255,210,97,0.45)}
    .status-pill.archived{border-color:rgba(255,110,110,0.4)}
    .inline-form{display:flex;gap:0.6rem;align-items:center;flex-wrap:wrap}
    .inline-form select{width:auto;min-width:160px}
    .inline-form .btn{padding:0.6rem 0.9rem;font-size:0.85rem}
    .file-input{max-width:220px}
    .image-cell{display:flex;flex-direction:column;gap:0.6rem}
    .product-thumb{
      width: 120px;
      height: 80px;
      object-fit: cover;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,0.12);
      background: rgba(255,255,255,0.03);
    }
    .inline-checkbox{
      display:inline-flex;
      align-items:center;
      gap:0.35rem;
      color: rgba(255,255,255,0.75);
      font-size:0.85rem;
    }

    #content{transition:opacity 220ms ease, transform 220ms ease}
    #content.htmx-added{opacity:0;transform:translateY(8px)}
    #content.htmx-settling{opacity:1;transform:translateY(0)}

    footer{margin-top:3.2rem;padding:2.4rem 2rem;border-top:1px solid rgba(255,255,255,.10);text-align:center;color:rgba(255,255,255,.60);font-size:.85rem;position:relative;z-index:1}
    @media (min-width: 820px){ .page{padding:2.6rem} }
    @media (prefers-reduced-motion: reduce){ .orb{animation:none} .btn:hover{transform:none} #content{transition:none} #content.htmx-added{opacity:1;transform:none} }
