
  :root{
    --bg:#fafafa;--surface:#fff;--text:#1a1a1a;
    --muted:#5c5c5c;--line:#e5e5e5;--accent:#2d2d2d;--nav-h:64px;
    --err:#b42318;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:'Vazirmatn',sans-serif;background:var(--bg);color:var(--text);line-height:1.7}

  main{
    max-width:1100px;margin:0 auto;
    padding:calc(var(--nav-h) + 40px) clamp(20px,5vw,48px) 80px;
  }
  .page-title{font-size:28px;font-weight:600;margin-bottom:8px}
  .page-sub{font-size:14px;color:var(--muted);margin-bottom:24px}

  .login-box{
    max-width:400px;margin:48px auto 0;
    background:var(--surface);border:1px solid var(--line);
    border-radius:12px;padding:32px 28px;
  }
  .login-box h2{font-size:18px;font-weight:600;margin-bottom:20px;text-align:center}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
  .field input{
    width:100%;padding:12px 14px;font-family:inherit;font-size:15px;
    border:1px solid var(--line);border-radius:8px;background:var(--bg);
  }
  .field input:focus{outline:none;border-color:#999;background:var(--surface)}
  .btn-submit{
    width:100%;margin-top:8px;padding:12px;font-family:inherit;font-size:15px;font-weight:600;
    background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;
  }
  .btn-submit:hover{opacity:.9}
  .login-err{font-size:13px;color:var(--err);margin-top:12px;text-align:center;min-height:1.4em}
  .apply-cta{
    max-width:400px;margin:24px auto 0;text-align:center;font-size:14px;color:var(--muted);
  }
  .apply-cta a{
    display:inline-block;margin-top:10px;padding:10px 20px;
    border:1px solid var(--line);border-radius:8px;color:var(--text);
    text-decoration:none;font-weight:500;background:var(--surface);
  }
  .apply-cta a:hover{border-color:#ccc;background:var(--bg)}

  .panel-head{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
    gap:16px;margin-bottom:28px;
  }
  .panel-user{font-size:14px;color:var(--muted)}
  .btn-logout{
    padding:8px 16px;font-family:inherit;font-size:13px;
    border:1px solid var(--line);background:var(--surface);
    border-radius:6px;cursor:pointer;color:var(--muted);
  }
  .btn-logout:hover{border-color:#ccc;color:var(--text)}

  .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
  .filter-btn{
    padding:8px 18px;font-size:13px;font-family:inherit;
    border:1px solid var(--line);background:var(--surface);
    border-radius:6px;cursor:pointer;color:var(--muted);
  }
  .filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}

  .grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:20px;
  }
  .card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
    text-decoration:none;color:inherit;
    transition:box-shadow .2s,border-color .2s;
    display:flex;flex-direction:column;
  }
  .card:hover{border-color:#ccc;box-shadow:0 8px 24px rgba(0,0,0,.06)}
  .card-body{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}
  .card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}
  .badge{font-size:11px;padding:4px 10px;background:var(--bg);border-radius:4px;color:var(--muted)}
  .card-name{font-size:15px;font-weight:600;line-height:1.4}
  .card-code{font-size:12px;color:var(--muted);margin-top:4px;direction:ltr;text-align:left}
  .price-rows{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
  .price-row{
    display:flex;justify-content:space-between;align-items:baseline;
    font-size:12px;padding:5px 0;
  }
  .price-row span:first-child{color:var(--muted)}
  .price-row span:last-child{font-weight:500;direction:ltr;font-variant-numeric:tabular-nums;font-size:11px}
  .price-row .empty{color:#ccc}

  .note{
    margin-top:40px;padding:20px 24px;
    background:var(--surface);border:1px solid var(--line);
    border-radius:10px;font-size:14px;color:var(--muted);
  }
  .note strong{color:var(--text)}

  footer{
    text-align:center;padding:32px;font-size:12px;color:var(--muted);
    border-top:1px solid var(--line);margin-top:20px;
  }

  .hidden{display:none!important}
